The NHL Has to Change

The NHL has been engaged in a battle against dangerous play for some time now, especially as the danger of repetitive head injuries has come to the forefront of sports consciousness. Brendan Shanahan has been doling out suspensions like candy, and it looks like he’ll be handing out two more just last night.

There’s a lot of argument about enforcers and fighting, and their role in cracking down on dangerous play. Shawn Thornton has famously opined about “The Code,” almost to the point of considering it to be a touch of chivalry in its own right. Thornton developed a bit of a credibility problem over the course of the last week, though.

Hockey is a beautiful game. Its penchant for bruising hits, its speed, its finesse, make it popular the world over – even where snow isn’t particularly common. The dangerous play we see in the NHL though, isn’t universal; USA Hockey, Hockey Canada, and the International Ice Hockey Federation rules all come down harshly on punitive hits and intimidation. In part due to the Olympic Ethos, there is no fighting in Olympic hockey.

Over the last several years, USA Hockey has instituted a “Standards of Play” initiative. This initiative has a defined goal of removing intimidation from the game, and bring a focus back to skating and stick handling skills. A number of penalties now carry automatic 10-minute Misconduct (or even Game Misconduct) tack-ons because they are always aggressor penalties, showing either a blatant disregard for safety or an attempt to intimidate an opponent.

That does not make it a lesser game, and the NHL needs to follow suit.


After a brief stint in Europe, former Houston Aero Jon DiSalvatore signed with the Syracuse Crunch. Growing up going to games at the Summit during their IHL games, I always had a soft spot for the Aeros even after the advent of my home town Texas Stars here in Austin. The two teams developed quite the rivalry until the Aeros moved to Iowa this year, and DiSalvatore was always right in the thick of it.

In 36 career games against Texas, he has posted 26 points (13 goals, 13 assists), including 6 power play tallies and a game winner. He has been a real Star-killer. While it’s good to see him back in North America, I’m more than a little relieved that he signed in the Eastern Conference; Texas won’t see Syracuse unless both make it to the Calder Cup Finals.


Regulators at the Food and Drug Administration said they are revisiting the safety of chemicals such as triclosan in light of recent studies suggesting the substances can interfere with hormone levels and spur the growth of drug-resistant bacteria.

The former concern is a new one to me; triclosan can affect hormone levels? Yeow.


I love Heroku, but for personal side-projects, this is just what the doctor ordered.


Christopher Buecheler:

I think the thing that frustrates me the most about it is: they’ll probably get a thousand applicants. A bunch of 25 year-old kids with a ton of talent and stars in their eyes are going to try to get this crap job for crap pay so they can work somewhere “cool” and feel like a part of something big.

This is a big problem in the industry, and not isolated to Penny Arcade. I turn down unsolicited offers from startups all the time simply because they promise that they’ll make up for the lack of decent pay by providing all sorts of “intangibles” and a great “work-life balance” and so on.

But it’s a big problem at bigger companies, too. Companies like Apple.


Melonie Dodaro at Top Dog:

Facebook is what I call a passive social network. Your success is always dependent upon waiting to gain page likes and then hoping and praying Facebook will actually show your posts to those who have liked your page.

I have yet to hear a single success story about Facebook marketing, whether through free ‘organic’ impressions or paid ads. I am privy to a lot of Facebook marketing regret, though.


Excellent roundup of git tips for cleaning up your repository. I routinely have to go behind developers (including myself) and amend and rebase commits that include proprietary information not for public release, or users’ passwords that other employees should not have access to.

Coincidentally, there’s a special level of hell reserved for when these are in a repository’s initial commit.


A great slide deck on what I do. Or, at least, did. There’s a new gig in my near future. I’ll be focusing more on the development side from here.


Luke Chadwick:

On sunday night I received an email from Amazon saying that they’d detected my Amazon key on one of my repositories. This was a little bit of a surprise, because I’m usually so diligent about not saving credentials into repositories.

Twenty cc2.8xlarge instances for two days came out to nearly $3500 in fraudulent charges.


PZ Myers:

When I’m browsing on my iPad, and I run into a site with OnSwipe enabled, I just abandon it. Nope, not worth the hassle.

A million times, this.


From Commodore himself:

[Head coach Scott Arniel] was jealous because he played a lot of years, he had a wife and kids and he felt he didn’t earn a lot of money so he booted me off the team.

Next he’ll be complaining about Arniel’s kids crying in the night.


The Guardian (and many other sources):

That must-have feature has been found: the latest version of 2K Sports’ flagship basketball series, NBA 2K14, penalises gamers for swearing. In real life.

