Programmer Writes Scripts To Automate His Job, Email Wife, And Make Lattes

 Pages 1 2 NEXT
 

Programmer Writes Scripts To Automate His Job, Email Wife, And Make Lattes

After leaving his job, a programmer's co-workers realized he'd left behind scripts that automatically completed several daily tasks for him.

We all have repetitive tasks in our jobs that we wish could just be taken care of automatically. That's one advantage of working in a computer science field - you can create scripts to do that for you. Except one unnamed programmer may have taken the process a little too far. After he left for a new company, his co-workers discovered scripts for most elements of his job: Things like database fixes, email replies, and automatic sick notices if he wouldn't be making it to work. This guy even hacked into the coffee machine so it could make him lattes while he walked to the breakroom.

These scripts were all uploaded to GitHub by Nihad Abbasov after he discovered them among the programmer's work. "If something - anything - requires more than 90 seconds of his time, he writes a script to automate that."

What kind of scripts are we talking about here? Well, apparently this programmer received frequent emails from a particular customer he didn't like (denoted by a script named "kumar-asshole"). So his script checked for the words "help", "trouble", and "sorry" before automatically rolling his database to the latest backup. It even sent a reply: "No worries mate, be careful next time."

But that's not all. He created a script which generated "late at work" text messages for his wife, picking from a list of predetermined reasons if his login was still active after 9 pm. Another script emailed his co-workers to say he'd be working from home if he wasn't logged in by 8:45. (Interestingly, that script is titled "hangover".)

But perhaps the most surprising script is his coffee machine hack, which waits 17 seconds, orders a latte, then waits another 24 seconds before pouring it into a cup. It turns out that's the amount of time needed to walk from his desk to the coffee machine. Meanwhile, the rest of the company had no idea it was hackable, let alone on the network.

This is all pretty hilarious, but raises an interesting philosophical conundrum: If a programmer creates scripts to complete his work for him, does that still technically mean he's doing his job?

Source: GitHub, via Business Insider

Permalink

if the job is so easy a script can do it then go ahead, if the company doesnt realize this, their fault. if they do, give the scriptwirter another job to write better scripts for more uses.
i dont see an ethical issue there.
his job probably wasnt just resetting a database when someone has a problem, he developed some aspects of them probably. and thats not yet completable by computers (at least not descently)

Fanghawk:

This is all pretty hilarious, but raises an interesting philosophical conundrum: If a programmer creates scripts to complete his work for him, does that still technically mean he's doing his job?

Depends on how far he takes it. Data entry is a good example of something that should be automated if possible. At the end of the day it's just a timesink. Automatic responses to unique emails though? That's very unprofessional.

This man is my hero. When I worked at a company like this, I had a bunch of complicated stuff that I never actually finished because I had a bunch of busywork to do daily.

Personally I'd only automate so much, but leave a few aspects out that make me essential to keep on. If I owned the company and found out an employee did this, they'd be out of a job, not fired but rather the position will no longer exist because it was made obsolete. Never put yourself out of a job. Depending on the person, I'd possibly put them in a different position, making the company more efficient by way of scripting if it could happen, but if there was no more need for him, he'd be pink slipped.
Nothing personal, I just don't see a reason to pay someone to sit on ass all day.

I think I read a Dilbert strip about this once.

Fappy:
Depends on how far he takes it. Data entry is a good example of something that should be automated if possible. At the end of the day it's just a timesink. Automatic responses to unique emails though? That's very unprofessional.

At what point does 'Dave I broke it again,' cease to be a unique email?

I figure if somebody is so reliably buggering things up that you can automate the un-buggering process then they are not worthy of professional time or etiquette. They are the kind of idiot who will never learn from their mistakes, even if you explain it to them the noise will just go straight through without stopping. Although perhaps a better name for a script than 'asshole' would be advisable.

As for the programmer himself, it's time for a promotion since he clearly knows far more about the network and it's security than the people supposedly in charge of it.

I imagine the guy still did the parts of his job that required some effort and input and just automated the shitty stuff that a trained monkey could have done. The fact that is work didn't apparently suffer really says it all.

Wow it no wonder he went for another job if his work life was so automatic. I wonder what would of happened if someone interrupted him on his way to the coffee machine?

Still I bet the Clock king from Batman:TAS would had loved this! (Yes I know he exists in the comics but I don't know if he's the same as the animated one cos the latter was so automaticed with his job.)

We have a guy at my office who regularly corrupts an Access database that his entire life depends on.
Every time he calls asking us to fix it.
Every time we use the build in "Repair and Compact" button in Access and that resolves it.
Every time we show him where the button is and how to run the repair himself.

If I could automate my every interaction with him I would in a heartbeat :P

