"A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects." (Robert A. Heinlein)

Tuesday, 25 December 2012

Saturday, 22 December 2012

What about Alice? (Alice 3.1)

Among the many things changed since a left i.ph for Blogspot I noticed how some old posts I had almost forgot have been somewhat “revived” in visitors interest once moved on the new platform. One of the posts is more or less regularly tapped is the one about Alice a Java-based educational software meant to teach kids programming. I so got curious and went back to Alice home page in order to see if any upgrade was available.

Alice 3.1

Installing Alice 3.1 is simple matter of starting the self-installing script downloaded.
sudo Alice3Installer-Online-
the installation wizard guides through a very simple installation process where, apart from various “I agree” and “Forward”, the only real option available is the choice of the installation path.

Friday, 23 November 2012

Blog-Birthday Four

One more year of blogging passed. It has been a year a bit troubled by the shut down of my old provider (i.ph) and the passage to Blogspot. The platform change brought to an inevitable loss in visits but my will to blog my experiences is still the same. So thanks to all my visitors and ... Stay tuned!

Tuesday, 13 November 2012

Android programming : Exploring sensors

Sensors are one of the the things that make mobile development different, and interesting, from the programming of our desktop computers. Modern mobile devices with their combined capabilities of communicating, imaging and sensing surrounding environment looks more like a pocket version of a artificial satellite than a desktop computer. This is why, after initial hello-worlding, the first thing I've been looking for in the 'net has been how to read sensors in an Android application. I got several examples like here, all showing how to read a single sensor. I decided so to make more interesting these basic examples in order to build a simple user interface able to discover and read available sensors on a device.

The user interface design

After reading about sensors on Android worked I refined my idea on how the user interface: a selector (also known as spinner) on the top filled with available sensors list, some details on the selected sensor just under the selector and sensors values updating on the bottom.
User interfaces (activities) layout is defined, in Android programming, trough a XML file. Eclipse Android development plug-in provides a handy graphical user interface to arrange activity layout. It worked for me well enough even if I went to manual XML editing a couple of times just to make things a little faster. Eclipse plug-in also provide a lot of useful warnings, to a beginner like me, like reminding not to place hard-coded strings in your interface. By the way here is, at last, my interface definition.

Friday, 26 October 2012

Test Drive: Ubuntu 12.10 “Quantal Quetzal” on the EEEPC

Ubuntu's upgrade season at last arrived. I must say I haven't paid a lot of attention, this time, to the new release (I even missed the beta release date) and to the endless discussions that usually follow any new version. By the way I downloaded Ubuntu and prepared my old 1GB flash drive in order to give it at least a look.

First impressions

The boot time seems good even with the increased disk image size (and my slow flash disk drive). Here is how the new release looks, just after the boot.

Wednesday, 24 October 2012

Upgrading to Ubuntu 12.10 “Quantal Quetzal” (on the Veriton S661)

The upgrade season arrived at last. As soon I got enough free time, last week-end, I started the upgrade process on my desktop computer.

Doing the upgrade

At first, since the installed version was a LTS one, I had to enable notification for any new versions in the “software sources” configuration.
after that the update manager activated the “Upgrade” button

Saturday, 13 October 2012

Android Development on Netbeans (and the EEEPC)

In my previous post I moved my first steps in Android development world by installing Android SDK and Eclipse IDE on my desktop computer. After successfully writing my first Android hello-world I went, almost immediately, on how to do Android development on the EEEPC 900. If it's true the desktop computer is much more suited for writing code it's the EEEPC tho one I always bring with me and I use for my experiments.
I'm a big fan of Eclipse and I use it everyday at work but, when it comes using it on a netbook, it performs very poorly. Worst of all some Eclipse configuration windows are too big to fit into the small EEEPC screen and even lack of scroll-bars. This is why I use Netbeans on the EEEPC. After a brief looking-up on the 'net I came to NBAnroid plug-in page.

Installing Netbeans to 7.2

