Looking back at 2013, planning ahead for 2014

The year 2014 is almost here so it’s time to take a look back and make some plans for the coming year. In 2013 the blog was a bit more active than previous years and I managed to put together 13 articles as I last year promised. Not one article per month but on average :) So let's have a quick look what I wrote.

Looking back

The year 2013 in Rule of Tech was about programming and sysadmin stuff with a short visit to Fujitsu Forum 2013.

This year it was my third visit to Munich and Fujitsu Forum. With keynotes and breakout sessions the forum provided a view to human centric intelligent society and how the future might look like with technology trends like Internet of things. It was again nice to see other bloggers and the Fujitsu team, get some insights to ICT and not to forget the hands-ons with new LIFEBOOKS like U904 and T904 and new STYLISTIC tablets.

On software development I wrote on three main topics: testing, monitoring and documentation. In software development the code is one part but also it's quality and testing it are also essential aspects to make it great. I learned some new tricks with testing Java EE applications and wrote how to start on web application test automation with Robot Framework. I planned to write about how to actually write some test cases but didn't have the time.

It's also good to remember that "If you can not measure it, you can not improve it.” (Lord Kelvin) so I covered it with article about monitoring Java EE application with JavaMelody. JavaMelody proved to be very handy tool to do monitoring in different levels and was quite easy to set up. It can show information about e.g. CPU and memory, HTTP requests, SQL queries, Spring beans and REST calls. And it is said that the overhead is so low that it can be enabled continuously even in production environments.

To get things easily documented I made my first Maven plugin which generates HTML pages from Markdown syntax. It isn't yet on the central repository but I'm thinking on it. The source code is on GitHub.

As I have always wrote my blogs like they were my notebooks, I made short guides how to do stuff like transferring Linux install media to USB thumb drive and do a clean install of Windows 8 with an upgrade key. Simple things but things you often can't remember how to do. And although I hope I don't need to use JSF 1.2 anywhere anymore I wrote about patching RichFaces 3.3.3 AJAX.js for IE9.

On the sysadmin side I finally wrote about using PHP-FPM with Apache 2 on CentOS and howto set up LAMP stack on OS X. And as everything doesn't run on PHP I also played with WebLogic Server and wrote how to auto restart Weblogic Server with Node Manager as Linux service and how to use WebLogic Maven Plug-In for deployment.

I'm quite satisfied about the articles I managed to make and especially about Robot Framework and JavaMelody which have been helpful on many occasions. During 2013 I also moved the blog to new VPS provider and although there was also an idea to make a new custom theme, it didn't materialize. Maybe next year.

Planning ahead

For the coming year 2014 the plan, as usual, is to write approximately one article per month. Blog's draft folder has some items about JavaScript and charts, Munin plugins and general software development and some sysadmin posts but it will be seen if they mature enough for full posts. I will maybe also write something about Sailfish OS development and Sailimgur.

So subscribe to the RSS feed and stay tuned. And if you can read Finnish check also my other blog. Will the new year be better than the previous? Who knows, but at least you can try your best to make that so.

Happy New Year!

Transferring Linux install media to USB thumb drive

Optical drives are nowadays less common on laptops which makes making bootable install medias a little easier. Yes, easier by requiring you to use USB thumb drives. There are different ways to achieve what you want and here is couple of examples how to transfer Linux install media to USB thumb drive on Windows and Mac OS X.

First you need to download the install media of your choice as ISO image which you want to transfer to your USB thumb drive. In theory you need a media which is meant for USB thumb drive or is a Hybrid ISO image but practically all modern distributions' media are Hybrid ISO images.


Plug in the USB thumb drive and format it with FAT32 file system

Download UNetbootin and transfer ISO content to USB thumb drive using UNetbootin.

  1. Select Diskimage and click the ". . ." button to find and open the ISO file. Make sure Type is USB drive and the Drive letter is what your Windows detect and click OK. Your ISO content will be copied to USB thumb drive.
  2. Next you also need to copy the ISO file that you used with UNetbootin to the root of the USB thumb drive, e.g. the ISO file should be F:\linuxmint-16-cinnamon-dvd-64bit.iso

Now you can proceed to boot up the machine that you want to install with e.g. Linux Mint 16.


Creating bootable USB thumb drive in Linux is much simpler. You just need install media which is meant for USB thumb drive or is a Hybrid ISO image. With hybrid images, you can simply write the content of the ISO and make a bootable USB stick which can install Linux by using the 'dd' command.

You just need to have the ISO image and one command:

$ sudo dd bs=4M if=linux-image.iso of=/dev/sdX oflag=direct

Where sdX is the device where your USB thumb drive is, e.g. sdb. If your system doesn't support 'oflag=direct', you can just leave it out as it is simply intended to speed up the process a bit. If you leave the bs-option off the default will be 512 bytes and takes forever.

Mac OS X

OS X's DiskUtil can't burn ISO images to USB and gives "Invalid argument" but fortunately just like with Linux also Mac OS X makes things easy for you. You just need the install media which is meant for USB thumb drive or is a Hybrid ISO image. With hybrid images, you can simply write the content of the ISO and make a bootable USB stick which can install Linux by using the 'dd' command.

$ dd if=linux-image.iso of=/dev/rdiskX bs=8192

Where rdiskX is the device where your USB thumb drive is, e.g. rdisk1. You can see the device (disk identifier) from DiskUtility.app by selecting your USB stick and checking the Device section.

It's useful to notice that on OS X you can use the '/dev/rdiskX' device which stands for raw disk and is much faster than the block level device '/dev/diskX' which is buffered and where data undergoes extra processing. For example rdiskX gives "823132160 bytes transferred in 625.470137 secs (1316022 bytes/sec)" and diskX gives "823132160 bytes transferred in 1296.675998 secs (634802 bytes/sec)".

If you get an error e.g. "dd: /dev/rdisk2: Resource busy" then you have to make sure the Mac OS X isn't using it and thus unmount it's partitions. Open the DiskUtility.app, and on your USB hard drive, unmount any of it's partitions. Do not eject the USB hard drive.