Wednesday, December 26, 2007

Weather Station X-mas present

I've got a Weather Station WS-2036 from my wife as X-mas present. It can measure temperature, pressure, wind speed and direction, and rain. The best of all, it is possible to connect to a PC using the serial port. It is bought in the Swedish shop Jula and is working with Linux and Ubuntu.

Of course the package says nothing about Linux, Julas site says nothing, Heavy weathers site which the package refers to is equal bad. After some investigation I found out the the manufacture is actually La Crosse. All La Crosse weather stations WS-23XX should be compatible with the free software open2300.

Since I now have got my first moment alone since I got it I took the chance to test it. I reinstalled my lab-machine with Ubuntu 7.10 (Gutsy Gibbon). Installed the build-essential package. Downloaded Open2300 and compiled it, just write make. It worked out of the box. I think Open2300 will be a good candidate for me to provide through Ubuntu PPA.

Open2300 contains a kit of different small tools that reads data from the weather station. The most useful is fetch2300, xml2300. The first one reads data from the weather station and prints it to the screen. The other one writes an XML-file with the current data from the station. From here it will be quite easy to make my own presentation layer. There are also some php-scripts for presentation, which I have not looked into yet.

It seams to exist a lot of tools for presenting weather data and sites that collect those data. I will have to look in to those.

I must also mention that I got a cool BCD-clock from my wife's sister and boyfriend and a Photo frame from my sister and here family. I also got a bunch of nice cooking stuff etc, but since this is my tech-nerd blog I won't write more about them here.

Thursday, December 20, 2007


I have got Ubuntu cola from my wife. I know that other Ubunteros have blogged about it earlier, but this is the first time I have noticed that it can be bought in Sweden. It is a Cola that is faretrade labeled which means that workers involved in the manufacturing are guaranteed to get paid a salary they can live on.

It taste like Jolt cola. It feels like it contains less sugar than Coca Cola. I wold not hesitate to drink it again.

Tuesday, December 18, 2007

I have committed a sin

Yesterday I committed a sin. I registered an account for Microsoft messenger. The reason is that some colleges using MSN and one of them will be home for child care after X-mas and work one day from home. So we needed a faster way to communicate.
I could not commit the sin without trouble so it looks like Microsoft and I agree with each other that our road must not be crossed unnecessarily. When I tried to install Microsofts own client it required that my client got upgraded. Since my computer at work is upgraded centrally I could not do that without installing Microsofts update client. If I do that I am on my own and my sysadmins will just wipe out my disk if I asks for help. The solution was to install Pidgin. The next problem was to register for a passport account, since I do not want a Hotmail account. It took a while to find the right place.

After an hour or so I was up and running. I must point out that I only use MSN for work, not for pleasure. The main reason I feel that using MS messenger is a sin is that the protocol is closed and not an open standard.

Our build continuous system support sending messages through Jabber/XMPP with results from the build. I hope I will get inspired to set up a Jabber server at work. My colleagues have promised to convert to jabber when I got it to work.

Can anyone recommend a good Jabber-server that is good, easy to install and runs on Linux?

Monday, December 3, 2007

X-mas tree in place

December has begin and it is time to X-mas decorate my office. So I brought my USB-connected X-mas tree to work and connected it to my Ubuntu desktop. The fiber optics has been glittering all day.

Friday, November 23, 2007

Fun with RFC:s

As you may know RFCs (Request for Comments) published by IETF (Internet Engineering Task Force) include specifications for the most common protocols and formats used on Internet. You have IP, TCP, SMTP for mail, HTTP etc.
Among these RFC:s there are some that are not too serious, like the ones published April 1:st. Today I found this site that guides you to the more humor typed RFC:s.

Thursday, November 22, 2007

Sysklogd is the bad boy

Back at the computer today I have found out that it is sysklogd that is the bad boy on my Ubuntu 7.10 (Gutsy Gibbon) server. What happens is that sysklogd makes the some later scripts (dbus or bind9) started during boot is hanging. Some what irritating. It seems to works fine when starting it later. For instance. If I start sysklogd after the computer has booted and then restarts bind. Bind starts correctly.

For now, I start it manually after boot. I will do some more investigations what is happening.

Tuesday, November 20, 2007

Something got terrebly wrong

I upgraded my server to Ubuntu 7.10 (Gutsy Gibbon). Everything looked fine during the upgrade and it booted smoothly, but I could not log in and it did not answer on ssh.
It looked like it did not start any services. I booted in single user mode and there I could start the services like bind and ssh. After some testing I noticed that some of the early services blocked or locks the later ones.

I assume it is either acpi or dbus that is the bad guy. I also assume that the root cause of the problem is that I am using a VIA mini-itx board with a VIA-processor. For now, I have booted in single user mod and started all necessary services and will dig in to the problem some other day.

Sunday, November 18, 2007

Blutooth and Ubuntu

I bougt a new mobile phone yesterday, a Nokia 5300. Now I tried to connect the phone using bluetooth from my Ubuntu 7.10 (Gutsy Gibbon). It worked right out of the box.
I made my phone visible. Right clicked the bluetooth icon on my Ubuntu desktop and selected browse device. The phone appears in the list, select it. Then the phone asks if you want to connect to the computer and for a pin code. Give any 4 digit number. After that the computer asks for the same pin code. Then you can browse your phone using Nautilus.

Wednesday, November 14, 2007

Service and /etc/init.d

Christer Edwards asked in his blog today about the difference between starting a init-script through /etc/init.d and the command service that exist on at least Red Hat boxes. I left a comment on his blog, but thought it would be nice to write some more about it here. It is not the first time I got the question.

What Christers blog was about was that you can get the service command on Ubuntu too:
sudo aptitude install sysvconfig

At boot of your Linux machine the scripts in the /etc/rcX.d are started. X corresponds to your run level. On clients is it normally 5 and servers 3, but all Debian and Ubuntu-boxes uses 2. Anyway, those scripts are actually links to /etc/init.d/. The software that has called these scripts has traditionally been init, now days it is upstart on Ubuntu. Init does not necessary have the same environment variables set as you will have when you log in as root. Therefore is the service command fix so that the environment variables are the same as when starting the services on boot. Starting a service throug /etc/init.d does not guarantee that, i.e. a service starting when you loged in as root may not start at boot since some variables are missing.

Sunday, November 11, 2007

How to find the interesting TV shows?

I have had the possibility to do some coding this weekend. Which also gave me the possibility to learn XSL(T) , look closer on iCal, and xmltv. The result is a small application to search TV charts including the descriptions of the TV shows. It uses xmltv to fetch information about whats on TV. Then there are a very googly search interface to find the interesting shows. Out comes a new reduced XML file in the same format as xmltv but only including shows that match your search. This XML-file can then be translated to either HTML or iCal using XSL. Its is of course possible to write other XSL-files to create other formats. It is written in Python.

I am not ready yet to publish the application. It needs some documentation and packaging. My main reason was not to write the program, it was more about to play with different algorithms and programing techniques. The program was just a side effect.

I will write more about this software when I am ready to publish it.

Saturday, November 10, 2007

Don't write another line code until you have seen this

I think this talk is one of the best talk I have found in Googles Engineering series. Google talks are generally very good, but this is even better and has a good speaker.

Joshua Bloch talk "How To Design A Good API and Why it Matters" presents a lot of good information what to think about when creates API:s. Even if you aren't writing another framework it is important. I think people seems to believe today that reuse can only be done using frameworks. Joshua points out the importance of good API:s inside your program and for different modules.

I would also like to add that this is important when designing new XML-DTD:s, which is a kind of API. For instance, I have seen XML file formats that says the address-tag includes space separated e-mail addresses. Why not use multiple address-tags, one for each address. In this way I can solely use my XML-parser to parse the file and do not need add extra code to separate the sting at spaces.

If you do not have an hour at the moment, remember this points which I have taken from the talk:

  • When in doubt, leave it out
  • Don't make the client do anything that the module could do
