As someone who also recently spun up a new VPS to fiddle with claws:
I personally fully support Hetzner on this because, as a on-and-off customer since 21 years, their service has been absolutely flawless and always worth every cent. They care so I'm totally happy to pay whatever they need to make it work for them, too.
> What this does: apiKeyHelper tells Claude Code to run echo proxy-managed to get its API key. The sandbox’s network proxy intercepts outgoing API calls and swaps this sentinel value for your real Anthropic key, so the actual key never exists inside the sandbox.
This is similar to how I solved a BYOK(bring your own key) feature at work. We had a lot of hardcoded endpoints and structures on the client and code that was too difficult to move over a nice BYOK structure within the given timeframe. So we ended up making a proxy that basically injected customer keys as they passed through our servers. note that there are a lot security implications doing this.
My professional workflow with Claude Code goes as follows.
I call it "moonwalk" because, when throwing away the intermediate vibe-coded prototype code in the middle, it feels like walking backwards while looking forward.
- Check out a spike branch
- Vibe code until prototype feels right.
- Turn prototype into markdown specification
- Throw away vibe'd code, keep specification
- Rebase specification into main, check out main
- Feed specification to our XP/TDD agents
- Wait, review a few short iterations if any
- Ship to production
This allows me to get the best of vibe-coding (exploring, fast iterating and dialing-in on the product experience) and writing production-grade code (using our existing XP practices via dedicated CC sub-agents and skills.)
LOL, I got 100% nerd-sniped by my friend Sönke this week and wound up building a small spaceship.
On Monday he's like "Hey, what if you found obscure seed phrases embedded in public texts? You'd only need to remember the name of the book and the paragraph and go from there."
I honestly could care less about crypto(currencies) and I'm 100% sure this is like cryptanalysis 101. But, yeah, it seemed like an interesting problem anyways.
First, I downloaded a few hundred books from Gutenberg, wrote a ruby script and found BIP39 word sequences with a tolerable buffer for filler-words.
Then, I was like, okay, gotta now check them against actual addresses. Downloaded a list of funded ETH addresses. Wrote the checker in ruby. Ran it. No hits but this was now definitely weirdly interesting.
Because: And what if I downloaded the whole pg19 text corpus to scan! And what if I'd add BTC addresses! And what if I checked every permutation of the seed phrase!
Everything got really slow once I got to processing 12G of raw text for finding sequences and then checking a few million candidates with 44.000+ variations per candidate.
So, let's rewrite this into C! And since I've got 16 cores, let's parallelize this puppy! And since it's a MacBook, let's use GCD! Optimize all the things!
Lol, so NOW this thing is so fucking FAST. Takes four minutes to go through the full pg19 corpus and generates 64,205,390 "interesting" seed phrases. The fully parallelized checker (see Terminal screenshot) processes 460 derived addresses per second.
I really don't care if I get a match or not. I feel like I started with building a canoo and wound up with a spaceship is in itself just the best thing in the world.
Also a huge Eno fan here. Put together, I probably have listened to Music for Airports, Another Green World, Taking Tiger Mountain and Discreet Music more than any other artist. Maybe Philip Glass comes in at a close second.
Anyways, in 2016, Tero Parviainen (@teropa) shared this really cool long-form exploration called "JavaScript Systems Music – Learning Web Audio by Recreating The Works of Steve Reich and Brian Eno" that I enjoyed tremendously (and I don't even like Javascript!)
Thanks for sharing. I've been on a path of algo music with JavaScript (I also do not enjoy JavaScript) and have mostly just guess-and-checked my way through it. I'm going to work through this as my advent of code project.
Yesterday I put up a little dictionary of synth sounds that I'm building out to help me on my journey (https://synthrecipes.org). The goal to be able to export any particular sound in a format for different live coding environments. Sounds are defined in a JSON format like https://synthrecipes.org/recipes/acid-bass.json. I'll open source it today so other can submit sounds.
Music is funny. I played the closed hi-hat sound (https://synthrecipes.org/#closed-hi-hat) a couple of times and my brain instantly started playing AC/DC's, Back in Black. I probably haven't listened to that song in 15 years and now I'm shuffling AC/DC on Spotify.
When you feel bored listening to this sort of music you are already half way to the Alpha state (I heard it called that by Quincy Jones). Go a little further, and when your brain fully disengages you can use the space/quiet/calm to go to new places and come up with some amazing ideas.
Hi Max! Thank you for updating my mental model of AI detectors.
I was with total certainty under the impression that detecting AI-written text to be an impossible-to-solve problem. I think that's because it's just so deceptively intuitive to believe that "for every detector, there'll just be a better LLM and it'll never stop."
I had recently published a macOS app called Pudding to help humans prove they wrote a text mainly under the assumption that this problem can't be solved with measurable certainty and traditional methods.
Now I'm of course a bit sad that the problem (and hence my solution) can be solved much more directly. But, hey, I fell in love with the problem, so I'm super impressed with what y'all are accomplishing at and with Pangram!
Off-detail/on-topic: After 10 months of reading Pratchett's Discworld novels, I'm now reading the Cantebury Tales. And by golly, the tales are surprisingly accessible, entertaining and fun to read.
We're a classic XP shop. To build new features in our brown-field app, we defined about 8 sub-agents such as "red-test-writer", "minimal-green-implementer" and "refactorer".
Now all I do in Claude Code is: "Build this feature X using our TDD process and the agents." 30 minutes later the feature is complete, looks better and works better than what I would have built in 30 minutes, is 90% tested and is ready for acceptance testing.
Granted it took us years of working XP, pairing, TDD etc. but I keep feeling confused about posts like this.
We've been shipping production-grade code written 95% by AI for over a year now. Non-trivial, complex features.
There is no secret sauce even, in how we do this. It works. Really, really well for us.
As someone who also recently spun up a new VPS to fiddle with claws:
I personally fully support Hetzner on this because, as a on-and-off customer since 21 years, their service has been absolutely flawless and always worth every cent. They care so I'm totally happy to pay whatever they need to make it work for them, too.