in English
I decided to create a finnish advent calendar (ie. countdown to Christmas) in my blog this year starting from tomorrow, the 1st advent. I’ll be publishing some new material every morning (06:00 EET) for you to enjoy and help you to count the days of Advent. I haven’t planned it all exaclty yet but I have some ideas so come back tomorrow to see what’s new.
To see the rest you need to come back daily or grab the RSS feed (calendar only or all posts) in your feed aggregator. You’ll find all calendar posts in the Advent calendar category. Feel free to comment the posts!
Only this first post will be posted to Planet Ubuntu and Planet Fnoss..
SuomeksiPäätin laittaa blogiini pystyyn jonkinlaisen adventtikalenterin (lue: joulukalenteri) jonka avulla voi laskeskella näitä joulun odotuksen päiviä. Ensimmäinen luukku aukeaa huomenna, ensimmäisenä adventtina, kuudelta aamulla.
Ihan tarkkaan en vielä kaikkea ole suunnitellut mitä kalenteriin tulee enkä sitä tietenkään paljastaisi vaikka olisinkin. Tämän kalenterin hyvä puoli on että luukkujen sisällöstä voi (ja suositellaankin!) helposti antaa palautetta ja jopa toiveita siitä, mitä toivoisi jäljellä olevista luukuista löytävän.
Päästäksesi aukomaan luukkuja laita RSS-syöte (pelkkä kalenteri tai kaikki kirjoitukset) seurantaan tai laita sivun osoite mieleen ja tule heti huomenna aamulla vilkaisemaan mitä uutta on tarjolla. Kaikki kalenterin luukut löydät ‘Advent calendar‘ -kategoriasta.
Vain tämä ensimmäinen viesti ilmestyy Vapaasuomen blogeissa.
If you’re missing out on WordCamp Australia this weekend, you might really be missing out! A bunch of sessions that will be of particular interest to WordPress fans (and fans of all things new and groovy) have snuck their way into the published schedule, including:
Might we see a live WordPress 2.7 release? Perhaps we’ll see some of the goodies previewed in Ranaan Bar-Cohen’s recent “Seven Tips for Virtual Collaboration” presentation… of course, you’ll never-never know if you never-never go.
I will be there. Wearing green.