The paper he gives away he says is from the abstract from OOPSLA so I assume it is this abstract he means. I like rule of thumbs in this format.

A very good book on the same topic is "Object-Oriented Design Heuristics" by Riel.

Friday, November 9, 2007

Piglet meets Gutsy

My wife is in London right now so I took the opportunity to upgrade her laptop Piglet (a Zepto 6014w) to run Ubuntu 7.10 (Gutsy Gibbon). It worked smoothly and Compiz is working great. The upgrade took less time than the roast I had in the oven.

It is actually quite boring to write about this since it worked too well. No problem and no surprises. the lack of surprises mostly depends on that I have been using Gutsy for a while on my laptop.

Thursday, November 8, 2007

Zepto sells on of four without OS

According to the Swedish computer newspaper TechWorld OpenSource (article in Swedish) the Danish Laptop provider Zepto sells one of four computers without operating system. My wife bougth one half a year ago. It works terrific with Linux, in her case Ubuntu. I would not hesitate to buy my next laptop from them. Zepto sells computer on mail order all over Europe.

I do not understand in what the major computer providers sees the problem. May be I do, it is called Microsoft.

Open Source Forum 2008 continued

As I wrote the other day I have visited the Swedish conference Open Source Forum.

It was a talk about buying the right thing after lunch the first day. All he said were things that everybody knows; focus on the functionality you need, do not buy a lot of extra functionality, more expensive is not better etc. It is always good to repeat those things. I still wounder why so many organizations pay for extra functionality they do not need.

The IT manager of the small city Osby then told us that they have converted their organization to Open Office. Those who needs the MS Office functionality can get it but its become more and more rare. Unfortunately the big suppliers of applications to governmental organizations integrates very close to MS Office and are unwilling to change that. I have talked to several cities that want it to change, but failed.

The second day became more technical focused with talks about PostgresSql/EnterpriseDB, Ubuntu, Thin clients based on Ubuntu, Security and Intel and Sun's Open source strategies.

I was surprised that a lot of talk mentioned Ubuntu, beside the two talks about Ubuntu. In the talk about thin clients Anders Wallenquist presented how LTSP works. I have actually never looked at it before, but it is quite impressive. Notable is that, based on questions from the audience, people have a very vague understanding of what Thin Clients are and how they work.
Urban Anjar from the Swedish LoCo team presented Ubuntu in a more broad perspective and what the Swedish LoCo team does. I must say I would like to see a merge of the two Swedish sites and

There were also a lot of talk about Xen and virtualization.

One fun thing was that two independent people introduced me to other people as "Open Source and Linux pioneer in Sweden". It is a bit to stretch a point in my opinion but I may be one of the first to advocate and demonstrated the use of Open Source in classic organizations due to replace legacy systems.

Tuesday, November 6, 2007

Open Source forum 2007

I am currently attending the Swedish conference Open Source Forum 2007 in Stockholm. The conference have prior years given a good view about what happens in the aspect of use of Open Source in Sweden with some minor part from other countries.

So far the national property board have presented what Open Source they use, which is a lot. The most interesting is that they use Samba and open ldap instead of AD. One talk as about GPL v3 in a Swedish perspective. The last seminar was about about Peugot and Citroëns client use of Linux (Noviell) clients. They will have 20000 in the end of next year. Their users demands that they want Linux, which is a very good response.

The lunch is ending.

Saturday, November 3, 2007

In search for rescue

A friend called me this morning in an urgent need for a rescue CD with support for EVMS, LVM2, and JFS. A lot of rescue CD:s lack in either EVMS or JFS. I did some search and found System Rescue CD. It looks like it full fills the requirements and much much more. I think I have used this rescue CD in an earlier release.

Friday, November 2, 2007

Finally IMAP support at GMail

The only complain I have had against Goggles GMail have been that it did not support the IMAP protocol. Now it does! And it works great together with Evolution. Thank you Google!

Sunday, October 28, 2007

Hibernate works again and Network-manager works

I wrote yesterday that hibernate did not work for me in Ubuntu 7.10 (Gutsy Gibbon). The solution was easy, I changed from the closed source fglrx to the open sourced driver ati. After that can my MSI S271 hibernate again.

Information about the bug in fglrx can be found here.

I continue to play around with Gutsy. Network-manager is now working. Entered the configuration dialog and activated roaming configuration and then restarted the networking init-script:
sudo /etc/init.d/networking restart

Saturday, October 27, 2007

Unbuntu 7.10 (Gutsy Gibbon) after a week

After have used Ubuntu 7.10 a little more than a week I have got some experiences, bote positive and negative. I have not spend any time to try to fix the problems I have, yet. So there may be solutions to them. The computer I have used Ubuntu 7.10 is my laptop MSI S271 with a AMD-CPU and a ATI graphics card.

Lets start with the bad things. Hibernation have stopped working and I have found on the forums that I am not alone. This is definitely my biggest problem so far.

I got disappointed that I can't use Compiz. It may work if I change driver I have not tested that. Both the new open source driver xgl and the older one may be candidates. Currently am I using fglrx Several sites have written today that AMD/ATI has released a new driver, that may be another solution.

The network manager seems still not working for me, but thats no big deal for me. I can use wireless and it is not to big deal to change SSID and network in the old fashioned way.

Finally I have some problems with pidgin. Groups with Swedish characters like ÅÄÖ are showed two times, on time with correct title and one time with a typical UTF-8 error. The faulty group cannot be removed. I know that I have had the same problem with earlier GAIM/Pidgins after upgrades.

Now its sounds like it is a big disappointment, but its not. The system is still very stable and iot works fine for my daily use. There are some positive changes too.

First of all, which I like very much, is that I get notably better battery time. I have no exact measurements but at least half an hour. Futher, the printing tray icon notifies me when my printer is out of paper. That is good since that I am not always in the same room as the printer. Open office is also starting faster. The good things may sounds like few, but that is OK since Ubuntu is released often and easy to upgrade. Smaller changes gives fewer problems.

Important is also that the upgrade from 7.04 worked smoothly after I had disabled my third party repositories, like medibuntu, and increased the size of my root volume.

Thursday, October 18, 2007

Laptop refreshment and Jython

I haven't had too much spare time for a while, therefore the lack of writing. Fortunately I had time today to start upgrading my laptop to Ubuntu 7.10 (Gutsy Gibbon) when it is still fresh. I have a few minutes left until it finished.

Yesterday evening I were at a seminar about Jython. Jython is an implementation of Python that runs on Java virtual machines (JVM). The advantage of this is that you can use all existing frameworks etc that exists for Java but still programming Python. The talk was about a Google summer of Code project that wrote a compiler for Python 2.5 for Jython. Until now Jython had only run Python 2.2 code. There were a lot of talk about how they had written the compiler to Java byte code with a minimal of effort. The focus was to get something working, and the got it.

Tuesday, October 2, 2007

Swedish police saves 400 cars by using MySQL

MySQL has a press release that tells us that the Swedish police save the amount of 400 fully equipped police cars in the period of five years. Unfortunately, very few Swedish governmental organizations tells the public these kind of facts about their savings using Open Source. I hope this will be a wall breaking case.

Monday, October 1, 2007

Stack traces

We need to learn Java programmers that stack traces are not valid error messages. They should neither write, eventually, extra error information within the stack trace. Please write a clear error message that is separable from the stack traces. The stack traces are OK in debug mode, not in production mode.

Friday, September 28, 2007

It is not God its Gutsy

After reading this I have started drooling to run Gutsy on my laptop. I love to use the dynamic configurations of the screen. But most of all I love each minute of longer battery time I can get. The article talks about empirical test given 33% more battery time. Guys, I would still love you if its only were 3%.

The question is; can I wait until the final release?

Saturday, September 22, 2007

Keyboard shortcut to disable touchpad

As I wrote a few hours ago it would be nice to be able to have a keyboard shortcut to enable/disable the touchpad. So when I started eat a chocolate cake I decided to fix the problem for Ubuntu and MSI S271. It should work in most GNOME-based Linux distributions and for most touchpads.

