Recent Articles

Dec 2006

Best of 2006: The Virtudyne Saga

by in Virtudyne on

The Virtudyne saga (published 2006-Oct-10 through 2006-Oct-13) is my all time favorite. It tells the story of the rise and fall of Virtudyne, one of the largest privately-financed ($200M) disasters in our industry. Like most articles published here, all names have been changed to protect the guilty, and I've worked very closely with Rob Graves (the submitter) to ensure that this presentation is as close to how it happened as possible.


Part I - The Founding

By most people's standard, The Founder was very wealthy. A successful entrepreneur since age seventeen, he built several multi-million dollar companies and amassed a fortune larger than that of most A-list Hollywood celebrities. He prided himself on having one of the largest private collections of Egyptian artifacts in the world and prominently displayed many of them in his Great Room. And it truly was a great room: having been to The Founder's mansion several times, Rob recalls that his two-story, four-bedroom home could easily fit inside the Great Room.


Best of 2006: The Customer-Friendly System

by in Feature Articles on

I've heard that many still have nightmares from this article, originally published 2006-Aug-18 ...


Every once in a while, some one shares with me the story of an unimaginably convoluted system. A system so complex, so twisted that the mere thought of maintaining it has driven many a men insane. A system so heinous and so evil that the souls it has claimed are outnumbered only by COBOL itself. So, in hopes that its presentation might offer some consolation to John and its other unfortunate victims, I will share with you the story of The Customer-Friendly System.


Best of 2006: Payback's Payback

by in Feature Articles on

Here's the final episode of the Payback series (one of my personal favorites), originally published on 2006-Mar-31 ...


If the name Colin A. Bradley doesn't ring a bell for you, then the application named Payback might. It's an ironically-named accounting system that has been the subject matter of at least three articles:


Best of 2006: Web 0.1

by in Feature Articles on

In case you've ever wondered where the "wooden table" cliche comes from in the comments, here's Web 0.1, originally posted on 2006-05-11 ... 


One policy that I strictly follow is that the examples I post here come from professionals. I believe it's important to let the learners learn and, therefore, consider school assignments, messageboards, and hobby projects to be "off limits." But really, how fun are rules if you can't break 'em every once in a while? Especially when there's an opportunity to present a website design technique that Justin recently came across. It's called flyer-to-print-to-photo-to-print-to-scan-to-web (or, Web 0.1):

  1. Using your favorite word processing software, design a flyer that contains the information you'd like to convey to your website visitor
  2. Once designed, print the flyer on a color printer
  3. Lay the printed sheet of paper face-up on a table, preferably a clean, wooden table
  4. Take a photograph of the flyer using a camera, preferably a digital
  5. Download and print (or develop) the photograph of the flyer
  6. With a normal scanner, scan the photograph of the flyer
  7. Upload the scanned image to a frame on your website

Best of 2006: Spreading the Holiday Jeer with The Motivator

by in Feature Articles on

Since the only holiday-related article from 2006 was Spreading the Holiday Jeer, and that came just a month ago, I added in one of my favorites, The Motivator ...


2006-Nov-23 - Spreading the Holiday Jeer 


Best of 2006: The Spider of Doom

by in Feature Articles on

Originally published on 2006-03-28 ...


Josh Breckman worked for a company that landed a contract to develop a content management system for a fairly large government website. Much of the project involved developing a content management system so that employees would be able to build and maintain the ever-changing content for their site.


Best of 2006: Drive-By Architecture

by in Feature Articles on

Originally published on 2006-Jan-26, I know exactly how Bill feels. I can actually feel the appreciation whenever I stop by the Accounting department and share my expertise of Accounts Recruable and the General's Ledger ...


Anne Wiggler has the pleasure of sitting directly across from a conference room. Although her location is the prime spot for scavenging lunch meeting leftovers, it does have its disadvantages. Managers, while waiting for the room to free up, will congregate around the door and hold a pre-meeting just in case anyone in the immediate vicinity was trying to write code and wasn't distracted enough already. Worse, some managers (especially the more jovial executive type) will notice Anne hard at work and stop by for a chat.


The Call of Codethulhu

by in Feature Articles on

It seemed like any other job: "Java/J2EE contractors needed for a one-to-three month contract to maintain proprietary supply-chain management software." Sure, James C could have waited around to find something more interesting, but the pay was fantastic and, being such a short term contract, he figured he had little to lose. That is, until he came face to face with Codethulhu.

It all started back in 2001, when a fairly-large manufacturing company decided to develop its own supply-chain management system. Being that they had no in-house development expertise, they sought help from the Great Old Consultants to build their software. And build it they did.


The Great Google Banner Ad Conspiracy

by in Feature Articles on

It was only 9:15 in the morning and Neal was ready to write the day off as a complete loss. Neal's day started off with him accidentally pressing the "Alarm Off" button instead of "Snooze," missing his morning workout, driving downtown through the tail-end of a traffic jam, and arriving forty-five minutes late to work. But when he stepped in the office, it was oddly vacant: Was it a company holiday? Did he miss the field trip memo? Was today actually a Saturday? "Neal," the president shouted from his corner office, interrupting Neal's workless fantasy, "get in here; come see this!"

The president could get a bit emotional at times, and Neal had no idea why he was this time, but whatever the reason, it was important. Every employee -- all nine of them -- were huddled in his little office, awkwardly watching him as he yelled out swear words, grunted random advertising terms, and scowled in disappointment. It was a somewhat familiar sight, watching the president like that. He was steaming furious and on the verge of taking his keyboard, chomping off the spacebar, breaking the whole thing across his knee, and then smashing his head through his monitor, parading it around as he stomped out of his office. Neal dared to ask what was wrong.


Security by Oblivity

by in Feature Articles on

Laptops are blessing for many corporate workers: never before has it been so easy to bring work home and neglect one's family to get in a few extra hours of unpaid overtime. As eager as employees are to do this, the mean ole' folks in IT Security are not. They cite all these news stories about sensitive data being lost as a result of laptops and remote access, and say it's just not safe to bring the company work home.

Thankfully, the IT Security director at MK's company (a fairly large banking institution) knows that the ability to conveniently work remotely is much more important than working securely. Shortly after some mean ole' regulatory agency mandated that remote access is secured with a VPN that requires typing in a constantly changing passcode from a physical token, the director had just the solution for everyone ...


The Mystery of the Missing Screw

by in Feature Articles on

One of the advantages of being a contractor -- well, aside from getting paid nearly twice as much -- and aside from not having to work unpaid overtime -- is that being "on call" is generally not part of the job description. The whole 2AM-Oh-Crap-A-Batch-Job-Failed call followed by a six-hour I-Have-No-Idea-How-To-Fix-This-Crap debug session that's chased down with the Oh-Crap-It's-8Am-And-Time-To-Go-To-Work realization -- that pleasure is reserved for full-time employees. That's what Ivan D. believed, right up until he got a 2AM call of his own: we desperately need your help to find a screw in the warehouse; none of the full-timers are responding!

In his half-awake state, Ivan had no idea what they were talking about. Did they want him to come in like Sherlock Holmes and use his oversized magnifying glass to solve the Mystery of the Missing Screw? Sure, he had his drop-step pipe ready, but how was he supposed to get his overcoat and deerstalker hat from the cleaners at such an hour? And then it hit him: the warehouse application probably crashed and they needed him to run a few database queries to find out where the screw was stocked.


How Not to Parse Command Line Arguments

by in CodeSOD on

Today's Code Snippet is from S.C., who shared this in the Side Bar a littler earlier this week ...


Web Development at WTFU

by in Feature Articles on

Ming Shun felt embarrassed. Not for himself, but for someone else ("Gabrielle") in his Introduction to Web Development course. It seemed that, almost every day, Gabrielle would just say something that made everyone grit their teeth and say under their breath, I can't believe she just said that.


Tales from the Interview: A Perfect Ten!

by in Tales from the Interview on

Here's a link to the previous episode in case you missed it: Tales from the Interview. Don't forget to send in some of your own for next time.


It Seemed Like too Much Work
from Troy


I Thought You Wanted Demonstrations

by in Feature Articles on

There's always a risk in hiring employees straight out of college. It can be pretty rough adjusting to a normal adult lifestyle (shaving, bathing, not beginning and ending every sentence with the word "dude"), let alone taking in all the wondrous monotony of the 9-to-5 office job. Many large companies will bring in graduates with the goal of attrition: they'll instill such hopelessness in their impressionable minds that they'll never have the desire or motivation to leave. Other companies, such as Federico's, hire recent grads as a "community service", giving them the skills and experience they need to excel in their career. Well, that, and those with no work experience tend to work for next-to nothing.

In Federico's experience, recent graduates are hit-and-miss. Usually miss; the company just doesn't the resources to adequately coach and mentor new blood. But one particular new hire ("Steve") showed a lot of potential: he graduated magna cum laude, completed two internships, and was very well spoken. I believe there were only four instances of the word "dude" throughout the entire interview process.


The Van Gogh Awards

by in CodeSOD on

Today's Code Snippet comes to us from S.G, who writes, "Over time all development teams inevitably gather their share of WTF code; at the very large project I am currently working on, they hand out "Van Gogh" awards for the best. I hope some of these candidates give you a laugh."

 


Insecurity Doors

by in Feature Articles on

It was a heck of a party and everyone was invited, from the executive vice president to the janitorial staff. There was champagne, shrimp, cake, and even a string quartet. There were door prizes, balloons, and all sorts of bank-branded knickknacks being given away. And it was all for good reason: the bank had just completed its high-tech, sixty-five story downtown corporate headquarters, and it was the tallest building within a three-hundred mile radius.

Virtually no expense was spared for the bank's skyscraper: a renowned architect was commissioned to design the building, skilled artisans adorned the corridors with marble statues, acoustical consultants made sure the lobby had just the right echo, and, most importantly, the world's foremost security firm was brought in to lock things down tighter than Fort Knox. It was considered less of a building and more of a work of art. The pinnacle of this creation was the high-tech sliding doors used throughout the building; this was the first time that StarTrek-esque doors were used on such a large scale.


Really, Really Freaking Huge Time Limit

by in CodeSOD on

"Some things take time to execute, others seems like they will never end," Henrique Moody wrote. "If you have a huge — really, really freaking huge — e-mail list to parse ... of course, it will take forever."

"So what to do? Set a really, really freaking huge time limit!"


Pop-up Potpourri: The -693926 Days of Christmas

by in Pop-up Potpourri on

For many, many more, check out the previous article from the series, Pop-up Potpourri: It's Getting a Little NaN Outside


I suppose this is a bit late, but Richard was a little suspicious of some of the election results ...


The Dreaded Peter Devil

by in Feature Articles on

The Peter Devil wasn't very good at delivering bad news. He also wasn't very good at delivering good news, neutral news, making decisions, motivating employees, or, just about anything else that a CTO is supposed to do. But -- bad news -- it just wasn't his thing. He notified, via email, a team of over fifty employees that they'd be jobless in two weeks Unfortunately, the Vancouver office will be disbanded on August 23; we'll need everyone to pull together and make an extra effort to finish up the Integration Project and transition the remaining work to us here in Toronto.

The very existence of the Vancouver office is an oddity in and of itself. Five years before closing the office, the Peter Devil convinced his boss (the CEO) that the best way to develop a new software product was to create a "company in a company" and hire a slew of top talent to run it. Sure, they wouldn't have any knowledge of the business domain or access to all of the in-house expertise, but they'd have a fresh start. And was all that mattered.


Random Ways To Get To Random()

by in CodeSOD on

It's been a few days since we've done the Code Snippet Of the Day, so in lieu of Alex's normal article, here's your mid-day CodeSOD edited by Michael Casadevall ...

J.S. Bangs sends us today's snippit located deep within a Java codebase he's maintaining. The function, getRandomBits() returns a 32-byte array of random bites for security purposes. Since Java provides a Random method, this should be easy; in fact a proper implementation can be writting in five lines:


I've Been Hacked!

by in Feature Articles on

"I've been hacked," Dan M's boss said frantically as she arrived to work one Monday morning, "I don't know how it happened, but I accidentally left my laptop on at home, and now there's all sorts of adult-oriented pop-ups and desktop icons!"

As a software developer, it really wasn't Dan's job to fix his boss's laptop; there's a whole department called Desktop Support that's dedicated to that sort of thing. But he felt bad for her -- just think of how embarrassing it would be for a manager to have to call up the help desk and ask them to "clean up" her company laptop -- so he offered some help. It was either that or do some actual work.


First Day Foresight

by in Feature Articles on

At most places of work, the First Day is pretty lame. It usually starts off with a boring orientation meeting that's devoid even of bagels, let alone an assortment of danishes and other wholesome pastries. Next up is the insurance forms, the W-2's, and all sorts of other paperwork. And then it's generally topped of with an overworked supervisor plopping down a stack of outdated and mostly irrelevant documentation with the instructions "read through these and I'll show you around later this week." But Devin's company is a little different -- they think it's a bit demoralizing to start out like that, so they make sure that new programmers have an actual, real assignment on their first day. It doesn't have to be big; it just has to be something.

Devin was responsible for mentoring the New Guy and dolling out the First Assignment. It was a pretty easy one: the client requested that a "Save" and "Cancel" button be added to a form instead of having the form save changes whenever it was closed. Devin walked the New Guy through opening the project up in VB6 and even showed him which file to change. The New Guy confirmed that all he'd need to do is have the "Save" button close the form after calling the save function and have the "Cancel" button simply close the form. He seemed to understand what needed to be done and Devin figured it'd take him thirty minutes, tops.


No, We Need a Neural Network

by in Feature Articles on

M.A. is one of the world's foremost experts on neural networks. His undergraduate specialty was artificial intelligence, his master's thesis was about genetic algorithms, and his doctoral dissertation covered evolutionary programming. Such an extensive computer science education opened up a wide range of career options, ranging from a professor at a university to ... a professor at another university. When someone outside of academia sought out his expertise for a project, he jumped at the opportunity.

The company that wanted to hire M.A. was a small programming firm that developed and maintained software used by the Bureau of Water Management. They were recently awarded a large contract to redo a rather inefficient part of the system and were convinced that implementing a neural network was the way to go. After the initial interview, M.A. told them that a neural network was the wrong tool for the job and that they should use a traditional approach. Management disagreed with his assessment and insisted that he come aboard to help rebuild the system. Had they not offered such a generous salary, he might have recognized this as a first warning sign.