Even if it isn't required I decided to upgrade my Netbeans installation to the latest 7.2 version. I so removed previous version by launching Netbeans removal script
sudo /usr/local/netbeans-7.1.2/uninstall.sh
then I downloaded latest Netbeans version from its download page and launched the auto-installing script
chmod +x netbeans-7.2-ml-javase-linux.sh
sudo ./netbeans-7.2-ml-javase-linux.sh
this started the usual Netbeans installation wizard 
after some “I agree” and several “Next” I got the new version installed.

Installing Android SDK

Like in my previous post I downloaded Android SDK from Google's page and extracted it on my home folder
mkdir android
mv Downloads/android-sdk_r20.0.3-linux.tgz android/
cd android/
tar -xf android-sdk_r20.0.3-linux.tgz

Saturday, 29 September 2012

The many steps of an Android Hello-World

As I promised on my last post, I couldn't resist not to write at least a hello-world application on my new phone. I went so through the, a bit long, task of installing the Android developer tools and writing my first program with it. I followed, step-by-step, instructions provided from Google Android SDK how-to pages. As a start I installed on my desktop computer but, soon, I'll try installing Android SDK on the EEEPC too.


The first step I took has been, of course, installing Eclipse IDE, a quite plain install from the software centre apart from some compatibility problem with Oracle Java 7. I had to revert to OpenJDK as default JVM in order to make Eclipse start.
The second step has been downloading and extracting Google's Android SDK. I though, at the beginning, about installing on a system folder like “/opt”, until I discovered that Android's Eclipse plug-in takes care of downloading and upgrading files on the SDK folder. I so went back to installing it on my home folder since running Eclipse as root user every time you have to do an upgrade is far from being advisable. By the way installing the SDK has only matter of extracting the downloaded file:
tar -xf android-sdk_r20.0.3-linux.tgz
Then I started Eclipse and selected the “Install new software” option from the “Help” menu opening the plug-in installation form. Here I added Google plug-in update URL (with the “Add...” button) and selected all the “Developer tools” items.

Sunday, 9 September 2012

New toy on the desk: LG L3 Optimus E400

I'm not easy at changing my devices, unless they stop working. This time I did sort of an exception and after only a little more of two years I decided to change my (still doing its job) Nokia 5800 XM. Android phones always attracted me, since I first heard of Google promoting this new operating system, but price kept me from buying one since now. After having a look at the (not many) low priced models available here in Genoa my choice fell on the LG L3 Optimus E400. The phones I evaluated had roughly the same features and price so, at last, had been the plain metal-black design of the LG phone that triggered my choice. I'm not usually design-driven in my choices but when design is the only difference ...
By the way the new phone does all the old phone did even if the camera quality is far from what the old Nokia had. Is not new that thin bodies and good lenses are things that hardly go well together.
I'm not going to become a mobile developer tomorrow but ... be sure I'll post some hello-world in android as soon I'll find the time.

Wednesday, 29 August 2012

Photo slide-shows on Linux: Imagination

As soon as Summer comes I find myself juggling with hundreds of digital photos, taken during trips, holidays, picnics and other “Summer activities”. This amount of pictures needs a handy way to be shown and distributed to relatives and friends without becoming too boring. Since the first time I bought a DVD writer I started producing short slide-shows videos showing my photos with some transitions and some background music. I used doing it using an old Windows program but, since I upgraded my desktop computer I decided not to re-install that old program and producing my videos entirely using Linux.


Imagination is a simple program dedicated to producing video slide-shows. It can easily installed from Ubuntu's software centre. Once started the program shows a very intuitive user interface with a film strip on the bottom, a preview area on the left and current slide details on the right.

Tuesday, 14 August 2012

Arduino: playing with LCD displays

My experimenting with the Arduino board is continuing even if I'm not gone so far from trying provided example sketches. That's why I'm writing so little about it. I recently got a couple of LCD display modules based on the Hitachi HD44780 chip, that is the most widely used character LCD standard.

Setting up the circuit