First I wrote a script to toggle the touchpad (download here):

if lsmod | grep "^psmouse " > /dev/null ; then
/usr/bin/sudo /sbin/rmmod psmouse ;
/usr/bin/sudo /sbin/modprobe psmouse ;

No rocket science here. Put the script some where on your harddrive, like /usr/local/bin. Add the following line in the end of your /etc/sudoers file:
ALL ALL=(ALL)NOPASSWD: /sbin/rmmod psmouse, /sbin/modprobe psmouse

This gives all users the right to enable and disable the touchpad.

Register your the script as a keybinding command in gconf:
gconftool-2 -t str --set /apps/metacity/keybinding_commands/command_1 "/usr/local/bin/"

Register in the same way what shortcut key to launch the command:
gconftool-2 -t str --set /apps/metacity/global_keybindings/run_command_1 "0xb2"

I selected the webbrowser launcher-key, which have 0xb2 as keycode, to toggle my touchpad. You can find examples of other keycodes here.

Disable touchpad on MSI S271

I have sometimes been frustrated on the high sensitivity of the touchpad at the MSI S271. Since its not a synaptic I have not had any way to disable it, I thought. Stupid me, it is very easy. I read this blog today and got annoyed why I did not thought of this my self.

To disable it:
sudo rmmod psmouse

You will still be able to use any USB pointer device.

To enable the touchpad again:
sudo modprobe psmouse

I have verified this on Ubuntu 7.04 (Feisty), but it should work on any modern Linux. Once in the future I will connect this to some key combination.

Friday, September 21, 2007

My life just became easier...

One of my biggest problems when working with Eclipse were until now that I did not know how to be in two different places in one file at the same time. For you that know emacs, C-x 2 and then have the same file in both windows.

But to night I stumbled up on the solution. Right click on the editors tab and select New Editor. The file appears in two different editor tabs. Now right click on one of the editor tabs again and select the Move submenu and then Editor. Drag your framed window until you are below the editor frame.

This will definitely simplify my development in Eclipse.

Red Hat are funny guys

Red Hats Colby Hoke tells here that they introduced yum to solve the dependency hell. He continues: "Red Hat led the way [...] to solve a customer problem the dependency hell."
He missed totally that they were more or last the last of the major Linux distributions to solve this problem. Or does he means that they were the first suits that talked about that they had solved a problem, other Linux users didn't have. To lead does not mean to just be in front of Solaris and Microsoft, it means to be in front of all. Does he knows that Y in yum stands for Yellow Dog, which is a Linux-distribution Macs.

The dependency hell was one of the reason why I left Red Hat and Fedora in favor of first Debian and later Ubuntu.

Sunday, September 16, 2007

Exciting week ahead

It will be an exciting week in front of us. On Monday the European Union will decide in the antitrust charges against Microsoft. As all of you may know, SCO filed for Chapter 11 this Friday, so on Tuseday there will be a hearing to decide if SCO will get bankruptcy protection or not.

These decisions will affect the Open Source community. I guess that the decisions can not hurt the community, just gain it. The question is how much?

Thursday, September 13, 2007

JavaZone end

I continued the day by listening to a re-run of Ivar Jacobssons talk, which where I missed yesterday due to the room got full before I got there. It was the most interesting talk at the conferens, even if it wasn't about Java. As you may know Dr. Jacobsson is one of the three gurus behind RUP. He admitted during the talk that RUP and Objectory were too heavy and why throw out everything if only one part of your process fail.

Instead he have broken down processes into eight practices. Practices are parts of processes which more or less all processes include in different forms. Example of practices are teams or architecture. There are not only one way to implement a team, so there will be several practices that describes teams and you should select the one that fits your organization. Jacobsson have one way to implement each of the eight practices. Other will present others, in total there are 100s of practices.
Each practice is documented as ten to twenty cards and then some pages in a book as a deeper reference. In total is the documentation less than 200 pages, compared to RUPs 3000 pages.
Jacobsson calls the new "process" Essential Unified Process.

I love Jacobssons new way of describing processes and that we no longer should have people just maintain and develop processes. Instead will the teams "create" the process according to its needs. I also love the case that he finally says that one size does not fit all. I will definetly promote this new way of thinking, which also fits very well into agile methods.

I visited to different seminaries about Spring. One was about OSGi and Springs implementation. OSGi is a way to dynamically load and change modules in a Java environment at runtime. Very sexy technology that make it possible to do upgrades without downtime. The other seminar was about webservices with Spring.

I also attended a seminar about generics in Java. Generics is new in Java since 1.5. I like generics, but I haven't used it in Java.

I am very satisfied with my first visit at JavaZone and hope I will have the possibility to come back another year. It have helped me to come back into the Java world. It have been talks about cutting edges things that only exists in SVN jet to experience reports of real projects. The talk has also been about processes and working methodology as well as deep into the code.

Most of the seminars are in English which makes it possible for non Scandinavian people to attend. I have also attended talks in Norwegian, which was no problems for me since Swedish and Norwegian are quite similar.

JavaZone day2

It is day 2 of JavaZone 2007. I have today listened on several new good talks. Two about SOA; one were a case study and the other was about how to use Apache Tuscany. Tuscany may fit well into my current project about handling warnings using CAP.

Futher, I listened to Matt Raibles overview of Java web-frameworks. Which not make the choice of a web-framework easier. But I have drawn the conclusion that Spring is rather popular du to is improvements of J2EE.

Wednesday, September 12, 2007

JavaZone day one

The day continued with seminar from Sun about new things in Java. They talked about JavaFx as a alternative for Adobe Flash. Then they showed robots controlled by Linux and, of course, Java. The question is how to convince my boss that we need one to make better weather forecasts.

Next talk was about Scrum and agile methods, with focus on CMMI 5 certified companies. It gave a very good overview of Scrum and a lot of figures that it is good for productivity (up to a factor 10). I am personally pro to Agile methods, but I question if the figures can is that good.

The speaker Jeff Suunerland also mentioned a new study that to gain the most of a programmer, it should work 16 hours a week. I doubt I can convince my boss that I work 16 hours a week with the same salary.

Back to more Java specific topics and two talks about Spring. One about a new batch processing framework and one about security functionality. The Security part looks very promising. I still wounder why and when to choose J2EE and/or Spring, respectively.

Last seminar for the day were about how to find whats happens in the Java World.

The day ended in different pubs close to the conference center.

JavaZone day one continues

After a quick lunch I planned to listen o the OO and process guru Ivar Jacobsson but the room was full even before I got my sandwich. Instead I entered a seminar about REST which was quite interesting. Teh speach presented the fundamental architectural principles and explained problems and possibilities with real world examples.
Then I entered a seminar about how to structural code in a good manner to allow the software to evolve. It is quite connected to my old research area of maintainability of object oriented programs. The conclusion is the same as for ten years, but they need to be repeated;

  • Avoid circular dependencies.
  • Have cleare aims of your packages, modules etc.
If you get circular dependencies, do refactoring. Of course it may break backward compability. You need of course think how to handle lack of backward compability.

So far I haven't seen any Linux computers, except of my own Ubuntu. The rest are Mac or Windows, I wonder why.

First morning at JavaZone 07

It is a nice September day here in Oslo and JavaZone have started. I started the morning with a seminar about Domain Driven Design and Aspect Oriented Programming (AOP). I continued with a seminar about the state of Ajax held by some Ajaxians. It seams that we will start using Ajax for offline applications as well as on server side. Client Ajax applications will be packaged as native applications. Javascript 2 is on its way inspired by Python.

Tuesday, September 11, 2007


I have just arrived to Oslo, Norway, to join the JavaZone conference for the next two days. It looks like the hot topics in the Java World at the moment are:

It seems that J2EE and JBoss have taken a step back. I look forward to two exciting days.

Monday, September 10, 2007

Lenovo does a Dell

A while ago Dell had a vote on the Internet about what Linux distributions we as users wanted on their desktops and laptops. Now, Lenovo does the same thing. It looks like it will be much easier to buy a laptop next time, without paying the Microsoft tax.

