Developer wrote a critical app and forgot where it ran – until it stopped running
- Reference: 1742196610
- News link: https://www.theregister.co.uk/2025/03/17/who_me/
- Source link:
This week, meet a reader we'll Regomize as "Sam" who in the late 2000s built an application for his colleagues that he described as a "content migration toolset." The app was so good that customers started asking for it and Sam's employer decided to commercialize it.
To make that happen, Sam realized his employer would need a licensing system to check that every instance of the app had been paid for.
[1]
So he wrote one.
[2]
[3]
"Excited by the challenge, I spent a weekend researching asymmetric keys and built a licensing system that periodically checked in with the server, both on startup and at regular intervals," he told Who, Me?
The licensing server worked well. Sam told us fixing its occasional glitches didn't occupy much of his time.
[4]
Requests for new features required more intensive activity, and on one occasion Sam couldn't finish coding within office hours.
"Normally, I left my laptop at the office, but to make progress on the new feature I took it home for the weekend," he told Who, Me?
[5]Junior techie rushed off for fun weekend after making a terminal mistake that crashed a client
[6]Techie pulled an all-nighter that one mistake turned into an all-weekender
[7]Untrained techie botched a big hardware sale by breaking client's ERP
[8]Techie pointed out meetings are pointless, and was punished for it
Sam thought he made fine progress over the weekend, but on Monday, his phone lit up – the licensing app was down, and nobody could log into the content migration toolset.
Customers were mad. Bosses were confused. Sam was in the spotlight.
"Instantly, I glanced down at the footwell of my car, where my laptop bag sat," Sam told Who, Me? "And that's when it hit me: the licensing server was still running on my laptop."
[9]
It was running there because, as he realized, "I had never transferred it to a production server. For years, it had been quietly running on my laptop, happily doing its job."
Suffice to say that when Sam arrived in the office, his first job was deploying the licensing app onto a proper server!
Have you run the right code in the wrong place? [10]Click here to send us your story of misplaced workloads so we can deploy it in a future edition of Who, Me? ®
Get our [11]Tech Resources
[1] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/applications&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=2&c=2Z9gA2HDoPoLikXTPFZJvmAAAAY0&t=ct%3Dns%26unitnum%3D2%26raptor%3Dcondor%26pos%3Dtop%26test%3D0
[2] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/applications&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44Z9gA2HDoPoLikXTPFZJvmAAAAY0&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0
[3] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/applications&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=3&c=33Z9gA2HDoPoLikXTPFZJvmAAAAY0&t=ct%3Dns%26unitnum%3D3%26raptor%3Deagle%26pos%3Dmid%26test%3D0
[4] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/applications&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44Z9gA2HDoPoLikXTPFZJvmAAAAY0&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0
[5] https://www.theregister.com/2025/03/10/who_me/
[6] https://www.theregister.com/2025/03/03/who_me/
[7] https://www.theregister.com/2025/02/24/who_me/
[8] https://www.theregister.com/2025/02/17/who_me/
[9] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/applications&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=3&c=33Z9gA2HDoPoLikXTPFZJvmAAAAY0&t=ct%3Dns%26unitnum%3D3%26raptor%3Deagle%26pos%3Dmid%26test%3D0
[10] mailto:whome@theregister.com
[11] https://whitepapers.theregister.com/
Re: Ah... deployment...
Man, auditing those apps sounds like an easy job.
"does it run in the production environment?"
"currently not, it first needs to pass this aud..."
"sorry that's unacceptable, audit failed"
I have no problems with the concept here, but i feel like validating in a twin test/acceptance environment should allow you to pass the audit, especially for new apps.
Similar thing, but zombie user not laptop
I wrote a tool for a utility that showed where outages were. It started off as something that ran on my desktop PC (only managers had laptops) but if I real work that needed all resources then I'd shut it down. Control room people would then ring up and want it started up if bad weather was coming. The manager eventually purloined a spare PC and the software ran happily in the control room.
Until it didn't. The software was hardcoded with my username to access a database and after I left the business and a year passed they finally cleaned up the database users. That killed the software.
It was only CxO discussions that got "my" account rehydrated while a fix was prepared, after IT swore black and blue that it wasn't possible to reactivate an account. Apparently the software was now deemed so important it was then ported to a redundant VM host with hot restart and all the fruit. The skunkworks project that ran in the background sure grew up!
Fortunately all this software is now well retired and real software to do the job is making the maps.
Re: Similar thing, but zombie user not laptop
On a lighter note, years ago I wrote an app to fill in deadbeat timesheets (100% allocated to the same job in the same location) and 6 months after I left I got a call asking why I was still submitting them. Ooopppps!
Re: Similar thing, but zombie user not laptop
The more important question here: did they continue to pay you for all those hours you "worked"?
Re: Similar thing, but zombie user not laptop
I know of one ftse100 company whose CI/CD pipeline will fall over spectacularly if a particular employee ever leaves.
Re: Similar thing, but zombie user not laptop
I worked somewhere where the hosted Git repo went down for days because it automatically charged someone's credit card which was fine until he left...
Re: Similar thing, but zombie user not laptop
We have a main card that is used for most payments to suppliers. It expired in January. By the end of the year we will have found everything that needed updating with the new card details...
Re: Similar thing, but zombie user not laptop
I know of a large silicon valley company where one engineer behind a spectacularly successful project became a real golden boy, VP, and had a lot of freedom in how he ran his team. Fed up with the commute he decided that it would be nicer to be in central San Francisco, but couldn't persuade facilities to provide space. His solution was just to unofficially rent some space on his company AmEx card. No-one seemed to notice until a few years later when the golden shine had worn off and he had quit. The accounting department were puzzled to get a large demand for back rent from a landlord for a property they knew nothing about. Said ex-golden boy hadn't bothered to cancel the building rental, but his AmEx card had been cancelled. Eventually the landlord noticed that he wasn't getting any money.
I guess it should now be called a Lapstop after that...
No Lifecycle Upgrades
> "I had never transferred it to a production server. For years, it had been quietly running on my laptop, happily doing its job."
Sounds like he had a 5 year old work computer to continue working with. Yuck. That, or he made the app on day 200 of working for the employer, and ran it for .... years. 4+ years old computer?
I dunno about you, but when I swap computers I start from scratch. Maybe copy some (editor) configuration files across. Something like a service would have never made it.
Serious OOPS!
Not something I would want to have running on my laptop, especially if it is my development laptop. I am really surprised this issue didn't raise its head earlier. It suggests the laptop wasn't just left at work, but was also left running 24/7.
Re: Serious OOPS!
That part surprises me to. I mean, if you leave it always plugged in at one place for several years why would you get a laptop? A workstation would be a much better deal.
Ah... deployment...
I'm one step ahed of him. Or... half a step? The application runs on a VM. Admittedly, not in the production environment. Without having an entry as a "service" in the company I won't get that. Without a security audit and concept I won't get that, and without being on a production machine I won't pass said audit. The ITSec guy I'm working with is trying his best. Yes, genuine support, knowledgable concering the company rules and... how to.. ehm... yeah, circumvent some to make progress. I get the need to look at those things, and I also want to avoid this thing spinning out of hand and being all important all of a sudden, and all that without thinking about certain important things. At the moment it feels stupid, though. My ITSec-guy agrees, which makes the whole thing actually fun to work on. We are taking this (and our work on it) serious, but not overly so. Icon: how I feel about it... (a bit)