Jake Vinson

Jun 2008

Rigid XML Parsing

by in CodeSOD on

Sure, we've chronicled horrible methods of storing data in XML, but what about when you want to retrieve said data? If you're into .NET, you're probably thinking of something in the System.Xml namespace. If you're a Ruby developer, you're probably thinking of REXML. If you're using PHP, the XML Parser extension. If you're a COBOL programmer, then you're probably praying for death.

Well, if you consider yourself a senior-level XML developer, here's a new technique you can add to your repertoire, courtesy of Paul. Here's an example of a technique dubbed Case-Sensitive Replacement-Based Element Parsing, suitable for all* of your XML documents!


DR on a (near) daily basis

by in Best of the Sidebar on

Originally posted to the Sidebar by "jetcitywoman"...

"A Bit More Dire" started me reminiscing about the dispatch center where I used to work. I LOVED working there and hated to leave. It was a consolidated county 911 dispatch center, where consolidated means that they had all the dispatchers for the county and every city — fire and police — together in one room. Working off one system. They were busy, one police dispatcher for the largest city typically worked/monitored abour 30 units (cops) at a time during the afternoons. It was hectic, dynamic, and doing the computer support for them was terrible at the time, but after I'd left I really missed it. Here are the highlights.


This Application Sucks

by in CodeSOD on

When Michelle M. started her new job, she feared the worst, but hoped for the best. She'd be maintaing an app that had been around since the 1980s and made an impressive tour of technologies — from Clipper to VB to VB.NET and finally to C#. So I guess she didn't so much fear the worst as expect the worst.

That faint little ray of hope she had that the code wouldn't be so bad was shattered when she met the senior developer. The first thing he said to her was "the application sucks." Michelle smiled slightly, unsure if he was kidding (he wasn't). "I mean it really sucks," he reiterated.


The Detention Wizard

by in Feature Articles on

