Showing posts from November, 2014

Personal website update: one page for everything

I have just updated my personal website again at Instead of using multiple subpages, I now moved nearly all of my HTML code into one big file, and the individual divs are shown dynamically using JQuery. The result should be a smoother experience for visitors.

Why does Google do a staggered rollout for new Android versions OTA?

Okay guys, rant time again. This time it's in response to all those annoying Google+ posts by people impatiently whining about why they didn't get the over-the-air (OTA) update for Android 5.0 Lollipop yet.

This is a topic that has been no-doubt beaten to death already by bigger, more established Android blogs and news sites, but it doesn't hurt to repeat it.

Android follows a staggered release model for new versions. This means that a certain small percentage of users will get the update first, followed by a somewhat larger portion, followed by another larger portion, etc., until everyone has it. This is done as a quality control measure on Google's part: if a serious bug is in the OTA update, it's preferable to have only a few of your users affected by it and submit a few bug reports (so it can be fixed before you continue rolling it out), as opposed to everyone being affected, getting mad, flooding you with bug reports, and losing respect for the quality of your…

Phone scammers?

I got a phone call earlier today while it was just me, my brother, and our cat Shimmer at home. I picked it up and the woman on the other end of the line asked, "is this [first part of my email address]?" I answered yes, and asked what this was about. She proceeded to say that she was from a "debt collection agency" to reclaim my debt on my Capital One account, and asked which form of payment I would like to make.

This raised some red flags with me:

These people know both my house phone number and the first part of my email address (which was how they chose to address me, instead of by name)No name for the agency was givenA payment option was immediately given without much in the way of explanation, not even how much the debt supposedly wasPerhaps the most telling, I've never had a Capital One account and I still don't I wasted no time in telling her the account was non-existent and she was trying to scam me, then abruptly hung up. Hopefully that gets the me…

My first Chocolatey package!

In my Computer Architecture and Assembly Language class at LTU, we are making X68 assembly language programs using an open-source 68000 IDE and simulator called EASy68K.

I have been having a lot of fun with Chocolatey lately. If you're unfamiliar with it, it's a package manager for Windows. In fact, its technology will be included in Windows 10 as part of the OneGet package manager installed by default, so it's probably not a bad idea to get acquainted with it now on your current Windows system. For people like me who like the convenience of package managers like apt-get on Linux, this helps us feel a bit more at home; it means we no longer have to manually download, install and update programs ourselves if a package is available!

I decided to create the easy68k package and submit it to the Chocolatey Gallery by following this handy tutorial I found on another blog. The link to it is here, but it's currently still awaiting moderation since I just submitted it and won&#…


I recently finished another assignment for my Intro to Bioinformatics class at LTU. This one is a Python 2.7 program which uses dynamic programming to perform semi-global alignments on genetic sequences. The algorithm used is based on the Needleman-Wunsch algorithm.
An illustration of the Needleman-Wunsch algorithm from Wikipedia.
I find the most interesting part of my solution is that it generates its output as an HTML file with embedded JavaScript. This shows both the dynamic programming table used to generate the alignments, as well as the alignments themselves. The program will ask if you want to open it in your web browser, where you will also see a button to print the output if you want.

This code is not without its problems, especially given that I was short on time when I made my submission. It might have some performance issues, especially on longer input sequences. The alignments might scroll off the right side of the page. There doesn't seem to be any serious bugs though…