I Should Take the High Road

So, when I read this article about the final nail in the coffin for the Microsoft Phone and its app store, it wasn’t exactly news. Yet, when I got to that one quote:

“…As for why the platform has been all but dropped? The executive boils it down to one main reason: the difficulty of getting developers to write apps.

A Balrog rose from the depths of my soul. Suddenly, waves of memory after memory after memory hit me repeatedly, as I remembered the rage and frustration of even attempting to publish anything on that goddamn store. Since the whole operation was pretty much over long ago, it should just be left in the past and forgotten. And I should take the high road and just let it go…but I can’t hold it back, not after Joe Belfiore’s eulogy.


Okay, I got it out. I’m done now.

Signs of Your Startup’s Imminent Demise

  1. Your company is relocating from that “stuffy” office in the business park to a “bohemian” section of the parking lot.
  2. When you ask senior leaders about the next target platform for your product, they reply that it doesn’t matter and that you’re welcome to pick whichever one you want.
  3. After a steady stream of departures from your team, you are now your own boss since you’re the only one left.
  4. When you tell your developer friends about your latest stories from work, they politely respond “Oh, I thought that you guys closed down already. You’re still around?”
  5. If you’re the new hire, your new equipment includes a blood-covered monitor and a partially-smashed keyboard.
  6. Even though you weren’t hired as such, you’ve become a full stack developer out of necessity. (When people ask how things are going, you reply that you feel like you’re running a marathon through a mine field.)
  7. Your coworkers don’t even hide the fact that they’re using your main competitor’s product in the office. Worse yet, it’s used at company meetings.
  8. Turnover is so high that the most senior programmer has a grizzled employment record of three months and works inside a padded room.
  9. Management has repeatedly asked you whether you would like to buy them out.
  10. Every other commit message in the code repository ends with a variation of “…Please, somebody kill me.”

Peter Bolton is the author of Blowing the Bridge: A Software Story and has also been known to be a grumpy bastard on occasion.

More Tricks of the Trade

More helpful tips for anyone stuck in a cubicle (especially if you happen to be a developer).

  1. If your building conducts repeated yet pointless fire drills, find a ‘white lie’ buddy and take turns ignoring the alarm. If you don’t attend and anyone questions whether you were there, your ‘white lie’ buddy can vouch for you.
  2. When mentoring a junior developer, it’s beneficial to all if you can prepare the junior for the onslaught of insanity when dealing with management. Simulate code review sessions with them and play the role of a manager, asking why the code isn’t in a mauve font and demanding that it can run on an Apple watch (even though it’s a Windows Service). When the junior breaks down and cries, you will then know that your job is done.
  3. If you keep dry food snacks at your desk, save any lockable drawers for the coveted goods (Doritos, Starburst, etc.) Generally, it’s safe to keep your healthy food (almonds, dry fruit, etc.) in your unprotected ones. If someone does violate your space and takes something from your desk, you have every right to execute them ‘hitman-style’ with a Nerf gun.
  4. If you’re unsatisfied with your yearly review, send a subtle message to your superiors. Visit the lobbies of several competitors in your area and tweet pictures of them with the hashtag #VisitingSomeFriends.
  5. Trust has to be earned from any new developer, even one that comes with a highly regarded CV. In order to vet a recent hire, introduce your new addition to a common library and encourage the newcomer to share any useful code for posterity. If the volunteered code resembles the random typing of a thousand monkeys, encourage the nascent member to upload the project to GitHub. In that way, you can warn the entire world of the monster that you’re about to unleash on it.

Peter Bolton is the author of Blowing the Bridge: A Software Story and has also been known to be a grumpy bastard on occasion.

Written as Code: The Ten Commandments

