Programming is a game with an inventory
An excellent game about managing inventory. And the occasional dungeon. Via In some video games, the player has an inventory – a set of virtual items that he/she possesses in the game world. Just like...
View ArticleEnd-to-End JavaScript Testing is Easy (the minimal way to do it)
It’s not actually that hard to automate browser testing! Let’s dive in. We won’t use any obscure or (relatively speaking) bleeding-edge technologies here; just the basics. We’re trying to strip out all...
View ArticleHow does GetTickCount work? “Use the source, Luke”
The other day, a coworker mentioned that he wasn’t using high resolution timers on Windows because he heard “they caused clock drift”. His statement struck me as odd. Why would checking the time change...
View ArticleUse the source, part 2: QueryPerformanceCounter
Last time we went “source diving” into GetTickCount. Now let’s try something a bit more complex: QueryPerformanceCounter. Here’s the assembly listing: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20...
View ArticleThe Best Way to Keep a Toilet Clean
It’s Friday night. Let’s talk about toilets. “The supreme art of war is to subdue the enemy without fighting.” ― Sun Tzu, The Art of War The first hits I get for “The Best Way to Keep a Toilet Clean”...
View ArticleDeath by a Thousand Cuts
Death by a Thousand Cuts I was recently playing around with mail merge on Google Docs at home, because Tuesday is my skip day for work-life balance (ok, really, I don’t have a good excuse). I used...
View ArticleThings you might want to know about D3.js
Like jQuery, the interface is method chaining, except when it isn’t. You can do this, for example: .bwp-syntax-wrapper li {white-space: normal;} 1 d3.selectAll('p').style('color',...
View Article1 sorta-hot tip for investing in index funds
It’s well known that index funds often perform better than more, ahem, actively managed investments. But which index fund is the most index-y of all? SPY only covers the S&P 500, which is only the...
View ArticleRambling about digital privacy
The EFF has a great guide on protecting your privacy. One of the things they go over is Threat Modeling. A lot of people are thinking about the NSA lately, but frankly the NSA doing NSA things can get...
View ArticleWhy doesn’t [“a”].map(String.prototype.trim.call) work?
(This one twisted my head in circles even after I read the explanation twice, so I’m writing it all out.) In JavaScript, you can write this: .bwp-syntax-wrapper li {white-space: normal;} 1 2 3...
View Article
More Pages to Explore .....