Why I put stickers on my laptop

I’m not the kind of person that is into ‘stickers’.

I used to be, but then I advanced to second grade and left them behind.

I don’t even do bumper stickers. And it has been a long time since I even had a pot sticker.

So it is out of character for me to stick things on my laptop, but I just did.

Here’s the thing. I’ve been heavily using some open source technologies lately. And I have developed a certain fondness for them. In fact, I am so fond of them that I want to advertise them. So I put stickers on my laptop.

laptopstickers

console.what?

I recently had one of my most embarrassing moments as a web developer. I was working on a full-stack app for a customer and during the initial mock-up review they told me that nothing worked.

That’s a pretty strong statement, and initially perplexed me because the site looked great on my computer. I asked the standard, “What computer, what browser” question.

Windows 7
IE 9

Ruh roh. I hadn’t done any IE testing for my mock-up. I was new to Angular and suddenly had this fear that it wouldn’t work at all on IE9.

So I fired up www.browserstack.com and started testing. The customer was right, as always, and nothing worked. So I opened the Dev Tools to see what was going on.

Everything started working. What just happened? Had I shamed IE into working?

Nope. Turns out that IE doesn’t create a console object unless the Dev Tools (and console is part of this) are actually open. So when it is processing the Javascript and tries to do console.log() there isn’t actually a console to log to so everything fails.

Of course, since your console isn’t open and doesn’t exist you can’t see this error message.

DOH!

You can wrap your console.log in try catch statements, or do as I did and use the Angular $log service.

Lesson learned.

ng-currency

An Angular directive I have been using a lot recently is ng-currency. It formats inputs as currency and also adds min and max validation.

If you’re using bower, install is as easy as

bower install ng-currency --save

An example usage is

<input model="yourModel" ng-currency max="1337" min="1" type="text" />

where the max and min validations are optional

VHDL

VHDL describes hardware.

Javascript does not.

Mixing the two is making my brain burn.