Source: IDG, TechWorld.

Sunday, September 9, 2007

Home office

We are currently rebuilding our room where we have our home office. We are enabling a completely new computer network were all cables are placed in cable channels. A patch panel is mounted in the storage room next to the home office. This will simplify when we want to extend the network to other rooms. We have already prepared for extension to the library and the living room.

The Ubuntu server is at the moment standing in the library.

Thursday, August 30, 2007

Microsoft corrupts the standard process (update)

It has been a lot of writing about that Microsoft offered "marketing money" to Swedish partners that become member in the OOXML standard group i the Swedish standard organization (SIS), which votes for Sweden in ISO.
The Swedish computer news magazine Computer Sweden has now translated one of their articles to English that describes what happened.
By allowing this kind of scenes happened ISO will play out its role as an serious standard organization. Unfortunately this will hurst both consumers and the industry. What will happen the day screws following the same standard are incompatible?

Computer Sweden has a new article (in Swedish) about the voting. SIS has found that one company voted twice, which means that the voting is invalid and has to be redone. A new vote will probably not conducted before Sunday when the ISO voting take place. This means that Sweden will not vote in the ISO voting. No vote is better than a yes vote.

Saturday, August 25, 2007

WGA outage

This is another reason to not use proprietary software. It's much better to do it the Open Source way. Take a look an all the places you can download Ubuntu from. These are independent and you will be up and running without the single point of failure

I feel sorry for all the people that have to call daddy Bill for an OK to take another "beer."

Saturday, August 18, 2007

Stop trying to login through my ssh

Yesterday I got to annoyed on all the brute force attacks against my computers ssh-server. I know that I am definitely not alone. To prevent brute force attacks on ssh I installed denyhosts. Denyhosts log all login attempts logged in /var/log/auth.log and blocks IP-addresses that tries to login but fails repeatedly.

To install denyhosts on ubuntu you have to activate universe and then just select the denyhosts package. Then you are ready, the package starts the application automatically. No configuration needed. But, denyhosts have a nice feature that you can upload your blocked IP-addresses to a server on the net and download what addresses other blocks. This feature is not activated by default. To activate it remove the #-char from the line in /etc/denyhosts.conf:

Then restart the server: sudo /etc/init.d/denyhosts restart

24h later denyhosts block more than 1400 IP-addresses.

Thursday, August 9, 2007

Vaccation and travel

Me and my wife have been traveling for the last two weeks. First visited we my wifes sister in London, UK. Then we took the channel train to Paris, France. We visited all the famous buildings.

From Paris took we the TGV-train to Strasbourg. We rented a car in Strasbourg and drew around in Alsace and bought wine. As the finally of the trip we took the night train home.

Unfortunately we were hit by a cold some where in France so I may write some more another time.

Monday, July 23, 2007

Streaming Video to the TV

Yesterday, I installed kissdx on my Ubuntu server. Thanks to this nice little server application I am now able too stream my music and videos direct to my Kiss DP-558 from my computer.

It is quite easy to set up, the only mess was that I have to change the following lines in the Makefile:
# remove -liconv below if your system has libiconv built in
$(CC) -o $@ $(OBJS) -ldvdread -liconv -ljpeg -lm

# remove -liconv below if your system has libiconv built in
$(CC) -o $@ $(OBJS) -ldvdread -ljpeg -lm

Then I just changed some paths in the kissdx.conf-file and started with:
kissdx -c kissdx.conf

I walked to my TV and let my DP-558 search for a PC-link server. Then I looked at Road Runner.

Friday, July 13, 2007

Python and Java

Since I do Python programming at my spare time and Java programming, including a bunch of other Java technologies such as JSP, JSTL etc, at work. These articles were very interesting to read even if they are 2½ years old:

Tuesday, July 10, 2007


Canonical have today released Storm, a object-relational mapper for Python. Simple described is it a glue between Pythons Object-Oriented language and SQL-databases table-relational language. After I read the tutorial, I think its quite easy to use and will simplify the use of databases from Python a lot. I hope it will enter an Ubuntu repository soon.

Wednesday, July 4, 2007


I know this is a tool/functionality that many old *nix-guys hate, but I think it has some good potential. The function I miss so far is the ability to store default and mandatory values in an LDAP-directory or in a SQL-database. I have heard that it is designed to handle other backends, but it had never been implemented.

Today I stumbled up on this good article about GConf, its worth reading if you want to know more about tweaking your gnome.

Monday, July 2, 2007

gvfsfind @ freshmeat

gvfsfind can now be found on I have also published my bzr/bazaar-repository.

Sunday, July 1, 2007

find is an amazing tool, but it can't use Gnome-vfs

I use the find command line utility nearly every day. It is amazing to manipulate large directory hierarchy with files. Unfortunately, I have missed the possibility to do like this:
find -type f -exec gnomevfs-copy {} . \;
The example above is of course stupid since it will take for ever and fill my hard drive but you get the idea. I need the similar functionality to copy video-files from my PVR, Kiss DP-558, to my Ubuntu server.

This weekend I decided to solve the problem, so I created gvfsfind. The prefix gvfs since it is based on gnome-vfs. The tool has a help that I hope can get you to start using it. Just start it with the flag -h.
This example prints all directories on the ftp-site: --type d --print
To copy all files ending with .vob from the host skipper to the local host: ssh://skipper/srv/movie --type f --name ".*\.vob" --exec "gnomevfs-copy %u ."
Create all directories on the remote host skipper on the localhost:
gvfsfind ssh://skipper/ --type d --exec mkdir %d
Then copy all the files to the local host:
gvfsfind ssh://skipper/ --type f --exec gnomevfs-copy %u %d/%f

For now I license the software in GPL version 2. It will probably change when I have read version three.

Please note that you must access remote hosts anonymously or using cryptographic keys.

Wednesday, June 20, 2007

Create your own CA with TinyCA2 (part 3)

In this final part we will add our own root CA certificate to Ubuntus pre-installed certificates. (Part 1, Part 2)

Copy your root CA certificate, that we exported in the previous part, to /usr/share/ca-certificates/. Add the file name to /etc/ca-certificates.conf and run the command:
sudo update-ca-certificates

Most of your services will now be able to find your root CA certificate.

To bring your root CA certificate to your friends, just copy the exported root certificate-file to a USB-memory.

Using your own CA you can now add support SSL to different services like CUPS, postfix(AUTH SMTP), dovecot (IMAP) etc. You can also create certificates to sign and encrypt your e-mails.

Tuesday, June 19, 2007

Create your own CA with TinyCA2 (part 2)

In part one of this series we created a root CA, a sub-CA and a certificate for our web site All certificates are stored in TinyCA2s configuration. In this part we will:

  • export the root CA:s certificate
  • import the root CA:s certificate into Firefox
  • export the certificate for the web site
  • configure our web server to use the web site certificate
To be able to import the root CA certificate to Firefox we must export it from TinyCA2. In the main window of TinyCA2, open the CA-menu and select Open CA. Select your root CA. Select Export CA Certificate in the toolbar, which is the second icon from the right. You may change the file name. Press Save when ready.

Start Firefox, select the Edit-menu and Preferences. Click the Advanced icon and then the Encryption tab. Select View certificates and then the Authorities tab. You can see all the CA:s you trust. Click Import and select the file with your exported root certificate. You can in the Downloading Certificate window control what purposes the certificate has. I select all three purposes.

Click OK and leave the preferences. Then restart Firefox.

It is time to configure the web server. I assume that you already have an Apache http server running. First we must export the web sites certificate and encryption key. Since we signed the certificate with our sub-CA, we must also tell the web server to tell the web browser how to find the right root CA. This is done using a chain file that we export from TinyCA2 too.

Return to TinyCA2 and verify that you have your sub-CA opened. Select the Certificates tab, right click on the web site's certificate and select Export certificate. You may change the file name, then click Save. I use the name of the web site dash cert dot pem as filename, i.e.

