Recent Articles

Jan 2025

Brushing Up

by in CodeSOD on

Keige inherited some code which seems to be part of a drawing application. It can load brush textures from image files- at least, sometimes it can.

static public Brush GetImageBrush(string serviceCode, string imageName, string language)
{
	Brush BorderChannelGroupBrush;
	BitmapImage image = null;

	int point = imageName.LastIndexOf('.');
	string languageImagename = imageName.Substring(0, point) + "-" + language + imageName.Substring(point);

	try
	{
		image = FrameWork.ServicePageImageUrlOnContentServer(serviceCode, languageImagename);
	}
	catch { }

	if (image == null)
	{
		try
		{
			image = FrameWork.ServicePageImageUrlOnContentServer(serviceCode, imageName);
		}
		catch { }
	}

	if (image != null)
	{
		BorderChannelGroupBrush = new ImageBrush(image);
	}
	else
	{
		BorderChannelGroupBrush = Brushes.White;
	}
	return BorderChannelGroupBrush;
}

The Whole Thing

by in Representative Line on

David was integrating a new extension into their ecommerce solution, and found this un-representative line:

$this->model_sale_manageorder->exportOrder(substr($selectid,0,strlen($selectid)-1));

Irritants Make Perls

by in CodeSOD on

Grün works for a contracting company. It's always been a small shop, but a recent glut of contracts meant that they needed to staff up. Lars, the boss, wanted more staff, but didn't want to increase the amount paid in salaries any more than absolutely necessary, so he found a "clever" solution. He hired college students, part time, and then threw them in the deep end of Perl code, a language some of them had heard of, but none of them had used.

It didn't go great.


Not Impossible

by in Error'd on

Someone online said we run a Mickey Mouse outfit. Angered beyond words, we consulted [email protected] and they threatened to find that guy and sue him. So to anyone else who thinks this column is Goofy, you should know that the world's definitive authorities insist that it absolutely is not.

But these guys? This website actually is kind of goofy, according to resolutioner Adam R. who crowed "Someone forgot to localize some text for the new year!"


Crossly Joined

by in CodeSOD on

Antonio's team hired some very expensive contractors and consultants to help them build a Java based application. These contractors were very demure, very mindful, about how using ORMs could kill performance.

So they implemented a tool that would let them know any time the Hibernate query generator attempted to perform a cross join.


My Identification

by in CodeSOD on

Bejamin's team needed to generate a unique session ID value that can't easily be guessed. The traditional way of doing this would be to generate cryptographically secure random bytes. Most languages, including PHP, have a solution for doing that.

But you could also do this:


Generate JSON

by in Representative Line on

Today's anonymous submission is a delightfully simple line of JavaScript which really is an archetype of a representative line.

$json = "{";

Mr Number

by in CodeSOD on

Ted's company hired a contract team to build an application. The budget eventually ran out without a finished application, so the code the contract team had produced was handed off to Ted's team to finish.

This is an example of the Ruby code Ted inherited:


Monkeys

by in Error'd on

Happy 2025 to all our readers. I can already tell this year's columns are going to be filled with my (least) favorite form of WTF, the impossible endless gauntlet of flaming password hurdles to jump over or crawl under. Please comment if you know why this week's column has this title and why it doesn't have the title Swordfish.

Peter G. starts off our new year of password maladies with a complaint that is almost poetic.
"Between desire and reality.
Between fact and breakfast.
Between 8 and -6:00.
Madness lies, lies, lies..."


intint

by in CodeSOD on

Ash's company outsourced to an offshore vendor.

This is an example of what they got back:


Y2K25

by in Editor's Soapbox on

Twenty five years ago today, the world breathed a collective sight of relief when nothing particularly interesting happened. Many days begin with not much interesting happening, but January 1st, 2000 was notable for not being the end of the world.

I'm of course discussing the infamous Y2K bug. We all know the story: many legacy systems were storing dates with two digits- 80 not 1980, and thus were going to fail dramatically when handling 00- is that 1900 or 2000?