Posts filed under the 'Blog' category


SlySoft is dead, long live RedFox!

A week or so ago, the SlySoft website was suddenly replaced by a terse announcement that “[d]ue to recent regulatory requirements we have had to cease all activities.” I’m willing to bet that most of my readers haven’t heard of SlySoft or their main product, AnyDVD. In essence, AnyDVD is an app that circumvents the DRM present in all DVDs and Blu-ray discs, at the driver level. […]

READ MORE

Don’t configure Windows 10 with your Microsoft account unless you want a five letter name

A bit abrupt a headline, no? Well, it cost me a couple of hours by doing so. […]

READ MORE

Goodbye Dell XPS 13, hello Dell XPS 13

Last year, having tried out a Surface Pro 3 and disliking it, I bought a Dell XPS 13 ultrabook as my “travel” computer. This year? Well, Dell refreshed the range, added more memory and and a bigger SSD and suddenly I was looking at my 5-year-old Dell XPS 15z and thinking it was time to replace that. And what better way to replace it by having a single laptop that I used all the time? […]

READ MORE

Thinking functionally in JavaScript (part three)

In continuing this series of posts about functional JavaScript (one, two), I whimsically wondered if we could apply the SOLID principles of object-oriented programming. We took a look at S last time (the Single Responsibility Principle), and were fairly successful. The principle I introduced there was not only that the functions we write should do one thing and do it well. If we can embrace global immutability, so much the better (in other words, the function should not have side effects). Small functions of this type are also well worth writing since they help document the code via their names. It’s now time to look at O, the Open/Closed Principle. […]

READ MORE

Web development is not as much fun as it’s cracked up to be

Today so far has been a comedy of errors with some web programming I wanted to do. A confederacy of dunce issues, one after the other. […]

READ MORE

New option in JSLint for multiple var declarations

Yesterday evening as I was putting to bed a few changes to this blog’s JavaScript (that would provide fodder for my continuing series on functional JavaScript), I decided to update the version of JSLint I was using in Sublime Text. When I had done so, suddenly my JavaScript file produce a huge slew of warnings that had not been there before. Whaaaat? […]

READ MORE

Game on: jQuery each() vs. Array.prototype.forEach()

OK, so this afternoon I got bitten by an issue that has bitten a gazillion web developers (and will probably continue to bite more in the future). I’m talking about the syntax for the callback function that’s used for jQuery.each() versus that for JavaScript’s Array.prototype.forEach(). They are, dear reader, not the same. […]

READ MORE

Developers and adblockers don’t mix

OK, call me dense. I had a problem: the new theme I have for this blog has cute little buttons for the social networks I belong to and use; they’re at the bottom of every page. Internally they use Font Awesome to deliver the individual icons. On my desktop browsers: no issue, they look great. On my iPhone? What. The. Heck. […]

READ MORE

New year? Check. New theme? Check.

Over the New Year break, I decided it was time for a change here on the Algorithms for the Masses blog. Not necessarily a full-blown New Year Resolution, more a general feeling that the current theme was old in the tooth, had accumulated a whole bunch of cruft (and how!), and it was time to chuck it in the bin of history. Time for something clean, and, horror, responsive. […]

READ MORE

Revisiting Heap’s Algorithm in JavaScript

Back in March last year I presented an implementation of Heap’s Algorithm – an algorithm devised to generate all permutations of a set of items – in JavaScript. The article was interesting to write because in doing so I had found a bug in the pseudo-code on the Wikipedia page for the algorithm, which led to a discussion with the main editor for the page on how to make it better. […]

READ MORE