frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Use the Mikado Method to do safe changes in a complex codebase

https://understandlegacycode.com/blog/a-process-to-do-safe-changes-in-a-complex-codebase/
46•foenix•4d ago

Comments

janpot•2h ago
In 2026, we call this "plan mode"
eblume•1h ago
It goes a lot further than plan mode though, in fact I would say the key difference of mikado refactors from waterfall refactors is that you don’t do all the planning up front with mikado. If anything you try to do as little planning as possible.
eblume•1h ago
I’ve been using a form of the Mikado Method based on a specific ordering of git commits (by message prefix) along with some pre commit hook scripts, governed by a document: https://docs.eblu.me/how-to/agent-change-process

I have this configured to feed in to an agent for large changes. It’s been working pretty well, still not perfect though… the tricky part is that it is very tempting (and maybe even sometimes correct) to not fully reset between mikado “iterations”, but then you wind up with a messy state transfer. The advantage so far has been that it’s easy to make progress while ditching a session context “poisoned” by some failure.

dvh•1h ago
Inherited? I wrote the thing! Customer have no money for large refactoring.
agge•52m ago
So we make it many small commitable refactorings instead :)
koakuma-chan•1h ago
> The project doesn’t compile anymore.

Using a programming language that has a compiler, lucky.

theo1996•1h ago
1. take a well known method for problem solving basically any programmer/human knows 2. slap a cool word from the land of the rising sun 3.??? 4. profit! This article is painfully pretentious and stealth marketing for a book
agge•1h ago
Stealth marketing by someone completely unrelated to the book, 11 years after the book is released. Seems unlikely.
charles_f•1h ago
Write tests. Most likely those 300k lines of code contain a TESST folder with 4 unit tests written by an intern who retired to become a bonsai farmer in the 1990s, and none of them pass anymore. Things become much less stressful if you have something basic telling you you're still good.
hidelooktropic•1h ago
So you do things one step at a time and timebox as you go? This method probably doesn't need its own name. In fact I think that's just what timeboxing is.
agge•1h ago
Using a Mikado style graph for planning any large work in general has been really useful to me. Used it a lot at both Telia back in 2019 and Mentimeter at 2022.

It gives a great way to visualise the work needed to achieve a goal, without ever mentioning time.

agge•53m ago
There is a great interview that talks about the process and what it is about more generally: https://youtu.be/HbjWOvxJjms?si=5ta-JOyfFLub2yX_

I think there are similar methods, such as nested todo-lists. But DAGs are exceptionally good for this use case of visualising work (Mikado graphs are DAGs).

mittermayr•47m ago
While great in theory, I think it almost always fails on "non-existent" testing structures that reliably cover the areas you're modifying. I change something, and if there's no immediate build or compile error, this (depending on the system) usually does not mean you're safe. A lot of issues happen on the interfaces (data in/out of the system) and certain advanced states and context. I wouldn't know how Mikado helps here.

In other words, I'd reword this to using the Mikado method to understand large codebases, or get a first glimpse of how things are connected and wired up. But to say it allows for _safe_ changes is stretching it a bit much.

SoftTalker•38m ago
Yes, most of the time such spaghetti code projects don't have any tests either. You may have to take the time to develop them, working at a high level first and then developing more specific tests. Hopefully you can use some coverage tools to determine how much of the code you are exercising. Again this isn't always feasible. Once you have a decent set of tests that pass on the original code base, you can start making changes.

Working with old code is tough, no real magic to work around that.

agge•29m ago
If you create a graph of what changes are needed to allow for other changes, eventually leading to your goal.

Then by definition you have the smallest safest step you can take. It would be the leaf nodes on your graph?

yomismoaqui•19m ago
I recommend reading a classic, "Working Effectively With Legacy Code" from Michael Feathers.

Anthropic Cowork feature creates 10GB VM bundle on macOS without warning

https://github.com/anthropics/claude-code/issues/22543
211•mystcb•2h ago•88 comments

Motorola announces a partnership with GrapheneOS Foundation

https://motorolanews.com/motorola-three-new-b2b-solutions-at-mwc-2026/
1378•km•9h ago•468 comments

/e/OS is a complete "deGoogled", mobile ecosystem

https://e.foundation/e-os/
476•doener•7h ago•264 comments

Judge finalizes order for Greenpeace to pay $345M in ND oil pipeline case

https://northdakotamonitor.com/2026/02/27/judge-finalizes-order-for-greenpeace-to-pay-345-million...
99•gmays•2h ago•58 comments

