"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, 31 December 2013

Greetings ...

I've been off line for Christmas so I missed blogging my greetings. So with my belated Christmas greetings let my wish a sincere ...

Happy 2014!!!

Saturday, 21 December 2013

Upgraded the EEEPC 900 RAM

I at last decided to buy a 2GB SO-DIMM to install on my old EEEPC 900. The installation process has been quite simple just matter of unscrewing the rear cover, unplugging the old module and replacing it with the new one.

The EEEPC performances have been improved only marginally, at least during everyday uses. By the way the upgrade did cost me only 25€.
So this short post is mostly a reminder, to my readers and myself, that all test I'll do on the EEEPC since now will be with the upgraded 2GB RAM and not with the original EEEPC 900 configuration.

Tuesday, 10 December 2013

Test Drive: Linux Mint 16 “Petra” on the EEEPC

With the end of November the latest Linux Mint distribution release has arrived. Even I haven't got Mint installed on any of my computers anymore I decided to give it a look to see how it behaves, at least running live, on the EEEPC. I so downloaded Mint 16, the version shipped with Cinnamon 2.0, and prepared a USB disk using Unetbootin.

First impressions

The system started with reasonable speed and booted into the (good) old fashioned view of the Cinnamon desktop.
Mint 16 behaves smoothly enough and is responsive even on the EEEPC 900 limited resources.

Wednesday, 4 December 2013

Fun programming: Andengine

Here I am back on the “Fun programming” theme: finding ways to have some fun while programming. A way I use to detach myself from daily routine while seeking for new techniques or languages to learn. While visiting back this blog I noticed many articles about Andengine: a promising 2D games engine for Android developed by Nicolas Gramich.

Setting-Up Andengine

The starting point so set-up a working Andengine environment is to have a working Android development set-up based on Eclipse and Android SDK. I had prepared it before during my previous Android experiments. Also is needed a Git plug-in for Eclipse, like EGit.

Andengine is available as a Android library project it can be easily downloaded from its GitHub page by selecting Eclipse import wizard (Choosing the “File → Import …” menu first then the “Git → Projects from Git” option).
After copying the project URI in the wizard request …
The project branch must be selected, I did choose the GLES2 branch the latest and the one currently under develop.

Saturday, 23 November 2013

Blog-Birthday Five

One more year of, slow but steady, blogging has passed. Let me just say thanks to all my readers and visitors.

Thursday, 31 October 2013

Upgraded to Ubuntu 13.10 “Saucy Salamander”

This is just a short post to report about the upgrade of my two computers to the latest Ubuntu release. I upgraded just after the distribution release (Saturday 19) but various problems kept me from writing about it.

Wednesday, 9 October 2013

Test Drive: Ubuntu-Gnome 13.10 “Saucy Salamander” (Beta 2) on the EEEPC

After testing the latest Ubuntu release I proceeded my test session with Ubuntu-gnome edition. Ubuntu-gnome is the distribution I have installed on the (actually) oldest computer I have, the EEEPC 900. Trying a distribution without installing becomes so the “go/no-go” condition for when the official upgrade will be released. Even if Linux distributions are generally benevolent with older hardware you'll never be sure if and how your system will work without testing.

First impressions

As usual, I prepared a bootable USB disk with the Ubuntu's tool and a booted my EEEPC from it.
Ubuntu-gnome is provided with Gnome-Shell 3.8. The interface is quite similar with the version shipped with previous Ubuntu release.

Saturday, 28 September 2013

Test drive : Ubuntu 13.10 “Saucy Salamander” (Nightly Build)

The upgrade season is coming again. As I do twice a year I downloaded from Ubuntu download page the currently available version (not called beta anymore) of the October Ubuntu release. I prepared my USB disk in order to test the incoming release live on my computers.

On the EEEPC 900

After booting from the USB disk everything proceeded regularly until I arrived to the “Try or Install” screen. The top panel appears oddly expanded down to almost half screen.

Tuesday, 17 September 2013

Troubles trying to install Deepin Desktop Environment

I have been positively impressed after my latest test of Deepin Linux, especially of its desktop environment (Deepin DE). I so decided to try to install, separately, Deepin DE on my desktop computer.

The beginning

Instructions I found around the 'net, here, there and other similar pages, are roughly all the same: add Deepin sources to “/etc/apt/sources.list” file

deb http://packages.linuxdeepin.com/deepin raring main non-free universe
deb-src http://packages.linuxdeepin.com/deepin raring main non-free universe

Then I imported GPG key for such sources

wget http://packages.linuxdeepin.com/deepin/project/deepin-keyring.gpg
gpg --import deepin-keyring.gpg
sudo gpg --export --armor 209088E7 | sudo apt-key add -

at last I launched the apt-get command as usual

sudo apt-get update
sudo apt-get install dde-meta-core.