Bonus: Crikey Blogs is now featured on WordPress Showcase!
I started GHRML some time ago as port of haml to Genshi but the initial reception was not that good, from the few blog comments and discussions on IRC I pretty much lost the interest in the project and haven’t used it myself.
However I’m pleased to announce that Richard Davies took over the GHRML maintenance and hosts the project at ghrml.org. He’s also using the project for a Django powered website and wrote a simple django integration module for it.
%GHRML still looks the same but some bugs are fixed now and template inheritance works. Appetizer:
%html %head %title Hello World %style{'type': 'text/css'} body { font-family: sans-serif; } %script{'type': 'text/javascript', 'src': 'foo.js'} %body #header %h1 Hello World %ul.navigation %li[for item in navigation] %a{'href': item.href} $item.caption #contents Hello World!
I’m happy to announce new versions of the WSGI utility library Werkzeug and the general purpose templating language Jinja in Version 2.
Over the last few months many improvements went into those libraries.
Werkzeug 0.4Werkzeug 0.4 (codename Schraubenzieher) got many detail improvements, tons of new unittests and a better WSGI and HTTP compatibility:
Jinja 2.1 (codename Yasuzō) is a new Jinja2 release with tons of new features. A lot of feedback went into improved and new features:
Furthermore many bugs where fixed:
Download the latest releases from the cheeseshop:
A new bugfix release of Jinja 1 will follow in the next days, there are some things that have to be figured out first.
So Matthew Garrett
dissects what he thinks powerdevil is doing wrong and gives a couple of point that
in his view, power managemers on the Free Desktop aren't doing right at the moment.
Let's have a look at Matthew's points (I'm paraphrasing here for ease to follow,
hoping I'm not getting his points wrong):
if you like Openbox and want to play with the upcoming 3.4.8 version, download the release candidate 1 here: http://icculus.org/openbox/releases/openbox-3.4.8-rc1.tar.gz. Keep in mind that you’ll have to patch obconf by basically replacing ‘obrender-3.0′ and ‘obparser-3.0′ to ‘obrender-4.0′ and ‘obparser-4.0′ respectively in the configure.ac file.
Or you use a conary-based system, there is a version packaged directly from their git repository which you can install by running sudo conary update openbox=foresightlinux.rpath.org@fl:2-devel.
If you find an issue, please read this page to learn how to report it (that goes for translations too).
The Fedora project is claiming between 9.5 and 10.5 million users, as measured by unique IP addresses asking for updates*. This puts them ahead of the latest published estimate for Ubuntu, of about 8 million users.
On the Ubuntu NL servers, we use puppet for centralized configuration management. Some would say it is overkill fpr only a few hosts but keeping systems consistent makes life easier. Here’s how we integrated the debian-style vhost management with puppet:
There’s a class called apache in modules/apache/init.pp, it defines which packages are needed for an apache setup and which vhosts run where:
class apache { $packages = [ "libapache2-mod-php5", "libapache2-mod-wsgi", "php5-gd", "php5-mysql", "php5-ldap", "python-ldap", "python-mysqldb","libnet-ldap-perl"] $vhosts = $hostname ? { caterpillar => ["intranet","proxy","archive","default"], bumblebee => ["mail","lists","otrs","people","feeds","default"], dragonfly => ["blogs","chat","forum","passwd","planet","wiki","www","default","kaart"] }Also make sure all packages are installed, and some general files as well:
package{$packages: ensure => installed, notify => Service["apache2"], } file{”/etc/logrotate.d/apache2″: owner => “root”, group => “root”, mode => “0444″, source => “puppet://$servername/apache/apache2.logrotate”, } file{”/etc/apache2/force-https.include”: owner => “root”, group => “root”, mode => “0444″, source => “puppet://$servername/apache/force-https.include”, notify => Service["apache2"], } file{”/var/www/index.php”: owner => “root”, group => “root”, mode => “0444″, ensure => “/srv/bzr/503/index.php”, } file{”/var/www/index.html”: ensure => absent, }The logrotate config is because each vhost logs into its own directory. All these logs need to be rotated too of course :)
Speaking of logs, here’s more magic for them:
dir{$vhosts: dir => "/var/log/apache2", } define dir($dir){ file{"$dir/$name": ensure => directory, owner => root, group => adm, before => Service["apache2"], } }Just making sure that all logdirs get created before apache starts. The real fun comes next though, with the vhosts. This handles installing configfiles, doing the equivalent to a2enmod en also handles SSL vhosts (the ssl key/cert is handled by a different module).
First there’s a small separate script that autogenerates ssl vhosts (we use a wildcard certificate, so we can run several ssl vhosts on one address. We also use mod_wsgi for MoinMoin, so we need some mangling there as well
#!/usr/bin/python import os, re root = '/etc/puppet/modules/apache/files/vhosts' ssl_snippet = """ SSLEngine on SSLCertificateFile /etc/ssl/certs/ubuntu-nl.org.crt SSLCertificateKeyFile /etc/ssl/private/ubuntu-nl.org.key""" for f in os.listdir(root): if f.endswith('-ssl'): continue conf = open(os.path.join(root, f)).read() conf = conf.replace('*:80','*:443') conf = conf.replace('\n<VirtualHost>',ssl_snippet + '\n<VirtualHost>') conf = re.sub(r'(WSGI(?:DaemonProcess|ProcessGroup)\s+\S+)', r'\1-ssl', conf) fd = open(os.path.join(root, f + '-ssl'),'w') fd.write(conf) fd.close()So after creating a vhost in the puppet root, I run this script to autogenerate the https vhost. DRY. When I want to force a specific vhost to use SSl, it includes the force-https.include, which contains this:
RewriteEngine on RewriteCond %{HTTPS} off RewriteRule /?(.*) https://%{HTTP_HOST}/$1So we can still autogenerate the https vhost based on the http vhost :). Here’s the last snippet for puppet to finish our class apache.
vhost{$vhosts: } define vhost(){ $linkname = $name ? { "default" => "000-default", default => $name } file{"/etc/apache2/sites-available/$name": owner => root, group => root, mode => 0444, source => "puppet://$servername/apache/vhosts/$name", notify => Service["apache2"], before => File["/etc/apache2/sites-enabled/$linkname"], } file{”/etc/apache2/sites-enabled/$linkname”: owner => root, group => root, mode => 0444, ensure => “/etc/apache2/sites-available/$name”, notify => Service["apache2"], } file{”/etc/apache2/sites-available/$name-ssl”: owner => root, group => root, mode => 0444, source => “puppet://$servername/apache/vhosts/$name-ssl”, notify => Service["apache2"], before => File["/etc/apache2/sites-enabled/$linkname-ssl"], } file{”/etc/apache2/sites-enabled/$linkname-ssl”: owner => root, group => root, mode => 0444, ensure => “/etc/apache2/sites-available/$name-ssl”, notify => Service["apache2"], } } }So we install a vhost config for each vhost, both http and https. Then we link them similar to what a2ensite does, including prepending 000- to the default vhost. This default vhost is pretty special too, to take a vhost down for maintenance, I simply stop puppetd on the relevant webserver and a2dissite the vhost. Requests for that vhost will then be caught by the default one, which has a RewriteRule for all nonexisting files to index.php (so all urls are caught by it). The index.php will actually emit an ‘HTTP/1.1 503 Temporarily Unavailable’ response so errorpages are not caught by indexers.After the maintenance, puppet is started again and the first thing it does is reenabling that vhost.
Published on: 25 April 2008 at 15:53 except it was published as a page, not a post. So, here it is for everyone:
A few of us on Launchpad have been playing with Angus’ RescueTime Linux Uploader which feeds data up to http://www.rescuetime.com/. RescueTime is billed as
Ridiculously Easy Time Management and Analytics.
So far, it’s been very informative. For me though it doesn’t count the time I spend talking on the phone when not actually taking notes on the computer. I’m currently only using the Gnome information applet and the firefox plugin and it works surprisingly well. You might give it a try if keeping track of time is interesting to you.
We use winbind at work to auth our Ubuntu desktops to Active Directory. I am the first to upgrade to Intrepid, in which winbind seems to be broken. It fails at random intervals (or so it seems). The way I found easiest to get it back up is to run wbinfo -u. If you don't do this, you can't use sudo, pwd won't work (a lot of stuff breaks, essentially). So, to hack around it, I wrote a script called keepActiveDirectoryAlive and put it in $HOME/bin.
<!---->
Today I needed to setup a couple of virtual machines for a client and realized that I had removed my installation of VMware Server. Off I went to the VMware download page and what did I find? A day-old release of VMware Server 1.0.6! I figured you’d all appreciate an updated blog post on how to install VMware Server 1.0.6 on Ubuntu 8.04, so here we are. (This is much simpler than the previous post, How To Install VMware Server 1.0.5 on Ubuntu 8.04)
Downloading the Requirements
The first step, of course, is to download VMware Server 1.0.6. You’ll want to download the .tar.gz version. This command can be used for a direct download:
wget -c http://download3.vmware.com/software/vmserver/VMware-server-1.0.6-91891.tar.gz
The second step is to install some development tools that we’ll need to get things running. Use the following command or click the package names to install the requirements:
sudo aptitude install build-essential linux-kernel-devel linux-headers-generic xinetd
You will also need to generate a serial number to run VMware Server. Visit this link to register and generate the number of codes you might want. Remember to print the codes or write them down because in my experience they are not emailed to you.
OK, at this point we should have all of the requirements, now we can get to work…
Installation and Configuration
Let’s unpack the VMware archive that we downloaded and run the VMware installer.
tar xf VMware-server-1.0.6-*.tar.gz
cd vmware-server-distrib
sudo ./vmware-install.pl
The Last Step
If you attempt to run vmware at this point you might notice that it spits out some nasty errors and complains at you. There is one more thing we need to setup.
Basically VMware is missing and complaining about some cairo libraries and gcc. So, the simple fix for this is to point to them by using a symbolic link:
sudo ln -sf /usr/lib/gcc/i486-linux-gnu/4.2.3/libgcc_s.so /usr/lib/vmware/lib/libgcc_s.so.1/libgcc_s.so.1
sudo ln -sf /usr/lib/libpng12.so.0 /usr/lib/vmware/lib/libpng12.so.0/libpng12.so.0
At this point you should be able to launch vmware and enjoy some virtualization goodness. Enjoy!
Those who remember my ancient quest for the perfect IRC solution might be interested in ancient quest for the perfect IRC solution might be interested in these posts by Aaron Toponce explaining how to couple a remote irssi session with GUI notification. I’m still quite happy with my current Bip + Xchat combination, but I’ve always lusted after the 1337ness of irssi. Icecap looks intriguing, but my first instinct tells me that their solution is over-engineered.
LotD: Ubuntu theme for Symbian S60v3 (works on my Nokia N95)
©2008 Sridhar Dhanapalan.
This work is licensed under a Creative Commons Attribution-Share Alike 2.5 Australia Licence.
ShareThis
Little did I know, that on my birthday just 3 days ago, the Das Keyboard crew released version 3 of their fabulous tactile keyboard. Major highlights? 2 USB 2.0 ports on the right side of the keyboard, blue LEDs, glossy finish, and the ability to purchase a Das Keyboard with inscriptions on the keys (using a stylish font, I must say).
It keeps all the aspects of version 2 that I love. The clickity-clack of the key snap, the mechanical switches, and no inscriptions. The Das Keyboard is by far the most enjoyable keyboard I have ever typed on. I can only imagine that version 3 is just as enjoyable.
Sign me up. I want one!
I've been working, in my spare time, on a really fun Django project. It's allowed me to play with some of the Django toys that I haven't really gotten around to playing with recently. One of the things I've been doing is building my app with good tools, and one of things I've been doing in building my tools is using custom django management commands.
Out of this process came a tool that I thought might be beneficial to share with others: django-fabric. Fabric is a command line tool similar to the popular development tool Capistrano. However, it's more lightweight, uses python, and doesn't assume anything about your environment (language, vcs, etc.). I've been using it so much recently that I built a django command for it.
To use it, download, install, and add to your INSTALLED_APPS. Create a fabfile, which is just a python file with your deployment instructions in them. You'll need to add that file (by name) as settings.FABFILE. Then, manage.py fab <command>. For more information, see the Fabric documentation.
For Ubuntu users, Fabric can be installed by adding my PPA repository and installing from there. I'll be adding the django-fabric packange there too, once I get it to a stable point.
Two weeks ago, an idea struck me while I was extensively cleaning my room. Of course I had to turn off the computer and my modem since I was rearranging everything totally (I need to setup my internet connection and router in the other room one of these days…). I suddenly got the urge to try not to go online, or even open the computer for 24 hours. Knowing my attachment (read: addiction) to IRC, I believe it would be quite a challenge. And so I went through with it. From 09:00 to 09:00 of the next day, I, abruptly and without warning (sorry, online friends), disappeared from the Web.
And I’m glad I took that personal challenge. I’ve been able to give myself, for a full 24-hours, some time to think about my life, where it has been, and where it’s headed, as well as my goals. It came at an opportune time (just after a very hectic first quarter and right before going back to school) to think and reflect. And I actually enjoyed that feeling of being offline, specially from IRC (though I really missed my friends). That 24-hour, computer-free plan turned into (almost) a week without IRC, though I still needed to check my mail and RSS feeds… maybe next time I can try doing without those as well.
It was a great experience. I wish I could have spent a few days in a some sort of nature retreat like a forest or mountain (not the beach :P). I think every hacker should have a sort of “retreat” like this once in a while, to recharge and refocus and avoid burning themselves out. You may not be churning code in those few days, but it’s time well invested. Important, but not urgent, as Stephen Covey would say. Besides, you can also be productive at that time. Not only was I able to gain some perspective in my life, I was able to also able to think about what free software tools I wish I had at my disposal, or the KDE stuff that I want to do. I was also able to analyze how I spent, or rather, procrastinated, my time each day and where the time all goes (IRC and RSS… I love you and hate you at the same time.). Hopefully that realization would help me spend my time better in the future. Hopefully…
But for now, it’s back to the connected and disturbed life. ![]()
I spent the other night with my friend Elfine, trying to figure out how to get her EeePC on the school's wireless. I did it! If you run sudo route del default, just before starting VPNC, it'll work. It turns out the EeePC doesn't replace the default route—instead, it adds a second default route, which simply doesn't work. Delete the default route before starting the VPN, and it won't get all
Dear Lazyweb,
Does anyone have any graphs / charts / data comparing each distribution and the amount of commits their respective members did upstream for a project (ie like gnome)? I have seen the kernel ones with Redhat and Novell taking the lead in contributions, didn’t know if their were similar ones for any user space projects?
I have been using the 64 bit version of kubuntu since dapper, and have always refrained from installing proprietary 32 bit applications such as skype, Adobe reader and even the Amazon mp3 downloader. Flash has always been an issue too. Today though, I was forced to get adobe reader working (it has nice booklet printing options that I can not find in any other program). After a bit of googling I can across getlibs a simple application to download required 32 bit libraries for 32 bit binaries. You simply install the 32 bit deb with –force-architecture and then run “sudo getlibs executable.” Then try running the program. If it still fails, you may may have to run getlibs against the executable again (probably because the program depends on a library later in the program). So far I have installed Adobe reader, firefox-2 i386 for flash and skype. All three work flawlessly. Getlibs has alot more options, such as the ability to install compatibility libraries by library name.
I think it would awesome integrated into GDebi, of course with a educational warning about looking for a 64-bit version first. This would make it far easier for users to transition to future of 64-bit linux.

A couple of years ago when I got this phone, I had a long play, working out what I could do with it. One of the things I ‘accomplished’ was connecting to the internet, using the motorola phone tools disc provided on a windows xp machine.
Now though I wanted to do the same, but with no windows install, I wasn’t holding my breath.
It was amazed at how surprisingly “simple” it was though…
I plugged the phone in with a usb cable, (made sure it was set to data/fax in its settings rather than memory card) then checked it was recognised in dmesg. Next, I…
sudo apt-get install wvdial
sudo wvdialconf
And finally edited /etc/wvdial.conf, adding “Stupid Mode = 1″ to the end, the wap phone number, user and password as appropriate.
To start up a connection, all I had to do was
sudo wvdial
Sure, wap is really slow, but with with minutes going to waste on my cheapo contract, I like to make the most of it!
P.s. Apologies for the poor gimping.
Here are the minutes of the meeting. They can also be found online
with the irc logs here.
Ubuntu VM builder
soren has been working on fixing bugs in vm-builder. He also added support for EC2.
ACTION: soren to write a blog post about vm-builder once it’s available in the archive
ACTION: sommer to update the virtualization section of the server guide once vm-builder is available in the archive
Review ServerGuide for Intrepid
Koon offered to draft a section about tomcat for the Ubuntu Server Guide.
ACTION: mathiaz to review the ldap section of the server guide
ACTION: kirkland to review the RAID section of the server guide
ACTION: Koon to draft a section about tomcat for the Server Guide.
Boot Support for Degraded RAID
kirkland added a question to the installer covering the topic of booting from a RAID array. If / or /boot is installed on an md device a question is asked about setting BOOT_DEGRADED to true or false. He also wrote a call for testing on his blog.
Tomcat6 server stack support
Koon reported that a new tomcat task is available at installation time. The number of dependencies is now reasonable. He has also been working on fixing tomcat5.5 in universe.
landscape-client in Ubuntu
mathiaz worked on splitting the landscape-client package into two. There are two blockers for Alpha6: a Pre-Depends on python-gobject and promotion of update-motd to main. He’s got a fix the first while kirkland is working on the latter.
Drupal install script
tarvid mentioned the script he wrote to install multiple instances of drupal. mathiaz suggested he comments on the Web Framework specification.
nagios3 in main
mathiaz inquired about the status of nagios3. Although its MIR had been accepted the package was never moved to main in hardy. In intrepid nagios2 disappeared while nagios3 entered universe. Koon is working on getting nagios3 promoted to main.
ACTION: Koon to ask an archive admin to promote nagios3 to main.
vsftpd 2.0.7
Adri2000 asked if a FF exception was needed for getting vsftpd 2.0.7 in intrepid. It wasn’t clear whether it was a bug-fix-only upstream release. mathiaz advised to ask for a FF exception, then work on an updated package and seek for sponsoring.
Mail server improvements
ScottK mentioned that clamav and spamassassin had been promoted to main and were available on the -server iso. clamav has also been updated to the latest version and may ship with an apparmor profile in Intrepid. He is also considering some refactoring of the amavisd-new configuration.
mathiaz asked if these packages would be added to the mail server task. ScottK said that may require some discussions.
ACTION: ScottK-laptop to start a discussion on ubuntu-server@ about adding spamassassin, clamav and amavisd-new to the mail-server task.
Agree on next meeting date and time
Next meeting will be on Tuesday, September 23th at 15:00 UTC in #ubuntu-meeting.

Well, things have finally calmed down regarding the OpenSSL problems. Not that it’s necessarily bad to see that many posts and news. One can actually think it’s a good things problem are addressed and discussed, but I was starting to get tired of reading nothing more than a bunch of complaints.
News flash: Shit happens!
I actually had a big text about the package maintainer, the severity of the problem, etc, etc, etc written, but it’s better to just be quiet, since I can’t do it any better.
Exploitation
After reading so much about it, I was intrigued on how super-easy-because-of-the-32,767-possible-outcomes to crack attack would work, and hdm (from Metaploit) answered them on a great paper:
http://metasploit.com/users/hdm/tools/debian-openssl/
The keys were generated and made available:
http://sugar.metasploit.com/debian_ssh_dsa_1024_x86.tar.bz2
http://sugar.metasploit.com/debian_ssh_rsa_2048_x86.tar.bz2
And a script to use them has been published to Metasploit:
http://milw0rm.com/exploits/5622
After giving it a try on a unpatched virtual machine, I understood the real severity of the problem.
Copyright © 2008 Tiago 'gouki' Faria