Do the same with the key. Select the Keys tab, right click on the web site's key and select Export key. You may change the file name. I use the name of the web site dash key dot pem as filename, i.e. Do also select "without passphrase" - yes. This lets you start the web server without enter the certificates password. Then click Save. TinyCA2 will ask you for the password of the certificate for the web server.

Go to the CA tab to export the certificate chain. Select the right most icon in the tool bar and save the file.

Copy all three files to the web server's directory /etc/ssl/private/. Configure the web server to listen on the https port, number 443. In Ubuntu, this is done adding the line:
Listen 443
to the file /etc/apache2/ports.conf. Activate the ssl-module with the command:
sudo a2enmod ssl

Create a file in /etc/apache2/sites-enabled named after your site dash ssl, i.e.
<virtualhost 443="">

ServerAdmin A_correct_mailadr
DocumentRoot /var/www/

Options +FollowSymLinks
AllowOverride All
order allow,deny
allow from all
RewriteBase /

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<directory usr="" lib="" bin="">
AllowOverride None
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all

ErrorLog /var/log/apache2/

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog /var/log/apache2/ combined
ServerSignature On
SSLEngine on

SSLCertificateFile /etc/ssl/private/
SSLCertificateKeyFile /etc/ssl/private/
SSLCertificateChainFile /etc/ssl/private/

Set the parameters according to your site. Some part depends on how you have configured apache. The important part from this HowTo:s perspective is the SSL-parameters.

Restart apache:
sudo /etc/init.d/apache2 restart

Try to surf to your site. If everything works you will NOT get a dialog box were Firefox tells you that it does not recognize the sites certificate.

In the final part of this series we will integrate our root CA certificate with Ubuntus pre-installed certificates.

Monday, June 18, 2007

Create your own CA with TinyCA2 (part 1)

A Certificate Authorities (CA) issues certificates to people and organization that gives us the possibility to know that we surf to the right web site and not a phising site. This concept can be nice to use on your private sites too, but you may not want to spend a lot of money to get a certificate for your site.

Most common when one installs a web-mail server at home is using a self signed certificate. When one surf to the web-mail server from a friends computer one can not be sure that nobody listens to the traffic if one not verifies the signature of the self signed certificate.

Maybe an easier and definitely a more scalable solution to this is to create ones own CA structure. When we are ready with this how to you will have installed a certificate on your web server, installed the root certificate into your Firefox, and you will have the root certificate stored on a USB-memory stick. First time you want to read your mail from a friends computer you install the root certificate from the USB-memory into the web browser and then your web browser will automatically verify your website and that no one are listening on the internet traffic. This assumes, of course, that your friends computer have no key loggers or other Trojans installed.

The certificates must not only be used for web-mail. You can use it for all network servers that uses SSL, for instance to set up your own VPN. If you give the root CA to your friends you can use it to sign your e-mails.

If you want to know details about cryptography works with certificate and CA:s I recommend you to read Wikipedias page about Public-Key Cryptography.

The easiest way to create a CA is to create one Root CA that signs all your certificates. This means that only one person can sign certificates or you will not be able to see who signed the certificates. We will do it a bit more scalable by create a sub-CA that we uses to sign certificates. Each person that have the rights to sign certificates have its own sub-CA. The root certificate is only used to sign new sub-CA:s.

This also gives you the opportunity to give your friend their own Sub-CA. Isn't that a nice gift? Your friend can then create and sign certificates for his own web server and other network services. When he visits you and surf to his web site he does not have to install any root certificate on your computer. You will share the same root certificate and every service that you signs he will trust and vice versa.

Okey enough with theory lets start doing it. Begin with installing TinyCA2. If you use Ubuntu you will find the package in universe and it is called tinyca.
First time you start tinyca2 you are asked to create a new CA. This will be your root CA. I call mine I also changed the valid days from 3650 days to 7300 days. The password is the password you will use when signing new sub-CA:s. Fill the fields in and then press OK.

You get a new window were you configure the root CA. Set Netscape Certificate Type to "SSL CA, S/MIME CA, Object Signing CA." If you want to be able to revoke issued certificates, which may be good, fill in the two revocation fields with the URL where the revocation list can be found, i.e. Then press OK.

It takes some time to create the CA. When your root-certificate is ready and you get a new window. This is the main window for TinyCA2. There are four tabs in this window. The first, CA, shows information about the CA you currently are working with. The second, Certificates, shows the certificates generated from the CA. The third tab, keys, lists the certificates corresponding keys. Finally on requests tab are requests for signing listed.
One drawback with TinyCA2 is that the icons in the tool bar does not shows any tool tips. The workaround for this is to click on the icons and you g see what the dialog widows that says what the icon does. You can always cancel.

Now it is time to create the sub-CA. Verify that you have the CA-tab selected. Then click on the third icon from the right in the tool bar. You get a new window which is similar to the one when created the root certificate. Note that this says "Create a new Sub CA" and starts with a field where you must enter the password for the root CA. (If you have a hierarchy with several levels then its the new sub-CA:s parent CA:s password.) I call my sub-CA The password of the sub-CA must not be the same as the root CA. (It can but its not good in the view of security.) Fill in the fields and press enter.

The sub-CA is created and signed in one step. When the application returns to the main window the newly created sub-CA is the current CA. If you want to go back to the root-CA select the CA-menu and open. Then you will get a dialog with all CA:s you have created or imported into TinyCA2. From now, the only things you should use the root CA for are:

  • create new sub-CA:s
  • revoke sub-CA:s
  • renew sub-CA:s
  • export the root-CA:s certificate.
When creating new certificates you use the sub-CA, in my case

Now its time to create the certificate for the web server or to be correct for the web site. Select the requests tab. Right click and select "New request". You get a new window called Create Request. The common name must be the same name as the users use to access your server, in my case Once again, you have to enter a password and once again it must not be the same as the previous passwords. (I use the gnome application Revelation to remember of my passwords.) Fill in the form and press OK.

The new certificate will be listed in the requests tab in the main window. Right click on the request and select "Sign request". You get a question if its a server or client request. In this case, select server. You get a new window asking for the CA password. It is now you as a CA approve the request and confirms that the certificate holder is the correct owner of the common name in the certificate and the rest of the information in the certificate is correct. At the same time you will decide for who long time the certificate is valid. Enter your sub-CA:s password and press OK. You have now signed your certificate.

In my next blog we will export the certificates from TinyCA2. Then we import the root certificate into Firefox and configure Apache httpd to use our web site certificate.

Sunday, June 17, 2007

Firefox and certificates

I am setting up my own CA (Certificate Authority) for all my services using SSL on my machines. Yesterday I wanted to import the Root-certificate into Firefox. Thats easy, if it is for a single user. Just click on the root certificate. But if you have a lot of users and computers? One do not want to force each user to do this manually. I want the root CA should be installed on each computer by the administrator and automatically work for the users. This is not possible with Firefox.

The Root-CA:s certificates are compiled into the Firefox binaries and then at first start each user get its own certificate database. There are no central certificate database that Firefox looks into too.

Ubuntu and Debian has a nice functionality where all CA-certs are stored in one place and then used by all well written applications, but not Firefox. I hope this will change in Firefox 3.0.

Saturday, June 16, 2007

I got a mail and now its lost

This week I got a mail from a guy that wondered about CPU-scaling on MSI S271 running Ubuntu. Since I have had a lot to do I have not had the time to answer it yet. Today I planned to answer the mail, but I can't find it. It's gone, cant be find in my gmail-box. So if you who wrote it read this, you are welcome to contact me again.

The mailer had some problems to get CPU-scaling work with Ubuntu using a AMD-CPU TL-56, which is the same CPU I have. There may be more people interested in this issue. For me the CPU-scaling worked out of the box. To check the CPU-scaling add the CPU Frequency Scaling Monitor to the panel. In the kernel used in Feisty and earlier Ubuntu versions there is only support to for two speeds of AMD CPU:s, full and half speed. I have read somewhere that more scaling is on its way. It would be nice if someone could confirm this.