Things start going wrong …

Just after the installation process ended nothing happened, I logged out but I didn't find the option to log back with Deepin desktop. I continued working and, after some time, I got a incomplete update error message from Ubuntu update software. The error message suggested to “Upgrade” the distribution. At this point the system was completely wrecked: I rebooted and I got a system who identified itself, using the lsb_release command, as “Deepin Linux”. Unity was barely working while Gnome shell didn't start at all. Looking on the 'net I then discovered Deepin desktop uses its own patched versions of fundamental software like Compiz so installing it on an existing system is definitively a risky business.

Friday, 23 August 2013

Test Drive : Linux Deepin 12.12 on the EEEPC

Some time ago, while looking for some Linux related new on the 'net, I read this review about a Linux distribution I never heard before: Deepin.
Deepin is a Linux Distribution, based on Ubuntu, originally created for the Chinese users pool but also available in English language. Apart from positive reviews what really interested me has been the fact Deepin comes with its own desktop environment (Deepin DE) based on Gnome Shell.
I so decided to test how it works on the EEEPC.

First impressions

I prepared a bootable USB disk with Deepin with the usual process: download the ISO image from Deepin download page then write to the flash disk using Unetbootin.
Here is how Deepin looks like just after boot:
I must say Deepin default theme and wallpaper appear aesthetically well refined. This means nothing on the long run but might be dramatically important to give a good first impression to new users.

Wednesday, 14 August 2013

Mercurial and Mercurial-server : playing with DVCS (part 2)

In my previous post I moved my first steps with Mercurial DVCS, now I'll install a Mercurial server implementation and configure both my computers to access it using SSH protocol.


With DVCS you don't have to use a central server, repositories could be shared over LAN using shared folders, but this doesn't mean you can't have one. Various mercurial server side implementations exists, using different protocols. May be I'm too server-client minded but I didn't feel satisfied by just sharing repositories over a shared folder so I decided to install Mercurial-server.
Installing Mercurial-server is an easy task the command
sudo apt-get install mercurial-server
complete the installation process and the creation of the application user (hg). A bit more complex is configuring SSH for accessing the server, I mainly followed instructions from here and from Mercurial-server documentation.
Mercurial-server uses public-key authentication and SSH-Agent in order to grant access to its clients, so the first step has been to generate a keys couple for SSH. The ssh-keygen command does this interactively.
maxx@VeritonS661:~$ ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/maxx/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/maxx/.ssh/id_dsa.
Your public key has been saved in /home/maxx/.ssh/id_dsa.pub.
I then copied the public key in mercurial-server keys configuration path and told mercurial-server to refresh its authentication files, using the following commands:
ssh-add -L > maxx.key
sudo mkdir /etc/mercurial-server/keys/root/maxx
sudo cp maxx.key /etc/mercurial-server/keys/root/maxx /veritons661
sudo -u hg /usr/share/mercurial-server/refresh-auth
the usual path for mercurial-server keys is (for root users)
but if the same user must be accessed from different machines a different path is used:
since I was going to add the maxx user from the EEEPC too I had to use, of course, the second from. On the EEEPC side I generated SSH keys at the same manner then, after logging to the desktop computer (the server) with:
ssh -A veritons661
and I eventually registered EEEPC's maxx user like this
ssh-add -L > eeepc900.key
sudo cp eeepc900.key /etc/mercurial-server/keys/root/maxx/eeepc900
sudo -u hg /usr/share/mercurial-server/refresh-auth

Wednesday, 31 July 2013

Mercurial and Mercurial-server : playing with DVCS (part 1)

Version control systems (VCS) are an indispensable tool when programming and sharing code even for small groups. Even while programming alone, but on different computers, a version control system could easily prove useful for securely sharing code between desktop and laptop computer. I use daily SVN, as version control while at work. For my homely experiments, instead, I decided to install something different: Mercurial, a distributed version control system (DVCS). Distributed version control systems, most famous are Git and Mercurial, do not rely on a central server to keep the code repository, in DVCS every developing computer keeps its own copy of the repository. What interested me in DVCS was the capability to do version control also when off-line and also, of course, the chance to learn something new.

Installing Mercurial (command-line and plugged-in)

Installing Mercurial command-line version it's quite trivial:
sudo apt-get install mercurial
Both Eclipse and Netbeans offers their plug-ins to interface with Mercurial. Netbeans plug-in is already provided with version 7.3.1 I have installed on the EEEPC. On Eclipse, desktop-side, installing the MercurialEclipse plug-in has been as simple as selecting it from the Eclipse Marketplace and following installation wizard.

Wednesday, 26 June 2013

Back to Ubuntu : installed Ubuntu Gnome 13.04 on the EEEPC

I've been using Mint 12 on the EEEPC since February 2012. it worked fine all this time but, what I really missed was the ability to upgrade the distribution to a new release without the need of a full installation. After the recent positive test I eventually decided to install on my net-book Ubuntu Gnome 13.04.


