DEV Community

Do you have fond memories of old codebases you no longer work on?

Ben Halpern on April 05, 2018

Collapse
 
albinotonnina profile image
Albino Tonnina

There is a company that is still using a completely custom invoicing and billing software written by me 16 years ago. A PHP software.

The software I write today, which is functional, reactive, progressive, declarative, asynchronous, etc etc does not last that much. 🤷‍♂️

Collapse
 
sergiodxa profile image
Sergio Daniel Xalambrí

That's an awesome example of why is more important to write code that just works than fancy "good quality" code.

Collapse
 
phlash profile image
Phil Ashby • Edited

I do! One: a personal learning project that frankly I'm amazed ever ran. I wrote my own (completely useless) 16-bit kernel and bootloader for x86 PC. I might even upload to my github once I remember how to check it out of PVCS (anyone remember that?)

Two: A personal project to back up my MS-DOS machine, I wrote a device driver (for MS-DOS of course) for QIC-02 0.25" tape drive cards, and an implementation of GNU tar. This made it to the Simtel archive as my first open source release. My proudest moment was when I restored a backup from 1995 onto a Sun Solaris machine 12 years later :)

Three: Last one I promise: My paid work writing network drivers for Doom, Duke Nukem 3D, other IPX and DirectPlay games, partly MS-DOS TSRs, partly a Win95 VXD. This was while creating BT Wireplay (on line gaming service '95-'01), that had to support a multitude of network technologies used by games.

Collapse
 
antjanus profile image
Antonin J. (they/them)

Wow! What is it like to write drivers? I literally have no idea what driver code looks like or how it functions.

Also, kudos on DN3D and Doom drivers! I still play those games!

Collapse
 
phlash profile image
Phil Ashby • Edited

Writing device drivers mostly requires patience! When I was doing these, a separate machine to debug on, usually over a serial port as you are going to be crashing the target a lot. Nowadays a VM usually does the job with much less fuss.

If you are curious about my old MS-DOS driver code, here's the tape device written in C and ASM (isn't the Internet wonderful :)
cd.textfiles.com/simtel/stmsdos970...

For something more relevant and useful, take a look at a couple of Linux driver tutorials, this is a gentle one:
mulix.org/lectures/intro_to_linux_...

Have fun!

Collapse
 
ghost profile image
Ghost

A while ago I used to work on a documentation project for Discord (the modern version of IRC). I have a few (emphasis on few, not many, just few) fond memories of that, but nothing thats really substantial. I've found that it's often hard to have a 'connection' with your code unless it's rather still being used, it's been acquired, or you've been recognised for it - otherwise, it can often seem as though you've just smashing away at your keyboard trying to see if it does anything.

Kinda sad, but hey, that's just how I guess it goes!

Collapse
 
nektro profile image
Meghan (she/her) • Edited

I had a project I worked on for a bit to try and make a moddable Pokemon game. It started out as a desire to make a Pokemon game with all the regions but after I learned that all the fan games were made with RPG Maker (a $20 product (which can do more I know) to make a game that would have to be given away for free) I wanted my game to be able to do more. It would have a Region API and would ask you if you want to deposit your Pokemon into the PC when arriving at a new Region for the first time. I was making decent progress but then Pokemon Uranium was shut down, so I decided to stop working too. I didn't want to spend all that time on a passion project just to be sued by Nintendo. If they ever had a change of heart, I'd still like to do it, and keep the files to this day

Collapse
 
argherna profile image
Andy Gherna

Yes. My first job out of school was as a mainframe programmer on a large accounting application. It was written in COBOL with DB2 on the backside. Online screens were COBOL + IMS + DB2. I learned about what not to do to succeed so much at that and by the time I left that team I was a valuable member of it.

Collapse
 
ben profile image
Ben Halpern

Awesome

Collapse
 
wintermute21 profile image
John Best

tbh, no. tons of legacy code out there that should be replaced.

Collapse
 
flexdinesh profile image
Dinesh Pandiyan

We have a winner here 🦄

Collapse
 
rickssss profile image
Rick • Edited

Yep. My first real project that got me started with real-ish dev environments and tools and languages.
One of the last people to learn Ruby on Rails from scratch! I miss it a bit, but I never had time to understand it or be part of the community like JS.
Heres the repo, don't judge me! I was 20 or 19.
github.com/cucumbur/buzzworthy

Now, I like JS even with the tooling and all.... but i miss not having to do a microservice architecture everywhere and I wish I could use TInkerpop everywhere

Collapse
 
ben profile image
Ben Halpern

Now, I like JS even with the tooling and all.... but i miss not having to do a microservice architecture everywhere and I wish I could use TInkerpop everywhere

That was a big reason I started dev.to. I just wanted to build a Rails app.

Collapse
 
andrewlucker profile image
Andrew Lucker

I miss writing web servers with MVC LAMP. I hate micro services and AWS Lambda. It is all better now, but worse somehow.

Collapse
 
ben profile image
Ben Halpern

Do you think things will ever shift back towards the monolith in any way? Or are we trending smaller and smaller period?

Collapse
 
andrewlucker profile image
Andrew Lucker

