If Web Development Met the DMV



Any U.S. citizen can describe the awful experiences which accompany the use of a DMV (or, in some relevant cases, a post office). The minutes or hours of waiting in a line, the callous cackle of laughter of a pensioned employee doing nothing in a back room, the complete apathy behind the counter, the ambient despair hanging in the air…these are the hallmarks of its routine service. However, I would still rather wait in the line of a DMV than pursue another elaborate web development project…for, at the very least, there is still a shroud of humanity left in the husk of a DMV, even if it’s barely clinging to the inside like the placental tissue of a pumpkin. I wonder, though, if we were to apply the tools and norms of web development to the DMV…it might look a little something like this:

  • Debugging: As you walk into the lobby of the DMV, you swing the door a bit too quickly, causing the hinge to be pulled out of the door’s frame. Some of the DMV employees give you paper clips and a stapler in order to repair it. In order to be a good sport, you give it a half-hearted try, and when that doesn’t work, the DMV staff understand the futility of it. Instead, they tell you to come back later; they have concluded that the whole DMV office needs to be closed indefinitely, since it will need to be rebuilt entirely.
  • Error-Handling: Later, when you approach the counter and ask for a change-of-location form, the clerk just stands there. The clerk could correct your mistake and inform you that it’s a change-of-address form, not a change-of-location form…but instead, the clerk just stands there and looks back at you.
  • Browser Compatibility: When you approach the counter about renewing your license, they inform you that the process involves interacting with several different people: a photographer, a clerk, and a test administrator. However, for each different person, you will need to change outfits, speak a different language, and rearrange the furniture in the room to his/her preference.
  • Lack of Online Help: While attempting to actually renew the license, you are defenestrated from the second floor by the test administrator (despite wearing a blue shirt, speaking Turkish, and pointing all the chairs to the southwest). When you ask other DMV attendees for their advice on how to resolve this problem, each one has a different answer, but none of them actually help you.
  • Using WordPress: Frustrated with your trips to the DMV, you finally give up and hire Toonces the Driving Cat. At first, everything works perfectly, as you only ask him to drive you to work and back home. However, when you ask him to take a different route one day, he quickly starts to become frustrated, and in a state of panic, he drives the both of you off a nearby cliff, where you both perish in a mass of twisted metal.

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 Tips for a Software Résumé



The previous list is here.

1.) List your previous jobs and/or projects in descending chronological order. By not doing so, I’m going to assume that you’re a disorganized mess, even if you do have an actual time machine and even if you were employed in randomly scattered decades alongside Doc Brown.

2.) Spelling is an indication of being meticulous, and it leaves such an impression of you on the interviewer. Plus, it purges all ambiguities from the record. For example, if you list yourself as an advocate of “open sores”, you might waste a few minutes of my time, as I attempt to find my hazmat suit in preparation for meeting your skanky ass.

3.) When you want to convey your skills and familiarity with software and languages, you should briefly describe how you used them to achieve a goal or complete a project. In other words, it’s not convincing if you simply mention a project and then list the used components (i.e., “Ecommerce Project – Java, Servlets, JSP, Agile/SCRUM, Design Patterns, EJB, JDBC, XML/XSL, JQuery”). I’ve never seen a recipe for a dessert which read something like “Soufflé Project – Cream, Air, Ramekan, Eggs, Heat, Sugar, Gravity”. As it turns out, there are a few more details which are needed in order to paint the whole picture.

4.) It’s better to leave out the mention of any vendor-provided classes regarding technology. We both know that you could have learned everything necessary from provided documentation and simple Internet access (especially from StackOverflow). It was simply an opportunity to get out of work for a week, and if you were lucky, you got to stay at a hotel on the company’s dime. We can all agree on one thing: nothing tastes better than free.

5.) If you have used a software package or an IDE, you can simply list it once, and I will assume that you’re familiar with the latest (or penultimate) edition. If you insist on doing otherwise (i.e., “Eclipse Galileo, Eclipse Indigo, Eclipse Kepler”), I will require that you write an essay explaining the difference between all of them. And you will have to write it in calligraphy.

6.) When applying for a particular position, it’s in your best interest to convince me that you have a skillset which is a perfect match for that position. If I’m looking to hire a C# applications programmer, the majority of your résumé should probably mention experience with programming applications in C#. On the other side of that same coin, you should not attempt to tell me about being able to develop Android applications, being able to mod the graphics algorithms of the Source game engine, or being able to solder circuit boards blindfolded. More than likely, I will not believe anything you wrote, but more importantly, nor will I care.

