Surveying the state of storage, where is the sweet spot in the market?

What has been a remarkable feature of the development in computer technology is the rapidly expanding storage capacity. In the marketplace we find many different types of storage from Bluray discs, USB flash drives, Hard Disk Drives, Solid State Drive to the old faithful DVD and CD optical media.

Which one do we buy? That all depends on what we need from our storage. Do we need fast read and write speeds or just a backup to store bits of our digital lives? Do we need convenient and lightweight storage media or do we need ones with more physical weight but with larger capacity? These are the questions that one needs to answer before deciding on which media to use for storage.

At the higher end of the market, people use SSDs (Solid State Drives) for storage which is a great improvement over the old mechanical hard drives. They don’t have the overhead of having to physically move read heads over spinning discs, but they can also fail in a relatively short time if the Operating System does not have built in support for it or for other reasons such as excessive heat, etc.

SSDs are great for improving the speed of a computer and they are very power efficient and more resistant to bumps and vibrations during operation. They have relatively high read and write speeds compared to mechanical drives, but they also cost a bit more. SSDs average around $A0.7 $A1  per gigabyte.

With SSDs, looking at current market prices, the cheaper per gigabyte prices can be had with drives in capacities around 500-512GB. It seems that with the smaller 120-256GB drives, the price per gigabyte is around $1 or more.

If you’re after slow storage, such as for archives, backup or general storage where speed is not critical, mechanical drives still offer unparalleled price per gigabyte capacity. External drives can be had for as little as around $A0.053 per gigabyte and capacities go from 250GB all the way to 4TB. For a little extra convenience, you can get portable ones (the ones that are powered by the USB bus) and they cost around $A0.079 per gigabyte (some more and some less).

For flash drives (USB sticks), the prices vary from around $A0.6 per GB for larger drives (32GB) to $A1 per GB for smaller ones (16GB).  Flash drives are great because they are convenient to carry and very light.

So for recommendation:

  • SSD get 512GB or more as the price seems to get cheaper with larger capacity
  • Desktop HDD get at least 3TB where the price per GB is cheaper
  • Flash Drives go for 32GB drives as they are quite economical.

Happy storing!


Fun and games compiling Bootstrap 3.1.1

Recently, after a long time just overriding the default Bootstrap styles, I felt the need to streamline my processes a bit.  The time has come for me to get my hands into compiling Bootstrap myself, from the source code. After reading the brief guide on how it could be done, I grabbed a cup of coffee and got into it.

Download the Source

First one needs to download and unzip the source file from the Bootstrap website and place it somewhere handy. I made a folder under “C:\Users\me\projects\bootstrap-src” on my Windows machine and “/Users/me/projects/bootstrap-src” on my Mac. Inside these folders (one at a time, not simultaneously), I unzipped the Bootstrap source files.

Inside the source files, there are many other files, but we are interested in only a couple of them,at this stage. The folder “dist” is where the compiled bootstrap output will go. Which means, if you compile Bootstrap, the CSS, JS and font output will go into this folder or directory.

Install Node JS

Before you can compile Bootstrap, you will need to install Node JS. It is an awesome JavaScript-based network application engine. If you’re interested in application development and you’re coming from a web background, you will need to learn Node JS.

Node JS can be installed several different ways. The easiest and quickest is to go to their website, download and run the installer for your platform. I downloaded these installers and installed node on both my Macbooks and on my Windows desktop computer. If you’re feeling a little braver, you can do a pull request from the nodejs repository on Github and compile it yourself from source.

Install Grunt-CLI

When node is installed, you need to install grunt-cli package using the Node Package Manager (npm). You should read more about npm switches and its other options here. While not essential right now, it will come in handy when you start to get into developing stuff with node. The command you should type is
npm install -g grunt-cli
This will install the command-line package from Grunt and the -g will make it available globally.

Once you have installed grunt-cli, open either the Command window or Terminal and navigate to the Bootstrap-3.1.1 directory and once there, you need to type
npm install

The command npm install will read a file called package.json inside the bootstrap source directory and install all required dependencies listed in the file. This is a nice and automated process so you can take a sip of your coffee while watching the output on your command line window.

Time to Grunt

Once you have installed all the dependencies you can now run Grunt to do the heavy lifting for you. Go to the Bootstrap-3.1.1 directory and just type
and it will compile a fresh-from-the-source-code version of bootstrap for you.

Mac Issues

On Mac, I have had some issues completing this process (errors),  mainly due to some Ruby components that needs to be installed.  I will save you a lot of time and hair-pulling  by telling you that if you’re using Mac OS X, you need to  install Xcode and especially the Command-Line-Tools first, as this will save a lot of headaches later.

When Xcode and the CLTs have been installed, you can proceed to install a couple of Ruby gems. The first one you will need is Jekyll. This will need to be installed by typing
sudo gem install jekyll
That will hopefully install Jekyll.  If you get no errors, you are good to go.  Proceed to the next step if you get errors.