Most people can only be motivated to do just enough work to collect a paycheck and avoid getting fired. Been this way since the beginning of time.

fix-the-spade:

Fappy:
Depends on how far he takes it. Data entry is a good example of something that should be automated if possible. At the end of the day it's just a timesink. Automatic responses to unique emails though? That's very unprofessional.

At what point does 'Dave I broke it again,' cease to be a unique email?

I figure if somebody is so reliably buggering things up that you can automate the un-buggering process then they are not worthy of professional time or etiquette. They are the kind of idiot who will never learn from their mistakes, even if you explain it to them the noise will just go straight through without stopping. Although perhaps a better name for a script than 'asshole' would be advisable.

As for the programmer himself, it's time for a promotion since he clearly knows far more about the network and it's security than the people supposedly in charge of it.

Not necessarily, I was once one of the individuals in charge of network security. It is far harder to lock down a network than you would think, especially from within. And that is if you are allowed to practice proper security at all, which you often are not because upping security lowers usability.

Certainly, he got the job done.

This man is my new god. I could really use that arsehole customer email script in my job.

Of course the biggest question here is why the coffee machine was connected to the network?

The Artificially Prolonged:
This man is my new god. I could really use that arsehole customer email script in my job.

Of course the biggest question here is why the coffee machine was connected to the network?

My cousin has a fridge and oven that can be connected to some network and used remotely. I'm not really surprised.
I find it just hilarious that he timed his coffee making script to the second.

I want to be that unnamed programmer. My new life goal.

Aeshi:
I think I read a Dilbert strip about this once.

Probably, Scott Adams bases his comic off of companies in real life and only embellishes a little. This guy might've seen that and went "You know, that's not a bad idea.".

Imperioratorex Caprae:
but if there was no more need for him, he'd be pink slipped.

That's a hell of a way to thank someone for a job well done. If you couldn't find some way to make use of a guy brilliant enough to completely automate his own job then you obviously have no business being in any sort of management position let alone owning a company. You'd be star material for a position at Electronic Arts, is what I'm getting at.

Besides, I sincerely doubt that the guy's job was completely automated. More like he just found ways to make his actual job easier to do by filtering out all of the simplest or most repetitive parts.

Kajin:

Imperioratorex Caprae:
but if there was no more need for him, he'd be pink slipped.

That's a hell of a way to thank someone for a job well done. If you couldn't find some way to make use of a guy brilliant enough to completely automate his own job then you obviously have no business being in any sort of management position let alone owning a company. You'd be star material for a position at Electronic Arts, is what I'm getting at.

Besides, I sincerely doubt that the guy's job was completely automated. More like he just found ways to make his actual job easier to do by filtering out all of the simplest or most repetitive parts.

Even if this guy did in fact automate his entire job it would suck for everybody else in the company that does the same job but him. I'd imagine that if an employee wrote scripts that made their entire job obsolete the company would probably pay him to automate his career and maintain that throughout the entire company, thus he wouldn't have to worry about money himself, but he'd end up putting a lot of other people out of the job.

Kajin:

Imperioratorex Caprae:
but if there was no more need for him, he'd be pink slipped.

That's a hell of a way to thank someone for a job well done. If you couldn't find some way to make use of a guy brilliant enough to completely automate his own job then you obviously have no business being in any sort of management position let alone owning a company. You'd be star material for a position at Electronic Arts, is what I'm getting at.

EDIT: I hit quote on the wrong person, sorry!!!

Depends on what the company is. If there was no other need for a person with programming skills like that, and the dude basically scripted his way out of a position, it'd be absolutely ludicrous to pay the person to do nothing but watch his program do his work for him. Note also in my post I did put a provision in to try to find another position for the guy looking for other ways to make the company more efficient.
My whole point was, though, that if you make your job redundant, don't be surprised if a company decides not to keep you around. Companies, even small businesses, exist to make a profit and if it becomes apparent that a company could make more by eliminating a no longer needed position, they're gonna do it.
I did forget to add though that if the guy was really smart, he would have wrote the program in such a way that only he could use it, though if written on company time and on company machines he's legally obligated to turn the code and instructions over to the company technically else he could be sued and fired, such is the way of business in this country.

This man is the hero we deserve.

That's a really good use of time actually, investing some time into making quick little scripts that give him more time to do important things. After all, all those 90+ second things he wrote scripts for add up. Say he get's 2 coffees per day (90s each), has to fix that guy's database once a week and email him to say it's done(2 min each), and has to make a call to his wife twice a month to let her know that he's working late (5 min each).

Just by automating those three things he saves 1:02 hours a month that he could be doing something more important.