As far as I know the CPU-scaling is included in AMD Powernow-technology. I have to scripts starting in my runlevel 2, check the /etc/rc2.d directory:

  • S10powernowd.early
  • S20powernowd

The modules I have loaded that can affect the CPU scaling are:

I hope this give someone some help.

Monday, June 11, 2007

Is Disneys Mickey Mouse violating intellectual properties?

Is Disneys Mickey Mouse violating intellectual properties of the Scandinavian vikings? Take a look at the picture in this article. Isn't that Mickey Mouse? It was found outside Lund in south of Sweden and is from the eight century. Let's sue Disney for violating the intellectual properties of Scandinavian heritage.

Saturday, June 9, 2007

Add more memory to the MSI S271

When I ordered my MSI S271 I ordered it with 1GB of memory. When I bought more memory to my and my wifes cameras I also bought 1GB more to my laptop. Yesterday when the memory arrived I discovered that I not had the right Philips driver. A PH-00 screwdriver is needed. I bought one today and have now installed the extra memory in the laptop.

I got a lot of help of the assembly guide from MSI. The assembly guide was a bit tricky to find since it was written for the MSI S262 (MS-1057), which is more or less the same computer as MSI S271(MS-1058).

You need to go throw step 1-1 to 1-11 to expand the memory. Be very careful when you remove the keyboard in step 1-7 to 1-9, the keyboard cable is very fragile. Then you will see were to put the memory. It was covered with some aluminum foil in my computer. How to put the memory into the slot is described in step 3 in the assembly guide.

The MSI S271 has two memory slots and can, according to the documentation, have 2GB of memory. The memory type is SO-DIMM DDR2 533 or 667.

You can check how your memory is configured in Linux and Ubuntu using dmidecode.
Start a terminal and type:
sudo dmidecode

In the output you will find to sections that looks like:
Handle 0x002B, DMI type 17, 27 bytes
Memory Device
Array Handle: 0x0027
Error Information Handle: Not Provided
Total Width: 64 bits
Data Width: 72 bits
Size: 1024 MB
Form Factor: DIMM
Set: None
Locator: DIMM1
Bank Locator: BANK1
Type: DDR2
Type Detail: Synchronous
Speed: 266 MHz (3.8 ns)
Manufacturer: Manufacturer1
Serial Number: SerNum1
Asset Tag: AssetTagNum1
Part Number: PartNum1

If booth your slots have a value for size, you must replace one memory unit with a bigger one to increase your memory.

Tuesday, June 5, 2007

Let the build flow like the Hudson river.

Today at work I found a wonderful continuous build-tool. One will often start a new build and regression test after each check in to the revision control repository. The tool I found is called Hudson. Some of the feature I have found useful are:
* Reporting by e-mail or jabber when something goes wrong (or when it goes right)
* Builds can start based on time or on events.
* It gives you nice statistics about your build
* For Java projects there are good plug-ins to get statistics about code coverage using Emma and regression testing using japex and JUnit.
* It works against revision control systems
* It can tag the builds, depending on the result
* You can see history of build, and control when they should be purged
* It's easy to install, no external needs except Java.
* Hudson can be used with non Java applications too. (Hudson have support for maven, ant and shell script from the beginning.)
* It looks easy to write your own plug-ins
* A remote XML-API exist.
* It's open source.

I have not found any big drawback. It would have been nice to have some authorization mechanism, but that can be solved by deploying Hudson inside a J2EE/JSP-container.

I think I will try to use it in some python and bzr project on Ubuntu at home too, and not only at work when using Java.

Monday, June 4, 2007

What's the thing with Java?

I don't get it. Why does so many people love Java? Okey, the language is today a quite nice programming language and there are a lot of good libraries to it. J2EE has tons of good functionality and is a nice concept. So what is it I do not understand?

People say Java is platform independent. I would rather say that Java is the platform of its own. We talk a lot about virtualization today, and what are you doing when running a Java program. You use a virtual machine, if you not use programs compiled with gcj. Java have a lot of its own monitoring programs and its own memory handling. Where goes the difference between Java and an operating system?

Starting a Java program requires a lot of initialization before the actual program starts to run. I have seen example of a batch software starting several times per minute. The program existed in two equal versions, one written in Java and one in Python. The Python version decreased the load of the system to 1/4 compared to the Java version. So what you do when starting a Java program is actually booting an OS.

A Java program working on one jre is not necessary working on another suppliers jre. Just take a look on the Java programs for mobile phones. I.e. we have instead a dependency to the jre. When people complain of differences between Linux distributions, they should take a look on the differences between different Java versions.

I mentioned J2EE earlier. When taking a J2EE application to production most people say: "This runs on Linux and you can Linux so you can manage it." But, they are totally wrong. In the perspective of the Linux administrator the jre hides everything for him, which make it hard to find bottle necks and tune the system. What one need is a systemadministrator for Java and J2EE.

Since I started to look at Java as it own operating system, things had been easier. I have start learning manage the new OS as I manage Linux, instead of thinking I manage an application. I monitor application both inside the jre and a as a Linux software.

I would not say I love Java, but I accept it and realize that it is the new standard for software development in many organizations. I also appreciate that Sun open sourced Java and that Sun Java is included in Ubuntu.

The open source step for Java makes it easier to incorporate Java with other Open Source softwares, and probably increase the acceptance of Linux and other Open Source products by non open source people. The inclusion of Sun Java in Ubuntu, and probably other distributions too, will make the desktop easier for normal people to use and therefore also accept it.

Friday, May 25, 2007

Ubuntu on Dell

I were worried that the Dell computers with Ubuntu would get close to the same price as those with Microsoft Windows. Therefore, I'm glad to read that there are a notable price difference between a computer with Ubuntu and one with Vista.

Friday, May 18, 2007

Talk by RMS

Yesterday evening my wife and I visited a talk by Richard M Stallman at the university here in Linköping. He is currently doing a tour in Sweden. He had a talk with over 1000 visitors in Gothenburg on Wednesday and in Linköping were it close to 300 people. They had to close the doors fifteen minutes before the talk started. He will today talk at the Swedish green party's congress in Norrköping. The picture is when I am buying a pin from RMS.

It was the first time I listened to a talk by Stallman live. He is a classic politic agitator, no slides. He just stands and talks absorbed about his subject copyright and free information. The title of the talk was "Copyright vs Community in the Age of Computer Networks". He started with the history of copyright. Then he entered into discuss the problems with currently done changes in copyright laws and introduction of DMCA.

The talk was interesting, but he is some times to much fundamentalist and mark words. Like, if you say Digital Rights Management about DRM, he points out that it should be Digital Restriction Management and of course Linux is GNU+Linux.

I like the vision of his ideas but I think we have to accept the compromise of Open Source a a pragmatic solution.

Tuesday, May 15, 2007

It was just a question of time...

and now has it happened. I am of course talking about the big discussion subject in the FOSS-world today, the CNN-article about Microsofts attack on Free and Open Source Software.

I am not worried at all. I hope instead that this will kill software patents and proprietary
software. Unfortunately, a lot of managers will be afraid of open source. Personally, I would be more afraid doing business with a company that base its existence on layers and lock in methods.

The last two weeks, I have been working with a commercial content management system. Don't ask me why, I wondering this my self. It has not been a pleasant drive. Not at all, not a single minute. It is complex to configure. There are tons of errors in the documentation. They say you should use maven, but they don't do it in their example site. They jump around with different versions of jBoss, tomcat and other J2EE-environments. (Tomcat is not a J2EE-environment, but anyway are some examples based on it.)

I am glad I have my nice and warm Ubuntu Linux systems here at home.

Saturday, May 5, 2007

A kind help message

I am playing with TinyCA on Ubuntu. Selected help and got this message.

Three become one