7.) Don’t be longwinded in your résumé in an attempt to score points. Being verbose does not make you appear more knowledgeable. For example, telling me that “you have written in the Java application programming language for a JVM” and that “you have used MSSQL as a database platform for enterprise data” just makes me think that you love to hear yourself talk. It’s not that I don’t understand, though. Empathetically, I also love to hear myself talk…but I’m also polite enough to censor myself, since I’m aware that nobody else cares to hear it. My fiancée is especially appreciative of that.

8.) Similar to the previous item, don’t pad your CV in order to look more impressive. It has, in fact, the opposite effect. It’s perfectly fine to mention a few things that you’re familiar with…but be reasonable. When you start to list every imported package which you’ve used in your Java code, I will begin to see red and insist on making papercuts between your fingers until you cry for mercy.

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 Lessons from 10 Years in Corporate IT



The previous list is here.

1.) If you have a small number of valuable employees and have a surplus budget, there is no need to provide funds which will encourage them to remain. Instead, as a manager, it’s better to increase your number of subordinates and just hire a new employee (or two) who will slow down the whole team and who will sow discontent into your ranks.

2.) If one of your fellow developers leaves your company and goes on to take a superior position elsewhere (especially if it dwarfs the power of your current boss), it’s important to never speak of it at work. Ever.

3.) If a manager gets a promotion, the whole company is informed of his/her miraculous ascension within the corporate ranks via email, his/her name is written into the sky with smoke by a plane, and the day becomes a corporate holiday. However, if you’re a developer who sweated for the company and who was the primary catalyst to a project’s success, you will get a toy from a Crackerjack box and your name scrawled in the bathroom…because, let’s face it: nobody gives a shit about you.

4.) If you have a devops department which refuses to update their tools and/or platform, you should remember their ultimate goal: to preserve old software for all posterity. Even though it may reduce productivity for all developers within the company, it’s a small sacrifice to keep old software alive for generations to come. Otherwise, much like the eventual demise of trees, one day a child might look up at you and ask “What was PVCS?”

5.) When designing the architecture for a department’s platform, complexity is never to be trusted. Instead, overreaching simplicity is always a preference. For example, a dozen bash scripts (each being over 20,000 lines), a PowerBuilder app, and several unsecured FTP servers constitute a valid architecture.

6.) In order to promote egalitarianism, everyone on a team should be regarded with the same amount of respect when it comes to technical prowess. It’s all about teamwork. Even if you have decades of experience with writing scalable C++ applications on an intense trading platform, you should remember that you are no better than that one dude who can write a killer SQL query.

7.) As for your database, it is better to create tables and then ask questions later. Leave it to the next generation of hired employees to determine which dozen of them are necessary and which of the remaining thousands need to be deleted.

8.) Communication between established departments is completely optional. If there is a problem with networking but the DBAs should be involved to help resolve the problem, the two groups should only communicate if they happen to feel like it that day. On a really good day, they will talk to each other via an elongated cord and two soup cans.

9.) Forking a code base is an opportunity to optimize the performance and reliability of software in a company. More importantly, merging that code into the original trunk should be at your own leisure, with the option being of never.

10.) In order to follow Darwin’s tenets of evolutionary theory, it’s best to create a diversified population. So, it’s a mark for progress if the developers eliminate any homogeny in their collective toolset. When each developer uses a different language, IDE, and platform, we will have created true environmental harmony.

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

The Bloody Fight for Unicode 8.0



Some people hail Unicode 7.0 for being more inclusive, with its addition of new scripts and symbols. I can only say: it’s about goddamn time! The problem is that the bureaucrats of the Unicode Consortium have dragged their feet, and we need to push them for more action. How many years and how many lives were lost for the inclusion of Linear A, before they finally gave it to us in Unicode 7.0? We need to be more aggressive! Here and now, we need to create a list of our demands for the next iteration, and we should hold them to it:

—–

Klingon – The army of CUR has fought for this one long and hard. This international language has become a standard for many, and it’ll only be a matter of time before Chinese is replaced by Klingon as the future language of business. It’s ridiculous that it hasn’t been included yet.

Caveman Doodles – Obviously, we need to preserve the first script of mankind, and on par with the written languages of first civilizations, the chalk renderings of horses, spears, and hairy vaginas should be noted as worthy of preservation. Consequently, sites like OKCupid will probably dump their current implementation, since this simple script will fit the needs of their clients nicely.