Thanks to a generous anonymous donation, Hudson High (as we'll call it) was finally able to trebuchet themselves into the 21st century. In addition to buying new computers for the teachers and staff, they found a contractor that would build them the ultimate system to maintain every function in the school, top to bottom. After a few months the system was built and deployed.

As one of the school's sysadmins, part of Jason L.'s job was to support the software. And it didn't take long for his eagerness to learn the software to turn into confusion, and it didn't take long after that for his confusion to turn into horror.


Lyle Can Do Anything Better Than You

by in Feature Articles on

Lyle was displeased. Despite all he had going for him — being the most handsome guy in the office, the smartest guy on the team, having the best all-terrain tires throughout the whole department, and trouncing the competition in a recent laser tag game, his team didn't seem to work well together.

Clearly, Lyle wasn't the problem. He was the best manager, the best leader, hell, the best human being there had ever been. And it was up to him to make his team happy. The laser tag game could have been a good first step if James W. hadn't ruined everything by exposing Lyle as a cheater. To his team's delight, Lyle sent out an email that he'd be at the regional office for a few days on management training. Lyle must have been doing something right, because as soon as he left the office got more productive.


It Happens

by in Error'd on

To think, if Ash had spent infinity hours playing the original EverQuest instead of Warcraft, Ash would be close to level 25 by now.


(submitted by Jason M.)


The Exemption Pass

by in Best of the Sidebar on

Originally posted to the sidebar by "compaqdrew"...

At my old public high school, the District (maybe even the State) mandated that every class must have a final exam, and it must account for 20% of the student's grade. Of course, this fails to explain how it is even possible to give a final in, say, Vocal Music. The teachers hated it and even the principal sympathized, and thus was born the Exemption System.


A Dubious Honor

by in CodeSOD on

"At my workplace, we have a wiki for the 'WLC' — the Worst Line Competition," Kirk writes. "We post lines of code that the lead developers have decided were good additions to the applications that we port. Here is one of the better ones:"

patno -= ((((((((((((((((40+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+10)+1)+('Z'-'A'))+1)+1)+1);

Application Lifecycle Mismanagement

by in Feature Articles on

If there's one thing that the new development manager has, it's tenacity. Joshua has been maintaining his company's overly complex software for a while now, and found Dave's eagerness and dedication to learn admirable.

Dave's training was fast and brutal. On his first day he was thrust into a task that only the QA lead had done before — deploying the latest software to the build server. He had to learn it, as he'd function as the backup when the QA lead was out (and, coincidentally, he was out on Dave's first day).


Are You Cool, Man? and More

by in Tales from the Interview on

Are You Cool, Man? (from Scott)
The interview I was conducting was going great — the candidate answered technical questions well and was honest when he didn't know the answer. I'd decided that he would make the short list for an offer and began wrapping up the interview.

"So, do you have any questions about the company, or about the job as a Senior Linux Sysadmin?" I asked.


Early Bird Upcharge

by in Error'd on

A. T. registered early, saving a cool -$1,500.00.


The Quake Server

by in Best of the Sidebar on

Originally posted by "Da' Man"...

It was in the good ol' days of the dot.com era. I worked as a web programmer for this really sleek web and design agency — that is, not much pay, but lots of great parties. Cool chicks, too... well, not too bad altogether, at least in my memory.


Firefox Deletes Printers, and More Support Stories

by in Feature Articles on

Firefox Deletes Printers! from Arthur

Back when I did tech support, one of my customers was a master of BSing. Well, more an apprentice — he has all the words down, but couldn't quite string them together into anything coherent. He's told me to "double delete the TCP stack" more than once. Also, he claims to program operating systems in his spare time and to be one of the inventors of the internet. Something about his support calls leads me to believe he may be exaggerating...


wtflib.php

by in CodeSOD on

"While updating on some delightfully unorganized PHP code (no indentation at all, split over hundreds of randomly named files, many included dozens of times), I kept running across comparisons such as:

if (MatchField($login->Value("admin"), "==", "1")) {

Deploy! Deploy! Deploy!

by in Feature Articles on

It was the calm before the storm. Brokers were sitting at their desks in silence, watching the clock. The market was going to open in minutes, and huge volume orders would start pouring in. The developers working for the firm – a mid-size proprietary trading outfit on Wall Street – were already busy; an order from the previous day should’ve expired automatically, but didn’t. It was manually fixed moments after it was discovered.

“Huh,” Daniil shrugged, “I wonder if this has anything to do with the latest release.” They’d just rolled out a minor update to their proprietary trading system. Daniil had overheard his boss barking at a junior developer that they needed the feature in two days – testing, review, standard processes be damned. “Done” had a higher priority than “working.” Any objections raised by the developers were met with the same reaction you’d get from a dog after explaining the Pythagorean Theorem – blank, drooling faces.


More Randomer

by in CodeSOD on

John B. saw some strange code that prompted him to investigate.

Dim rNumber As Integer = 0
rNumber = RandomNumber(13, 1)
Select Case rNumber
Case 0
Me.hl_logo.ImageUrl = "~/sysimages/header.jpg"
Case 1
Me.hl_logo.ImageUrl = "~/sysimages/header2.jpg"
Case 2
Me.hl_logo.ImageUrl = "~/sysimages/header.jpg"
Case 3
Me.hl_logo.ImageUrl = "~/sysimages/header.jpg"
Case 4
Me.hl_logo.ImageUrl = "~/sysimages/header2.jpg"
Case 5
Me.hl_logo.ImageUrl = "~/sysimages/header2.jpg"
Case 6
Me.hl_logo.ImageUrl = "~/sysimages/header.jpg"
Case 7
Me.hl_logo.ImageUrl = "~/sysimages/header.jpg"
Case 8
Me.hl_logo.ImageUrl = "~/sysimages/header2.jpg"
Case 9
Me.hl_logo.ImageUrl = "~/sysimages/header2.jpg"
Case 10
Me.hl_logo.ImageUrl = "~/sysimages/header.jpg"
Case 11
Me.hl_logo.ImageUrl = "~/sysimages/header2.jpg"
Case 12
Me.hl_logo.ImageUrl = "~/sysimages/header.jpg"
Case Else
Me.hl_logo.ImageUrl = "~/sysimages/header2.jpg"
End Select