God theLord = new God();
ThyNeighbor thyNewb = new ThyNeighbor();

  1. Original: Thou shalt have no other gods before me


    std::list<God> AllOtherGods = new std::list<God>();
    AllOtherGods.insert(AllOtherGods.begin(), theLord);

  2. Original: Thou shalt not take the name of the Lord thy God in vain


    WINDOW *scrn = initscr();
    mvaddstr(0, 0, theLord.name.c_str());

  3. Original: Remember the Sabbath, to keep it holy


    if (!timeStruct.tm_wday)
    return “Get Your Ass to Church”;

  4. Original: Honor thy father and thy mother


    pid_t PID = 0;
    PID = fork();

    if (PID == 0)

  5. Original: Thou shalt not kill


    ! kill(thyNewb.pid)

  6. Original: Thou shalt not commit adultery


    std::tuple<ThyNeighbor> MyWife = new std::tuple<ThyNeighbor>();
    std::tuple<ThyNeighbor> YourWife = new std::tuple<ThyNeighbor>();
    ! MyWife.swap(YourWife);

  7. Original: Thou shalt not steal


    pthread_t this_thread = pthread_self();
    !(pthread_setschedparam(this_thread, SCHED_FIFO, &params));
    !(void* allOfIt = malloc(137438953472));

  8. Original: Thou shalt not bear false witness against thy neighbour


    bool bearFalseWitness(bool truth) { return !truth; }

    bool theTruth = true;

    if (theTruth != bearFalseWitness(theTruth)) goto HELL;

…Which leaves the last two:

  • Thou shalt not covet (neighbor’s house)
  • Thou shalt not covet (neighbor’s wife)

I’m having a hard time with those. Any readers out there have any good ideas as candidates? 🙂

Peter Bolton is the author of Blowing the Bridge: A Software Story and has also been known to be a grumpy bastard on occasion.

Keep Debugging, My Friends

We’ve all heard the legends about The Most Interesting Man in the World…but did you know that he’s also a software developer?

  • His C++ code never causes a segmentation fault; instead, it apologizes and faults itself.
  • Lenna has a poster of him on her bedroom wall.
  • He never assigns IP addresses to his network packets. They still get there anyway.
  • He is such a rockstar developer that actual rock stars envy him.
  • He can comment out random lines from a software project, and everything still works perfectly.
  • His version of ‘brute force’ gives a firewall an actual black eye.
  • When he commits his source code, he only needs to do it once.
  • When he invokes recursion, it just skips to the final result.
  • His software is so flawless that his employers have needed to create malware for it.
  • He has only practiced rubber duck debugging once…but when he did, that rubber duck magically turned into Linus Torvalds.
  • Peter Bolton is the author of Blowing the Bridge: A Software Story and has also been known to be a grumpy bastard on occasion.

Tricks of the Trade

Helpful tips for anyone stuck in a cubicle (especially if you happen to be a developer).

  1. There’s a good chance that some of your colleagues will simply start copying and pasting your code, which is fine…as long as they give you some credit. In order to protect yourself from credit theft, be sure to pepper your code with little jewels of watermarking, like this one:

    // This function allows me to provide ‘B==D’ to one of your parents
  2. Have an unlisted number or an untraceable call app at the ready. When a chatty neighbor starts hanging out at your desk with no end in sight, use your handy tool to call their office phone or smartphone. While they’re distracted and/or away, make your way to the bathroom or hide promptly under your desk.
  3. Always befriend at least one person on the DevOps team. It’s easier to accomplish if you know of his/her nemesis, so you can constantly talk shit about them in your ally’s presence.
  4. If you wish to become invisible to a tiresome manager, just be sure to adorn your work area with various performance charts and graphs. As the perfect workplace camouflage, it’s impossible for the brass to focus on you amongst such pretty, shiny distractions.
  5. Put the mandatory sounds of your smartphone to good use. If you catch one of your junior developers goofing off, feed their paranoia and get them back to work by stealthily invoking the audible click of your camera several times.
  6. Always start a software project with random calls to “sleep()” scattered throughout your code. (Or, if you have frequent code reviews, put them in a somewhat innocuous place, like a “log()” function.) Whenever your boss demands better performance, request a few days of development time and remove the “sleep()” calls after your impromptu vacation.

Peter Bolton is the author of Blowing the Bridge: A Software Story and has also been known to be a grumpy bastard on occasion.

Pop Culture Coding Examples

