Code shepherd Слава Україні! 🇺🇦

World
Joined October 2007
Joel Reymont retweeted
Chris Lattner (@clattner_llvm) is one of the most influential engineers of the past two decades. He created LLVM, Swift, contributed to TensorFlow, and created the Mojo programming language. What was the story about creating Swift - and why did he face resistance inside Apple when wanting to replace Objective C? What did he learn at Tesla, Google and CPU maker SiFive, that led him to working on Mojo at Modular? We cover these and many more in today's episode. Watch or listen: • YouTube: piped.video/watch?v=Fxp3131i… • Spotify: open.spotify.com/episode/2Nk… • Apple: podcasts.apple.com/us/podcas… Brought to you by: •⁠ @statsig ⁠ — ⁠ The unified platform for flags, analytics, experiments, and more. statsig.com/pragmatic •⁠ @linear – The system for modern product development. linear.app/pragmatic?utm_sou… My favorite quote from Chris in this episode: “I believe in the power of programmers. I believe in the human potential of people that want to create things. And that’s fundamentally why I love software is that you can create anything that you can imagine.”
My transpiler Zig project uses Mustache-Zig, both built with 0.14. My project no longer builds with 0.15 and Mustache hasn’t been updated in a long while. The code doesn’t work and the ~400 tests don either. I told Cursor2 Composer to fix both projects. Had to nudge it to continue several times as, I think, it was worried about my tokens. Finally, Composer got stuck on a Mustache test SEGFAULT and I called Claude Code to the rescue. All in all, my project is fixed, Mustache is fully fixed and I’m not out of tokens. I pay $20/mo for Cursor and ChatGPT5. Trialing Claude Composer.
1
2
This is the future 👇🏻
People say that one should not build their own engine. It's not possible anymore as engines have grown to be so big. But all of these big engines have legacy foundations which can't be replaced as there's so much code on top of them. You can definitely build a better foundation today for modern hardware. And you don't need a big team for that. But what about leaf features A,B,C...Z? There's so many of them. A great core isn't enough. A useful engine needs all the leaf features. Same as OS vs kernel. This is where AI steps in. I have been doing AI assisted programming lately and it's actually very good at writing leaf code. You don't need a massive team. A small team of seasoned experts with AI agents is very productive. I know that most of my followers despise AI written code, but it's improved drastically in past year (again) and it continues to improve rapidly. Build the core tech yourself, design good architecture and good APIs and let the AI build the leaf features on top of your APIs. That's a solid way to build a hobby project too nowadays. You write the most important code (= innovation) and let AI write the less important code. A future game engine could be a thin core (kernel) with good APIs. Leaf features are modular and built by AI. Customers can build their own features on demand using AI.
This. And you need to be an expert in your subject area to begin with👇🏻
Replying to @clattner_llvm
As a developer, I think of my role now as reader of code, rather than writer. Code still takes roughly the same amount of time (because I don’t trust) Initially this is hard. The downside to coding agents is that I haven’t felt the “flow state” that got me into the ordeal in the first place. The plus side is that I’ve found much beauty in the abstraction layer above too.
It’s insane what LLMs can do these days! I’m speaking from a few months of trying to throw harder and harder stuff at them. I now understand what @paulg meant when he spoke of that experienced programmer who was 10x more productive with LLMs. AI will never acquire taste, though!
we don't have to live this way. senior engineers have the duty of building guardrails and teaching the next generation of programmers the practices that lead to high quality software. AIs may write most of the code, but you still decide what ships. we should never lose our taste for quality software. i made this analogy a while back: everyone can cook at home but yet restaurants still exist. the floor is rising, but so is the ceiling. the best software will always be made by those who care.
1
Uninstalled @DeterminateSys Nix after about 3 months and went back to Homebrew. Why? - Nix is fine and I learned a lot but... - I want to run Ubuntu on my Linux laptop, e.g. for work reasons. There's no linuxSystem, though (just darwinSystem and nixosSystem) so I can't configure packages automatically. - Stow manages my config files just fine.
#Guix is the closest you can come to a Lisp OS. Prove me wrong!
1
4
👇🏻👇🏻👇🏻
Russia's demands of Ukraine: 1. Cede 20% of territory 2. Disarm 3. International isolation 4. Puppet government 4. Rewrite Ukrainian history 5. Official status for Russian language 6. Privileged status for Russian Orthodox Church Ukraine's demands of Russia: 1. Leave us alone
1
I face the unenviable task of Nix-fying a large chunk of a very large Bazel project. Need this to build a static library used in our project @elodinsystems. Has anyone done anything like this before?
TIL, there’s a build sandbox under @nixos_org that prevents outside network access. This means you can’t run wget or curl, or issue non #Nix HTTP requests. It makes sense and I know I wouldn’t but Bazel does. I was mightily confused since it all worked fine under @DeterminateSys Nix but the build sandbox is disabled on macOS, apparently.
I don’t remember hating anything as much as I hate Bazel! Did you know it hides the output of the tools it runs? No, you can’t see the stdout and stderr of the compiler! Yes, I had to break out DTrace to figure out why the macOS SDK wasn’t being found under #Nix.
2
Look ma, no Homebrew! It's Nix all the way! Plus, some GUI apps like Ghostty and Zed installed from the App Store or directly.
I'm switching from Homebrew and a dotfile repo to @DeterminateSys Nix, Home Manager and nix-darwin today. Wish me luck!
2
@grhmc This is the bottom of my nix-darwin flake. Can the host bit be done better? I have two Macs and want the configuration to apply to both of them without hardcoding the host name in the config.
Alright, 6 pills.
1
1
Read through the first 5 Nix Pills, plus the Language chapter of the Nix Reference Manual. The puzzle pieces clicked, suddenly, and it's all very logical now! Still that semicolon in "let foo = ...; in ...", "with foo; ...", etc. grates at me 🤪
3
1