Android version fragmentation needs fixing

If you own a smart phone, tablet, “phablet” or follow the tech industry at all, you will have heard this one word used over and over again in a ton of blog posts (including this one), news articles, and pretty much anything else you can think of:


In the context of phones, tablets, and the like, fragmentation is defined in a basic form as:

Fragmentation is the result of many generations of smartphones or tablets running various versions of the same operating system.

While fragmentation has been primarily used in reference to Android and iOS, it is also present in Windows, Mac OS X, and Linux operating systems, though it is not near as severe there as it is in mobile devices. Further, fragmentation does not occur solely in the core of an operating system (arguably the worst kind), it can occur to any form of software. For example, Niels Leenheer wrote an excellent article on Android web browser fragmentation.

Continue reading “Android version fragmentation needs fixing”

Possible move from

There is something I have been thinking about lately, and I would love it if you, my readers, would express your opinion on the matter. :)

As you may know, I recently celebrated four years on WordPress. This blog was some of my first real exposure to the Web. Though at times it has been hard for me to publish anything, I have blogged long enough that I feel guilty if I do not publish something on a consistent basis. I enjoy blogging and only wish I had more time to write out all my thoughts, observations, and experiences as primarily related to programming and website development.

Continue reading “Possible move from”

Notepad.exe in HTML5 and JavaScript

On the morning of 10 October, I tired of working on my capstone and had finished contributing a patch to an open-source project, I decided I needed a small, fun, project to quickly create as a change of pace. A few minutes later, either inspirational or pure randomness stuck: recreate Windows Notepad.

Continue reading “Notepad.exe in HTML5 and JavaScript”

WordPress – Load enqueued JavaScript in async or defer

Lately I have been working with WordPress, creating a complete website (even original theme) with it for my college capstone. Generally, things have been fair but there have been some things I have wanted to write a rant-y blog post about (but will not because I value my readers too much :) ). One of those things is loading JavaScript into a site.

According to the documentation, wp_enqueue_script is “the recommended method of linking JavaScript to a WordPress generated page.” So as a good developer I have used this for loading my JavaScript. Aside from the rather crazy parameter order and defaults, I was quickly irked by the inability to load scripts asynchronously. After much searching though the WordPress docs and various programming sites, I came across the following article which uses a simple hash to denote async scripts, use the clean_url hook to filter all external URLs for JavaScript files (although file extensions are only hints) and add the async HTML attribute. However, the function was a bit too naive and limited for my taste (what if I wanted to defer a script?), so I wrote my own function using the basic idea of that snippet, which is the topic of this article. :)

Continue reading “WordPress – Load enqueued JavaScript in async or defer”

4 years of Triangles!

Today is 13 of October, 2015. Today is a very special day, for today marks the four year anniversary of this blog! :D Well, actually yesterday marked the 4th anniversary, but I have never seemed to be able to get that date right, so one day late is close enough. :P

It has been quite a four years. In four years I have published over 200 blog posts, nearly 40 tutorials, and received over 50,000 views. I have written on topics from Python and JavaScript code snippets to observations on ethics and code styles, analysis of behavior on the Internet and Internet Explorer’s problem with vector graphics, to lighthearted examination of paradoxes and blown lightbulbs. Yes, in four years I have done quite a lot, and despite my regularly irregular posting schedule and super long times without activity, I continue to gain readers and occasional comments from people who enjoyed an article or had something to add.

It has been a great four years and I look forward to the next four (and beyond) years. I may not still be using this domain and WordPress in four years, nor may my writings be the same as they are now in style or topic, but I do know I will continue to write on whatever topics I write on, for it is something I enjoy and hopefully you enjoy reading.

So thank you, my readers. Thank you for giving me the motivation I need to continue writing. Thank you for reading what I write and commenting on the article with your thoughts and questions. Without your support I would not be writing (and you not reading) this milestone post. :)

Now to God be the glory for gifting me the knowledge, talent, and abilities to work and labor for His honor,


JS – Smooth scrolling without jQuery

You know what link anchors are, correct? They are used to jump between different sections of the same page. Quite often when a link anchor is clicked, the page smoothly scrolls to the desired location. However, smooth scrolling is not the native behavior. No, the native behavior for link anchors is to instantly jump between sections, which can be jarring and unpleasant. That is why many developers smooth it out using jQuery scripts like this one.

I too enjoy it when anchor links smoothly scroll, but for the last few months I have on a “jQuery fast” and it has severely limited my smooth scrolling options. Smooth scrolling is impossible to recreate with CSS transitions, I have had limited success using requestAnimationFrame, and fun scroll-to-top buttons like Elevator.js are not appropriate. I have really been in the dark on filling the hole left by removing jQuery.

Continue reading “JS – Smooth scrolling without jQuery”

Uncovering a super-persistent tracking cookie

This is why we cannot always have nice things in web development.

Like anything in web development, developers have a choice to make: do they use technology in a responsible, law-abiding manner or not? Do they write code and systems that are helpful and beneficial to the visitor or not? As much as I would like to see everyone using their talents for good, I know that does not happen. Who do you think black-hat hackers are and what they do?

Continue reading “Uncovering a super-persistent tracking cookie”