As usual the installation process begun by backing-up my home folder and preparing a bootable USB disk. I booted the EEEPC from the USB disk and started the installation program. The installation sequence was definitively the same I encountered while installing Ubuntu. Like then, the only interesting part has been the disk partitioning part. I use the 4GB SSD EEEPC disk as boot disk for windows (I like to play some old games every now and then) so I must be sure the installation goes all on the 16GB secondary SSD.
I selected the “Something else” custom partitioning option that brings to the partition editor.
Unfortunately the disk partitioning tool is bigger than the EEEPC 900 screen: here is the full window (I got it with the 'alt-print screen' screen-shot shortcut)

Tuesday, 4 June 2013

Test Drive: Linux Mint 15 “Olivia” on the EEEPC

Less than a couple of months passed from latest Ubuntu arrival and the new Linux Mint 15 (codenamed Olivia) also has been released. I prepared a bootable USB disk in order to give it a look. I was, as usual, mostly interested to the new Cinnamon version (1.8) it comes with.

First impressions

Linux Mint welcomes you with a reassuring plain old styled desktop.
The application menu is responsive and it fits quite well even on the small EEEPC screen.

Thursday, 23 May 2013

Ubuntu 13.04 on Veriton S661 (Full Install)

It's time of major upgrades for my desktop computer: I just bought a graphics card and a bigger hard-drive. Knowing I was going to hardware-upgrade kept me from upgrading to Ubuntu 13.04 as soon as it's been made available. I was going soon to have to install it on the new drive.
To be precise I didn't exactly put the new drive on my desktop computer: I bought a new 1TB hard-drive I put on my NAS. It's the 500GB drive I previously used in the NAS the one I placed in the desktop.
So, after copying all the data to the new drive I booted from a USB drive and I begun to install.

Partitioning the disk

I've never been a many-partitions advocate but, with a 500GB disk, some partitioning is needed. I decided to partition the disk with GParted before starting the installation. I split the disk in two partitions of about a one-to-four ratio plus a little 5GB partition to be used as swap.
since I use my desktop computer mostly for home video and slide-shows editing the bigger partition will be destined to be mounted as /home folder.

Thursday, 2 May 2013

Slick2D on Netbeans (and the EEEPC)

This post is sort of a corollary at my previous post: after trying Slick2D on my desktop computer, and Eclipse, I decided to port the demo projects to Netbeans, on the EEEPC, where I do many of my programming experiments.
The use Slick2D with Netbeans is covered, in the site wiki, as well as the Eclipse case. The first step is creating a Java application project
once the project has been created Slick2D and LWJGL Java libraries must be added to the project class-path. This can be done by selecting one-by-one the needed JAR files but, if you're going to make more than one project setting-up a custom library will be handier.
So I, from the project properties, I selected the libraries folder then the “Add Library ...” button.

Thursday, 25 April 2013

Fun programming: Java and Slick2D

Many may not believe me but programming can be fun. If you really love programming even watching a XML file going to, or coming, from a remote server can be fun but, of course, if your program produces something funny then programming is also more fun. So, while looking for something to relax after watching too much XML files, I decided to experiment with some 2D game engine. 2D gaming has been for many years confined to the Adobe Flash or J2MEmini game” context. More recently , with the ever wider smart-phones diffusion, 2D games have known a real revival.
Among the many 2D games engines available I first restricted my choice to the Java-based ones. After a short examining of available features and documentation I decided to try first the Slick2D engine.


Slick2D is a Java game engine mostly based on the LWJGL (Light-Weight Java Game Library) library. The aspect of Slick2D the more appealed to me, and triggered my interest, is the ability to begin coding a simple game by just extending a class and writing three methods.
Slick2D offers in fact an abstract class BasicGame, once this class is extended just three methods have to be implemented:
  • init() : is called once when the game is started
  • render() : is called every time the screen is refreshed
  • update() : is called when controls (keyboard, mouse, joystick, ...) are read
The programmer can mostly ignore the other aspects of the game and concentrate on these three events.
Of course writing a complete game will still be a complex task but, Slick2D makes very simple the initial approach to game programming easing a lot the learning curve at the beginning.

First project

To prepare my first project I first downloaded Slick2D jar file and LWJGL zip archive, I then extracted it in a convenient folder in my home directory. In Eclipse I first made a standard Java application project

Saturday, 30 March 2013

Tuesday, 26 March 2013

Test drive: Ubuntu 13.04 Gnome beta (Live) on the EEEPC 900

I'm definitively a Gnome user. I started my Linux adventure with the good-old Gnome 2. I don't like so much version 3, but I switched to it once I realized it kept, at least in part, its flexibility thanks Gnome shell extensions. I'm actually using Gnome 3 on my desktop computer so, once I heard that Ubuntu was going to have an official Gnome derivative distribution, I started thinking of replacing the Linux Mint 12 installation on my EEEPC 900.