Connection the Arduino to a LCD display module is quite easy, four wires carry the data while two more (Enable and R/S) handle the control signals. Of course you can use the Arduino digital pins you prefer to carry the task but using pins 5,4,3 and 2 for data signals and pins 12 and 11 fro R/S and Enable pin respectively will let you test the provided examples without modification. Apart from connecting wires the only extra components needed are a couple of trimmers (small variable resistors) for LCD contrast and back-light intensity adjustment. Here how the whole circuit looks like (not different from what you can find on Arduino site examples.)

Thursday, 26 July 2012

Developing Gnome 3 extensions (on the EEEPC)

When I decided to install Linux Mint on the EEEPC 900 I was, among other things, particularly interested by the hidden flexibility of Gnome 3. Linux Mint interface MGSE proved Gnome 3 being far more flexible and configurable than I would ever imagined by seeing it at first. At last I managed to find some time to give a look on how Gnome 3 extensions are written. There are many sites on the Internet about developing Gnome extensions I based my experiments mainly on articles on this blog.

Hello-worlding” in Gnome-Shell
A command-line utility “gnome-shell-extension-tool” is provided to prepare all files needed in a gnome-shell extension. Once executed:
gnome-shell-extension-tool --create-extension
it asks for the extension name, “helloworld” in my case, some descriptive info and the extension unique identifier. This identifier can be any string but it takes the following mail-like form: <extension-name>@<your-name>.<your-address>.
By the way my extension identifier was “helloworld.musante@EEEPC900”.

Friday, 15 June 2012

Test Drive: Linux Mint 13 “Maya” on the EEEPC 900

I know I'm unforgivably late but, at last, I managed to give a look to the latest Linux Mint release running live on my EEEPC. I've been a bit busy in this time bu the truth is also that I'm quite satisfied with my Mint 12 installation so I'm not really eager to upgrade. On the other side I've been positively impressed by new Mint's desktop environment, Cinnamon, and I was curious seeing it on my netbook computer.

First impressions

As usual, I downloaded Mint 13 disk image, using bi-torrent protocol, from Linux Mint download page and prepared a bootable USB disk using Ubuntu's disk preparing utility.
After a relatively fast boot (for a live version) here is how Mint 13 appears.

Saturday, 2 June 2012

Choosing the desktop ...

Since I bought the new desktop computer I planned testing some desktops, among the many available for Linux, to experience with the different interaction ways they offer and to choose the one I felt more comfortable. My previous hardware poor performances limited me on using only light-weight desktops (I used XFCE). XFCE is a honest and robust desktop indeed, but I felt someway limited provided programs like, for example, Thunar.


I'm not a Unity fan but I have to admit that it's a great desktop for beginners. My wife started using Unity (2D) on the old computer and she found it easier to use than XFCE. I so decided to install Ubuntu from the beginning on the new computer in order to make her preferred interface available in the shortest time.

Tuesday, 15 May 2012

New toy on the desk: Acer Veriton S661

Apart from the subtle pride of installing latest Linux releases on a six years old computer I have been feeling the need of a new desktop computer since some years. So, at last, I decided to buy a new one. Not so very new to be honest: I got it at a surplus fair, here in Genoa, where I go twice a year, and they told me it has been used only for “exposition purpose”. It must be true because its interior is almost free of any dust and we all know how is difficult to keep dust out of our computers.
The Acer Veriton S661 is a office targeted compact desktop: with a dual core 2600MHz processor, 1GB RAM and a 250GB hard disk. It could be better, especially on the RAM side, but there is time for expansions in the years to come. The compact case saves some space on my crumpled desktop (the Sempron 2400 was a mid-tower) and I needed this more than the improved performances. The case is well organized inside, in spite of its compactness and can even be opened without a screw-driver. Last but not least, it's wonderfully noiseless.

Tuesday, 1 May 2012

More Mint 12 tuning on the EEEPC 900