Hey, the dude was hired as a programmer - and only a programmer could have programmed this sort of setup. I say he's earned his pay.

What? He got his job done, didn't he?

Really, if all that stuff *literally* comprised the entity known as His Job, then he figured out how to do it the smart way. Clearly the automation process didn't have a negative effect on the company, and freed him to do other things, but if the higher-ups weren't giving him assignments that actually took brain-power in order to "earn" his paycheck, that's not his problem. If anything, he learned how to survive automation, the introduction of which usually results in jobs lost.

Essentially, I see nothing unethical about his actions at all.

So many posts and someone has yet to point out:

Automating texts to your wife?! Not cool bro, not cool.

Honestly, this guy seems like a model employee. Like, a being of pure efficiency. Companies should be fighting bare-knuckle death matches to hire this guy.

Its called doing your job, i work in the IT field too and the ultimate goal is to automate everything.

If you can automate to that level you are just good at your job.

The one where he automatically rolls back the DB for the user who keeps breaking it is hilarious, i have done similar , there was a user who always locked themselves out all the time, checking the AD logs it was not one thing it could be anything ! So i jsut wrote a script and left it running on the main AD controller to unlock her account every 30 seconds. No more nucence calls.

Yeah the ultimate problem of automation, people are perfectly happy if you repeat the same mundane shit without thought for 30+ years, but the moment you find something that does that crap better shit hits the fan.
I got to admit my folder of scripts also ranges pretty damn far, but it is mostly constrained to personal use because bosses get itchy fingers if things get done too well.

I've done similar on a much smaller scale when I worked at a call centre. Some of the codes for booking country tickets could be confusing[1], so I made a program. You typed in how many people and chose which fare and it would auto-generate the code and copy it to the clipboard. I was told I couldn't load foreign programs onto the machines, but I kept doing it. I got through way more calls that way.

[1] 1ADUOPS = 1 adult fare off-peak. 2ADUORD = 2 adult fares on-peak. 1FREORD.3CHIOPC = 1 free fare, 3 child fares off-peak and so on (not 100% sure if those are right, though).

Was this not a fake story? I belive its from a Russian QDB with dubious veracity. How many coffee machines have a network interface card?

The linked scripts are simply replications by a reddit user: https://www.reddit.com/r/ProgrammerHumor/comments/3tmizl/now_thats_what_i_call_a_hacker/cx87vtc

As a programmer if you actually read the scripts half of them don't even do what they say they do.

Weaver:
How many coffee machines have a network interface card?

Some do so people know when to refill and when it reports an error. A network card isn't exactly rare or expensive, and having the machine tell you what's up is better than waiting for the customers to complain.

Denamic:

Weaver:
How many coffee machines have a network interface card?

Some do so people know when to refill and when it reports an error. A network card isn't exactly rare or expensive, and having the machine tell you what's up is better than waiting for the customers to complain.

Okay, and if you read the script: How many coffee machines have a goddamn telnet server running?

This is fake, plain and simple.

Weaver:

Denamic:

Weaver:
How many coffee machines have a network interface card?

Some do so people know when to refill and when it reports an error. A network card isn't exactly rare or expensive, and having the machine tell you what's up is better than waiting for the customers to complain.

Okay, and if you read the script: How many coffee machines have a goddamn telnet server running?

This is fake, plain and simple.

I don't know. I'm not current on coffee machine networking protocols.
Also, these aren't the actual scripts made by the programmer in question. You said it yourself; they're simple scripts made approximately as they're described by redditors just because they could.

Cowabungaa:
So many posts and someone has yet to point out:

Automating texts to your wife?! Not cool bro, not cool.

Actually, believe it or not, I think it's just fine. It only sent her those texts if he was gonna be late coming home. They're really just routine texts. If anything, it's a very helpful script, letting his wife know what's going on, even if he forgets to send the texts.

Imperioratorex Caprae:
Personally I'd only automate so much, but leave a few aspects out that make me essential to keep on. If I owned the company and found out an employee did this, they'd be out of a job, not fired but rather the position will no longer exist because it was made obsolete. Never put yourself out of a job. Depending on the person, I'd possibly put them in a different position, making the company more efficient by way of scripting if it could happen, but if there was no more need for him, he'd be pink slipped.
Nothing personal, I just don't see a reason to pay someone to sit on ass all day.

Just an FYI for anybody who thinks this is a brilliant idea, it's not. In a shorter period of time than you would imagine, some change will occur in your enterprise environment breaking those scripts. Depending on the criticality of the now broken function you will have to divert resources to get it fixed in an acceptable amount of time. I've seen this happen more than once, and every time, it has cost way more to resolve than was saved by the headcount reduction. Also, they end up hiring another FTE to make sure the function is maintained going forward.