Kilrathi – Granted, the language only has a few words and phrases, but someday, we will learn more about this culture of space pilot cats who were the obvious inspiration for “Laser Cats!” and who were wiped out by the merciless Mark Hamill. In order to honor them, we should include and preserve their culture for posterity within Unicode 8.0.

4Chanese – Clearly, the readers of 4Chan are an important species, and we need to welcome them into the mainstream fold of society. Their script is a strange one, but with the inclusion of its characters in the next iteration, we will all be able to triforce properly without being called “newfag” and without needing to face the ultimatum of either baring our breasts or departing the premises.

Boner Emoji – Sure, this last iteration of Unicode gave us a few emoji, and some smart people are calling for more. However, there is a need which has yet to be fulfilled: boner emoji. We need pictograms which show boners at various angles (45 degrees, 90 degrees, 345 degrees, etc.) and of various sizes (thick, long, etc.). By doing so, we can have proper conversations about sexual tactics without a lengthy, verbose conversation. Finally, we’ll be able to convey the idea of “tip-to-tip” between each other without the barrier of language.

—–

This is only the beginning, but together, we can create the necessary list for the next release of Unicode 8.0. If I’m missing anything, let me know; we’ll add it to the roster. Let’s keep up the fight.

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

Cubicle After Hours: Carnal Code and Sultry Script



(Warning: The following is sophomoric tripe that floats around the head of a professional man who should be more mature, but unfortunately, he is not. Discretion is advised. Now put on your best socks…because it’s business time.)

1.) if (open(pants) == CONST_GREENLIGHT) { wang = malloc(full_length); }
2.) bind(partner, &hands, sizeof(hands));

if (listen(partner, backlog) == CONST_SAFEWORD) { exit(CONST_BREAK_FROM_SPANKING); }
else
{
kill(PID_PARTNER_OH_NO_AN_ACCIDENT);
exit(CONST_PANIC_AND_RUN_TO_MEXICO);
}

3.) less talk | more head
4.) CSS_STYLE_ORGY
{
color: #696969;
}

5.) touch /etc/girlfriend &2 > /etc/pink &1 > /etc/stink
6.) Girl oGirlfriend = new Girl();
String strYourPackage = “pride”;

if ((oGirlfriend.show(strYourPackage) && (strYourPackage.length() < 6))
{
oGirlfriend.chuckle();

java.util.zip.Deflater deflater = new java.util.zip.Deflater();
deflater.setInput(strYourPackage.getBytes());

pants.close();
}

7.) function watchJapanesePorn()
{
$(“japanese.man”).hover(function() {
$(“japanese.girl”).squatsClevelandSteamer();
});

$(this).myself.feelShame();
}

8.) Woman oGirlInChangingRoom = new Woman();
Stack oPeepingTom = new Stack();

oPeepingTom.peek();
oPeepingTom.pop();
oGirlInChangingRoom.shriek();
oPeepingTom.clear();

Police oCop = new Police();
oCop.catches(oPeepingTom);

lock(oPeepingTom)
{
List oBigCellmate = new List();
oBigCellmate.insert(oPeepingTom);
}

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

10 Other Unwanted Google Products



1.) ReAnimal – It’s a sad day when a pet dies, because we have to say goodbye…or do we? Not anymore! Through collaboration between the Google Chauffeur program and Boston Dynamics, your favorite little buddy will get a second lease on life. With the installation of some basic hardware into its body, the recently deceased can now move through your home again…although in an unaffectionate, frightening way that doesn’t faintly resemble anything organic and that will be sure to traumatize you, your spouse, and definitely your children.

PRODUCT DISCLAIMER: The second lease on life will be about a week or whenever the smell of rot becomes too much to bear.

2.) Spank Tank – Why would Google buy a Japanese robotic company and a company that specializes in robotic arms? Three words: Octagenarian happy ending. With the nascent industry of robots in elderly health care, old people still need to get their jollies, especially the Japanese. Just ask George Takei! The answer: Spank Tank. In addition to getting the best bedside treatment, nothing will arouse and satisfy your declining grandparents like staring into its lifeless face and getting an old-fashioned from its cold plastic hands. They don’t call it the Uncanny Valley for nothing!

