date: 17:52:03, June 20, 2021
my ip: (
your ip: ()
CCBot/2.0 (
Welcome, my name is Emmanuel Roberto Richiardone, this is my place on the web.

You can contact me at e(AT)

My PGP/GPG public key
More about me here

main blog
  software projects
  texts docs tips
  freebsd tips
  linux tips

Outside links:
  Photos on Smugmug

Other links:


RSS feed enabled!

  June 2021  
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30        

search with google
all the web

. o .
. . o

go to page: 1     single page
phperr 0.7Sat, 13 Feb 10
Current version of my CMS phperr 0.7 is available. Added web2.0 sharing, multipage as usual without using any database, and RSS fixes. Available upon conditions of GPL v2 license.
Really simple Javascript RSS parserThu, 16 Jul 09
I was looking for a javascript parser, that works without frills and was simple. Not finding it, I write a few lines reported below:
var title = 0;
var lines = 0;

function parselevel(level, skiptext, maxlines){
    if(level.nodeName == "title"){
      title = '<b>' + level.textContent + '</b><br/>';

    if(level.nodeName == "description"){
      if(title != 0){
        if(maxlines == lines){
        document.write('<a ');
          document.write('style="background-color: #90e090;"');
        document.write('>' + title + '' + level.textContent + '</i></a>');
        document.write('<br />');
	title = 0;
        lines = lines + 1;

  for(var i=0; i < level.childNodes.length; i++){
    parselevel(level.childNodes[i], skiptext, maxlines);

function parserss(rssfile, skiptext, maxlines){
  var xmlDoc=document.implementation.createDocument("","",null);

  var root = xmlDoc.documentElement;

  title = 0;
  lines = 0;

  parselevel(root, skiptext, maxlines);
You call it from html page with:
<script src="rss.js" type="text/javascript"></script>
<script language="javascript"><!--
window.onload=parserss("YOURRSS.XML", /TITLE_TO_SKIP/, 5)
Change YOURRSS.XML with the name of rss file (it must be a local file for Gecko browsers, I download it locally with cron and fetch), TITLE_TO_SKIP is a string that exclude some RSS field to be printed, and the last is the number of RSS field to print.
phperr 0.6Sun, 18 Jan 09
New version of this simple CMS, phperr 0.6, is available. Fixed minor graphical details and added RSS capability. As usual, available upon conditions of GPL v2 license.
Random picture from PicasaSat, 9 Aug 08
Here I report the simple php code:

$userid = 'errimg'; // set your userid of picasa
$thumbsize = '108'; // set resolution of thumbnail among 54, 108 or 216

function startElement($parser, $name, $attrs){
    global $record;
    global $canstart;
    if($name == 'TITLE' && $attrs["TYPE"] == 'text' && $canstart)
        $record = true;
    if($name == 'ENTRY')
        $canstart = true;
function endElement($parser, $name){
    global $tmparray;
    global $record;
    global $curfield;
    global $canstart;

    $record = false;
    if($name == 'TITLE' && $canstart){
        $tmparray[] = $curfield;
        $curfield = '';
function elementContent($parser, $data){
    global $curfield;
    global $record;

         $curfield .= $data;
function startIdElement($parser, $name, $attrs){
    global $canstart;
    global $tmparray;
    global $thumbsize;

    if($name == 'MEDIA:THUMBNAIL' && $attrs['HEIGHT'] == '108' && $canstart)
        $tmparray[] = $attrs['URL'];
    if($name == 'ENTRY')
        $canstart = true;
function endIdElement($parser, $name){

function getAlbums($userId){
    global $tmparray;
    global $canstart;

    $tmparray = array();
    $canstart = false;

    $url = ''.urlencode($userId).'?kind=album';
    $xml = file_get_contents($url);

    $xml_parser = xml_parser_create();
    xml_set_element_handler($xml_parser, "startElement", "endElement");
    xml_set_character_data_handler($xml_parser, 'elementContent');
    xml_parse($xml_parser, $xml);

function showAlbumContent($userId, $albumName){
    global $tmparray;
    global $canstart;

    $tmparray = array();
    $canstart = false;

    $url = ''.urlencode($userId).'/album/'.urlencode($albumName);
    $xml = file_get_contents($url);
    $xml_parser = xml_parser_create();
    xml_set_element_handler($xml_parser, "startIdElement", "endIdElement");
    xml_parse($xml_parser, $xml);


  $album_title = $tmparray[array_rand($tmparray, 1)];
  $album_title = ereg_replace("[^A-Za-z0-9]", "", $album_title);
  showAlbumContent($userid, $album_title);
     $random_pic = $tmparray[array_rand($tmparray, 1)];
     print '<a href="'.$userid.'/'.$album_title
        .'"><img src="'.$random_pic .'" alt=""></a>';

phperrDec 2007
I forgot to link here the humble CMS running this site, called with fantasy phperr.
You can get it here (version 0.5); keep in mind that is very my-site oriented, but the code lines are few and it can be easily more developed.
Contents are stored in text files (no database required) and are edited in html stile blog; it support upload and management of remote files. The number of pages are unlimited and created as you access them (in wiki stile). Border menus are are also remotely editable in php.
WaNDA-toolsDec 2007
The WaNDA Project has reached a stable status. It allows you to generate a multiplatform offline version of Wikipedia. More info are available at the project page on Sourceforge, where you can get it.

There's also a page at Politechnic of Turin, linux@studenti, and my MSc thesis in italian about it, here available in texts section.

The code is a mix of PHP for processing and multiplatform ECMAscript for consulting the offline content.
ErmesJun 2006
"Ermes" is a Windows multicast network application for video conferencing; using video compressions techniques, it streams a desktop area from a server machine to unlimited numbers of clients.

The communication is done with two streams: the audio stream has priority over video, so position of mouse cursor is included with it for improved clearness of speech. The video stream compression is settable to suit situation needs. The programs should run on all Windows NT family (XP, etc..). It works in either client or server mode.
Full sources for Visual Studio 2005 (.NET) are released under GPL v2; the software is mainly written in C# with managed C++.

Brief documentation in italian with schemes of components: Ermes.pdf
zenzeroJan 2005
"zenzero" e` il nome in codice di un breve progetto per il controllo di un autoveicolo.
Il veicolo e` costruito con Lego Mindstorms, il software di controllo e` basata su Statetra e LegoStatetra.

La documentazione del progetto: zenzero.pdf
Il sorgente Statetra del sofware di gestione: zenzero_str.tar.bz2
8051 microcontrollerAug 2004
Microcontrollore 8051: un testo in italiano che contiene sia un'esaustiva descrizione dell'architettura che una guida alla programmazione in assembler su processori embedded di questo tipo.
La piattaforma di sviluppo di riferimento e` il Keil A51, l'integrato ed i compenenti annessi e` della Phytec.

Il testo e` presente qui Microntrollore_8051.pdf
Gli esempi inclusi nel testo sono disponibili qui

Il progetto e` stato sviluppato per la laurea di primo livello in collaborazione con fosk.
hchlib16 Mar 04
Http CHannel LIBrary: an useless generic HTTP network layer.
It permits point to point communication using HTTP and MIME, encoding data with Quoted Printable or Base64.

From the SF page:
Http_channel_lib is a UNIX library to establish a client/server communication trought HTTP/1.0 and MIME. It can encode data (base64, quoted printable) and it's compliant with RFCs 821, 1945, 2045. Included full documentation in italian.

The library sources are also available here: hchlib_1.0.tar.gz
In the package is included as documentation the list of API and slides on how-it-works, both in italian: HTTP_adaptation_layer_API.pdf HTTP_adaptation_layer_SLIDES.pdf

The project was developped with fosk.

top   go to page: 1     single page
apache php i prefer firefox W3C html 4.0 compliant W3C css compliant
This website uses only essential technical cookies.
Emmanuel Roberto Richiardone (e AT richiardone DOT eu)

All contents, where applicable and except otherwise specified, are present under GPLv2 or GFDL licenses.
E. Richiardone (e AT richiardone DOT eu)

page viewed 139 times and generated in 0.001595 s