The MVC concept doesn't imply monolith. Eventually the tooling will catch up to the PaaS change. There are already some frameworks like serverless that try to do this, they are just bad at it for now. This is not all the fault of the frameworks either, scalable cloud components are PITA to build and configure.

For example: Lambda forces a specific AWS Linux build of each language it supports, and all default libraries that can be stripped out have been. The build package for each Lambda is small, so all libraries and data have to be zipped down to 50MB or less which completely rules out tons of common libraries.

The concept is really cool, often usable, and incredibly cheap. The platform and tools will get better, and eventually MVC will work on PaaS someday, but for now it is a pain to ride the bleeding edge.

Collapse
 
rapasoft profile image
Pavol Rajzak

My very first project that I was paid for was an online reservation system for sports center. I was using LAMP stack and I basically learned how to program while writing it. It was kind of breaking point in my career, since this was the first time something I wrote made impact on people.

It was developed in 2009 and since then it is running without any major issues (the use case is simple and there really weren't any requirements on improving UI). Call me sentimental, but I recently browsed Google reviews for this sport center and found some people that praised the ability to "easily book a time slot via online reservation system" :).

Collapse
 
lexlohr profile image
Alex Lohr

I created a small (~1kb gzipped) vanilla js module in my previous job to toggle, add and remove class names of any elements that could be selected with a CSS query on click (+mobile support) which was extremely versatile and configurable with data-attributes. It's still heavily in use without any changes and was the reason we could remove jQuery from a lot of simple pages.

Collapse
 
antjanus profile image
Antonin J. (they/them) • Edited

OH ABSOLUTELY! There were numerous codebases that I loved perusing and working inside. I'll briefly list them and tell you why. I know it sounds strange but I'd like to see how they are doing today and who is maintaining them.

  1. A dashboard - I spent an entire job working on a dashboard. I built it with Laravel 3 and Knockout. It was a horrible mess of an app but boy, I looked forward to working in it every single day.
  2. The symfony app - probably the only "legacy" app that I've worked on. If it's still alive (and I'm pretty sure it is), it's been around for nearly a decade. The app was as enterprise as you can get. The "best" thing about it were all the very complicated queries that it built. You could also just peruse the codebase for days without hitting the same file twice. It was like a maze, or a city of code.
  3. current old "apps" - or rather older sections of the product I'm working on. Some of it is a miss, some of it is pure gold. I love seeing the code I used to write. Sometimes it's good (MANY times it's bad) but there's a certain nostalgia I get when I'm working with my older code and a certain pride when that code makes sense several years later!

#3 is huge. At my job, we're constantly improving but we can't let any part of our application lag. Or if we do, we get stern reminder from our users (via bug and performance issues) that we need to fix that. So I'm used to seeing and rewriting my own code almost constantly.

EDIT I should mention that none of this means that I think the old code was fantastic or great. But having rewritten a ton of older code, it doesn't intimidate me or make me feel ashamed. Slap a few tests on it, split it up in a bunch of smaller functions and in no time, you have code that suddenly makes way more sense and is totally doable!

Collapse
 
ice_lenor profile image
Elena

Oh yes! The project I worked on for more than 3 years in my previous company was the best. We created a scalable distributed GIS-system for our cartographers.
I loved working on it. It's been more than 2 years since I left the company, but I still miss it sometimes. :)

Here's a bunch of articles I wrote about it:
smartpuffin.com/tag/fiji/

Collapse
 
gabeguz profile image
Gabriel Guzman

A long time ago, I wrote a personal framework in PHP. I used it on a few projects and really enjoyed working on it. Eventually I moved away from it as I was required by work to use other tools. I miss working in a framework I designed, and owned. Even though it's definitely a mess of legacy code now, I still have fond memories.

Collapse
 
databasesponge profile image
MetaDave 🇪🇺

The last Oracle data warehouse I built, for a telecom company, is the one I look back on.

I was the sole developer/designer/documenter, and handled everything from requirements through ETL (in PL/SQL) to storage and Business Objects reports.

In the last year I was developing and supporting it, it ran without error 365/24, and had complete documentation in the form of nested data flow diagrams.

Having said that, I don't miss that world. Too corporate, too commutey.

Collapse
 
moopet profile image
Ben Sinclair

I used to code on a talker back in the day, and I miss the hacky way everything fit together, with sometimes multiple people rewriting bits of the code during the day and re-compiling and (hopefully) seamlessly restarting while active users were logged in and chatting.

A lot of my conversation was me apologising for breaking things, and we had no version control to speak of so it was all a bit of a communal toilet. But it was a fun thing to be part of.

Collapse
 
lpasqualis profile image
Lorenzo Pasqualis

Most greenfield projects I've worked on. Starting something from scratch is always very exciting and memorable.

Collapse
 
ben profile image
Ben Halpern

Absence makes the heart grow fonder

Collapse
 
michaelgv profile image
Mike

A 10 year old HTML page that was changed often to display weather information by hand. Documenting how to update without breaking the HTML to weather professionals was a treat.

Collapse
 
kayis profile image
K

Had to maintain a PHP code-base once. It had a file with over 7000 lines of code. About 3 or 4 classes.

Good times '_'