If Jekyll install is not successful, you may or may not need to  update gem by typing
sudo gem update --system
and wait a few minutes while gem is updated. Once this is done, you can uninstall Jekyll and install it again, using the command in the previous paragraph. To uninstall Jekyll it is the same process as installing it, except you type “uninstall” in the command.

To see if Jekyll has been installed correctly, you may need to type “jekyll” into the command line to see if there is any errors. If you see any errors, you need to install json via gem. This is done by issuing
sudo gem install json
and it will install json for you.

Now you should be good to go with compiling Bootstrap from source. If you get other errors then maybe you need to ask Google, as by this point everything is working as they should on my machines. Good luck, now is the time to visit those LESS files in the “less” folder and play around with the “variables.less” file to get a custom version of Bootstrap.

Gmail mail fetcher is now more secure (not)

I have been using Gmail for a long time and one of the features that I enjoyed has been the ability to retrieve mail from other accounts automatically, which makes consolidating your various email accounts a cinch. Otherwise, you have to set up many different accounts on your mail client, if you have several accounts to keep on top of, like me.

Suddenly, during December last year, I noticed that this feature was not working anymore and I was not sure what was causing it. First I checked to make sure that my mail server had not caused the problem. After spending a bit of time looking through the server authentication log, I did not see any problems with the user credentials. A few head scratches later, I found the culprit in Gmail itself.

Apparently, there was a change in Gmail settings in the way it treats self-signed certificates. The accounts that I checked through Gmail are hosted by a mail server that I control, using self-signed certificates. It was fine for a while, but now Gmail thinks that no SSL security is better than using a self-signed certificate.

Considering how many CAs have been compromised lately, I feel that making people drop SSL encryption because their certificate was not signed by a registered CA is a little on the strange side.

Ubuntu on your phone anyone?


Yesterday, Canonical, the people behind the development of the popular Ubuntu Linux distribution for desktop and laptops made an announcement that they would be putting Ubuntu on phones later this year or early next year. This will mark a significant change in the development of Ubuntu Linux specifically and Linux in general.

While this is not as revolutionary as when the first iPhones hit the market, it is important to note that the release of Ubuntu for smartphones will be an interesting development in the market segment. Provided the user interface is of as high quality as that on iOS and Android, it can provide a significant alternative to not only iOS and Android devices, but also the range of Windows Phone devices that are fighting for market and mind share in this segment.

This may sound like a wild imagination, but a smartphone that would support multiple user accounts could be an interesting change from what is currently available. This could facilitate several spaces in which a user could run applications. For example, one space could be dedicated to running experimental software, another for running day to day smartphone tasks and yet another could be for running corporate applications for work.

What could also appeal to the developer community could be the mention of some sort of control of device configurations so that the market becomes more addressable. I am not sure how this might translate into reality, but I can see that the benefit of developing for iOS and Windows Phone is the limited number of screen resolutions and device configurations that a developer has to address.

This year will prove to be an interesting one for developers as the Mozilla Foundation is also readying their own Gecko-based phone.

My favorite Android apps

I have been an Android enthusiast since I got my first Android phone, the HTC Legend. Even though I am a big fan of Apple computer hardware, I have found that Apple’s iPhone and iPad a little less inspiring. As for smartphones in general, though, it is the apps that makes a platform useful and usable. I would like to list some of the apps that I use often. I will list them here, but not in any particular order.

  1. Facebook A lot of my friends are on Facebook so it makes keeping in touch and staying social an easy task. It has gotten a little faster since the last update, but it used to be infuriatingly slow, especially for photos.
  2. Facebook Messenger If a lot of your friends are on Facebook, there really is no point in finding out their phone numbers and then sending them text messages. Why not just use the Messenger as your text message replacement. It will also save you money if you text a lot, as long as your phone or tablet has a reasonable amount of data included per month.
  3. Chrome One of the things I really liked about Android was the ability to have your bookmarks synced across the different devices. Using Chrome, I can have my bookmarks synchronised across my Windows 7 desktop, Macbook Pro, Macbook Air, Android Phone and Android Tablet. I can discover an interesting resource while I’m on the move and I can bookmark it for reading later when I get home. The other thing I like about Chrome is its speed.
  4. Evernote Do you need to keep a note of things on a regular basis? Evernote is the application that I use on a regular basis to keep track of little tidbits of information. If there’s anything that is a little sensitive, you can also encrypt them for extra security. This app can keep text, recording, images and just about anything you throw at it as notes that get synchronised to all your other devices. I can write a shopping list on my Macbook Pro and then walk out with my phone to use the list which auto-magically appears on the Evernote client on my phone.
  5. Skitch Is a useful app for making diagrams, notes and other graphically-oriented notes. You can annotate images, screenshots or acquire an image using the camera. I have used it to explain concepts, create simple flowcharts, wireframes and other graphically-oriented tasks.
  6. StumbleUpon A perfect app for those who like to discover new websites. This app will take you to many different sites recommended by other uses in categories. All you need to do is create an account and pick your categories. It is much better in app form than as a browser toolbar.
  7. Autodesk Sketchbook Express If, like me, you like to sketch on the go or when inspired, you can use this app to create your sketches. It supports layers (like photoshop) and it has support for many different types of brushes. The only thing that it does not have is pressure sensitivity, due to the nature of the touchscreen on the devices.
  8. Astro File Manager Unlike IOS devices, Android devices have an actual file system, which is Unix-like in structure. Astro has a lot of tools to help you move, copy or organise your files on your device. It also has support for Samba shares, FTP and Bluetooth transfers through extensions.
  9. Barcode Scanner This is one of the basic apps to use for scanning barcodes and QR codes. There are plenty of them in the Google Play Store, but this is one of the better ones (ad free and no nagging).
  10. Google Drive I use Google Docs a lot for writing documents and sharing them with people. I use Google Drive on the go so I can read, edit and maybe write a little on my tablet or smartphone.
  11. Dropbox I use Dropbox to set my photos to upload as I take them on the phone. This is also a handy way to move files if you absolutely have to only use network connections.
  12. WordPress Wordpress is very useful for updating your WordPress blogs on the go. What more can I say?

