Debian is Worth a Lot (Yet it’s Free) and C/C++ Language Still Rules

James E. Bromberger (JEB) , a contributor to Perl CPAN and Debian, has estimated the cost of developing Debian Wheezy (7.0) from scratch based on the the number of lines of code (LOC) counted with SLOCCount tool, the Constructive Cost Model (COCOMO) and the average wage of a developer of 72,533 USD (using median estimates from and for 2011). He found 419,776,604 lines of code in 31 programming languages giving an estimated cost of producing Debian Wheezy in February 2012 of 19 billion US dollar (14.4 Billion Euros), making each package source code (out of the 17,141 packages) worth an average of 1,112,547.56 USD to produce. He also estimated the cost of Linux 3.1.8 Kernel with almost 10 millions lines of source code would be worth 540 million USD at standard complexity, or 1.877 billions USD when rated as ‘complex’. I don’t know which tool he used for the calculation (maybe his own), but there are two simple […]

Cross-compiling VMWare View for ARM Linux (in Debian/Ubuntu)

Earlier this month, I wrote an article about PCoIP Technology which shows an Android application (VMWare View) running on an OMAP4 Tablet displaying a Windows 7 desktop. This remote desktop technology relies on a powerful server to do the processing and thin clients (in that case Tablets) to display the desktop. Since only pixels are transferred any OS (supported by the server) could be displayed in the thin client. That made me wonder if there was an open source PCoIP client that could run on low end Linux client such as the Raspberry Pi. VMWare View Open Client provides just what we need, but is only available in source code so we need to cross-compile it for ARM or build it in an ARM machine. Today, I’ll show the instructions I followed to cross-compile it for ARM in Debian using Emdebian Toolchain. First download and extract VMware View Open Client 4.5 source code:

Install some tools on the build […]

Yocto Project Quick Start Guide for Ubuntu

Yocto is an embedded Linux build system used to create a Linux distribution for a specific application/board combination. I’ll describe 2 methods to get started: Building and running  a qemu image for x86 from scratch Using pre-built binaries to run the x86 image in qemu This is a shorter version of the longish Yocto Project’s Quick Start Guide. The official guide is more complete (explains all details) and give instructions for several distributions, whereas this guide simply lists each step and is focused on Ubuntu. So you could use this guide to start the build, and during the build (which will last a while), read the official guide to actually understand how it all works.   Prerequisites First, you need to use bash instead of dash in Ubuntu:

and select “No” to use bash. Then install the required packages with apt-get:

Building and running a qemu image for x86 from scratch Download and extract the latest version of […]

Xibo Digital Signage in Raspberry Pi Emulator (Step 1)

Xibo (pronounced eX-E-bO) is an open source, multi-display, multi-zone, fully scheduled digital signage client/server solution written in Python and dotNET. If you are not familiar with Xibo you can visit or/and read my introduction XIBO: An Open Source Digital Signage Server/Client. The Raspberry Pi is a low cost board based on Broadcom BCM2835 (ARM1176 Core) that should be available for sale at the end of January / beginning of February at There are two versions of the board: Model A: 128 MB RAM and no Ethernet Model B: 256 MB RAM with 10/100 Mbit Ethernet BCM 2835 also features a Videocore GPU supporting OpenGL and 1080p30 video decoding that makes it ideal for multimedia applications such as digital signage players. The board support both HDMI and composite video output. You should also be able to connect a LCD via the DSI interface. If we can make Xibo run on Raspberry Pi, we would have a low cost digital […]

Cross-compiling libavg 1.7 for ARM on Debian

libavg is a high-level development platform for media-centric applications using Python as scripting language and written in C++ and I’ve already written a post to cross-compile libavg 1.6 in Ubuntu (with linaro cross toolchain) and using Beagleboard qemu image. Since I’ve doing some preparation work to have software running on the Raspberry Pi and that the latter won’t support Ubuntu, I’ve had to cross-compile it again. This time, I’ve found a cleaner way to do the cross-compilation with dpkg-cross and xapt tools which can load the required armel package to the arm toolchain. Those tools really make life easy, as previously (a few years ago), I would have had to cross-compile all dependencies manually. Here are the steps I followed: Install Emdebian ARM Cross Toolchain and Tools in Debian. Download libavg 1.7 source code

Extract it

Install the following armel development packages: sudo /usr/share/pdebuild-cross/xapt -a armel libpango1.0-dev libavformat-dev libavcodec-dev libswscale-dev python2.6-dev libboost-python-dev libboost-thread-dev libglu-dev libgl1-mesa-dev libgtk2.0-dev libglib2.0-dev libsdl-dev […]

Installing Emdebian ARM Cross Toolchain in Debian

I had previously installed Sourcery G++ ARM Linux toolchain in Ubuntu to build some software running in Debian, but I encountered some issues with some libraries (libavg) that use gethostbyname in static libraries without any easy way to make it dynamic. In that case, the library in the rootfs and cross-compiler must match.  So I decided to install Debian Squeeze (6.0.3) and the corresponding cross-toolchain by Emdebian (short for Embedded Debian). First to use this toolchain, add the URL to get Emdebian packages to /etc/apt/sources.list: # # — Emdebian cross toolchains # deb squeeze main Then install Emdebian public key: apt-get install emdebian-archive-keyring apt-get update If you don’t install the key, you’ll get the following error: W: GPG error: squeeze Release: The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY B5B7720097BB3B58 Search and install packages for the architecture that you need, in this case ‘armel’: apt-cache search armel This command will return a […]

Raspberry Pi Beta Boards Are Being Auctioned

The Raspberry Pi foundation has setup an Ebay account and made some of the Raspberry Pi Beta Board Model B (Ethernet + 256 MB RAM) available on Ebay. This is for charity so you won’t be able to get them for 35 USD… The current bid is 1,320.00 GBP (2050 USD). They’ll add 2 boards on Ebay each day. The goal of this auction is to gather funds in order to hire a full-time staff and give as many Raspberry Pi away to kids as possible. If you win the bid, you’ll get one of the 10 boards for sale, a USB power, an SD card with Debian, and some kind of certificate showing you were one of the first to get a board. If you are interested, you can bid at Jean-Luc Aufranc (CNXSoft)Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, […]

Remmina : Remote Connection via RDP, VNC, SSH, XDMCP or SFTP

If you need to connect to both Windows and Linux machines remotely,  Remmina is what you need. It is an application that can remotely connect to server using VNC, SSH, XDMCP, SFTP and RDP protocols. So that you can connect to a Windows machine using the default RDP (Remote Desktop Protocol) protocol without installing a VNC server. In the screenshot below I setup a Windows RDP and a VNC connection to There are plenty of options. Here’s a screenshot of Remote Desktop Preferences for the RDP client. To install in an Ubuntu or Debian distribution:

To install it in Fedora:

Jean-Luc Aufranc (CNXSoft)Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.