Ask HN: Oldest code you have written that is still in use?

233 points by _mc ↗ HN
Software quickly gets outdated and re-written all the time. Sometimes the whole product is shutdown. I was just curious about products/modules that you had coded that has stood the test of time!

362 comments

[ 2.4 ms ] story [ 327 ms ] thread
The smaller the userbase, the more likely the code is to remain in service forever. The oldest code I've written is http://www3.amherst.edu/~scrutiny/about.php, which has gotten a facelift since I wrote it in 2004, but otherwise seems to have the same functionality and code backing it.

Pretty much everything professional is gone...hell, the only employer of mine that is still in business is Google. When I left them in 2014, about 3% of the code I'd written for them was still in production, and following the rule above, it's silly stuff that nobody ever sees, like https://www.google.com/search?q=deubogpiegpj&tbs=qdr:h (that's the no-results page when a tool is selected).

Is that code?
The Google link? It's a nonsense query that I figured would have no results (better read it quick, before Google indexes this page ;-)), which is the only way (outside Google) to show off the no-results page.
I am not sure if they are still running, but some time ago I wrote a large number of Oracle PL/SQL procedures activated by cron jobs. The source database schema did not change very much ( JIRA ) and those procedures ran for at least four years without needing any attention or maintenance.
Client-side or server-side? My Angelfire website circa 1999 is still up and running :)
I guess my horrible JavaScript for my Geocities page is probably still living on an archive.org server somewhere. Most of that was cut-and-pasted, though, so probably wouldn't really count regardless.
Pretty sure code I wrote in 2001 right out of college is still used in production for mission critical systems for a national association.
My socket library from 1997 is still handling thousands of sessions a day. I just checked the CVS log, and it has only had 2 minor changes since 2005.
Code to analyze results from the Slowpoke nuclear reactor at the university of Toronto: 1994.
(comment deleted)
Extranet for Very Large Company, circa 1999. X0,000s of users, X0,000,000s of docs.

Platform: Lotus Notes / Domino.

I've got some code in part of a corporate-scale backup system that I wrote in 2008 (right out of college). The product is being put into kind of a permanent maintenance mode, so I imagine that the same code will be there for as long as anyone's using the product.

I had a hand-coded Geocities page (actually, 2 of them) in about 1995 and 1996. Should still be accessible in the Archive, or something.

The code I wrote in my first job is probably still used, but I don't remember any features I worked on.

The code I wrote that will be running the longest is code I've contribute to Emacs. User-facing features are unlikely to be removed anytime soon.

Written ~2004, still used by over ~5k ppl. Even had an intern steal the idea and create a startup.
Just perusing all my projects big and small over the past 20 years going back to college and they're all gone up until less than 2 years ago. Every single one. I always say you need to treat these projects like a Tibetan sand painting. Once it's done and perfect, just wipe the slate clean and start over. It's the journey, not the destination.
Written in 1997, still in use at a few banks that haven't upgraded, well, since the 90s
Roughly a decade. The VB6 program that I wrote to test a prototype of a measurement instrument, is still used in the factory, supporting manufacturing of the released product.

It's a couple thousand lines, and nobody wants to touch it with a ten foot pole, but it also has no known bugs, and will live for the remaining lifetime of the product.

>no known bugs

I don't think I have ever heard that phrase. Every non-trivial piece of software I have ever worked on has a collection of bugs that just get carried forward indefinitely ie hard to fix, only affects a small number of people and there is an easy work around so just ignore it. The idea of having zero open bugs is... foreign.

This is an extremely self contained program, doing a particular set of things over and over in an isolated environment, with about four or five users, and "bugs" are generously defined as "bugs reported to me."
Space shuttle software was purported to be bug-free
I wrote a set of Windows device drivers in the 1998-1999 time frame for machinery control software that has been in continuous use since around 2002 (when the product was released). There has been a grand total of one bug reported. And that one required a hardware fault before it would be visible.
I have the horrific horror (honour?) of knowing that a lot of my code is still live.

The oldest is the internal system for a record label written in 1997 and I still occasionally get emails asking how such and such works (and I have little idea, it was in PERL).

Through to code that processes video and audio snippets for most of the UK Football League premium content sites. Authored in 2000 (mostly VBScripts that slice, encode, and distribute media files and the metadata).

Parts of btinternet.com still appear to use my horrible CMS... written in 1999... though gladly it's now very few parts and I suspect these are just cached outputs rather than the CMS still being in production.

Most worryingly would be the UK Home Office, and most UK banks and some heavy manufacturing companies that I wrote project management reporting software for over a decade ago, and as they manage 20 year projects I believe that stuff has at least another decade in production. At least all of these systems are not internet connected (then again, they'll never be updated either).

My code isn't terrible clever or pretty, those requirements got dropped a long time ago. But I have learned to make code that is simple to read, easy to maintain and tweak, and that can sprintf debug with the best of them (debug tools of choice have come and gone in the time my code has been live).

I started a Mac app in 1988; the same code base (with tons of people touching it since I last saw it in 1994) is still a real product for sale today. No idea why.
What app was it?
Adobe® Photoshop®?
Photoshop wasn't released until 1990.
Probably wasn't photoshop but to be fair they did say "started in 1988", not "released in 1988".
How did they transition from original Mac OS to OS X?
Hell if I know. I'm sure it was Carbon at the start of OS X, I'm guessing you could build some kind of compatibility layer over time.
A system information app I originally wrote for Windows 98, but subsequently added support for NT-class Windows client, still runs and works almost perfectly today (with graceful feature degredation) on Windows 10. I do a tiny amount of work for every new Windows that's released, to support it. Sometimes no work at all. The codebase was originally written in 1998.

Nobody uses it now apart from me, but I still maintain it.

Would be very interested in this. Might even use it over winver/dxdiag ;)
From 1997 thru 1999 I worked on a data management system that is still used in the nuclear industry. Initially VB5 (maybe even VB4, I think) and then moved into VB6. About 150,000 lines of VB code over 2.5 years with two developers working on it - myself and a project manager. One of the first applications that I wrote as part of this system was a 2D, steam generator tube sheet mapping application. Link to the system is here:

http://www.westinghousenuclear.com/Portals/0/operating%20pla...

Screen shots of the tube sheet mapping application are in that PDF. The system was eventually featured in Visual Basic Programmer's Journal in September of 1999. I was 24 at the time and I felt like I had really accomplished something!

Some municipalities in São Paulo state in Brazil are controlling their budget using a Dataflex 2 application I helped write in 1990 and 1991. I realized that the application still runs because of a presentation about the ongoing effort to migrate it to Python.

Sadly, the educational applications for Apple IIs I wrote in the mid 80's are no longer in use.

In 1999, I created the r_waterripple variable in Quakeforge which has propagated to most subsequent Quake ports. The implementation may or may not vary, but all projects seem to have carried the variable name. I also contributed pk3 unpacking and resurrected the Solaris port, either of which may have code circulating.

Also between 1999 and 2001, I was involved in the LiViD project where I worked on a port to PowerPC. I don't recall any patches actually landing into LiViD because it turned out that the bug was in GCC itself, a bug I was told must have existed since the mid-eighties. I didn't directly write the GCC patch, but did debug the compiler error and worked with the GCC team on the fix. This directly resulted in a port of Xine to PowerPC. (LiViD and Xine are early projects for multimedia and DVD playback on Linux) Xine exists today, but it's unlikely any of my code is in it. While the GCC fix is not my code, the fix itself still endures and exists because of my interaction with the project.

It's a newer example, but code I wrote simply as a demo for the Cairo graphics project back in 2004 became integrated into Tuxpaint and is still used today for rasterizing SVG graphics into stamps.

Back in 2000 I went to work for a company named Voice Data Solutions in Raleigh NC. We got on the e-payments bandwagon and created a site called ccpaymentservice.com that allowed you to pay things like water bills, utility inspection fees, etc. online (a lot of our existing customers were municipal governments and the like). I've been gone a long time, but looking at the site, not much seems to have changed, and I suspect that at least a few lines of code that I wrote between 2000-2004 are still in use there.

One bit that I hope is gone is the ONC RPC stuff I wrote for talking to the credit card processing engine we were using back then. That was pretty ugly. It was my first programming job, I'd never done RPC before, and I hacked up something pretty kludgy to make it all work. Not my proudest moment. :-(

https://ccpaymentservice.com

2000. VB6. Manufacturing workflow / management system, BOM..... I did some consulting work at the same company a year ago and that system was still chugging along. They had pretty much rewritten / replaced everything else around the place but apparently didn't see a need to change my module. I was amused to have a couple of guys come and ask me questions/advice, and all I could do was sympathize.
2012 for me. Also VB6 though...
(comment deleted)
1998. Lotus Formula Language Runtime engine. Completely rewrote the original written by Ray Ozzie. GA released in 1999 in Lotus Notes/Domino R5.
The sad thing is, that vintage of lotus notes was actually tolerable, compared to what came later.
I feel like I have stockholm syndrome after using Notes from several years. I hated notes, but I really miss the 'Copy to New' function from creating new emails from already sent items.

Anyone know of a client that supports this other than Notes? (sorry for the hijack)

I just use "forward" for that in outlook/gmail and delete the first few lines that get injected. Is that what you mean?
Not quite. I have to edit the subject, then add recipients, then edit the body...

Copy to New just gave the identical email, recipients and all, in a new email window. For sending things like monthly reports to a list of people, this was fantastic. 'copy to new, delete attachment, drag+drop new attachment, send'

Are you referring to 'Edit As New' in e.g. Thunderbird?
YES!

I don't know why I've never tried Thunderbird until now.. Looks like this was right there under my nose the whole time. Thank you!

For a second I thought that was Formula Graphics language or system. It was one of Flash's competitors back in the day. I toyed with it a bit. Nope. Just Lotus scripting language. Never messed with that one.

Formula Graphics seems to have really disappeared as it doesn't even have a Wikipedia page. There's a CNET download that might be it. Not trying it, though.

1988. A specialized finite element analysis program. Fortran.
Fortran is still being actively used in academia -- the example I know of is running mathematically precise seismic simulations on supercomputing clusters. Some programs have likely been handed down by multiple generations of grad students.
Yep, a friend of mine is studying meteorology and most programming they do at university seems to be FORTRAN.