The end of the netbook: it’s been here a while

hp 2133

The end of the netbook is already here. The Guardian has posted a nice piece here about the stats and the numbers pointing to the fact that the end for the computer format is already here. This question has been much discussed ever since the explosion of the market for consumer tablets, heralded by the birth of the first iPad.

When the first iPad was born in the marketplace, my main tool for working on the go was actually a netbook. I still own this netbook, an HP Mini Note 2133 with the VIA C7M ULV processor and its accompanying chipset. It was quite interesting that HP decided to use the VIA processor when everyone else was going the Atom route. This resulted in some interesting experience trying to install Linux over the shipped Windows Vista Business OS.

Overall, I found it quite frustrating to work on the small screen, cramped keyboard and the 3-cell battery (lucky to last more than two hours). Taking it to a cafe to browse on their wifi connection was quite painful at best, but luckily, or unluckily, the woefully inadequate battery life makes the experience quite short. I hardly ever tried to write articles or code on it as it did not give me enough working time away from the power point. This problem was somewhat alleviated by my splurging on an extra large battery (6-cell model).

I decided to replace this woeful machine with two different devices. One was a Macbook Air, which took care of all my writing and coding needs, while for other things, I got an Acer Iconia Tab Android Tablet. The tablet is an excellent tool for browsing, writing short emails or comments on blogs, updating facebook, and many other light tasks. It is quite easy to operate for short periods of time, but it also has the stamina to sustain a five to six hour browing or movie session.

I am not sure if I should have gone for an iPad to accompany my Macbook Air, but I definitely see a place for a tablet in my gadget bag. I did not choose the iPad at that time because I had an Android phone and I thought giving up Android’s configurability was not an option (maybe it is now?). I chose the Acer tablet because it had a MicroSD card slot, full-size USB slot (yes, I can plug in a portable HDD into it) and it was running Android.

So from a personal standpoint, the netbook certainly has had its day. I have not used my HP Mini Note 2133 since I got the Acer tablet and Macbook Air last year. Do you still use your netbook?


First day of 2013

First day of 2013. It will be an interesting start of the year, with many things already underway. There is the “fiscal cliff” issue in the US and there are a lot of other stuff going on in other parts of the world. Let me also say that the Mayans were not proven wrong, since they never made the prediction in the first place. So let this new year be filled with broken promises, wrong predictions and failed resolutions!

Jellybean update for HTC One X is finally here

A few days ago, my phone reported the availability of a software update for my HTC One X phone, on Virgin Mobile. It was a small update of 1.25MB. I applied the update, and yesterday, my phone reported another update which was the Android 4.1.1 update (Jellybean). Wonderful! If your phone reports the same update, I recommend doing it at home over wifi as the size of the download is quite large, at 360MB. Here’s a screenshot of the phone after the update.

2012-12-27 20.58.32

Dipping My Toes Into Mobile Development

Everybody seems to be developing apps these days. A lot of people I meet are all getting into app development, even if they were previously working in quite different areas from software development. I guess for me the attraction is that it is still a relatively new area to move into and that in some ways the learning curve can be reduced through using wrappers such as Phonegap (also known as Apache Cordova) to act as a translation layer between HTML and CSS based layout, JavaScript interactivity and the underlying phone hardware.

To get started you need Android Development Tool (ADT) Bundle from Android Developer website and the latest version of Cordova. Then follow the installation instructions and the getting started guide for Android. Depending on what kind of setup you are on, if you do not have admin access to run the command line, you need to follow the previous version of the getting started guide or read this post from Simon MacDonald.

Once you have everything installed, you might want to run the SDK manager from inside ADT to get other versions of the Android SDK. One thing, though, do not forget to during the setup to also follow the instructions for modifying the manifest file as skipping this step could cause your app to crash straight away on starting.

blogging about stuff and nonsense