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

Monday, 23 November 2015

Blog-Birthday Seven

Also this seventh year of blogging has passed. Unfortunately this year I have expereinced many Internet connection problems: my land-line appears to have been caught in a undeclared war between two of the biggest and greediest italian Internet providers. So I'm tied to connecting to the internet using my cell-phone since almost one year. This kept me from most of the upgrading (my computer) and updating (myself) and, of course, from posting about it. 
By the way this is no gain in complaining (at least here) so let me thanks all my readers and visitors and hope next blogging year will be more proficuous.

Friday, 25 September 2015

The quest for new languages: Python

It happens, sometimes, that I download a “new” programming language or a framework or library in order to give it a try. Of course the word “new” is relative to my personal or professional experience, mostly orbiting around the Java galaxy. This time the “new” programming language is Python. Python is, of course, a widely used and far from being a new programming language but I never had the thought of giving it a try before.

Python on Eclipse: PyDev

I'm willing to learn new languages but I'm not so eager to install and use a new IDE while doing it. I so went looking for a Python development Eclipse plug-in and the choice fell on PyDev. Installing PyDev on Eclipse has been quite simple, just matter of selecting it on Eclipse Market Place and completing the installation wizard.
Before creating the first project PyDev plug-in needs to know where python interpreter is. There is a handy automatic search feature but I preferred the manual configuration in order to have more meaningful configuration names.

Sunday, 9 August 2015

A picture gallery server for the Raspberry Pi : Single File PHP Gallery

You could count only a handful of tasks where a home server can be really useful, almost all are about making digital media more available. After installing the DLNA server on the Raspberry PI I was still looking for a software tool to easily browse the pictures I keep on my network NAS. I so installed the LAMP server components and I've been trying several PHP based gallery web-applications like Gallery 3 or Piwigo. They are all valuable tools but unfortunately didn't fit with my requirements because couldn't hook to preexisting picture folders or didn't perform well on the not-so-powerful Raspberry PI . On the other hand these applications offers a wide set of features, like users management, I don't need since my gallery isn't going anywhere outside my home LAN.

SFPG: (zero configuration) Single File PHP Gallery

Single File PHP Gallery (SFPG) is a simple gallery web application all contained into a single PHP script. It might sound odd from a purely programming point of view but It greatly simplifies application deployment. In addition to its being single-file SFPG doesn't need MySQL or any other database, since it stores all information it needs on files. Last but not least, under the proper conditions, SFPG can work without any configuration by just placing it on the pictures root folder.

Some bare-bone configuration

Even if SFPG can be deployed without the need of configuration it offers a wide range of configuration by editing the “define” instructions listed at the beginning of the (unique) “index.php” file. I changed the gallery root path to point to my NAS pictures folder in order to separate actual pictures folder from SFPG data folder:
define('GALLERY_ROOT', '/media/public/Pictures/');
define('DATA_ROOT', './_sfpg_data/');
define('SECURITY_PHRASE', 'some phrase to be used as random seed');
I also set a security phrase that SFPG uses as seed in generating random paths. SFPG can also automatically set the security phrase if the PHP script has permission to modify itself.

Friday, 31 July 2015

Test Drive: Ubuntu Mate 15.04 on the EEEPC 900

Ubuntu Mate is a Ubuntu derivative distribution equipped with Mate desktop environment. Ubuntu Mate has been recently admitted among the official Ubuntu derivatives, I've been reading some very positive post about it so I decided for giving it a quick (live) look on the EEEPC even if I had already reinstalled my netbook computer with Xubuntu,

First impressions

After the usual process of preparing a USB disk an booting the netbook from it I've been welcomed from a very Gnome-2-looking interface.
The default interface provide the usual Applications, Places and System menus:

Thursday, 25 June 2015

More work on the Raspberry PI

I've been working a little more on my Raspberry PI based server. After installing Minidlna server my Raspberry PI server needed some easy way to transfer media files into the USB disk. Sharing the disk with Samba has been, to me, the obvious solution. Also I installed the basis of a LAMP server (Apache2, MySQL, PHP5) for future installation of server applications.

Sharing a disk with Samba

The first step has been so installing samba from command line apt-get

sudo apt-get update
sudo apt-get install samba samba-common-bin
then I edited samba configuration file
sudo vim.tiny /etc/samba/smb.conf
where I added the definition instructions for sharing the USB disk
comment = Raspberry PI USB disk
path = /media/usbdisk
browsable = yes
guest ok = yes
read only = no
create mask = 0777
directory mask=0777
public= yes
only guest = no
force user = pi
force group = users
To keep things on the easy-to-use side I set the share for a public “guest” use without asking for passwords. Since my Raspberry server is still in a experimental status I don't have, not yet at least, many security worries to think about.
I tested the configuration with the testparm command
testparm /etc/samba/smb.conf
and eventually restarted the samba service.
sudo service samba restart