Recent Feature Articles

Apr 2007

Saving a Few Nanoseconds

by in Feature Articles on

Last month, in Saving a Few Minutes, we learned about G.R.G.'s experience with RUNPROG, one of the earliest examples of The Inner-Platform Effect I've ever seen. RUNPROG lived on an ancient supercomputer with an operating system that lacked the concept of search paths. Instead of a simple, four-line enhancement to "search another directory," RUNPROG was a 100,000-line assembly program that essentially did everything that the operating system did.

Although RUNPROG was entirely unnecessary, cost an incredible amount of time and money to maintain, and caused programs to run and load a magnitude slower, the business did not mind. It saved them money in the long run in that it allowed them to bill out even more CPU-time to their timesharing clients. In fact, after three short months of production use, the business had already forgotten the pain endured to create RUNPROG. That was, until Black Tuesday arrived.


Synergized Student Consulting

by in Feature Articles on

Making ends meet while attending college is tough. Tuition is ridiculously expensive, books are ridiculously expensive, and food is ridiculously... reasonable, generally. Still, it's hard to afford everything. You could work a crappy part-time job, sell your bone marrow, sign a waiver and let the med students have their way with you, or improvise to make money. Jesse's friend who we'll call "Giuseppe" chose improvisation.

Now, by "improvisation," I don't mean he got on stage to talk about how white people tie their shoes versus how black people tie their shoes (what's the deal with that, anyway? Heyoo!). No, he found himself a client! He could use all the skills he'd gleaned from his few years in college and make some money on the side.


Securing The Server Room

by in Feature Articles on

“Hey, you’re in IT, right,” a frantic fellow in a maintenance jumpsuit asked, barging right into G.R.G.’s cramped little office. G.R.G. shifted his eyes away from the project he was working on – some database for physics students and professors – and began to formulate an affirmative answer. Before he could even complete the word “yes,” the Maintenance Guy jumped in, “’cause, we have a serious problem.”

The Maintenance Guy went on to explain that he was receiving increasingly severe temperature alarms from the Server Room. First 86°F, then 93°F, then 97°F, and – just then – 103°F. He figured that the dedicated air conditioning unit had died. Normally, that wouldn’t be a problem, but he had no way to get in to fix it. The Server Room – which housed all of the university’s critical research, financial, and operational servers – was locked.


Race and Government

by in Feature Articles on

The government: preserving rights and protecting justice. The Department of Motor Vehicles: our model of efficiency and equality. My car: newly titled and good luck finding parking in San Francisco.


While I was sitting at the CA DMV, I contemplated these things. Why did I register for an appointment at 9am on a Monday, especially when the lady behind the dispatchers desk didn't ask for any proof that I actually had a reason to be in the "Appointment Express!" line. No matter, it only took me 15 minutes to get in, hand in my homework, and get out. But all is not well at the DMV.



The Worse Than Failure Programming Contest

by in Feature Articles on

A couple months back, I mentioned that I’d like to try out something new on this site, specifically, a programming contest. After a lot of thinking and a little bit of coding, I finally put one together: The Olympiad of Misguided Geeks at Worse Than Failure Programming Contest.

Unlike other programming contests, the goal of the OMGWTF contest is not to flex your algorithmic muscles and solve some abstract computational problem like you might in an ACM contest. Nor is it like the International Obfuscated C Coding Contest; in fact, writing code like that would be a surefire way to lose this contest. Instead, the goal of the OMGWTF contest is to solve an incredibly simple problem using the most obscenely convoluted way imaginable. And for this first contest, the simple problem is to build and implement the logic for a four-function calculator.


Schooling the Interviewer

by in Feature Articles on

Sometimes the best WTFs don't come from without; they come from within. If you think back across the history of your career, you've probably had your share of red-faced, forehead-slapping moments from doing something stupid. You've got some coming up ahead, too. And if you've never made an embarrassing professional mistake, congratulations, you're an oblivious "Expert."

Dan O. was enjoying the fruits of working for a dot-com venture in early 2001. Well, like most dot-coms at the beginning of the century, Dan's went bankrupt. Maybe they were ahead of their time, maybe they were big dreamers, or maybe it was the fact that a client that represented 80% of the company's revenues dried up.


Meaninglessness

by in Feature Articles on

As you may or may not know, my day job is a Software Developer at a small consulting company called Inedo. We build all sorts of businessy software that does all sorts of businessy things for all sorts of businessy, erm, businesses. Most days, it’s a challenging and satisfying job; I’ll go home thinking, I accomplished something today. But every once in a while, I can’t help but wonder, why am I spending my life building cold, meaningless business applications?

I’ve found that the feeling of meaninglessness comes especially after the “Deployment Celebrations” of some big, “productivity-increasing” system. Congratulations! We saved MegaCorp shareholders millions each year in labor costs, and we got a fantastic bullet point to put on our resumés. But we also put an entire floor of nice, hardworking people out of work. Now, I’m sure a lot of you have felt this sense of meaninglessness as well. Fortunately, folks like Ferdy remind us that, while we may not be doctors, or astronauts, or really anyone in a position to change the world, making it run a little more efficiently every can be a good thing.


The Source Control Manager

by in Feature Articles on

If you haven’t done so already, you will. Soon. It’s inevitable. No matter how careful you are, no matter how meticulous your check-ins, you will eventually be the developer who Breaks the Build.

Most developers fear becoming the Build Breaker. It’s not so much that they’d be responsible for hours of lost productivity, lost testing, lost testing time, and that sort of thing, it’s the “other” consequences. To help prevent broken builds, development organizations have put together penalizing procedures that are designed to embarrass and humiliate the Build Breaker. It’s almost always something fun and silly – the Build Breaker has to bring bagels to the next team meeting, or the Build Breaker Beanie Cap gets passed down from the last Build Breaker and must be worn for a week straight – but it works. Nobody wants to be The Build Breaker.


Government Department

by in Feature Articles on

"You Tris?"

Luke had just blown his opportunity to make a good first impression, as was his custom. Luke was a huge, imposing, surly man who'd been in IT for far too long. Tris tried to feign a smile.


GRG's Worst Production Failure

by in Feature Articles on

Last month, in //TODO: Uncomment Later I asked, what was your worst production failure? This month, G.R.G. (from Insecurity Doors, Mystery of the High Test Scores, Saving A Few Minutes, and so many more) tells of his worst production failure.

Long ago, I worked as a programmer at a university’s hearing research lab. They were awarded a large government grant to study the effects of different kinds of noise on hearing. For the really loud and really faint noises, the researchers used animal subjects with ears that are similar to human ears. Specifically, chinchillas.


Continuous Improvement

by in Feature Articles on

Keeping employee morale up is a hard thing to do, so businesses do their best to keep spirits up. Maybe a company picnic, maybe you get to wear a Hawaiian shirt to work one day (thanks, soulless employer, I've always wanted to look like a total boob in a Hawaiian shirt), or perhaps a game of friendly competition.

Well, John Q. Public and his coworkers were offered a crossword puzzle. It's safe and has a fun factor somewhere between breathing and finding a penny on the ground. Essentially, it's the minimum amount of fun you can have before moving into the territory of not-fun. Plus, the company could fill it up with generic words like QUALITY, PROCESSIMPROVEMENT, and TRIAGE.


The Incidental Expert

by in Feature Articles on

Call me jaded, but every time I'm starting up on a new project as a maintenance developer, I expect the worst. It helps to soften the blow when the code I have to maintain is, in fact, "the worst." Plus it makes it all the better when I get to maintain good code.

In the early 90s, Tim was called on for help with a beautifully written TurboPascal system (and he assures me that such a thing exists). His company was tasked not with improving the already excellent system but, puzzlingly, replacing it altogether. It was there that he first met Hung.


Trash Talking

by in Feature Articles on

Here's a secret about your company's tech department: they hate you. They really, really, really hate dealing with your stupid questions because you're a stupid user who never learns. They're even devising ways to avoid dealing with you.

In fact, I worked with a tech support guy who developed a strategy to avoid doing work; he'd pretend he'd identified the problem, give the user a task that takes a minimum of five minutes to complete, and ask that the user call back if the problem wasn't solved (with a high probability of the call going to one of the other support guys). The tech department at Alise's friend's company was roughly as helpful as my former coworker.


The Chief Development Manager

by in Feature Articles on

"Wait a sec," whispered Chris’s coworker David, "he can’t possibly think this will solve the Build Problem? His idea is completely absurd!"

Chris nodded slightly, clearly uncomfortable to be part of a conversation taking place in the middle of a meeting. Especially a meeting being held by the Chief Development Manager. While some managers like to lead by example, and others like to lead by befriending, the Chief Development Manager liked to lead by fear.


The Final Assignment

by in Feature Articles on

I was never able to wrap my mind around academic tenure. Though I certainly understand the desire for "academic freedom," a system that provides an "unfireable" designation, regardless of job performance, seems like it might have a bit of an impact on, say, job performance. Perhaps I’m just biased from my first experience with tenure: Yes Alex, we realize that 80% of students drop his course, and that he often misses lecture, and that he occasionally shows up smelling of bourbon, but please understand: he’s a tenured professor. And by the way, that did not make me feel any better about spending $1,400 on a completely worthless class.

I’m sure that Kerin A. doesn’t have a high opinion of academic tenure, either. His first experience with it was in Web Development 101, a course instructed by a certain tenured faculty member whom I’ll call Professor Lawrence. He was "on loan" from, as he put it, one of the best and most prestigious universities in the world: a small liberal arts college that no one in the class had ever heard of.


Really Unique Passwords

by in Feature Articles on

We all know the rules for good passwords. They should be at least 90 characters long, have no recognizable words or phrases, consist of 30% lowercase characters, 30% uppercase characters, and 40% special characters, and they should be changed daily, if not hourly. Where I work, if you forget your password, you're fired on the spot and recommended for execution.

OK, maybe I'm exaggerating a little, but let's quit jerking each other around and get serious. Password security is a big deal. Enrique knows this as well as the rest of us. Sadly, two developers he worked with missed the message.