Teaching Programming

by in CodeSOD on

Gracie had a friend who was interested in becoming a teacher. To get admitted into a teaching program at the local university, the friend needed to take an admissions test, to prove they were teaching material.

Said friend tried to retrieve their test results, and the page glitched out. Gracie, who was handy, offered to see if she could identify the problem- likely an ad-blocker extension or something was breaking a script. A few minutes in the browser debugging tools, however, showed that the script came pre-broken.


Easy Reader Version

by in CodeSOD on

Ensuring you code is readable is arguably one of the most important things you can do after ensuring it is correct. The real question is: readable to whom? Because apparently, some people have odd ideas about readability. Like Evan's co-worker.

/* dlgAdvanced.vb */
Me.btn1.Text = "Yes to All"
Me.btn1.DialogResult = Windows.Forms.DialogResult.Yes And Windows.Forms.DialogResult.Ignore ''Easy Readability, but the real value is 4 (DialogResult.Retry)

Supernatural

by in Error'd on

I read your minds today, and what I saw there said you're all desperate for more Error'd. Lucky you, here's a twofer from LinkedIn!

Prospective employee Progenitus opened an email and reflected "Yes, LinkedIn I am asking that myself. But I hoped you would help me find out about that."


Default Actions

by in CodeSOD on

Bleu supports a Pimcore-based PHP site. Pimcore is a rather sprawling enterprise system for PHP. Like many Model-View-Controller type frameworks, maps HTTP requests to actions on controllers. Bleu's team has several "default" actions configured on their controllers. Let's take a look at a few of them.

public function searchAction()
{
  // TODO: replace with actual search
  // instead of static page showing all important subpages.
}

A Single Bug

by in Feature Articles on

Matt's team had a party after their last release. It was a huge push, with tons of new features, that came at the end of many months of work. On the Monday after the party, they came back into work for unsurprising bad news: nothing is perfect, so there were several issues and defects that needed to be patched, quickly.

Since QA is the team responsible for signing off and approving any work, QA is the team that also owns the defect tickets. Matt and his team can't do any work without a ticket, which meant they spent almost an entire day knowing there were bugs to fix, but without any idea of what bugs to fix.


Picking Your Consultants

by in Feature Articles on

Inilock started making locks back in the 1880s, and has always had a conservative approach to changing things about how locks work. But the world has moved on, and the pin-and-tumbler has given way to RFID card readers and electromagnets.

Since Inilock didn't have the internal expertise to build industrial locking systems for commercial customers, they did what any company would do: they hired highly paid consultants. The project started in 2018. These consultants went out and build a lock firmware platform, a server, and a homegrown TCP protocol to handle configuration and setup, handed it in late and over budget, cashed their checks, and vanished, by 2022.


Roll On Menu

by in CodeSOD on

Mike was refactoring an old web application written in Perl. We joke about Perl being a "write only language," but the original developer wanted to take that unreadable attitude to the JavaScript front-end portion of the application.

function setup() {
  position('m1',46,220);
  position('m1g',33,200);
  position('m1c',33,200);
  position('m2',46,330);
  position('m2g',33,310);
  position('m2c',33,310);
// ... snip 50 lines
}

[ insert title here ]

by in Error'd on

This week we received a plethora of failed text substitutions. I'd like to find a pithy name for this sort of error; suggestions in the comments here will be welcomed.

But before we dive into those typical errors, repeat contributor Valts S. has shared a classic blunder: "White text on white background. Who among us hasn't done this in our lives? :)"


Archives