"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)

Sunday, 15 January 2017

New toy on the desk: Raspberry PI 3


Just before Christmas I've been to a “traditional” electronics and surplus fair, here in Genoa, and bought myself, among other things, a Raspberry PI 3 (version B) board. My goal is to replace, as home server, the Raspberry PI I bought two years ago in order to take advantage of the more computing power offered by the new board. Additionally the older board will be set free for more “experimental” experiments. As “accessories” to my new Raspberry board I bought a (clear) plastic case, a 16GB micro SD card and en external 2.5'' USB hard disk.

Installation and first tests

I first downloaded latest Raspbian release, the “Lite” version since I'm going to use it as a headless server. Like I did last time I copied the disk image on the 16GB SD card using the “dd” command.
sudo dd if=2016-11-25-raspbian-jessie-lite.img of=/dev/sdd
All worked fine but I had to fix a couple of things. The image I copied at the first tentative didn't boot, I had to remove all memory card partitions using Gparted then repeat the copy process. The disk copied after the second tentative works fine, I don't know if problem was because a failure in the first copy or because of how the card was pre-formatted.
The latest Raspbian release has SSH demon disabled by default to enable it I had just to add an empty “ssh” named file on the memory card root folder.
touch /media/maxx/boot/ssh

Wednesday, 4 January 2017

Test drive: (Raspberry PI) Pixel on the EEEPC 900


I own a Raspberry PI since two years but I used it as headless server from the very beginning. I have, almost, never seen its window manager apart from some remote desktop experiment. I so learned only recently how latest Raspbian released are shipped with a new lightweight desktop environment: Pixel. More recently I also learned that Pixel has been released for X86 “common” computers I decided to test how it runs on my EEEPC 900 netbook.

First impressions

I downloaded Pixel ISO disk image from here and prepared a bootable USB disk. Raspberry page suggested using Etcher to prepare the boot disk but UNetbootin did the job as well as usual.
The boot process went smooth and quite fast, and Pixel here is my very first screen-shot of Pixel.

Saturday, 24 December 2016

Saturday, 26 November 2016

Blog-Birthday Eight (a bit late)

Here we are, again, another year of blogging is passed. In spite of my last year promise of being more proficuous blogger my post writing rate has been even lower. Doing things and writing about them takes time and I'm not having a lot of spare time ultimately. On the other hand doing things in Linux is becoming every day easier so there is also less to explain. So ... no more promises for next year just stay tuned!

Monday, 17 October 2016

LibGDX: The “Swiss Army Knife” of Java Games Programming


My few readers might remember I sometimes explore, and play with, game engines and libraries. I suppose it's a sort of “compensation” for my everyday work with not-so-exciting middle-ware and web-services projects. I already posted about Slick2D libraries for Java games but I was looking for something more complete and, most of all, that would allow me to develop also Android applications.
LibGDX is a Java game-engine that provide a vast variety of features for developing games. It's mostly aimed to 2D games development but it even provides some 3D features. In addition LibGDX can deploy games on different platforms like Java desktop or Applet, Android, HTML5 and IOS (with some extra requirement due to peculiar Apple developing policies). Last but not least a LibGDX project can include additional extension libraries helping to develop different aspects of game programming like AI, physics or networking (and this is the why of this post title).

First project creation

You don't have to download the whole LibGDX project in order to start to develop. LibGDX people suggest using the handy utility they provide, LibGDX Project Setup, in order to generate a skeleton project. The generated project will be based on the Gradle building tool that will think about downloading from the Internet all needed libraries and their dependencies.