If politicians are aiming for more kids to code through efforts like Code.org, they’re gonna need to connect with them. And what better way to connect with them than through pop culture?


    var DuggarFamily = new List();

    while (DuggarFamily.size() < 19)
    var NewKid = new Person();

    if ((DuggarFamiliy.size() % 3) == 0)


    int IsMale = 1;
    var BruceJenner = new Person(IsMale);

    if (BruceJenner.Age == 65)
    BruceJenner.Male ^= BruceJenner.Male;


    int nButtSmacks = 0;
    var oChristianGrey = new Person();
    object oAnaSteele = new object();

    lock (oAnaSteele)
    Interlocked.Add(ref nButtSmacks, 3);


    int CurrentYear = getCurrentYear();
    string DisneyDirtyGirl = “”;

    case 2007:
    DisneyDirtyGirl = SluttyConversion(“Britney Spears”);

    case 2013:
    DisneyDirtyGirl = SluttyConversion(“Miley Cyrus”);

    case 2016:
    DisneyDirtyGirl = SluttyConversion(“Bella Thorne”);

    DisneyDirtyGirl = SluttyConversion(“Ariel”);

Peter Bolton is the author of Blowing the Bridge: A Software Story and has also been known to be a grumpy bastard on occasion.

Typical Daily Schedule of a Developer

9:00 A.M. Eat breakfast in cubicle/office

9:30 A.M. Attend the daily Scrum meeting

9:31 A.M. Immediately zone out after stating my progress report and fantasize about a fight between a ninja and a pirate for the remaining duration

10:00 A.M. Be visited by fellow developer Steve, who tells you how fellow developer Bob doesn’t have a clue about his job

10:30 A.M. Check out latest source code and begin reviewing the code introduced by the junior developers

10:45 A.M. Weep

10:50 A.M. Fix the mistakes of your junior developers

11:30 A.M. Be visited by fellow developer Bob, who tells you how fellow developer Steve is an imbecile

12:00 P.M. Prepare to eat lunch when a production issue suddenly strikes

12:30 P.M. Attempt to fix the production issue while hungry and in panic, resulting in only more unfolding disasters

2:00 P.M. Eat lunch finally and bitterly

3:00 P.M. Go to meeting about upcoming project A

3:10 P.M. Project manager Mark interrupts the meeting to talk about his new project B and to point out that project A has many flaws

3:20 P.M. Everyone argues at the meeting and threatens to murder each others’ families

3:50 P.M. The meeting is postponed until the next day

4:00 P.M. Finally start to write some code for your own project

5:00 P.M. Your boss asks you to come into his office for a conference call

5:15 P.M. Your boss has a conversation with you, asking if there any obstacles that are delaying your portion of the current project

6:00 P.M. Leave work

7:00 P.M. Prepare to eat a warm dinner when another production issue forces you to remotely log into your system from home

8:30 P.M. Eat a cold dinner between clenched teeth

Peter Bolton is the author of Blowing the Bridge: A Software Story and has also been known to be a grumpy bastard on occasion.

How to Be the Ultimate Hipster Programmer

  1. Write your code on an archaic typewriter before you scan the pages into actual code files.
  2. Develop an algorithm that will autopilot your steam-powered, brass drone.
  3. Be super exclusive and only drink old, unopened bottles of Mountain Dew Red.
  4. Adorn your cubicle with sultry pictures of a young Grace Hopper.
  5. Now that the company is going out of business, purchase your own RadioShack store and live there with the remaining inventory.

Peter Bolton is the author of Blowing the Bridge: A Software Story and has also been known to be a grumpy bastard on occasion.

Other Tax Deductions for Developers

  • For C++ developers: Cite the number of rubber ducks that are destroyed in frustration.
  • For Java developers: Claim your processes as hungry dependents that drain you of resources.
  • For PHP developers: Submit the total number of used boxes of tissues (for the endless tears as victims of other developers’ taunts).
  • For JavaScript developers: Claim your two week vacation to the beach as a medical expense, since it was the only remedy for the insanity from debugging your latest project.
  • For C# developers: If you’ve even spent one moment or penny with the developer program for the Windows App Store, declare that value as a capital loss of your soul.

Peter Bolton is the author of Blowing the Bridge: A Software Story and has also been known to be a grumpy bastard on occasion.