Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I'm in the midst of modernizing a 1994 K&R C 32-bit codebase to 64-bit C23, as a museum piece: the computer algebra system Macaulay that I coauthored, since replaced by Macaulay 2.

The horror!

On macOS my environment is Sublime Text as editor, iTerm as terminal. I open two full screen iTerm windows of four panes each, start Claude Code Opus 4 and type "just task" in each pane. CLAUDE.md tells the session to run this justfile command and follow the directions, which generally include instructions to continue by doing "just task" again. Each session may edit its <file>.c and <file>.h but not shared headers; if it has a problem with this I touch STOP in the task directory, the other sessions eventually are told to wait, and then the trouble child session can edit what it wants.

I'm sure in a few years AI will read and fix my 57 C file code base all at once, but for now this workflow has proved invaluable.

The irony? This is the dumbest parallel task manager imaginable yet it works. And our code base has a similar feel: The storage management is a set of fixed sized stacks that outperformed malloc() by 4x back in the day. Etc. Etc.

I learned this gift from my Dad. He devised the Bayer filter for digital photography back in 1974, it looks like ten minutes work (it wasn't) but we're still using it.



Out of curiosity, ~how many lines of C in all is the C you're refactoring?

Reason I ask is I have gotten outstanding results from gemini pro 2.5, which has a very large context.

It already accepts very large individual messages, however if the code base is still too big for a single message, it is possible to send it all in multiple messages and still have the model keep it all in context.

For large, system wide refactors, this can provide planning that claude code can't or won't do efficiently.

Sometimes, I'll have claude code come up with a plan, feed all the related code to gemini, and then provide claude code gemeni's improved plan.

Then after the work is done, have gemeni validate the implementation.

I've looked a bit into automation around this but haven't picked something yet.

If anyone has a solid workflow for this already, I'm all ears.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: