linux


Encuentro Linux 2009 Day 1 Report
()
October 23, 2009 - 20:30

So a child of the frigid north found his way all the way to the other side of the world for yet another spectacular free software conference. This time it's to celebrate the Encuentro Linux conference 2009 in Valparaiso/Vina del Mar in sunny Chile.

Hosted at the picturesque Universidad Tecnica Federico Santa Maria, this conference has attracted hundreds of Linux enthusiasts, students, and business folks. With a view like this, it's no wonder that you often see people standing outside discussing their software, instead of the auditoriums and class rooms:

(View from outside the conference entrance)

The main reason I'm attending the conference is to spread the word and raise awareness of everyones favorite toolkit and desktop - Qt and KDE!

I presented two talks - one more technical on the various Qt modules available and how you can use them. A (demo-effect riddled) presentation on using Qt Creator to make a web browser in 5 minutes as well guiding through the other tools included with Qt. Thanks to Henrik for large parts of this presentation.

Qt_Technical.odp

Also, I presented an introduction to the KDE project and an overview of KDE4. KDE has so much to show that 1 hour only gave me enough time to scratch the surface - bummer! Thanks as well to Sebas for large parts of this presentation.

kde-chile.odp

 

 

(Encuentro folks enjoying the good weather and discussing important topics like Linux and Freud)

It's worth noting that the food here is spectacular. For instance, even "fast food" like the Chorrillana (sp?) has the lowly Oslo kebab/shoarma beat on every metric!

(Miguel in a chorrillana mode)

All in all this conference is off to a great start and I'm already enjoying day 2 as I write this blog while listening to Lady GaGa in the "penguin room".

Oh yeah...and thanks Nokia for taking me from -2 degree Oslo weather walking to work, to 24 degrees of South American awesomeness!

Back from Austin
()
April 19, 2008 - 13:12

So, after spending a week in the US attending the Linux Collaboration Summit, I'm finally back, and slightly less jet lagged enough to write a small post about my journey. Although I haven't attended many conferences in my life, I have to say that this one was truly one of the best. The amount of talent mixed with collaboration was a spectacular sight. Indeed everyone was open to dialog, and wanting to to work together to bring Linux forward as a whole. Particularly interesting and inspiring to me was the talks by vendors and hardware people who are already now taking the first tangible steps to reaching the elusive year of the Linux desktop. The idea of creating a niche market for small or ultra inexpensive systems which basically work perfectly for anything but gaming is a really feasible and ideal market for a Linux based system to thrive and lead. The panel that presented that track proved that the industry has indeed noticed, and the manufacturers are pushing hard for the concept as well. Of course, I found it particularly exciting to hear the that Asus EeePc SDK will focus on Qt4, as you can see in the guide here. Enough chit chat, here's some eye candy:

Ever so famous Jon “Maddog” Hall. If you look closely in the background you can see Henrik presenting Qt 4.4 features as well ;)

I think this pic really expresses the mood on the mobile panel, where it felt like a free for all against Google (on the far right), and OpenMoko being the neutral party beside him. The most entertaining panel, but also the least productive in my opinion.

At the end of the first night we were taken to a really nice club/lounge place called Qua which has the worlds largest indoor aquarium in a club. Basically, the dance floor was literally a big shark tank. If this wasn't cool enough, J5 of fedora/gnome/d-bus fame managed to hook us up with a nice bar side alcho-pyrotechnic display:

We also got to visit Ranger, a really powerful supercomputer/grid which was recently built (running CentOS on Sun hardware). An ultra friendly diagram to show its power...

...of course, they needed to show their Texas pride as well! :)

 

After finishing up all the hard summit work, we had a little boat outing on lake Travis (we had 3 small fast boats and cruised around basically :))...

.ate some good tex-mex at a restaurant overlooking the lake...

...and finally ending the day screaming as you realize that you forgot to put some sun block on your legs!

A spectacular summit, and I really hope to go again next year!

Getting Qt 4.3.2 running on the Chumby
()
October 27, 2007 - 00:38

The libraries

First, we need the GNU toolchain to cross-compile things for the Chumby. Download and install it from:

http://wiki.chumby.com/mediawiki/index.php/GNU_Toolchain

Now, we need to decide where to install our files to; i.e., our prefix. Since I'm having some trouble with my NFS share, I'll use my USB stick. (Located at /mnt/usb). Feel free to replace this with your prefix wherever you see me mention this location. Next, we need to download and install tslib for the touchscreen.

I used version 1.0 from: http://tslib.berlios.de/
 

Make sure you have autoconf, libtool, and the other usual suspects installed. Then from the extracted files directory run:

./autogen.sh

Thereafter:
./configure --prefix=/mnt/usb --host=arm-linux
 
What next? You guessed it:
make
 

If you get some errors about rpl_malloc, simply comment out that evil line in config.h and try make again.

And finally:

make install
 

Next up is Qt.

 

Unpack it, and run:

./configure -embedded arm -pch -prefix /mnt/usb -qt-kbd-usb -qt-mouse-tslib \
-L/mnt/usb/lib/ -I/mnt/usb/include/ -nomake examples -nomake demos
 

Note:You can leave out the -qt-kbd-usb if you want. I kept it in since I like being able to type on the Chumby with my USB keyboard ;). Also, thanks to orangerobot from the Chumby forum for pointing out the mangled -L line.

Next:

make
make install

 

So far we don't have any Qt programs to play with. Let's compile a small Qt widget/app called PictureFlow (http://code.google.com/p/pictureflow/) by Ariya Hidayat.

I have modified the sources slightly (added basic mouse support, some images, resizing), and packaged it here:
pictureflow-chumby_1_0_tar.gz

 Uncompress it, and in that very directory:

/mnt/usb/bin/qmake
make
 

Copy the resulting binary and images to a place on your prefix:

mkdir /mnt/usb/test
cp pictureflow *jpg /mnt/usb/test/
 

Now, we need to create a file with some environment variables that you can use when you're in your Chumby shell.

Create a file in your prefix (/mnt/usb for me) called chumby.env with the following contents:

export TSLIB_TSDEVICE=/dev/input/event0
export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_PLUGINDIR=/mnt/usb/lib/ts
export TSLIB_CONSOLEDEVICE=/dev/ttyS0
export TSLIB_CONFFILE=/mnt/usb/etc/ts.conf
export TSLIB_CALIBFILE=/mnt/usb/etc/pointercal
export LD_LIBRARY_PATH=/lib:/mnt/usb/lib
export POINTERCAL_FILE=/mnt/usb/etc/pointercal
export QWS_MOUSE_PROTO=Tslib:/dev/input/event0
export QWS_KEYBOARD=USB:/dev/input/event1
 

Finally it's Chumby time!

Enable SSH on the Chumby as per:

http://wiki.chumby.com/mediawiki/index.php/Chumby_tricks#Open_a_secure_s...

SSH in and cd in to your directory of installed files.

For me, this meant:

Plugging in my USB stick.
ssh root@<ChumbyIpAddress>

cd /mnt
umount usb
mount usb
cd usb

Lets start off by killing the current Chumby GUI:

/usr/chumby/scripts/stop_control_panel

Now, we need to source that file with environment variables:

source /mnt/usb/chumby.env

Then, we need to configure the touch screen for tslib.

Make sure that your etc/ts.conf file has the input module un-commented.

My /mnt/usb/etc/ts.conf looks like:


module_raw input
module pthres pmin=1
module variance delta=30
module dejitter delta=100
module linear

Finally, we need to calibrate the touchscreen:

/mnt/usb/bin/ts_calibrate

Make sure that you touch the five different crosshair locations. If you accidently tap twice at the same spot, re-run ts_calibrate untill you get it right :)


To test and make sure that tslib is working correctly, feel free to play with:

/mnt/usb/bin/ts_test

You should be able to drag the crosshair around.


And last but not least - it's time to try out our Qt app:

cd /mnt/usb/test
./pictureflow -qws

If all is well, you should see something that looks like this:


(http://www.youtube.com/watch?v=v2yN0F7_YlI)

 

Note: I only added rudimentary mouse support to it, so it really only cares if you tap on the left or right half of the screen to start swapping covers.

Hopefully you didn't encounter any problems. These steps worked for me, but I may have just been lucky ;). More likely though is that I forgot to mention something. Please feel free to ask questions on this Chumby forum thread:
http://forum.chumby.com/viewtopic.php?id=720/

Allthough I realize that this was quite cumbersome, the good new is that you basically only need to do this once. Thereafter you just need to write your Qt app (Google for tutorials ;)), qmake, make, and copy the executable to your Chumby! :)

Qt 4.3.2 on the Chumby
()
October 26, 2007 - 08:48

I finally managed to get the last detail (touch screen, thanks to tslib!) sorted out, so without further ado... Qt 4.3.2 running on the Chumby! :)

If the flash player doesn't show up in your browser click here to go directly to Youtube.

I'm going to clean up the process and post instructions once I find some time... And yes, I still need to get a better camera ;)

A mysterious package arrives...
()
October 24, 2007 - 21:12

A strange package arrived today...within it dwelled a cryptic cotton sack labelled Chumby:

What could be inside? I wonder...

My long awaited Chumby of course!

The packaging and manual were really neat, and setup was a breeze. Simply plug it in, and follow the on screen instructions. Extra props go to the calibration tool (was almost fun ;)), and the ultra simple wifi setup.

Learning how to reverse engineer a Windows USB driver: the Luxeed LED keyboard
()
October 13, 2007 - 03:58

In this article I will share with you the trials and tribulations that I went through as I reverse engineered a Windows driver to create a Linux one. The hardware which will be subjected to my hackery is the Luxeed LED keyboard. A keyboard with seemingly free controll over most of its multi-colored LEDs. After seeing this device on the digg, I knew I had to have one.