If the game console hears you swear, that’s a T. Talk about immersion…


Conformation breeders claim they are improving the breed and yet they are often the cause of these problems. If “improvement” in looks imposes a health burden then it is not a breed improvement.


The Texas Board of Education has refused to approve a biology book by one of the nation’s largest publishers, pending an expert review of supposed “errors” on evolution.

Just when we thought this whole thing had petered out…


If you’re surprised by this, you haven’t been paying attention. BlackBerry, as a company, has absolutely nothing to offer anyone at this point. They don’t have any substantial short term upsides, long term upsides, or even any meaningful assets aside from a marginal patent library, and the industry is already becoming weary of patent battles.


Michael Daconta has an excellent breakdown of the management of the project. As he points out, the project failed despite using agile practices and that some parts – specifically the backend – were ill-suited to agile methodologies. I quibble a little bit in his taking exception to the use of “user stories” to define the functionality of backend systems (which don’t have “users”), as a “user story” doesn’t necessarily have to do with a human. Another automated backend system is, itself, a “user.” But I haven’t seen the user stories, and wouldn’t know if they were appropriate.

However, this stuck out to me like a sore thumb:

key interfaces (like verify income and verify citizenship) were designed as synchronous instead of asynchronous interfaces

“Synchronous” processes are generally handled first-in-first-out, and calling systems cannot continue in other tasks until they are handled. Think of a fast-food restaurant where you place your order and then have to wait at the counter for your meal, idly twiddling your thumb with a dozen other folks. You can’t really do anything else until your meal emerges from the kitchen, and if you disappear to the loo, you run the risk of someone absconding with your meal or, worse, the employees just chucking it if you aren’t standing there to receive it.

An asynchronous process is what you get a nice restaurant with a waiter. You have no idea what steps go on behind the scenes, you don’t really care, and you can go about chatting with your family or playing Words With Friends or running to the restroom or whatever, and the waiter will bring you your meal when it’s ready, or come find you if there’s a problem.

That the backend of is synchronous is flat out crazy talk.


Armando Rodriguez at Tech Hive:

Google somehow found a way to make Glass look even nerdier.

To say the least. Testing, Or Lack Thereof

I have been voraciously devouring every bit of information about the failures of that I can find, because all indications are that the companies involved did not follow anything approaching industry standard methodologies. And then I stumbled upon this, from Slate:

As late as Sept. 26, there had been no tests to determine whether a consumer could complete the process from beginning to end: create an account, determine eligibility for federal subsidies and sign up for a health insurance plan, according to two sources familiar with the project.

It has been said by greater minds than me, but write tests into your code. In fact, write test code before you write product code. This serves many purposes. First, it helps you arrive at a solution by guiding you until your test passes. Second, it prevents regressions by alerting you when you later change code that causes a failure.

I manage the continuous integration process for dozens of applications, covering hundreds of thousands – if not millions – of lines of code. Each time a developer submits a change, the entire app is built from scratch in a clean environment, it is automatically tested to within an inch of its life, and then – if and only if it passes those tests – it is deployed so that human testers can continue to test it. The automated tests range from integration testing to unit testing to application testing to UI testing. Before a human ever sees the code, it has been tested to ensure that internal functions behave as designed, it has been tested to ensure that interdependent code behaves, and UI test suites have literally punched every button in the application to make sure that it does what it is supposed to do. Tests run to make sure that remote resources, such as internet servers that deliver information to the application, are working correctly and that the application can talk to them successfully. Tests run to make sure that the application provides meaningful feedback to the user when errors occur.

And all of this happens every single time a developer makes a change. During active, full-throttle development, this entire process may repeat dozens, if not hundreds, of times per day. If a build fails, the entire team gets an email detailing the failure and assigning blame to the person who caused the failure. The build becomes “red,” and it is that person’s responsibility to make it “green” again – either by removing their changes outright, or by fixing the problem properly.

None of this is exactly rocket science, and I did not invent any of this. It’s standard practice across the industry. And yet, somehow, QSSI and CGI managed to make it 3 years into the development process before attempting any end-to-end testing? Madness.


From Lowering the Bar:

“I don’t know where that leaves you,” the judge told him, “but you’re still deceased as far as the law is concerned.”

If you go missing for 19 years and Ohio declares you deceased, you can’t just show up alive. Even if you are.


Apple asks, and answers, this question in every product they make. They’re usually right, but have their missteps, certainly. However, I would argue that their competitors don’t even acknowledge that this is a query, much less attempt to address it.


This has proved immensely helpful.