First-ever in-utero stem cell therapy for fetal spina bifida repair is safe

https://health.ucdavis.edu/news/headlines/first-ever-in-utero-stem-cell-therapy-for-fetal-spina-b...
45•gmays•1h ago•4 comments

Ask HN: Who is hiring? (March 2026)

23•whoishiring•44m ago•37 comments

Use the Mikado Method to do safe changes in a complex codebase

https://understandlegacycode.com/blog/a-process-to-do-safe-changes-in-a-complex-codebase/
47•foenix•4d ago•16 comments

Notes on Lagrange Interpolating Polynomials

https://eli.thegreenplace.net/2026/notes-on-lagrange-interpolating-polynomials/
8•ibobev•43m ago•3 comments

How to talk to anyone and why you should

https://www.theguardian.com/lifeandstyle/2026/feb/24/stranger-secret-how-to-talk-to-anyone-why-yo...
330•Looky1173•9h ago•422 comments

Inside the M4 Apple Neural Engine, Part 1: Reverse Engineering

https://maderix.substack.com/p/inside-the-m4-apple-neural-engine
100•zdw•23h ago•31 comments

AMD Am386 released March 2, 1991

https://dfarq.homeip.net/amd-am386-released-march-2-1991/
56•jnord•3h ago•9 comments

Why Objective-C

https://inessential.com/2026/02/27/why-objective-c.html
38•ingve•2d ago•21 comments

An Interesting Find: STM32 RDP1 Decryptor

https://carlossless.io/stm32-rdp1-decryptor/
47•carlossless•2h ago•9 comments

Parallel coding agents with tmux and Markdown specs

https://schipper.ai/posts/parallel-coding-agents/
13•schipperai•2h ago•0 comments

Microsoft bans the word "Microslop" on its Discord, then locks the server

https://www.windowslatest.com/2026/03/02/microsoft-gets-tired-of-microslop-bans-the-word-on-its-d...
639•robtherobber•6h ago•250 comments

OpenClaw Surpasses React to Become the Most-Starred Software Project on GitHub

https://www.star-history.com/blog/openclaw-surpasses-react-most-starred-software
168•whit537•3h ago•161 comments

Making Video Games in 2025 (without an engine)

https://www.noelberry.ca/posts/making_games_in_2025/
304•alvivar•3d ago•140 comments

If AI writes code, should the session be part of the commit?

https://github.com/mandel-macaque/memento
404•mandel_x•16h ago•349 comments

Show HN: Omni – Open-source workplace search and chat, built on Postgres

https://github.com/getomnico/omni
110•prvnsmpth•7h ago•31 comments

Zclaw – The 888 KiB Assistant

https://zclaw.dev
4•kristianpaul•2d ago•0 comments

Jolla phone – a full-stack European alternative

https://commerce.jolla.com/products/jolla-phone-sept-26
352•spinningslate•6h ago•147 comments

Mondrian Entered the Public Domain. The Estate Disagrees

https://copyrightlately.com/mondrian-public-domain-controversy/
124•Tomte•3d ago•59 comments

U.S. science agency moves to restrict foreign scientists from its labs

https://www.science.org/content/article/nist-moves-restrict-foreign-scientists-its-labs
280•JeanKage•7h ago•224 comments

A bit of fluid mechanics from scratch not from scratch

https://tsvibt.blogspot.com/2026/02/a-bit-of-fluid-mechanics-from-scratch.html
7•surprisetalk•1h ago•0 comments

Felix "fx" Lindner has died

https://blog.recurity-labs.com/2026-03-02/Farewell_Felix
4•is_taken•51m ago•0 comments

Apple introduces the new iPad Air, powered by M4

https://www.apple.com/newsroom/2026/03/apple-introduces-the-new-ipad-air-powered-by-m4/
104•Garbage•2h ago•113 comments

Show HN: Web Audio Studio – A Visual Debugger for Web Audio API Graphs

https://webaudio.studio/
34•alexgriss•4h ago•2 comments

Neocaml – Rubocop Creator's New OCaml Mode for Emacs

https://github.com/bbatsov/neocaml
65•TheWiggles•2d ago•11 comments

Plastic is made from milk and it vanishes in 13 weeks

https://www.sciencedaily.com/releases/2026/02/260227071922.htm
41•JeanKage•2h ago•28 comments

Go-Native Durable Execution

https://www.dbos.dev/blog/how-we-built-golang-native-durable-execution
43•hmaxdml•4d ago•11 comments