After installing Linux Mint 12 on the EEEPC and fixing some immediate post installation issues my netbook has been working fine in all but one last thing. When running on battery power the EEEPC often warned the battery being near to full discharge. Sometimes the computer went in automatic power off even with the battery almost fully charged.
It's no new that the early EEEPCs battery aren't properly recognized on most of Linux distributions. That's because of the buggy way EEEPC BIOS handles ACPI, I noticed it since I first installed Ubuntu years ago, but it usually never been a problem apart from some meaningless estimation of the battery duration.

Sunday, 29 April 2012

Upgraded to Xubuntu 12.04 “Precise Pangolin”

Just a short post about the upgrade to Xubuntu 12.04 of my (old) Sempron 2400 desktop computer. As I started the computer this morning I got the usual Ubuntu upgrade “Invitation”

I started the upgrade program after a final window informing on operation to be performed and requesting for a last confirm the whole upgrade process started

Saturday, 7 April 2012

Monday, 2 April 2012

Tips for (happily) backing up your i.ph blog

After talking with another i.ph blogger I tough it may be useful a short post on how I quickly backed up my i.pb blog posts. 

i.ph blog addresses

DotPH blogging platform is based on a proprietary platform called Calliope. Not a bad platform at all but a bit outdated today. Among many other problems Calliope doesn't provide it's users with any backup tool. During three years of blogging with i.ph platform I noticed that blog post can be accessed  from a dual address: one is the usual long permalink 
the other is based on the post number
My backup solution

 Once i received the news about i.ph closing its free blogging service I looked for a program able to sweep all my post addresses and automatically downloading at least the page HTML. I discovered I could use a very flexible Firefox plug-in: DownThemAll
DownThemAll is a  plug-ins that works as a download manager for Firefox, among the many features it also allow to start a batch download of numbered items. Just what I needed!
All I had to do has been open the DownTemAll manager window and start a new download process (the plus button). I then configured the download process as shown in the screen-shot (sorry I only have an Italian screen-shot).

the numbers between square brackets are the start and end number post you're going to download while the pattern on the bottom (*url*-*inum*.*ext*) tells DownTemAll hot to name the downloaded files (musante.i.ph-001.htm and so on).

Some final notes

DotPH support promised an easy way to backup our blog content, I'm sure they'll come out soon with such solution but, since restoring a blog is a long work, better to start early.
My method only saves the page HTML file not images or any thing you may have linked in it. this is fine if you have your images hosted on another server (like, for example, fickr). If you have your images hosted on i.ph you'll have to save them separately. 
The hard, and boring, part comes with restoring your backed up posts. I'm doing it manually but I have only 117 post to restore on my new blog. If you have more It might be worth looking for an automated way of doing it.

I hope this can be useful. If you have any question, or suggestion, feel free of course to comment here.

Saturday, 31 March 2012

A new beginning ...

The provider hosting my current blog, musante.i.ph, is shutting down its free blogging service. So here I am juggling between backing up the old blog and experimenting with the still unfamiliar blogger interface. Unfortunately i.ph people locked my blog for new content so I can't even properly inform my few readers of the changes in act. May be I should have started blogging on a more reliable host from the beginning but I really loved the fact of blogging from a Philippines domain and that short domain name!

By the way here I am, again, facing an empty blog like more than three years ago. I'm going to slowly restore the old musante.i.ph content and, even more slowly, posting new content like before.

Stay tuned!

(Update Apr. 24th)

At last I managed to finish the backup/restore process: all my posts, back to the very first hello world, are now on blogspot.

 (Update May 24th)

Since today my old blog "musante.i.ph" seems to be definitively down, its counter stopped beating at 36776 hits. I hope all my few reader managed to reach the new blog here on blogspot.

So long, i.ph, and thanks for all the fish!

Tuesday, 13 March 2012

Test Drive: Ubuntu 12.04 Beta1 (Live)

Ubuntu upgrade season is coming and, even if I changed my EEEPC installation to Linux Mint, I'm still curious on how the new Ubuntu release behaves. So, as the new Beta1 release of Ubuntu 12.04 has been released, I couldn't help not to prepare a bootable USB stick and give it a look at least by running it live.

First impressions: Unity improved

Here is how Ubuntu 12.04 looks like on the EEEPC.

Saturday, 18 February 2012

Linux Mint (on the EEEPC): fixing some post-installation issues

The installation (upgrade) of Linux Mint 12 on my EEEPC left the system with some little problem to be solved together with many applications that had to be reinstalled. Not all of these problems are Mint-specific since one, at least, hat its solution reported on a Ubuntu forum. And I'm not also sure if these problems appears after upgrading from Ubuntu to Mint 12 or after a fresh installation too. By the way all have been solved with a couple of shell commands. I spent more time looking for solutions than executing them, so I hope it might be useful to have them all in the same page.

Missing Windows boot option

The first thing I noticed once I rebooted the EEEPC just after installing Linux Mint was that the Windows boot opting was missing from the Grub boot menu. After a brief looking for it in the 'net I did find on Mint forum a couple of commands to solve it:
sudo os-prober
sudo update-grub

Friday, 3 February 2012

Mint me too!

Upgraded from Ubuntu 10.04 LTS to Mint 12
At last I decided to upgrade my EEEPC 900! The Ubuntu installation I was still using on it (10.04 LTS Netbook edition) was getting old so, after many live testing, and some “Test Drive” post I settled for installing Linux Mint 12 “Lisa”.

Why Mint?

If you read my post about Linux Mint test you'll have certainly noticed that it impressed me quite well. I mostly liked the Mint approach to user interface both open to innovation and respectful of old users. But what eventually led me towards a Gnome3 based distribution has been discovering, thanks mainly to Linux Mint, how this desktop environment can be expanded. I discovered, in fact that Gnome3 can be expanded using Javascript programming. Many extension are being developed and can be downloaded and installed from a Gnome3 page. Plenty of documentation and examples are available. Gnome3 guys didn't give of flexibility that had been Gnome2 characteristic, they just left it well hidden.


I prepared the installation, like usual, by writing a bootable SD card with Ubuntu's start-up disk tool. I then booted the EEEPC and started the installation program.

Friday, 20 January 2012

Recovering photos from a damaged SD Card (again)

It happened again! I suppose it's because of some hardware problem but my old Sempron 2400, every now and then, makes unreadable a SD card while I'm reading it. This time the damage had been particularly nasty since the recovery method I usually apply (using foremost command) only recovered a handful of of files before stopping because of a “write error”. I so tried another recovery program: Photorec.

Installation and recovery

Photorec is part of the Testdisk disk recovery package it can be installed form Ubuntu's software centre or with apt-get command
sudo apt-get install testdisk
once installed Photorec can be executed by command line
sudo photorec
Photorec has a simple but effective character interface with a wizard-like organization: at first I've been asked for the device to recover

then the partition type, I selected “Intel

Tuesday, 10 January 2012

Backing up the EEEPC with SystemRescueCd

I'm going to upgrade my EEEPC Linux installation, at last. Before doing any big operating system change It's a good practice to make a full backup of the system partition. Just in case something goes wrong and you want back your old working system. Dedicated Linux distributions are the ideal solution for partition backup and recovery since they let you easily recover even from a non-starting system situation. Last time I backed up my system partition, when I switched from Xandros to EEEBuntu I used Clonezilla. This time I decided to use a more flexible distribution: SystemRescueCd.


Like its name may suggest SystemRescueCd is a small Linux distribution specifically designed for disk recovery tasks, and it's provided with some invaluable (life saving) tools like GParted or Partimage. I downloaded SystemRescueCd ISO image from its download page then prepared a bootable USB disk following the site how-to.
First I mounted the ISO image
sudo mount -o loop,exec ./SystemRescueCd-x86-2.4.0.iso /tmp/sysrescd/
then I started the USB installation script from the mounted ISO image
cd /tmp/sysrescd/
sudo ./usb_inst.sh
a simple but effective interface shows-up there I selected the USB disk device and let the installation start.

It may happen that the Installation interface shows your device with a 0MB disk size and then exits with an error message when you try to install. This can be easily solved (thanks to this forum post) by manually unmounting your device using the console command.
umount /dev/sdd1