Today I took three different computers. Decomposed them into parts and built one computer fitting my need for a new server. I have installed Ubuntu 7.04 (Fesity Fawn). The /boot-directory is stored on a 128MB compact flash disk. The main disk, configured using LVM, is a 200GB-disk. I will later move a 320GB-disk from the current server to this new on. So I will get ½TB of disk, if I do not buy a new disk before that. Thanks to this solution, I can change to bigger disk without reinstall the system.
First, of course, I install the new disk in the computer. Then I tell LVM to include that disk in the Volume Group. After this, I ask LVM to migrate all data from the old disk to the new one. This can be done seamless. Finally, I tell LVM to remove the old disk from the volume group.

Friday, May 4, 2007

Zepto 6014w with Ubuntu 7.04

I have now installed Ubuntu 7.04 (Feisty Fawn) on my wifes laptop from Zepto. It's a 6014W. I do my installation, as usual, through network boot (PXE). I noticed that Zepto has the same bug as my MSI S271 in BIOS for PXE-boot. It will only bot through PXE some times, with no clear pattern when.

Unfortunately, I do not like the LVM-configuration in the text based installation. The installation worked smoothly, except the LVM-part. The cause was that I wanted to change what partitions to create.

The resolution for the screen got right in the xorg.con-file, but not in the reality. The xorg.conf said 1280x800 but the display showed 1024x768. The solution, which is not obvious, is to install the package 915resolution. I would like to see this installed by default. No extra configuration needed.

The default volume control must be remapped to work to another controller in the mixer. The sound worked out of the box.

Other things we have tested are:

  • The wireless and network manager works great.
  • The flashy graphics with Berryl are working.
  • We can turn on and of the touchpad
  • CPU clocking does not work. It is a Pentium mobile CPU.
Still to test are the card reader and bluetooth.

The impression so far is that it is a nice laptop, which you can by without Microsoft tax, and it works well with Ubuntu.

Tuesday, May 1, 2007

Dell + Ubuntu = True

It is official that Dell will ship Ubuntu on some of their desktops and laptops. I can imagine that CEO:s at Novell and Red Hat are dragging their hair until they get bald as Steve Ballmer. They will wounder why they have not been able to write such an agreement with any of the major suppliers of client-machines. The answer is pretty simple; Ubuntu is a great desktop system that can be used by most people. It is cheap, or to be correct free. There are a community that are willing to answer questions from anyone in a lot of different languages.
Who is up for the next deal? HP, Lenovo ... and with whom? Ubuntu again or will any of Red Hat and Novell take it?

Congratulation Mark, Cannonical, and of course all in the Community. This is a big day for Ubuntu and for Linux.


Our "favorite" company SCO is trade at $0.80. This is the lowest value per share since 2002. As we had read on several news sites is now facing the risk of delisting from Nasdaq. I hope the court affairs around Linux soon will end and SCO goes bankruptcy. They have not provided any proof at all that they are right in their accuses against IBM etc.

My wife are waiting for her new laptop that she has ordered from Zepto a week ago. They are kind to provide their computers without any Microsoft tax. I'll install Ubuntu 7.04 on it as soon as it arrives.

Wednesday, April 25, 2007

Earphones is working!!!

I tried to use earphones with my MSI S271 running Ubuntu 7.04 (Feisty Fawn) and it works. Yay!!! It did not work when I used Ubuntu 6.10 (Edgy Eft) and now it works with no extra configuration. I can now listen to presentations and look on videos when traveling with train.

Friday, April 20, 2007

Thank you Feisty workers

I installed Ubuntu 7.04 (Feisty Fawn) yesterday evening. I have tried it out a bit more today and continuously new nice features. One of the features I like most is that suspend works out of the box on my laptop (MSI S271). Another feature that I feel is very important is the suggestion feature where the desktop suggest what software you should install to be able to open a file.

I will not repeat what every body else on the web are writing at the moment. The reception from boot the community and the press has been enormous. I have loved each new Ubuntu release more than the previous and 7.04 is not an exception. I already look forward for the next release, Gutsy Gibbon. I will also try to provide a more complete packaging of AppArmor for Ubuntu.

Tuesday, April 17, 2007

More about Feisty than about RHEL 5 in the press

There are two days left until Ubuntu 7.04 has its release. My objective view is that the non open source computer press writes more about Ubuntu's upcoming release than they wrote about Red Hat Enterprise 5 when it was released.
The big question is; when are management in enterprise businesses ready to accept Ubuntu in the server rooms and on the desktops. I think, unfortunately, that they require a large business partner to rely on, even if they have enough competence inhouse.What may give a big push forward if some big consulting corporation, like CSC, starts to support Ubuntu. If this happends, how is the community affected?

Sunday, April 15, 2007

Computer beaver

I must say, this is one of the coolest computer cases I have seen. In the same time it is with no doubt the most bizarre computer case too. The artist Kasey McMahon has built a computer case of a beaver.

It makes my own build, see picture to the right, I did a few years ago pretty lame. (More pics.) Moppe as I call it is IKEA:s Swedish name of the Fira series. At the time the box had one miniITX-card and two harddrives.

Tuesday, April 10, 2007

Market share

When reading that Motorola ships it 800 000th IP-TV set-top box running Linux, I start to wounder what would Linux market share be if we include all embedded devices running Linux.
As most of you now, a lot of digital equipment we can buy in stores for home electronics are running Linux. Like your WiFi router, set-top box, some phones etc. If we take a look on the embedded market there are even more equipment like console switches, firewalls, surveillance equipment etc.

Sunday, April 8, 2007

Remote desktop to support mother in law

I had today my first real use for the great remote desktop functionality in Ubuntu. My mother in law have used Ubuntu for a while, but she is now also connected to Internet using broad band.
Today I gave support using remote desktop to help her configure Gaim, or Pidgin as it just was renamed to.
The scary thing with remote desktop is if she forget to inactivate it.

Things to do is backing up her hard drive over the Internet and start using dyndns.

Sunday, April 1, 2007

Too many computers?

I don't know how I should interpret this. Is it a complain? My wife wrote in her blog about my desk containing one laptop, two desktop computers, a 20" CRT, two keyboards, and three mice. Under the desk I have another computer.

My laptop and the computer under the desk runs Edgy and the other two desktops runs Feisty.

Saturday, March 31, 2007

Start building Ubuntu/Debina packages

Hans asked a while ago about packaging software for Ubuntu/Debian. Here are some hints and good pointers, I hope.

I have for a long time build RPM-packages for various distributions. When I began to create .debs this was booth good and bad to have a good knowledge about RPMs. Debian has a lot of utilities that makes things very smoothly, there are a lot of these tools I miss when creating RPM:s now days. On the other hand when you are used to describe your package in one .spec-file you may be a bit scared of all files you got in your debian-directory. Briefly described, the debian directory and .spec file has the same goal. They describe how to build the package from the source. I would say that if you are building a very simple package RPM:s are easier but as soon as you want to do more complex things deb:s are easier. for instance one thing you get help with creating debs is restarting daemons correct after upgrades etc, this is a mes for RPMs.

I will not describe exactly what to do when creating a package, instead I want to point out good sources and give some hints from my own experience.

Debian New Maintainers' Guide as well as Debian Policy Manual are must to use as a references. Ubuntu also has its own The Ubuntu Packaging Guide.

One thing that made it hard for me in the beginning were that there are so may ways that you can create packages in. Today, I think the easiest way to get a kick start in packaging is to follow the Debian New Maintainers' Guide. Start the from the beginning and create your package when you read it. Remember, the first one is the hardest.

You may need to install some packages before you start:

  • build-essential, which is a meta packages that install development tools.
  • dh-make, converts source archives into debian package source.
  • fakeroot, gives a fake root environment. I think it is much easier to work with than be in a change rooted environment.
  • dpkg-dev, several tools to maintain build debs.
  • dpkg-dev-el, a must if you use Emacs. Helps you edit the debian files.
  • module-assistant, if you will create kernel module packages. This packages also include a good how to.
As always, you want to use a version control system to trace your changes. It had been a discussion on the Ubuntu-devel-list about how to do it. I interpreted it as the most common and convenient way is to only have the debian directory under revision control and use dpatch and the patches subdirectory to handle your changes in the code. You should of course also submit the patches back to upstream, the project that develop the software you are building a package for. If you are responsible for the source your self, you may have the debian directory in the same repository as the rest of the source.

You may also take advantage by look how other packages are done. Download the source for packages with apt-get source sourcepackage.

When you are ready and your package may be of interest for others, please upload it to REVU.

AppArmor is in Universe for Feisty

This morning I got a mail from Kees Cook that told me that the AppArmor packages now is a part of Ubuntus Universe repository for Feisty. I hope we will make it to a really good packages including all the AppArmor functionality for Feisty+1.

Friday, March 30, 2007

In the enterprise world

Except from having a terrible cold this week I have been at two seminaries.

The first one was Red Hat and JBoss Value² Tour. Red Hat clearly show that they have entered into the offices of managers, CEOs, CIOs, VPs etc. They also show that they want to lock you in as any other vendor, but they can defend themself that at least the source is open. From a commercial and organizational perspective I think they do one important thing wrong. They are still not shipping proprietary drivers such as wireless, graphic cards, codecs etc. This means that as a system manager one must still handle these things to give the users a pleasant drive on the desktop. Here is an area where other providers such as Suse and also Ubuntu have done a tremendous job. On the other hand Suse trie to lock us in with Yast, even if it is open source, which makes it harder to manage from central point. Ubuntu on the other hand lack of kerberos/ldap/AD integration in main, which is a demand in many organizations.

Red Hat, like Novell, constantly talk about the better quality etc of the Enterprise editions than of the community editions. Here is where I have a big problem. This is not true; there are no quality differences. What Red Hat and Novell are selling is security. Not security in the perspective of computer security but security in the perspective of the managers being comfortable with their environment. Unfortunately, they are not willing to confirm this and instead throw FUD on the community distributions. This irritates me as an open source person. Managers are used to deal with a supplier that invites them to seminaries, dinners, and visits them to get them to feel that they are valuable. When we technicians point this out no one will accept it. The problem is not that they want to buy the enterprise distributions, but that they do not know why they are doing it.
Anyway, it is better that they select Linux instead of Windows or commercial Unixes.

The other seminar was a presentation from IBM about their blade solution. I got the "same" presentation from HP last fall. It is not easy to determine who is best or fits my needs best. Someone is better than the other in some points and vice versa. The two most interesting things were SAN over infiniband and local disk based on flash. The infiniband solution gives the possibility to stack several blade racks and use one common fibre channel switch out. The local flash disk is 4GB which is enough for the system disk. If you do not want to use a SAN for some reason you can have your system on a local disc and access your data via NAS (NFS or SMB). Why a flash disk instead of a normal disk? No moving parts and less power consumption is the easy answer.

IBM and HP, please start to certify your hardware for Ubuntu.

Sunday, March 25, 2007

Debian package patches

The small amount of time I have spent on Apparmor to day have been to merge my and Kees Cooks work. Then I updated to the latest subversion revision. Now I run into problems with dpatch, which I never have used before. I have to spend some time to look into more details, but it have to be another day.

I have not released any new packages to day, but Kees uploaded his packages to revu a few days ago.

I will soon watch on Jamie Oliver on TV.

Saturday, March 24, 2007

New release of Apparmor packages

I have now repackage the Apparmor packages for Ubuntu as a Multibinary package. This means that the source is one tar.gz-file and I will only need to do one upload to a central repository.
Other changes are that they are based on the March 2007 snapshot and include build dependencies. But also minor changes to better conform with Ubuntu/Debian policies.

Packages can be found at:

Unfortunately, I can at the moment see any possibility to get them into Feisty. It have to be for Feisty+1. If my assumption is correct I will host my own repository or try to get them in the official backports repository.

Monday, March 19, 2007

Apparmor packages availiable

As I wrote yesterday I am packaging AppArmor for Ubuntu. When I got home from work today I continued my packaging.

I have fixed so the kernel modules are loading at boot. Kees was kind to provide me a module-assistant enabled package for the kernel modules. That saved med a lot of work and time, since I never had packaged kernel modules before. Further, I added some dependencies, did some testing and packaged the documentation. You can find the packages here. They are built for Ubuntu Feisty.

Normally when building packages from a project you take one tar.gz-file and build one or several packages. With AppArmor it is a bit different. The project provides snapshots of the Subversion tree in several tar.gz-files. As a beginning I build one package from each of the provided tar.gz-files. Later, I hope AppArmor starts to do regular normal releases. I will then revamp the packages to build all packages from one tar.gz-file.

Sunday, March 18, 2007

AppArmor for Ubuntu

Last summer I did an effort to build packages of AppArmor (project page) to Ubuntu. Unfortunately, I needed at that time patch and recompile the kernel. That took a lot of work and time. I did not manage to spend all that work to maintain the packages. A few days ago I got a mail from Crispin Cowan that Kees Cook had told him that patching the kernel is not necessary any more.

Yesterday and today I have spent some time to refresh my packages. The last snapshot of AppArmor from October last year did not compile in Feisty. Instead I took the last subversion revision. The status looks not to good for that either, some of the Perl scripts refers to an undefined variable. I hope I will get some help from the AppArmor guys.

Saturday, March 17, 2007

Command not found

Today, I found the command-not-found feature in Ubuntu Feisty. The feature is useful when running commands in bash. If the command you tries to run is not installed you get a suggestion what to install.

$ svn checkout
The program 'svn' is currently not installed. You can install it by typing:
sudo apt-get install subversion
bash: svn: command not found

I like!

The functionality is included as standard in Fesity.

Naked PC saga continues

I wrote about Dell and Linux a few days ago. ZDnet confirms the problem. They called all five top vendors in UK and asked about buy a naked PC. Some of the vendors said that they could, but when ZDnet tried to they failed. Just as I did with Dell.

Up to proof all big suppliers. I want to buy a laptop for my wife. The one of you that let me choose any, not just one, of your models in Sweden without an operating system or with a free Linux pre-installed (preferably Ubuntu) will get the order. Of course it must be cheaper than with Microsoft windows, last time a got €130 in rebate. So you need to be close to that.

Wednesday, March 14, 2007

Dell and Linux

There have been a lot of discussion about Dell and Linux for a while. Both at Dell's Idea Storm, different news and blogs. It had not only been at Linux and Open source news sites, but also in major computer magazines. Dell seems and confess that they are confused about Linux and how to fit in their business model. Mark describes it pretty well in his blog. He also mentions that taking part in Microsofts marketing budget is important money. This is impossible for the suppliers to admit officially, but several suppliers have told me this of the record.

When I bought my new laptop this Christmas, I looked for a specific configuration but also for the possibility to buy one without an OS or with Linux pre installed. Any Linux is better than Windows, even if I replace it with Ubuntu. At a fair here in Sweden early last fall a Dell representative told me that I could buy a laptop without Windows if I called them, but not on the site. When it was time for me to buy my laptop mailed Dell and asked what rebate I would get if I bought a specific computer without Windows. I never got an answer.

Since I got no answer, I bought a MSI S271 from Komplett without Windows. I saved more than 1200 Swedish crowns (€130). Unfortunately, it seams that Komplett had stopped selling the MSI laptops. I hope the market looks better next time I need to buy a laptop.

Suppliers, if you can't decide what distribution to deliver pre installed. At leas deliver computers without an operating system.

Sunday, March 11, 2007

Bazaar Version Control

I have played a bit with bzr a few days. I have earlier planned to setup a subversion server. The plan was to use subversion instead of cvs. But I thought it was complex to set up, a version control system should be easy to set up and use. I have also heard that there have been some problem when upgrading the repository database and I do not want to loose my repository since I also use it as a backup.
Bzr is nice and easy to set up as well as use. It is easy extensible and have good documentation and tutorials. The tutorials makes it easy to start using it.
Since it is a distributed system, the thinking when using it must be a bit different. You will get good help reading bzr for CVS users.

bzr will be my version control system of choice. It is also used a lot in the Ubuntu community.