First impressions

The daily-build ISO image I downloaded was quite big (about 958 KB) so that I couldn't use my usual old 1GB USB disk. Not a big problem (I used a 4GB SD card) but I really hope they'll manage to keep the disk image size smaller in the definitive version. Once the SD card have been prepared I rebooted my EEEPC. Ubuntu Gnome boots on the usual featureless default Gnome 3 screen
The side-bar, in the activities screen, appears a little too crowded on the small EEEPC display. This, unlike Unity, means dealing with microscopic icons.

Friday, 22 March 2013

Test Drive: Ubuntu 13.04 “Raring Ringtail” Beta on the EEEPC

As usual, with the coming of Spring, also Ubuntu's upgrade season is coming. I so went on the 'net looking for a beta version to give a look at, just to know what to expect when the real upgrade will arrive.

No beta version?

I was a bit startled to learn that beta versions has been released only for derivative distributions while, under new distribution policies, main Ubuntu only goes through a “freeze” period of bug-fixing. I had so to download a “daily-built” version to make my bootable USB disk.

First impressions

Here is the new Ubuntu first screen-shot
apart from some slight graphic change there aren't many changes at a first glance, anyway the new Unity is still fluid and responsive even on my good-old EEEPC 900.

Sunday, 10 March 2013

Bodhi Linux … Age of Enlightenment?

While reading around the net about new Linux distributions I got into some good reviews about a distribution I never heard before: Bodhi Linux and about its default window manager Enlightenment.
Body Linux is a Ubuntu based distribution, currently at its release 2.2.0. Among the other things Bodhi uses Enlightenment as default desktop manager; currently at its release 17 Enlightenment is a lightweight desktop which promises fancy graphics even on not-so-powerful machines.
All this has been more than enough for me to download Bodhi ISO image, place it on my USB disk and go on with another “test drive”.

Bodhi Linux (live) on the EEEPC

Bodhi Linux boot has been quite fast, it started in less than two minutes (from a computer and disk combination that isn't very up-to-date). In the middle of the boot process I've been asked for the desktop profile and theme I would like in my system. The choice is not definitive since you can change later any aspect of the desktop but if you choose the one that best fit your needs you'll have a good starting point for configuring your desktop.
I did choose the “Netbook” profile Here is how it looks like

Saturday, 23 February 2013

Open SCAD: the programmer-oriented CAD

I often surf the Web looking for applications programming environments completely different from what I usually work with (I develop web application and services). Among these “completely different” things 3D graphics is one of the most appealing. So, while surfing the web I stumbled into this rather unusual CAD application: Open SCAD.


Open SCAD is a 3D CAD application widely used among the 3D printers community. What makes it different from traditional CAD applications is the way you make your drawing: instead of using the mouse to drag lines, boxes in the classic four panels view (front, side, top and perspective) you “simply” write a program that defines how your drawing is.

Open SCAD language provides methods for the basic primitive solids like cube(), sphere(), cylinder() … methods to manipulate them like translate() and rotate(), CSG (constructive solid geometry) operations like union() difference(), intersection() … up to more complex operations like extrude() or rotate_extrude().

Thursday, 24 January 2013

Test drive: Linux Mint 14 (live) on the EEEPC

I must reckon I haven't been recently paying much attention to new Linux releases. I so missed Linux Mint 14 release last November until some days ago. I so downloaded Linux Mint 14 “Nadia”, the one with Cinnamon 1.6 included, in order to give a look on how it would perform on my EEEPC 900. So after creating a bootable USB disk using Ubuntu's disk creator tool I restarted my netbook and started exploring the new Mint.

First impressions
Needless to say that Cinnamon, more than Mint itself, is the main object of my interest. I had been positively impressed from it while testing Mint 13 and the latest version only strengthened my opinion.
The EEEPC has been stable and responsive during all the time I tested Mint 14. Cinnamon settings are a bit improved over last version.

Tuesday, 8 January 2013

Virtualbox: The joy of virtualization

Among the many things I dreamed of before buying a new desktop one was being able to play with some virtualization software. A virtualization software is a program that allows you to set-up and run on your (physical) computer, usually called host computer, a virtual machine, called guest computer. The virtual computer can behave like a real computer and run a different operating system. Virtualbox is a virtualization software released by Oracle under GPL V2 license. I had already knew about Virtualbox since I use it at work and it has been literally life-saving in many occasions.

Installation and first machine

Installing Virtualbox is quite trivial: it is available in Ubuntu software centre repositories or it can be downloaded as “.deb” package (among other formats) from its download page. Once installed Virtualbox starts with the VM Manager window from here new virtual machines can be added and managed.