sneak

Joined 16 years ago

Karma
25,495
Submissions
17,424
Member since
Oct 15

    Jeffrey Paul <[email protected]>
      pub   4096R/DF2A55C2 2010-10-21
      5539 AD00 DE4C 42F3 AFE1  1575 0524 43F4 DF2A 55C2
Signal: +1-312-361-0355 or @sneak.07

https://sneak.berlin/

PUT YOUR EMAIL ADDRESS IN YOUR HN PROFILE!

I run a BBS which anyone reading this is invited to join:

https://bbs.sneak.berlin

I am available for hire. Inquire at [email protected].

View on Hacker News

Recent submissions

Comment · 12 hours ago
I write a spec by speaking, not much thought given to grammar and sentence structure. I over-describe concepts, over-describe functionality. A lot of repetition of details and concepts. The audience is not a human. Whisper converts it to text.

Lightly manually edit for speech rec failures.

LLM takes that and converts it into a much much denser, much more structured technical spec in markdown. This is issue 1 in the repo.

I edit this directly extensively, adding detail, removing misconceptions, adding sections with more dictated text.

LLM takes this and further densifies it, closer to an actual implementor’s spec. I carefully note what got added, removed, edited in this step.

I edit this carefully and extensively again. Some removals get added back, some additions get removed. This is the first commit and closes issue 1.

I then have an LLM write an implementation plan and basic project scaffolding. Makefiles, smoke tests, logging, test framework, DI. I edit the plan, and the plan is the second commit. An LLM uses both plus scaffolding plus my repo policy documents (global) to write a README. We’re still single threaded.

An agent files the first n top level implementation tickets. These refer to and sometimes quote any interface contracts in the spec or implementation plan. These usually map 1-to-1 to a module/directory. These sometimes have stub commits to create the module directory and commit interface definitions. Some larger modules have a README in their module directory if their purpose or structure or inputs or outputs are complicated or non-obvious.

Parallel agents write commit level issues that are the task items for each top level implementation ticket. One agent per module.

Then, spawn parallel agents with detailed global instructions, the full spec+plan, and the full readme, and the full code from the module it is working in, plus the issue text. Its output is a single commit on the feature branch and a PR that closes out one feature ticket.

This spawns an adversarial reviewer which has detailed agent instructions as well as our code style guides and repo policies. The scaffolding includes tests and linting and checks. Any failures spawn rework agents until the feature branch is up to snuff.

I review the feature branch diff and merge it, having read the review and rework comments on the PR. I frequently add comments about the implementation (“don’t do x, do y”) and add WIP: back to loop it back for more rework. I don’t see anything that isn’t green, formatted, passes linting, passes tests, and a (dumb) bot thinks is ready to land. Most of the time, it is. Sometimes, it did it the wrong way and I correct it.

The more modular the code, the easier it is to parallelize (obviously). It is ridiculously easy to build large software quickly now, provided it is sufficiently modular so the implementation doesn’t have to cross modules very much. The detailed spec and implementation plan up front helps a lot with this. It’s a lot like writing multithreaded programs really.

Any bugs discovered are tackled with strict TDD, one commit with a failing test, one bugfix commit that must be green and not touch the test.

Individual modules must conform to good contracts, meet best OOP practices, and fit into context. Too big and they get broken down further. Context size is actually a useful constraint for code structure here.

This workflow, the code standards, the styleguide, the linter settings, the fmt settings (obviously only applicable to non-Go as the Go fmt is not configurable), everything is global and stored in another repo and is vendored into each AI managed project repo. It has a fair bit of “I shouldn’t have to say this, but…” stuff (in the style of “fire codes are written in blood” - each warning sign came from experience).

My results are quite good. It’s as the saying goes, much like managing a team of junior devs. It is easy to end up with a LOT of parallel implementors, reviewers, reworkers, and tons of CI, but it’s still so much vastly cheaper than humans that it doesn’t matter.

Someone will make a LOT of money wringing out the inefficiencies from this workflow, because I think the “agent as replacement for third-world contracted junior dev” model is the one almost everyone is using right now.

Comment · 15 hours ago
> one guy won’t have the personal bandwidth to spend so much that the “unlimited” part actually matters,

Tell me you don’t use agents effectively without telling me you don’t use agents effectively.

Comment · 2 days ago
What toxic waste do you think a datacenter produces? Where do these toxins come from, in your mental model?
Comment · 3 days ago
Apple makes security updates available for the last few major OS versions, and even backports really bad ones further back on a case by case basis.
Comment · 3 days ago
The M series MBAirs, and ofc the M1 originally, are hands down THE BEST laptops ever made. I have a maxed out MBP ofc but the Airs are unbeatable quality and price/performance.

I think the M1+ MacBook Airs will be regarded eventually like the original Macintosh originally the iPod, or the introduction of the original Air and the creation of the product class that came to be known as “ultrabooks”. It really changed everything about laptops to have a fantastic keyboard, speakers, screen, trackpad, hinge, and 12+ hour battery life… for $1k.

Comment · 3 days ago
That’s what even low spec computers used to cost, not even adjusted for inflation. I don’t think spending $200-400/month on a hardware budget that enables me to earn 50-100x that is that onerous, we just think “six grand for a laptop???!?” But it’s ridiculously cheap for what it is. We wouldn’t be similarly shocked at a $6k car, for example.
Comment · 3 days ago
“nation state actor” makes it sound unlikely. They sell boxes to many different governments, including the FBI. If you ever cross an international border you should have a modern device running the latest patches.
Comment · 4 days ago
Cellebrite.
Comment · 4 days ago
Most people don’t know how much RAM is in their laptop, so no.
Comment · 5 days ago
People care immensely about size and weight, especially perceived size.
Comment · 5 days ago
When it clicked that you meant MRNA the ticker symbol, it also just clicked for me that the name Moderna is a play on mRNA. Not sure why I never noticed that before.

Like the FedEx logotype arrow, now I will never unsee it.

Comment · 5 days ago
“simply go to another platform” stopped working years ago when Apple took it upon themselves to decide which platforms you are allowed to install.

RIP Tumblr

Comment · 5 days ago
The internet is not what’s being censored. The three platforms that everyone on the internet uses exclusively are being censored.

People then say, well, they can still access other websites! Everyone has a web browser!

Unfortunately the way people disseminate those URLs is via the main censorship platforms, and there are dozens or hundreds of domain names that form URLs which you can’t DM on Discord or Instagram, for example.

The internet as we know it is controlled centrally by Meta and Google and Apple and Microsoft and Amazon - what is done at the network layer is largely irrelevant.

Comment · 5 days ago
The ownership class, and thus the courts and lawmakers actively protect the police, which function as an armed gang to enforce the status quo for the ownership class.

This idea that this is an outrage or will be remedied in courts is a silly one. This is the system working as intended. The people in a city who decide which laws get made want at least one guy who will come and punch you in the face for protesting or making noise or whatever.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton