Jake Vinson

Mar 2008

Out of Balance

by in Feature Articles on

Excitement was in the air. It was the turn of the century and the dot-com boom was in full effect. The bubble just kept growing and growing, and it was probably invincible! The consulting company that Chris G. worked for had gotten their largest contract yet — the first they'd ever had in the seven figure range. Their goal? Build a sister site for a major investment bank that would serve news and analysis on the latest in the investment world.

Going in, the client made it clear that they wanted to do things right and that money was not an object. This was the height of the bubble, after all. In addition to Chris's company, top consultants from IBM and Sun were hired and involved in virtually every aspect of the project. After the majority of the analysis was done, it was time to discuss the bank's hardware needs.


The Sage

by in Feature Articles on

Jared D.'s time at the hardware store's paint department was mostly uneventful. At 16 years old, he worked over the summer to make some extra money before starting his sophomore year of high school. Day in, day out he'd guide customers to rollers, brushes, primers, tapes, and sponges. It wasn't as boring, though, when he got to use the paint machine.

The paint machine was pretty awesome — a customer would bring up a paint swatch, Jared would key in the color, and the machine would mix the appropriate amount of each primary and secondary color, producing something that matched the swatch. Even better, shortly after Jared started, a second system was added — one with an optical sensor that could find the closest paint match to any physical object. He'd then take its output and key it in to the paint machine. One side effect of the new system, though, was that it would crash somewhat frequently. And when it did, there was only one guy who could fix it: The Sage.


Barely Missing the Concept

by in CodeSOD on

Sometimes you see some code and can feel the frustration of the original developer. Sometimes it's because of profanity-laden comments in the code, other times it's because you can tell that they were right on the brink of a major breakthrough, but gave up.

In this case from Oliver K., the developer did his research, found the right tools for the job, and started coding. He realized that the task would be best handled with interfaces and probably toiled for hours trying to figure them out, eventually checking in the following:


sometimes headers get that do long

by in Error'd on

"This strange tooltip popped up while playing with some code in Dev-C++," J. K. writes. "It seems to be saying something important but unfortunately doesn't make any sense."


Type Safety Considered Harmful

by in CodeSOD on

Submitted anonymously: "I found this in a data access layer for an application testing framework. The object has fields that are obviously meant to contain integers, doubles, and DateTime objects, but they are all strings and this is the only constructor:

class LineItem
{
    // SNIP: 28 public string fields
    public LineItem(Object[] fields)
    {
        int index = 0;

        //limit initial memory assigned for line items due to infrequent use
        lineItems = new List(0);

        foreach (Object field in fields)
        {
            switch (index++)
            {
                case 0: category = field.ToString(); break;
                case 1: paymentMethod = field.ToString(); break;
                case 2: transDate = field.ToString(); break;
                case 3: amountCurrency = field.ToString(); break;
                case 4: exchangeCode = field.ToString(); break;
                case 5: exchangeRate = field.ToString(); break;
                case 6: documentNumber = field.ToString(); break;
                case 7: location = field.ToString(); break;
                case 8: dateFrom = field.ToString(); break;
                case 9: dateTo = field.ToString(); break;
                case 10: deduction_breakfast = field.ToString(); break;
                case 11: deduktion_lunch = field.ToString(); break;
                case 12: deduktion_dinner = field.ToString(); break;
                case 13: mealDeduktion = field.ToString(); break;
                case 14: accountNumber = field.ToString(); break;
                case 15: projectId = field.ToString(); break;
                case 16: description = field.ToString(); break;
                case 17: salesTaxGroup = field.ToString(); break;
                case 18: itemSalesTaxGroup = field.ToString(); break;
                case 19: additionalInformation = field.ToString(); break;
                case 20: miles = field.ToString(); break;
                case 21: rate_per_mile = field.ToString(); break;
                case 22: advanceRequestedDate = field.ToString(); break;
                case 23: department = field.ToString(); break;
                case 24: cost_center = field.ToString(); break;
                case 25: purpose = field.ToString(); break;
                case 26: timeFrom = field.ToString(); break;
                case 27: timeTo = field.ToString(); break;
            }
        }
    }
}

Software Bloat

by in Error'd on

Stefan K., how much freaking memory do you have in your computer‽


They're buffered

by in Best of the Sidebar on

Originally posted by "jjeff1" ...

This is going back a while, when I worked at a mom & pop retail computer store. We took in a repair for someone who'd tried to build their own PC. The problem was with the sound. As soon as the tech took the cover off, he called us all over to look inside.


The Alphabet... The Hard Way

by in CodeSOD on

James H. writes "If you had to programatically output a list of HTML <a> tags linking to anchors for the Alphabet like this:

<a href="#A">A</a> <a href="#B">B</a> ...

The Unknown

by in Error'd on

What's the sound of one hand clapping? If a tree falls in a forest and no one is around to hear it, does it make a sound? Can Word edit the unknown?


(submitted by JDF)


The Haunted Door

by in Feature Articles on

Life was good for Jeremy. He'd just landed a good job with interesting coworkers in a nice, newly-remodeled office. His cubicle was at the perfect distance between the elevators, bathroom, and snack machines. His boss respected him, his coworkers wouldn't hesitate to help him, and it was work that he genuinely enjoyed.

In fact, the only things Jeremy could complain about were minor — the coffee sucked, the vending machine didn't have Whatchamacallits, and the keycard-protected doors were slow to open. It hadn't really registered with him until he was jogging down the hallway, late for a meeting, and found himself waiting for 10, 20, 30 seconds for the door to open after he swiped his keycard. The embarrassment was eased when another coworker showed up even later than Jeremy, complaining that "the damn door took like a minute to open!"


Customers Are Saying

by in Error'd on

Eric would've waited for a better testimonial before putting it online...


The Sub-Sub-Sub-Subcontractor

by in Feature Articles on

In Leon's country, most government institutions are legally obligated to disclose certain data on the internet — their structure, responsibility, public competitions, general announcements, and so on. Leon worked for a company that did government work exclusively, and during a lull in their normal projects, they noticed an unfilled niche — software designed specifically to make sharing of this information easy.

Management prepared the specs with dozens of citations referencing government-produced documents that outlined the rigid formatting requirements. Boiling it all down, though, it wasn't so bad. Just some document storage and retrieval, basic usage logging, and two-level security: users, who can read everything, and admins, who can edit everything. Business logic was simple, because all changes would be done manually by an admin.


We Need a Body

by in Tales from the Interview on

Although Brice hadn't been on the job for very long, he'd gotten pretty comfortable with leading technical interviews. He'd quickly compiled a stock set of questions that could weed out the hacks.

  • Questions that immediately disqualify you for the position if you get them wrong:
    • What is your first name?
    • Name a .NET language.
  • Questions that almost certainly disqualify you if you get them wrong:
    • What datatype would you use to store a string of characters?
    • Is it C sharp or C pound?

When Brice's company had five other developer positions to fill, he was called on for the technical portion of each interview. Not long ago, a candidate named Corey applied and was brought in for an interview. Brice couldn't put his finger on what it was exactly, but from the moment Corey walked in something just seemed... off.


Foiled by the Dictionary

by in Feature Articles on

'Maximum Number of Emails Per Hour Has Been Exceeded?' What the hell? The head of Golficionados was not pleased. He called James to get it fixed.

James and team had just launched the web site for Golficionados, a small golf supply business, the day before. As a part of the contract, James had to set up their email server and create accounts for all 30 users. He was surprised to be woken up at 6:30 by an angry client call.