Hacker News new | past | comments | ask | show | jobs | submit
There's no goal mentioned in this article as why 98% of the code needs rewriting.
Yeah - code rewrites are generally a thing to be avoided since the requirements of older production code is typically not fully documented, even if it originally had been. Production code accumulates bug fixes, performance tweaks, special cases, additional requirements, etc, with documentation and test suites not always being updated in sync.

Your rewritten codebase will presumably look much cleaner and more maintainable that what it's aiming to replace, but it's easy to miss the purpose/necessity of all of the old "cruft" which need not be just poor coding but rather later enhancements not anticipated by the original design whose implementation was therefore crufty.

Does anyone here work at Cisco, and have any insight as to why a rewrite is considered necessary and might be expected to succeed?

loading story #50312131
loading story #50312231
loading story #50313397
It's because the old bits are starting to stink a bit from age. Get those stinky bits out of here, I say! Let the AI make some new bits!
It’s been a while, but configuring their hardware manually in 2016 was bug ridden ridiculousness. Awful UI/UX. Their own techs had specific field notebooks for our make and firmware version that we couldn’t access unless persuaded, detailing various land mines to avoid while working. Literal “don’t click these things in this order” kinds of notes.

A critical security firmware update once brought down redundant pair of firewalls we used because the bug didn’t manifest until a counter buffer overflowed months after application. Three hours into the outage the tech power cycles the thing and our services came back to life.

Cisco is only doing this because some other alternative is more expensive. They had more than a decade to get started.

loading story #50312969
Because it's Cisco?

We had to turn off a bunch of on-by-default features in the system I'm deploying now because IOS matches too aggressively and decides that arbitrary UDP datagrams are DHCP requests or PTP packets that need rewriting (and then dropping when they turn out to not be DHCP/PTP). I have to think that an AI rewrite with a today-good model would recognize the lax checks and do them better.

No goal, and no results, but a younger guy was enthused about AI!
loading story #50312818
It is not in Rust.
loading story #50313946
AI has electrolytes!
loading story #50305210
loading story #50305045
It's what Cisco does, as they've done several times before.
It's got tabs instead of spaces. Yuck!
Somebody needs a promo packet. Duh