Showing posts from 2014

Lightweight web-based transactional systems

Reanimating a legacy system I have a set of data from an old legacy application that must be resurrected and web-enabled. The data was extracted from a relational database so it is structured in a conventional third-normal form, but the original application was pensioned off a long time ago, and probably a good thing too.
The user interface and its business logic must be rebuilt as a web-based transactional application so that the data can be accessible from a variety of devices, so I had to decide on a technology stack, but how? There are dozens of database systems, hundreds of software languages, scores of web-development frameworks, and more opinions about the matter than there are trolls on 9GAG.

The formal approach to making a decision would be to consider all the various technologies at each layer of the application stack and then weigh up the pros and cons of each.
A less formal approach would be to ask someone who has done this sort of thing before, like a grizzled Unix veter…

Installing CyanogenMod 10.2 on a Samsung Galaxy Note 10.1 tablet (N8000) for Software Freedom Day

From broken screen to crapware A couple of weeks ago I had an unpleasant on-line interaction with some troll that ended with my Samsung Galaxy Note 10.1 in a similar state to this one:
This is how much damage can be inflicted on an electronic device by jabbing it repeatedly with a rigid index finger. Learn from my experience.
After parting with a heart-stopping amount of money, I got the tablet back from the service centre with a new screen and a bunch of crapware because they "upgraded the software" as an additional service. 
I tried to uninstall some of these mysterious apps but they promptly reappeared of their own volition. Ironically, this happened on Software Freedom Day, which prompted me to think about the four essential freedoms in the Free Software Definition:

Freedom 0: the freedom to run the program as you wish, for any purpose.
I do not wish to run these programs at all. I have no purpose for them.

Freedom 1: the freedom to study how the program works, and cha…

Setting up a Dashboard using Bootstrap

Bootstrap dashboard I have a number of web-based tools to monitor and maintain the various devices and applications on my network. It would be very convenient to integrate the tools with an administration console hosted on a secured web server that will let me in from the outside but keep the script kiddies out. 

I decided to use Bootstrap to build a dashboard to do that. It is a front-end web development framework that was written by Mark Otto and Jacob Thornton at Twitter to standardize their development environment and share common design patterns and code. 
Why Bootstrap and not some other web framework? It was released under the MIT open source licence in August 2011 on GitHub, so you are free to download and use the code, modify it, and distribute it, as long as you respect the license terms; It uses HTML 5 which makes the site design very responsive irrespective of the form factor of the device, whether desktop or mobile;There are many free templates to get you going, and there…

Yes, Another Blog About Technical Things

Another blog?"A blog? Aren't there too many blogs?"

Absolutely. As of today, there are 188.7 million blogs on Tumblr, more than 70 million on, and nobody knows how many are on Blogger because Google keeps that a secret.

"Then why are you blogging?  Who is going to read yet another blog?"

Well, I never update my FaceBook page because I am not very sociable. I do have an account on Google Plus even though my son thinks it consists of tumbleweed and the lost souls of Linux administrators, and I occasionally post there, but the format does not lend itself to long technical posts.

I decided to blog for two reasons. Firstly, the notes I make while I wait for the kettle to boil get archived in the universal bit bucket of digital entropy on a regular basis, so a blog on a server owned by Google is a fine off-site disaster recovery site.

Secondly, the hundreds of millions of blogs out there host a rich seam of thought nuggets that help enormously when face…