ThatOtherGirl:

fix-the-spade:

Fappy:
Depends on how far he takes it. Data entry is a good example of something that should be automated if possible. At the end of the day it's just a timesink. Automatic responses to unique emails though? That's very unprofessional.

At what point does 'Dave I broke it again,' cease to be a unique email?

I figure if somebody is so reliably buggering things up that you can automate the un-buggering process then they are not worthy of professional time or etiquette. They are the kind of idiot who will never learn from their mistakes, even if you explain it to them the noise will just go straight through without stopping. Although perhaps a better name for a script than 'asshole' would be advisable.

As for the programmer himself, it's time for a promotion since he clearly knows far more about the network and it's security than the people supposedly in charge of it.

Not necessarily, I was once one of the individuals in charge of network security. It is far harder to lock down a network than you would think, especially from within. And that is if you are allowed to practice proper security at all, which you often are not because upping security lowers usability.

Yep. Why would network security be any different?

Physical security is the same. Locking your door is more secure than not doing it, but it slows down opening the door.

Even better, in a large building, security and fire safety are contradictory forces. You can do one or the other perfectly, but probably not both...

But seriously, security is a pain in the ass a lot of the time. I know my computers aren't really secure, but securing them properly wouldn't be worth the effort for what's on them, and the consequences to me of doing so...

And then there's the modern trend towards whole-drive encryption. That's great and all, but the prospect of someone stealing my hard drive and being able to see the contents is far less important to me than the consequences of a hardware or software failure meaning I have to use alternate means to read the data.
Drive encryption would be a net loss to me most of the time, not a gain. (recoverability being more important than information security, for me personally)

Unsolvable problems. Yay!

OT: Well, that just shows his job was stupid.

I am firmly opposed to the concept of 'busywork' it's insulting to everyone involved.
If the only reason a person has a job is because of the expectation that people are supposed to have jobs, then there is something seriously wrong.

Giving people money to do literally nothing is better than giving them a job that is completely pointless and accomplishes nothing.
Unfortunately we still have a society so obsessed with people 'working for a living' that 'busywork' is the default solution even where technology shows up the absurdity of it all too frequently.

Sure, we aren't at the point where automation can replace all of us, but do we really want to be having this conversation when it's already too late?
Because if giving a human a job is redundant, what do you think will happen if we still dogmatically stick to the idea that you have to work to be entitled to get anything at all?

That will not end well at all...

But yeah, clever guy, I guess, if so many parts of his job were so mindless that a simple script could automate them, then clearly he did the most intelligent thing he could.

Work smarter, not harder.

Anyone that tells you hard work gets you ahead in life is lying. It can help, but it isn't the key to success.
The key to success is what you do with the time you spend working, not how much work you actually do.

Working 100 hours a week at a low paid retail job won't get you anywhere really...
Even though it is seriously hard work...

CrystalShadow:
OT: Well, that just shows his job was stupid.

I am firmly opposed to the concept of 'busywork' it's insulting to everyone involved.
If the only reason a person has a job is because of the expectation that people are supposed to have jobs, then there is something seriously wrong.

Giving people money to do literally nothing is better than giving them a job that is completely pointless and accomplishes nothing.
Unfortunately we still have a society so obsessed with people 'working for a living' that 'busywork' is the default solution even where technology shows up the absurdity of it all too frequently.

Sure, we aren't at the point where automation can replace all of us, but do we really want to be having this conversation when it's already too late?
Because if giving a human a job is redundant, what do you think will happen if we still dogmatically stick to the idea that you have to work to be entitled to get anything at all?

That will not end well at all...

But yeah, clever guy, I guess, if so many parts of his job were so mindless that a simple script could automate them, then clearly he did the most intelligent thing he could.

Work smarter, not harder.

Anyone that tells you hard work gets you ahead in life is lying. It can help, but it isn't the key to success.
The key to success is what you do with the time you spend working, not how much work you actually do.

Working 100 hours a week at a low paid retail job won't get you anywhere really...
Even though it is seriously hard work...

When you work on upkeep, you often have very little to do if you're good at your job. I mean, if your job is to fix, you're gonna have a lot of time on your hands when there's nothing to fix. These guys often gets fired because they're good at their job. They think because he seems to have a lot of time on his hands, he must not be working, so they get rid of him. Then they end up paying more on outsourcing when shit needs doing.

 Pages 1 2 NEXT

Reply to Thread

Log in or Register to Comment
Have an account? Login below:
With Facebook:Login With Facebook
or
Username:  
Password:  
  
Not registered? To sign up for an account with The Escapist:
Register With Facebook
Register With Facebook
or
Register for a free account here