I've audited codebases in languages that I haven't programmed in. It is a matter of grasping a few basic concepts, like branch execution, branch destination, where data is stored, how it is communicated. Don Lancaster told us how to do this: https://www.tinaja.com/ebooks/enhance_vI.pdf.
Now I wonder how the test it ? Is it on a software emulator on modern equipment or do they have a Voyager replica ?
Simulators for the spacecraft and replicas for some bits of hardware.
Kids these days... Why would someone in their right mind think working on the Voyager project could damage their careers? You can work on new and fancy tools all you want to improve supporting tools, and it's still one of the coolest space missions active. Plus, it has a real end - at some point, support will be further reduced and the person will move on to another space exploration job, with the extra golden star of having been on the Voyager.
The opportunity they would be offering is not rare at all! The opportunity to research and design something truly new on the other way is very scarce.
There are a lot of things as cool as, done by people I know, such as the gyros on the Webb telescope, the APU in the F-35, or a small rack-mountable Cesium reference clock, but there aren't many opportunities like that.
I wouldn't normally approve of CV driven development, but for this?!
It's an isolated legacy-project with no future. Mostly everything you learn for it will be only useful for this specific project, so all time to invest there is time to can't invest into something useful. Sure, there are probably some parts to learn from this too, but It's less than what your competitors will learn on their fancy modern projects.
> You can work on new and fancy tools all you want to improve supporting tools
Voyager is in maintenance, there is no big innovation or big progress to be made there. It's just work to hold the line as long as possible. And I guess nobody want's to be the one killing it because of a poor attempt to innovate something.
Assembly? Understanding how things actually work? No Agile? No K8s? No Rust, No React? - death knell for someone's resume
>"and the person will move on to another space exploration job, with the extra golden star of having been on the Voyager"
this is the best case with the result of being tied to another single project for years and unemployable anywhere else. in more realistic case - warm goodbye in few years and start your life from scratch with no credits for the thins done.
Additionally, back in the day there was true ownership for the code you write, the code is owned by you not the company, and I know few old engineers that until now (they are retired) the companies still pay them for using their code they wrote while working there. That sense of ownership encourages you to tackle hard issues rather feeling like a machine spewing code for someone else’s business, I have seen some contracts too where the company will have ownership for anything you do while you are in the contract, including your personal projects on your own free time.
Banks and airlines are the most common example, many of them run on mainframe systems with code that's old enough for humans to go into retirement - and replacement projects usually tend to go into the billions of euros range with many of them failing catastrophically.
Even paying some greybeard 500k a year to deal with that stuff despite him being retired is far more profitable in the short term. That's the problem with letting beancounters run the show because eventually, there will literally be barely anyone left alive who is capable - and even less who know all the "implicit knowledge" behind edge cases.
So you'd prefer for all this project management drama and power struggle to be invisible?
All this scaffolding is not a cult. It exists to democratize the process. Your personal comfort is irrelevant to the results.
I have worked at 8 different software places and none of them implemented things in a way I would call "genuinely agile" and most of them were just bad waterfall with more meetings and telling the engineers they are accountable for the bad ideas that are now their job.
CI/CD? How about make that only "Devops" job and then make the exact same undemocratized system before with gatekeepers who spend a significant amount of time blocking your work because they are afraid of things changing.
https://en.wikipedia.org/wiki/The_purpose_of_a_system_is_wha...
Well project managers can have their dramas. Just do not involve developers. Or what is even better - get the fuck out and leave it to people who can do things without drama.
>"All this scaffolding is not a cult. It exists to democratize the process. Your personal comfort is irrelevant to the results."
Pile of BS. It exists to feed whole layer of self serving people who contribute very little and grow like a cancer.
In my career I was lucky. I am an independent software developer. Designed and developed many products for various clients (including some of my own ventures) and have managed without Agile, Scrum and the likes. My largest products - I had teams of up to 35 people under me and somehow we've survived.
On few occasions I had pleasure to be on some of those meetings as a visitor - felt nothing but disgust. Again luckily I was spared from direct participation
Maybe only a few COBOL codebases still active can beat that? Or not?
Reading, analyzing and assembling documentation could be probably done by LLMs.
And by including old code and snippets into the training set, the LLM could be fairly proficient in writing this code probably too?
Maybe someone knows more about the use/not-use of LLMs in this context?
It's a cool idea, though, I'd like to see this done as an experiment :)
And of course you need to test and debug before you ship to production.
Since the Bun AI LLM 'exeriment' conversion got merged I'm a lot less trusting of 'experiments' with LLMs. They seem to get shipped
Yesterday I asked an LLM what customizations niri made to the KDL language.
It said niri modified the language to add single line comments with //. However if you visit the official home page of KDL https://kdl.dev/, the very first example shows single line comments as being part of the official spec. There's also a whole page dedicated to comments in the spec that mention this.
The moral of the story is LLMs are honestly really really bad and I'm sincerely concerned at how they manipulate people into thinking what they produce is accurate or trustable. I didn't believe the AI because my spidey sense said that doesn't feel right, so I double checked the real source.
It's gotten to the point where I'm finding a huge majority of the time, it provides incorrect information on really basic things. Pure hallucinations. I'm at the stage now where even if you paid me, I wouldn't use it. There's a 0% chance I'd ever consider paying for it in its current state and it's upsetting because it is killing off the web in real-time. It's becoming harder and harder to find useful and accurate information.
Of all the possible projects, this is the one where it's both highly feasible for humans to learn and historically critical that we have a full understanding and control of its operation.
Well, the Voyagers will still be there, there will be just no way to contact them anymore once the power runs out or communication is lost (whichever happens first)...