My favourite hi-tech news

Every day I use to follow some news sites talking about technology; and one of the quickest way to have an aggregate view is using iGoogle:

As you may probably see in the above picture, my favourite sites talking about hi-tech news are:

  1. The Register
  2. The Inquirer
  3. EE Times
Both El Reg and the INQ were founded by Mike Magee (in 1994 and 2001 respectively) and they make extensive use of sarcasm, satire and slang terms.

The EE Times (Electronic Engineering Times) is specific to the semiconductor world and is a reference for every electronic engineer.


The "full Internet" arriving on mobiles

One month ago Intel's "Director of ecosystems for ultra-mobility group" Pankaj Kedia said at the Intel Developer Forum that "If you want to run full internet, you're going to have to run an Intel-based architecture".

This is something stupid to hear for everybody who knows a little how things work. His position (that was later followed by Intel's apologies) was built around the idea that the Flash Player plugin was only available in binaries for the x86 platform.

What he said is silly because for years I used to watch Flash animations on my old iBook PowerPC G3 with Debian using the free Gnash plugin, but anyway...

The real news today is that obviously ARM and Adobe are going to announce the release of a Flash Player plugin for ARM platforms (such as the iPhone, Google Android and Windows Mobile devices presumably).

So in just one month Intel's director obtained the result that we'll be able to see Flash animations on our mobile phones and MIDs even with a RISC CPU... thanks Pankaj!!!


I love Ratan Tata!

Yesterday I've read an article about Ratan Tata, the chairman of the Tata Group that recently acquired Jaguar, Land Rover and the Rover brand from Ford.

If you carefully read this article on AutoWeek you will probably love this man as I do.
He's like some entrepreneurs of the past, like Henry Ford for instance.

And I just hope that they will really design a new E-type (referred to as XK-E in the article) for the XXI century (yes, it happens that I love sports cars, even the ones that I can't afford...).


How to install Xilinx cable drivers on Ubuntu

Yesterday I had to manually install the cable drivers on Ubuntu in order to be able to program a Xilinx FPGA board from ISE and Impact.
I'm using Ubuntu 8.04.1 and ISE WepPack 10.1; I found several detailed guides on the web but I want to write down the whole process in a compact form to easily replicate it on other machines:

sudo su
apt-get install git-core libusb-dev fxload
git clone git://git.zerfleddert.de/usb-driver
tar zxvf usb-driver-HEAD.tar.gz
cd usb-driver
cp libusb-driver.so /usr/local/lib/
echo 'ACTION=="add", BUS=="usb", SYSFS{idVendor}=="03fd", MODE="666"' > /etc/udev/rules.d/libusb-driver.rules
echo "export LD_PRELOAD=/usr/local/lib/libusb-driver.so" >> $XILINX/settings32.sh

That's all; I would just suggest to execute the last two commands by hand being careful to understand what they really mean (in the first one I'm not sure that the single quote will work, in the second one I would insert the line at the beginning of the file rather than at the end but I think there's no shell operator to do this).



Wikipedia defines Biodiversity as "the variation of life forms within a given ecosystem". In the field of processor architectures I'm sorry to see that the market is going towards a two-species-only world: x86 and ARM. Thus, bye-bye biodiversity.

I recently noticed that EETimes started talking about "ARM industry standard"; I know the difference between a standard de iure and a standard de facto (I claim to have a good knowledge of written Latin in my CV), but I can't forget that the only standard Instruction Set Architecture is the ancient 32-bit SPARC v8 ISA (standardized as IEEE 1754-1994). In spite of this, try this Google Fight...


Create a local APT/Debian repository

Some posts ago I wrote some lines about the creation of custom .deb Debian packages; now I wanted to publish them on the LAN to allow easy installation across all the computers.All you have to do is to put them in a 'yourdir' directory accessible through the http protocol (so you must have an Apache configured and running) and run the following command:
dpkg-scanpackages yourdir /dev/null | gzip > yourdir/Packages.gz
Then you just have to add this line to your /etc/apt/sources.list file (you can easily do it with Synaptic):
deb http://yourserver/yourdir/ ./

That's all! Just update the list of packages and yours will appear in Synaptic as well.


The Skypephone Manager & VMware

I recently bought a Three Skypephone. Several people know about it, it's a device that lets you contact Skype users and let them contact you for free. What is [deliberately] missing is the support for SkypeIn and SkypeOut - i.e. you have to pay the normal H3G rate to call ordinary telephone numbers.

But a very smart guy named Leon Mayne has created a program that lets you use another copy of Skype running on a PC as a bridge to forward your Skype calls to the normal telephone lines using your SkypeOut credit; this program is named the Three Skypephone Manager.

I tried it and it works very well; the only problems at the moment are that you need a PC always turned on, and secondly that this PC must be running Microsoft Windows (why should one keep a Windows PC running while away from the screen otherwise?!?...).

Since I do not like keeping machines busy with a useless (strictly from an open-source developer perspective...) operating system then I tried running Leon's program in alternative environments.

First I tried rebuilding the program on my Ubuntu box starting from the source files using MonoDevelop, but I had no luck since the provided DLL just works with Windows. Then I tried running the Skypephone Manager in Wine but I had no luck even updating it to the most recent ("unstable") version; then I tried running it in a Virtual Machine... et voilĂ !!! It just works.

I installed VMware Server with Synaptic from the official Ubuntu packages; then I registered for free on the VMware website to obtain a serial number; and I legally downloaded an ISO of Windows XP from the MSDN Academic Alliance website through my IEEE subscription (it's one of the benefits that I did never use before).

Then I can run the Skypephone Manager keeping always-on not a Windows but an Ubuntu machine (and it is very useful since it can be interfaced to the rest of the world through standard services like FTP, ssh, X11 etc).

Finally I just have to tell that I'm very happy about the functionality of the program developed by Leon Mayne, but that I'm not happy as well about the quality of the voice during my Skype calls (even direct calls Skype-to-Skype). Actually the phone (real name AMOI WP-S1) does not have a real Skype client installed on it but just the GUI, developed by iSkoot, that for each Skype call performs a regular call to the gateway provided by H3G that then transforms the voice into the Skype protocol and route it to the TCP/IP networks.

The people talking with me using a landline phone or Skype on a PC can listen to my voice perfectly, but what I hear using the Skypephone is horrible... probably the speed of the gateways set up by H3G is not sized properly and they are unable to perform 100% of the Skype encoding in real-time (while the reverse thing, i.e. decoding my voice to the Skype protocol, seems to be easier to obtain).

Anyway I'm happy of this piece of technology and I would definitively suggest buying it; especially if one plan to use the Three Skypephone Manager... many thanks Leon!!!


I have to choose another Carputer!!!

After 4 months the eBay seller from which I bought the Carputer preferred to send me a full refund instead than the LCD radio I talked about in one of my previous posts... this happened presumably because I won the auction at a price that was too low for him (371 Euros for a Linellae LF7100G + 10 Euros of shipping fee, for a total of 381 Euros). So now I have to start again from scratch...

But I still want to buy a jewel of technology from the Chinese firm Linellae, and I have seen that the best way to obtain one without the problems of the eBay auctions is to buy one from CarDVDKit, a site specialized in importing stuff from Linellae to the UK and sending them directly to western european customers without hidden custom fees.

But the prices are slightly higher than their counterparts on eBay... the LF7100G model here would cost 419 Euros + 41 fixed shipping fee to European Countries, for a total of 460 Euros... it is 80 Euros more than the price I obtained through the auction (and this explains why the seller preferred to incur in a negative feedback rather than sending me the radio; BTW I was unable to send him the negative feedback because of the too long time elapsed from the auction date).

So if I want to save money I can choose a less expensive model... this is why I prepared a comparison table for the in-dash radios in double DIN format available from CarDVDKit:

LCD size6.2"7"6.2"7"6.5"6.5"7"
Radio w/RDSYesYesNoNoNoNoYes
DivX playerYesYesYesYesYesYesYes
DVD slot8cm8cm8cm8cm8cm8cm8cm
SD CardYesYesYesYesYesYesYes
USB stick inputNoYesYesYesYesNoYes
Bluetooth hands-freeYesYesYesYesYesYesYes
GPS w/TomTomNoNoYesYesYesYesYes
GPS runs w/MusicN/AN/AYesNoNoNoNo

As you can see the LF7100G (in the final column) is the only one to feature the in-built GPS receiver with TomTom preinstalled and also the radio with RDS/EON (very useful to easily find by name the radio station you are looking for); it only lacks the ability to listen to the music while using the navigation software. If I renounce to one of these two features I will be able to save some money... a LOT of money if I purchase a model without the in-built GPS (but in this case I will not be able to sacrifice my HP iPAQ hx2415 PDA to the Google Android cause...).


UltraSPARC T1 vs. T2

Some time ago I had to briefly compare the UltraSPARC T1 (aka Niagara) vs. the T2. I'm going to loose the sheet with my notes, so before it finally happens I will report that table here:




TI 90nm, 9LM

TI 65nm

Max Frequency

1200 MHz

1400 MHz



Total die area

378 mm2

342 mm2

CPU core area

11 mm2

12 mm2

Total pins

1933 BGA

1831 BGA

Power Dissipation


95W typical (60 to 123)

Cores per die



Threads per core



Total threads




SPARC v9 + VIS subset

SPARC v9 + full VIS 2.0

Pipeline stages

6 int

8 int, 12 fp

Integer ALUs






Load/Store Units



Crypto Units

8 small

8 large








16KB, 4-way, 32B line

16KB, 8-way, 32B line


8KB, 4-way, 16B line

8KB, 4-way, 16B line


64 entry, fully assoc.

64 entry, fully assoc.


64 entry, fully assoc

128 entry, fully assoc.

L2 Caches

4 banks x 3 MB, 12-way, 64B line

8 banks x 4 MB, 16-way, 64B line

Memory Controllers

4 x DDR2 @ 200 MHz

4 x FB-DIMM @ 667 MHz

Memory Bandwidth

25 GB/s

60 GB/s

Supported mem. size

128 GB

128 GB

Integrated I/O

Jbus (legacy)

PCI-Express x8

Integrated I/O Bandwidth

3.2 GB/s

2.5 GB/s



2 x 10/1Gb Ethernet


DIY: Debian package

I have just completed my first .deb package, that can be installed on Debian and Ubuntu with a couple of clicks, and I need to write down a short note as a reminder for future packetizations.

First of all, create a directory that will have the name of your package, e.g. my-program_1.0_i386, and copy all the binary files you need into it, using their absolute paths as relative paths.

For instance, if the program executable is /usr/bin/pippo, then you will copy this file into my-program_1.0_i386/usr/bin/pippo and you have to repeat this step for all the files (including the ones under /etc and so forth).

Since the package will not include only files but also configuration informations, create a DEBIAN subdir and fill it with the following files:

  • control: is the most important control file, analyzed later
  • conffiles: list of absolute paths of files (one each line) that you are going to install and that have to be considered as configuration files (this is why Synaptic shows two different kind of uninstallations)
  • preinst: executable script executed before copying the files
  • postinst: script executed after file copy
  • prerm: script executed before file removal on uninstall
  • postrm: script executed after file removal

The four executable scripts can be written in the language you prefer, probably they will be bash shell script files.

The control file will then have relative path my-program_1.0_i386/DEBIAN/control and it will be a text file that will include the following informations:

Section: electronics
Priority: optional
Package: my-program
Version: 1.0
Architecture: i386
Installed-Size: 12345
Depends: sed, libncurses4
Maintainer: Fabrizio Fazzino <fabrizio@fazzino.it>
Description: My Program
This is the long description for My Program.
Please indent this description with one blank space at the beginning
of each line and use a full stop alone on a line to leave a break:
* Unordered lists are obtained...
* ...by placing an asterisk at the beginning of a line.

The installed size must be reported in KByte (so in the example you must know that the files you are copying are about 12 MBytes).

When you think that everything is OK, just run the command dpkg -b my-program_1.0_i386 from the upper directory and it will create a file named my-program_1.0_i386.deb for you.

Now you are ready to try to install and uninstall it several times from the command line (with dpkg) or from the GUI (with GDebi or Synaptic).

When you're sure that it's OK you can share it with the world, or at least to save it for future installations.

Goodbye Jaguar!

No, I didn't sell my car... I've just updated the operating system on my old Apple iBook Firewire G3 466 MHz Special Edition Graphite from Jaguar (10.2) to Tiger (10.4); it is too ancient to support Leopard (10.5) so this will be its final Mac OS X update.

After the OS installation I've added the following programs that I would definitively recommend to every Mac user:

  • Apple X11 server (from the installation disc)
  • Emacs editor
  • AbiWord word processor
  • KeyNote presentation program I bought time ago
  • OpenOffice.org (X11 version)
  • Firefox browser
  • Cyberduck FTP client (nicest icon on the dock!)
  • Adium instant messenger (supports ICQ and MSN accounts like Pidgin on Linux)
  • GIMP graphics editor
  • VLC media player


Common subset GCC/Linux

Now that I've printed the two different lists of the architectures supported by the GCC cross-compiler provided by SpeedBlue.org and the targets supported by the mainstream Linux kernel from Kernel.org, I'll try to write the subset of the architectures common to both the lists.

Starting from the GCC list (that is much shorter) and counterchecking on the Linux one, I see that I have to exclude just the HP-PA architecture for which Julien Lemoine does provide a precompiled Debian package but the kernel guys don't.

I will then group the remaining architectures, for which a Linux kernel can be built in minutes on a Debian/Ubuntu IA-32 machine, in 3 different lists.

Non-RISC Architectures:

  • Intel x86 a.k.a. IA-32 (from the i386)
  • Intel 64 a.k.a. AMD64 a.k.a. Intel EM64T
  • Intel/HP IA-64 (actually I like this VLIW/EPIC stuff)
  • IBM S/390 (from the old world of mainframes)
  • Motorola 68000 (the CISC that lost the war against x86)

RISC Architectures that I don't like:

  • Alpha (extinct)
  • ARM (I said in a previous post why I don't like it)

RISC Architectures that I strongly suggest to play with:

  • MIPS
  • POWER / PowerPC