My favorite essay on this topic, not yet referenced, is James Somers's "Speed matters:" https://jsomers.net/blog/speed-matters
HN user
mbforbes
it's me: https://maxwellforbes.com/
currently bootstrapped founder building small projects. first one: https://talktomehuman.com/
always happy to get emails: [uname]@gmail.com
Really nicely done! It's always surprising to me how often computer graphics isn't "one weird trick" and more like "5 layered tricks." Doing it with cross-browser compat is an additional challenge.
Do you have a sense of which aspects are the most resource-intensive? Naively I would guess it's the backdrop-filter.
You are not stupid! No need to be sorry. It's my job to write more clearly. Thank you again for writing the comment.
Omg, I was not a BERT coauthor! But thank you so much for writing this, I had no idea that other post could have accidentally implied this. I will revise that section.
Oh my, those figures are gorgeous! Thank you for sharing.
Same. North America performance (US and Mexico) had ~200ms+ latency per query, spiking to 500ms or higher in the test application I made using workers and D1. Their support channel was a discord, so I posted in it and never got a reply.
I was surprised because Cloudflare’s central messaging is that their network is fast, and disappointed becuase I’m a happy user of their other products (domains, DNS, pages, and R2).
In case you're interested: there's an option in the settings to give yourself more time.
I've also wondered about disabling the timer entirely. Have you ever had the experience in real life of being hyper-aware of your own "reply timer" during a conversation?
Thank you for the feedback!
Getting to speak any time is super interesting feedback, you're the first one to suggest that. It would be really cool if you could even interrupt them! Super mind-bending for me to think of how I'd handle that with prompting and scoring. Thank you for this!!
Yang Li is divisive. You are not alone :-) If it helps, she disappears for quite a while after the intro.
Thank you so much for buying the full version!
I am impressed you broke it! Not because my code is that robust, but nobody's broken it in a while. I'm sorry about that. Investigating!
Thank you, and thank you for the reference! I hadn't seen "Eliza," the emotional dashboard was really interesting / creepy / cool.
1. Exactly yes. The frontend is a light-ish amount of JavaScript + React, with a relatively enormous pile of my own janky CSS on top of (Framer) Motion, DaisyUI, and Tailwind.
2. No plot branching. Would love to add, but focused only on exploring the mechanics of conversational gameplay. Perhaps if it is ever successful enough for a sequel (ha!)
Thank you for the kind words, vision, and feedback! Will be thinking more along the direction of true 'life situation rehearsal.'
Re: taking too long, I 100% agree. Wrestled with what to cut. Do you think skipping all the setup screens and story intro would have worked well for you, dropping right into Vincent('s missed birthday)?
Hehe, I've been surprised how speaking makes the social pressure real. Thank you for the feedback, it makes me think I should add some more lighthearted challenges earlier.
Thank you for the kind words!
Too late to edit, but I realized I should have mentioned: I'm happy to answer any questions, and field suggestions, about the tech stack or game design.
The tech especially isn't rocket science (first time using Tailwind, FastAPI, and sqlite, which have all mostly delighted). While the game design isn't either, it's been interesting to think about how to do (LLM) conversations as actual gameplay, as opposed to purely ornamental. I think the tasks must feel objective and fair enough to be engaging as a challenge, while still being open-ended enough to reward creativity.
This comment single-handedly made me do an enthusiasm 180. I'd find it helpful if the developers responded to it.
Just to give a bit more meat to my comment: these experiences are really helpful when you're in the position to adopt a potential time-saving (stack-cutting/unifying) technology. I find I get a huge benefit from word-of-moth experiences from others who have tried such frameworks. Specifically compared to takes on the _idea_ of the technology.
Really impressive! I've implemented a few kinds of maps on my blog, and I fail all of their requirements:
- I use a 3rd party platform
- My maps are generated at runtime
- They looks... let's say vaguely consistent on mobile & desktop
Maps were the most painful and time-consuming part of building a travel blog, but also perhaps the most satisfying.
Funny coincidence, was just reading through an amazing thread on the three.js form a couple days ago about a web graphics implementation of virtual geometry (nanite). webgl, 2021: https://discourse.threejs.org/t/virtually-geometric/28420
it's closed source, but I found the discussion and description of the tradeoffs interesting
I've almost used these in projects many times when I wanted to add basic animations quickly. Credits to the authors for making a library with a nice CSS API, good docs, and a nice demo website.
... but I've always found the defaults too loud for my taste. Kind of like most Power Point animations --- only usable now to be satirical or intentionally corny. That, and the provided animation flavors are never quite what I want. Once I consider considering customizing them, I decide to just go with something else.
For me, this approach works great with one enormous exception: I must already know exactly what I'm going to write about.
I have tried outlining my writing countless times. But inevitably, the real work of thinking meticulously comes with the writing itself. In composing prose at the finest level of detail, I discover the true shape of the topic through its nuance.
I always throw out my outlines, no matter how many times I have iterated on them. My high level thinking couldn't sufficiently understand the topic.
PG expressed this well: writing is thinking, at least for some of us.
Good question! I was (am) using FastAPI, not Django. Another decision that was easy to get started with, but I think is turning out to be more difficult to scale. Maybe.
It’s interesting to read a lot of push back to the points here.
I recently built a product with the backend using SQLite as the data store and ran into all these issues and many more. It is frustrating. I use SQLAlchemy and Alembic. It seemed everywhere I turned, the docs said “it works this way in all databases, except SQLite where X isn’t supported or you have to do Y differently.”
I think with litestream and D1 and other web SQLite tech emerging, you see the sentiment: “if you don’t have Google-scale, you can easily serve using disk-backed SQLite, plus enjoy skipping RTT network latency to DB.” Then, when someone does that and has a bad time, the comments instead go: “SQLite is only for embedded data stores.”
Personally, if I had to do it again, I would stick to the most boring tech for the target stack: Postgres and Django’s ORM.
I also used Overleaf (and sharelatex before it) for most of my PhD and had no idea it was open source. That's awesome!
I randomly logged in to Overleaf the other day to make something quick in latex, and discovered that my dissertation would no longer compile. Since I'd graduated, I no longer had access to my school's account, and dissertations are so long they time out the build on the free plan.
That it's open source makes me feel better about ever being able to reproduce a build someday if I needed to. (As I write this, I realize I never will. But the it's the feeling that counts!)
Since this article mention's Gwern's site several times:
While I admire Gwern's work a lot, I often find his website is trying to do so much that my browser will really struggle. Especially on mobile. It's bad enough I usually avoid reading there, which is a shame.
I'm not sure exactly what causes it, but it might be a combination of page length with many layers of nested, richly formatted and embedded content.
Agreed! I wrote a blog post about this a couple years back.[1] A few things I think are going on:
- layout and hyphenation algorithms on the web are worse (or often disabled!)
- the lines are often too long
- the site's margins aren't as strong as with print design
These factors combine to produce the mess you're describing.
I've spent so much time reading justified text in print that I do like it in general. But I think until places like NYT or Medium adopt it on their websites, it's probably not up to snuff on the web.
(edit: formatting)
I've been randomly thinking about this a lot!
One hypothesis I've been kicking around: human brains like detail.
I thought of this on a walk down a (sub)urban city street.
- High detail: I first noticed the variety of plants in just the garden strips between the sidewalk and the street. I was trying to count how many there were, and I quickly lost track. Then I started looking at each individual plant, and the amount of detail is wild---the sheer intricacy and variation in all the parts and stages of growth. Not to mention the colors (OK, and smell and movement).
Then, I looked at the human made objects around me:
- Low detail: Flat concrete road. Flat concrete sidewalk. Flat stairs. All from rectangular tiles. Metal pole handrail.
The houses around weren't much better---boxy shapes, low ornamentation.
While I think it's generally accepted that nature is more pleasing to the senses to be around human-created objects, it made me wonder whether amount of detail is a fundamental aspect of what our brains enjoy.
This rumination gets activated whenever I walk by old ornate buildings or read an article like this.
Relatedly, even low-poly games people find beautiful (Tunic comes to mind) have an extraordinary amount of detail when you dissect the textures and postprocessing effects. I'd share a video but I'm way off track now.
Congratulations on the launch and hard work so far! We need projects like this. Great readme and demo as well.
Every time I try to write shaders, or even peek through my fingers at CUDA C(++) code, I recoil in disbelief that we don't have high level programming yet on the GPU. I can't wait until we do. The more great projects attacking it the better in my book.
Fascinating, and now I learned another new thing! Thank you for sharing.
Nothing capability-wise! Just speed and ease of manipulation.
Maybe an analogy is doing image processing. One could write filters and other manipulations in code, or use something like Photoshop. It turns out Photoshop is a great interface for many of those tasks. I think the same thing is true for more data analysis than I'd realized because of my poor Excel skills.
Still want to improve my spreadsheet abilities though. There's a fun video called You Suck at Excel by Joel Spolsky I'm halfway through [1]. Would love to know of more like this.
Thank you, I completely misunderstood that's how it works. I'm guessing then it feeds in the metadata and writes code based on that.
A semi-related surprising fact I only learned recently is that the ultra-long nose of Japanese bullet trains is not for aerodynamics, but to reduce noise. Specifically, "tunnel boom."
Random source: https://www.jrpass.com/blog/why-shinkansen-bullet-trains-no-...