As developers we have loads of collaboration tools. Issue tracking, source control, requirements management, work items, design tools and code - they all have a place for comments.

I'm a bit overloaded with places to write formal English documenting a project's history.

When I first saw a TFS "Team Room" I read it as "Tea Room".
"Genius!", I thought, "a place for team members to chat informally".
It turn's out it's actually "
an area for fostering and capturing communication among team members, both near and far".
Oh. That explains why I can't find a download Garibaldi button.

  •   Posted in: 
  • Fun

Visual Studio extensions

COBOL is top of the "popularity" list? Really? COBOL?

I guess "featured" trumps "sort by".

It's a shame there's not a "sort by nostalgia", they'd totally win that category.

Lifewin's habit list

Lifewin's "habits to success" list (and, no, I don't know how I ended up on that site either).

  •   Posted in: 
  • Dev
The term "cheatsheet" is quite common with developers and refers to a summarized reference guide. Fast, common and re-usable references are good process and good process isn't cheating. Perhaps "nanoguide" or "nanodoc" would be better a better term.

Anyway, that's language for you. Most telephones don't have a "dial" either, but we still use "dial" as a verb.

I keep some of my cheatsheets as markdown files in a Visual Studio project which I import into my solutions.

  •   Posted in: 
  • Fun

In an attempt to buffalo Buffalo buffalo Buffalo buffalo buffalo buffalo Buffalo buffalo, and develop SteveB's developers, developers, developers, I present equals, equals, equals.

Simple misconceptions about some Javascript operators containing equals:
  • Not equals equals equals equals equals equals
  • equals equals equals equals equals equals
  • equals equals equals equals equals
  • equals equals equals equals
Equals equals equals, equals equals, equals and not equals equals are different operators.

That's twenty eight "equals" in a row. I could have squeezed in a few more, but as 28 is a perfect number I thought I'd stop.


I'm a mathsy software developer, consequently logic is pretty important to me. Logic acts a vaccine against bad arguments and, as we're often exposed to ludicrous arguments, it's a pretty useful vaccine too.

For example we see these sorts of arguments when discussing climate change:

Some global warming is because of changes in the sun's output. The earth is warming. Therefore the warming is because of changes in the sun's output
Climate change can cause extreme weather events. There exists an extreme weather event. Therefore there is climate change.
If we can't get discussions past these sorts of syllogistic fallacies then how are we to get on to the more subtle, interesting and important debates? The interesting questions are hidden when we muddle "some" and "all".

I believe that most of us can see the errors inherent in the arguments above (although we might choose to ignore the errors if they confirm one of our existing biases), so why do these sorts of arguments exist? Internet comments and trolls. That's why.

Perhaps our web browsers should validate our text against valid syllogisms before allowing posting. This sounds like a hellish machine learning problem, but I look forward to the day when I have red wiggly underlines for spelling, green for grammar and (say) blue for whether the thing I'm writing actually makes logical sense!

Until then Stanford is running an introductory logic course on the Coursera MOOC at the moment.