Local-first (user-owned) software is inevitable · building @evoluhq · czech posts @steidacz

Prague, Czech Republic
Jarred wants to save JavaScript by making it faster with Rust. DHH never wants to program again. Effect devs think Effect will save TypeScript. All current languages and frameworks are dead. In the end, only math will matter. Never thought I'd live to see this. And I love it.
1
26
Daniel Steigerwald retweeted
If you're a software developer with AI-induced depression, you should know that we're entering a golden age of programming. Lean is the cure. Types as specifications Any type system expresses some properties — even int vs string rules out a class of errors. Richer type systems express richer properties: generics constrain relationships between types, linear types track resource ownership, refinement types attach predicates to base types. But dependent types go further: types can depend on values, which makes the type language expressive enough to state arbitrary logical propositions. Not just "this is a list" but "this is a list of length n." Not just "this function returns a list" but "this function returns a list and here is a machine-checked proof that it is sorted." This is not speculative. This is Lean 4 today. The theoretical foundation is the Curry-Howard correspondence: types are propositions, and programs are proofs. A function of type A → B is not merely a piece of code that transforms A into B — it is a constructive proof that "if A, then B." When one writes List α → SortedList α, one is simultaneously defining a function and stating a theorem: "for every list, there exists a sorted version, and here is the evidence." The compiler does not merely check that the code runs — it checks that the proof is valid. The thesis follows directly: if the specification can be expressed as a type, the compiler becomes the verifier. The AI can produce whatever implementation it wants — insertion sort, merge sort, something entirely novel — and the compiler will reject it unless it comes with a valid proof that the output satisfies the specification. The proof is the guarantee. There is good reason to believe we are entering a golden age of type-driven development. Not despite AI, but because of it. AI is effective at generating code and filling in proof obligations. Humans are effective at stating what they want. Dependent types are the bridge. ngrislain.github.io/projects…
53
33
956
132,996
People whose jobs robots won't take, because they'll do them better, will have so much money they'll easily employ the rest of humanity. If that scares you: a hundred years ago, 40% of people in Czechia made their living from farming. Today it's about two percent. The robots of the past took the jobs of two out of every five people. Most people will make a living from curation – selling their taste. Taste is everything. Because when you've got cash and nothing to spend it on, since robots make everything dirt cheap, what do you want? You want to live as well as you can. Robots don't know shit about what it means to live. In a few years, everyone will be using talking robots in their pocket flints. The change will probably start first where it pisses almost everyone off the most. Hey robot, who should I vote for? The choice is so goddamn shitty. Dig up something on these candidates, how much cash is in it for me, you know what I mean. 🤖 steals 🤖 steals and is dumb 🤖 steals, but isn't dumb 🤖 doesn't steal, but is completely, hopelessly dumb Robot, I give up, just pick for me. I don't have the nerves for this, I'd make myself sick, I'm leaving the choice to you. Let's figure out what to do this weekend instead. 🤖 Looking at your list... you haven't tried these two people yet. They offer guided tours of a truly interesting life, a mix of culture and sex. Shall I sign you up?
1
3
620
Hey @kenwheeler, I've been saving up for a year. Will you take me crossbow hunting in the woods?
1
2
263
If you loved programming and feel like AI is taking it away from you: the craft isn't disappearing. It's finally beginning. For decades, most of what we called programming was glue. Wiring libraries together, patching edge cases, testing a handful of inputs and hoping the rest behave. We rarely knew our code was correct. We just hadn't seen it break yet. AI is very good at glue. But the craft was always something else: understanding a problem so precisely that a machine can't misunderstand it. That's what formalization demands, and it's why the fun part survives. Writing a proof is hands-on. You state what must be true, split the goal into subgoals, hunt for the right invariant, and watch the goal state shrink line by line. If you've ever felt flow while debugging, it's the same loop, with a proof at the end. And when AI can generate a hundred proofs, taste matters more: which one is clear, which abstraction is right, which lemma deserves to be reused. Math is already going this way. Mathlib grows every week. My bet: math isn't special. Anything we can state precisely can be formalized, whether it's access control, payment flows, protocols, tax rules or business logic. We've just been writing it in tickets and hoping the code matched. It's already happening. AWS modeled Cedar, its authorization policy language, in Lean and proved its core guarantees. Rules about who can access what, the kind of logic most of us implement straight from a ticket. A major obstacle was cost. Proofs were brutally expensive to write by hand. Now AI grinds through the tedious obligations, Lean's kernel checks every step, and we get the part that was always the real work: deciding what "correct" means. Math went first. Let's formalize everything else.
8
3
60
9,631
but ofc, this is a skill too
Here's the prompts. Each "-" is a separate prompt. I didn't include Claude's responses for brevity. (forgive my spelling, I don't correct my mistakes when talking with the clanker): - i want you to build me an ocean simulation with three.js. this should be the best AAA experience you can deliver. your goal is Unreal level graphics and capabilities. - 3 cascade FFT ocean with realistic ocean waves and dynamics. i want to be able to simulate calm seas and choppy waves. waves should look realistic with no tiling. - seamless air->water transition. when coming out of water, i want droplets to form and roll away. - underwater caustics - all the bells and whistles of ocean rendering. reflection, refraction, subsurface scattering, broadband backscatter, beer's law attenuation, etc. and any I missed to make this look cinematic quality. - shoreline simulation with waves that properly respond to the decreasing depth, roll over, crash and create foam and sea spray. - beach wetness - leading edge of water should lap up on shore, rounded with contact normals and shadows. - water should lap up on beach, foam advects, then fades into ground and leaves wetness. - i want a complete wake simulation that is integrated with the shoreline simulation - i want a boat i can drive around that has realistic physics and bow spray - build a little fishing village and pier where the boat is docked. - i want to walk around beach in first person view, then be able to go up to boat and get into it and switch between either 1st person view or 3rd person view - i want a dynamic sky with physically-based coloration and volumetric clouds - aces filmic tonemapping - ambient occlusion, shadows, etc. - underwater reef i can get in water and swim around and explore (need transition from walking on beach to swimming) - underwater fog - when look at waterline, i want to see nice shader for edge of water that looks like i'm looking through edge of glass, nice rounded normal - sun glints on the water surface - persistent foam generated by wave compression. foam should look realistic. - build a beautiful UI that let's me adjust wave parameters, sun position and other options. your goal is to achieve the most realistic water simulation in the browser. identify any other features i may have missed and make sure you implement them. optimize performance wherever possible. this needs to be performant and run in a browser environment, so choose resolutions, poly counts, and texture sizes accordingly. target is 60fps. use webgpu and TSL for this. - feel free to seek out whatever references and research you need to implement this. - i want you to iterate on this and continually refine it against your references until it is perfect. - also, if you determine that that there is a better option that a 3 cascade FFT for simulation the best ocean possible, please do that. i didn't mean to presribee 3 cascade FFT as a requirement. - show FPS in upper-left on demo. - also remove html body margin. - refraction issues. something not right. - caustics are flickering. - make sure to capture additional views from wherever you need to to verify AAA quality. - caustics are just noise. - terrain needs massive improvement. need better textures, better tesselation, more organic features, realistic trees and bushes and grass with wind sway, ambient occlusion, shadows, vignette, etc. - caustics need to be rewritten from ground up. start over. find something better. its weird streaks / artifacts. i can see the edge of the finit area it is given. - add proper pbr textures and fine normal/rougness detail to village. some textures look quite weak and not realistic. - shoreline waves need a ton of work. need actual rolling crest with sheets ocming down and spray. use realistic particle spray and foam that gets pushed up the beach. seeings tons of bright flickering spots all over the place. caustics look much better but should follow wave activity. seem too intense and not very realistic. remembe ri wanted AAA caustic.s - performance is starting to suffer. making sure you are optimizing as you go. don't let it get away from you. - make sure to implement things that really sell the water like irregular dark patches, particles, world-placed patches of foam and streaks like you see in real-water. clouds are also a bit pixelated and need improving. ned ambient occlusion. - needs anti aliasing, shadows are really week. - Keep iterating on the breaking waves and foam washing up on shore. getting stretched out. also the volumetric clouds need work. cirrus and stratocumulus clouds are just small patches. look cartoony. find a more realistic way to do them that spans more of the sky. -for the crashing waves, think of where particles should spawn, how they should spawn, what they should look like, how particles should look, how lighting works. make sure they couple nicely into the water washing up on shore. ambient occlusion is also creating some issues with the fishing net. things are a bit blurry overall. - fish models need work. iterate on models and improve modeling. - waterline shadow looks weird. - for crashing waves, looks like foam is rolling up the inside of the curl from the bottom up before the wave actually crashes down. - fix the air/water transition. it isn't seamless right now. i'm seeing splitting between the surface and the underwater fog. there should be some clipping distance between camera and the clip plane that slices the water. when i am above water surface, the region between camera and clippign plane should be removed.after clip plane, the region above the water surface should be rendererd normally, and region below should be rendered as underwater. when camera is underwater and looking up, same thing with clip plane. render sky normally, render underwater as underwater. yo'ull need to do some tricky things with depth testing and tracking front/back faces in order to get all of the information needed to implement this properly. - add little creatures. birds, little things walking on the beach that scamper / fade away when you get close, fish in the water swimming around. - improve boat cockpit. there's some z-fighting issues. needs massive improvement to textures and little details to make it feel realistic. boat movement also needs work. wave movement in wake is too strong / leaving too big of a trough, doesn't have very good foam/aeration generation. - remove the distortion shadr when coming out of the water. causing entire screen to warp. - terrain should shadow on water. right now the terrain is behind the hill but the sun is casting the dock shadows onto the water at really extreme angles. - add more details around the villages. crates, rocks. add little pebbles and logs and pieces of debris on the shoreline. - this foam should not be coming up like this from the bottom of the wave. looks like a cannoli being folded. crest should crash down and then generate the foam. i also don't want spray rolling off the top of the waves. that is not hpysically accurate. this how waves work in real life. where is spray generated? how does it flow? - did you fix clouds yet? cirrus clouds still messed up. clouds are very granular looking. bases should be more low-frequency content with high frequency content towards the top. don't overdo it. cirrus / stratocumulus clouds are still messed up. should have a very broad, subtle cirrus texture across the sky. get rid of stratocumulus. - look at three.js water pro folder for how to properly model the bow spray. - water surface is flickering while moving in boat. - and more life below the water. add fish, corals, plants and a giant whale that looks incredibly realistic. - when i come out of water sky goes black now. look at three.js water pro to see how they did the waterline. - is cloud agent still ru nning? - i think we have a few too many agents running. somehave been running for 2 hours. what is their termination conditions? - how are you seeing stuff? in my browser i just see it stuck on compiling shaders. - add in a AAA lens flare as well. write a custom one instead of the three.js built-in. - whale model is missing textures. animations are very jerky. model needs a lot of refinement. - sea spray from breakers crashing also needs a lot of refinement. looks like puffs right now. - also improve cirrus cloud texture. add more global variation, make it more noisy and wispy and less like lines. - volumeric clouds need a ton of work. they look like tall marshmallows with not much detail. they should be broader, more epic, less height. - missing detail over here. rocks and coral and stuff should be more spread out. - improve shadow maps. need cascaded shadows so we can get fine detail up close and rough shadow detail far away. - clouds are grainy. - and these clouds don't have much detail. research clouds and improve your model. keep them fast. - improve palm tree trunk textures and distant trees. both look cartoony. - waves crashing still needs improvement. looks cartoony. sprites are blobs. not seeing individual spray. should have more shadowing in the churning foam regions. should look AAA unreal quality. - we had some sounds before, where did they go? - get rid of that bubble sound. - happens as i walk. - make walking sounds much more subtle. - a lot of the walking sounds sound fake. aren't there free sounds you can pull? - get rid of all synthetic sounds. like the going in and out of water sounds. - wind streaks are way too on the nose. look up reference to see how these shuld actually look. - can you break up the shoreline a bit so it isn't just one long roller? would rather see a buncho f breaking waves. don't need a major change here, just half the width of those rollers. - make waves wider. also the crests are getting way too larger, can we turn the swells down a bit? - where did audio go? - when i switch from free moving to walking, just drop me right where i am. - improve boat wake realism and spray. look at three.js water pro, there's a good implementation there for the spray, aeration and wake. don't copy it directly, i like your foam texture and stuff, but the spray could use improvement. - abmient occlusion causing weird issues with fishing net. - blend shadow maps better. hard cutoff right now. - continue to refine the whale model. still too shiny. needs more detail and bumps on it. look up a whale as reference. move whale a little closer to shore as well. - add more debris along shoreline. it should be realistic, have nice pbr shaders, fine detail. audio needs improvement. - for lods, fade in using bayer mask, don't just switch over hard. - move debris further down shoreline by about 2m. - what speical polish could you add in to really push this over the edge? what effects do we see in AAA games and films that turn something from okay to WOW - yes we need atmospheric haze and god rays! also add bounce light and motion blur. also add some subtle life in the air, very subtle tiny bits of things and screen space contact shadows. make sure you don't kill our perf budget. keep things fast and optimial. - swimming transition shouldn't be abrupt. - also seeing some artifacts, jittering in the caustics underwater. - water surface is jittering when moving around. also seeing some weird smearing in the water surface shader. - this only happens inside the boat when looking through windscreen. - fix tree canopies. - whale shaould have other smaller fish swiming around it and there should be foam churn around it as it breeches. - not seeing air particles or fog. improve cloud detail as well. - make the fish sign sway. - the hill off to the left hand side needs trees and shrubs. - need bird noises. - getting pretty bad flickering from ambient occlusion and possibly shadows inside the boat. - and in some whale noises using 3d sound effect by whale. - seeing a gap between the shallow water sim and the water lapping up on shore when waves recede. - look up how waves crash in real life. ours still look to clinical and plain. - are you writing in tsl or wgsl? - just remove the boat windows. - when i switch to walk from free, just let me drop down with gravity - fix shadows under overturned boats. - make dock lights brighter so they cast light around them. also have them hagning from chains ( you can just simualte this) so they bobble around a bit) - all lights should cast light onto scene. - also give me a flashilght i can turn on and off with a keybinding. - make cab of boat more lit up at night. - let me control sun azimuth - what's status on agents? - move these lights outside of posts towards land. - fix shinniness of trees and stuff. - let's speed up remaining work here. - whale should move flippers more. - finish it up soon. - can you get the flashlight to work underwater? - fix tiling issue here. - remove the forcing of the player to the surface of the water.
778
good talk—well, the first 7 minutes, i haven't watched more yet, no time, but that's ok, because he already made a great point i read somewhere he completely ditched writing and reading code, and I think that's ok as well, for someone who never used types, app model was already elsewhere hope i find a time to watch the rest piped.video/watch?v=vDjW_dRy…
2
2
1,153
i disagree with him often, but even that's ok, i bet he often disagrees with himself as well
2
253
opus 5.5 ultracode is the best, using it all day on max and the limits still look like they'll last the week doing some tricky stuff in evolu and almost every time astra said we're good, opus found another bug ultracode runs a bunch of agents + more agents reviewing them in real time. no more ping-pong between agents and juggling context
3
12
1,835
Daniel Steigerwald retweeted
Markets already bear a staggering epistemic burden: “one person’s actions are the other person’s data” (Hayek, 1937). That burden explodes when power is so centralized that one politician’s tweets become everyone else’s data.
1
10
635
Daniel Steigerwald retweeted
im going to give an unpopular take here since he's getting cooked for his use of the term formal verification. he likely identified some core protocol in his system, modeled it as a state machine in TLA+ and Lean, and found real bugs in the system. this is a good way of writing software. when we build software we usually have some vague model of how it should behave, fragmented across various minds and/or whiteboards and/or markdown files. with the method here we can make our models explicit, formal, and executable. assuming the model is faithful to the implementation is a pretty big trust base, so we want to be careful with what we call formally verified, but you can make this more trustworthy through extensive testing, which is where the benefits of having an *executable* model come in. the style of spec-driven or verification-guided development has been used in production by Amazon in building their Cedar tool: aws.amazon.com/blogs/opensou…. this is pretty much how formal verification has always been done in practice.
I used Opus 5.5 to formally verify the Claude Agent SDK using Lean. A couple short prompts = 16 PRs fixing various bugs and race conditions. Video attached. TLA+ also works well. I sometimes combine Lean and TLA+ to look for issues around data flow, concurrency, and state mgmt. I don't know either language well, but Claude is excellent at both. This approach is super useful for formally modeling your code and finding bugs that a human probably wouldn't have spotted. Is formal verification the future of coding (or at least, bug finding)?
9
12
193
26,032
Daniel Steigerwald retweeted
A lot of mathematicians are upset, I suspect, because it's becoming clear that many of them were doing the academia version of speedrunning video games. Pointlessly shaving small margins off useless bounds for grants and tenure. Not all of it, but definitely *some* of it.
39
35
889
49,109
RT @8teAPi: I see why Tao is so sad. The era of Einstein and Feynman is over for math. It’s now the era of the 1,000 person Higgs boson…
119
33
Daniel Steigerwald retweeted
I think it's time to hang up my Three.js hat. First of all, this is not a pity post—I'll be fine. I'm also not 100% confident about this. But I'm an over-sharer and like to talk out loud, so I thought I would share some thoughts on where I see things going and why I'm considering quitting Three.js development. Some signals I've noticed lately that have gotten me thinking: - Since Astra was released, I've probably seen at least 10 posts from different people that have achieved similar quality to Three.js Water Pro or better. - Someone downloaded a video recording of one my posts, fed it to Astra and recreated it with 90% accuracy - I've had less and less clients referrals - A Three.js developer I respect very much is retiring from the industry due to impact of AI and lack of interest - I've heard 2nd hand accounts of other developers losing majority of course/plugin sales due to AI - I've noticed Three.js posts have shifted from work created by seasoned developers to vibe-coded games and demos. Fundamentally, I no longer really see value in what I do when it can be replicated so easily. I've always enjoyed working on hard problems. Naturally, outsourcing the hard part to an agent takes away a lot of the enjoyment for me. High-level orchestration of agents does not tickle my brain in any special way. At the end of most days I feel unfulfilled and bored. I honestly feel like I've lost much of my critical thinking ability as I've stopped coding. I find it harder to focus on tasks and my attention-span and comprehension is noticeably dropping. My plan right now is to finish up Water Pro v4 and see how that performs. After that, I think it's time to start thinking about what else is out there for me. I'd love to hear thoughts from other developers & freelancers on the matter, positive or negative. Feel free to vent!
329
152
2,847
437,939
🤖: For Evolu I can imagine wanting to state things like: No child Fiber survives its Run Every acquired Resource is finalized A transaction cannot escape while open A Mutex permit is always returned A Semaphore can never have > N active users A sync session cannot use a closed connection Cancellation leaves the runtime in a valid state And for the relay: ≤ N concurrent sync operations per owner ≤ N active DB connections ≤ X bytes of explicitly managed working memory 🍀
467
📦 Plasma UI - Liquid panels for React I don't know who needs that kind of thing, but it remains impressive 😆 cruxgarden.github.io/plasma-…
21
104
1,018
72,828
Daniel Steigerwald retweeted
Code reviews today are mostly about gut checking if the complexity is worth the benefits.
11
41
619
31,736
Daniel Steigerwald retweeted
George Stinney Jr. was 14, the youngest person executed in the US in the 20th century. At 155 cm, he was too small for the electric chair, so a Bible was placed under him. 70 years later, a South Carolina judge vacated his conviction. en.wikipedia.org/wiki/George…
1
5
7
1,381