3.) NowUKnow – Want to learn something but too lazy to do it? Wish that The Matrix was real? Well, NowUKnow kung fu, too! Using Bitspin tech, your Android phone can now instruct and teach you everything…all while you sleep! And it doesn’t cost you one dime! What’s the catch? You may find yourself buying unexpected products due to subliminal messages, and if you do happen to wake up with a bloody knife in your hands, remember that your beloved overlord Google had nothing to do with that or your recent bouts of sleepwalking. But who cares – now you can speak French fluently!

4.) Google Poo – You’ve heard of Google Fiber, right? Well, we’re talking about a different kind of fiber! With Google Poo, all subscribers to the program will finally kiss their water bills goodbye, after key equipment has been installed in their toilets. Just allow Google to monitor your #1 and #2, and in doing so, spending time in the bathroom will actually pay off! Drop off a few kids at the pool, and Zave Networks will now know to send you killer coupons for corn! Adopt a wide stance on the throne, and Viewdle can use their special tech to recognize and diagnose your hemorrhoids. Finally, your poo will work for you!

5.) StreetMap Eavesdrop – Many of us find it helpful to use StreetMap, especially to get a detailed view of a neighborhood or area. Of course, sometimes the visual dimension isn’t enough to get a clear picture. Enter Eavesdrop! Now, along with the images of your next destination, you can listen to snippets of conversation. See a street that looks enticing? Now listen to people talking on the street in order to make the final call. “I just put a wig, some lipstick, and a Fleshlight on the Spank Tank, and now Gramps and I enjoy it together.” Street avoided!

6.) Infogina – With the recent acquisition of Nest Labs, the increasing demand for smart biosensors can now be met with the help of Google’s mobile tech. Finally, after enduring an unsatisfied demand for decades, women now have the ability to monitor the pH of their hoo-ha via a mobile app on their phone. Plus, with a built-in accelerometer and gyroscope, Infogina can supply real-time stats and measurements that weren’t possible before. “I just beat my old record of 20 lbs. of pressure with my Kegel muscles!” You go, girl!

7.) Adforcers – You want to get word of your product out there, but some people simply insist on staying in the boondocks, where the Internet just can’t reach them. It was a foregone conclusion that your company’s message would never reach them…until now! With the help of our new friends at Imperium, the Adforcers can arrive at the doorstep of potential clients and ‘coerce’ them into hearing your message. Using the patented Ludovico Technique, the Adforcers can ensure you that those inbred stomachs will get all tumbly-wumbly when they next see your competitor’s logo. You’ll have broken-spirited, loyal customers for life!

DISCLAIMER: They might also develop a strange assortment of fears (including phobophobia and, of course, phobophobophobia), but hey, that’s just another case of blowing the bridge. You did what you could.

8.) NoMind – Time is important to all of us, and there never seems to be enough of it. Using the technology purchased with DeepMind, Google can now provide you with the tools to give Chronos the middle finger! NoMind will monitor your purchase history and daily activities online, and after only a few days, it can take over those mundane annoyances in your life and save you hours of time. While NoMind levels your character in your favorite MMO game, trolls your favorite forums on 4Chan, and finds the best deals on Mountain Dew, you can finally reach your full potential by ‘photoshooping’ celebrity nudes and by creating the next big viral meme. Carpe diem, indeed!

9.) Google Gas – Once again, like Google Glass, you can enhance your senses! By simply inserting two metal cylinders into your nostrils and clamping them to your nose, you can now comfortably experience the world in a new way. Whoever smelt it dealt it? Not in this case! Experience the chance to pinpoint who in the room cut the cheese, to become a sensation at parties by sniffing for cancer tumors, and to blackmail your male friends when you smell a woman on them who isn’t their wife.

10.) UdderBot – With the rise of tablets and smartphones, PCs are on the decline. Why would anyone buy a PC? You might want to reconsider that choice. Enter UdderBot, the first totally biological PC! In addition to satisfying your computing needs, UdderBot can also secrete whole milk, produce methane for heating your home, provide smelly 3D printing, and can be a cuddlesome companion at night. Get one today!

DISCLAIMER: Though tempting, do not engage in bot-tipping when UdderBot is sleeping. Likewise, do not taunt UdderBot or have anything with a reddish hue in your home. Otherwise, UdderBot could be provoked into a mindless fit of rage and will likely murder your children and pets. You don’t think that a small fuzzy ball of cow flesh isn’t capable of murder? Think again, bucko.

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