Saturday, 29 August 2009

Mentoring + Ubuntu Developer Week


Needless to say, I'm going to Ubuntu Developer Week. Sadly, this time my IRC participation will be limited given that I'll be at work, and thus unable to connect. I'm still very eager to take a look at the chat histories that will be posted after the sessions. It all sounds really interesting.

Also, timing couldn't be better for more interesting learning stuff to come up. I recently sent an e-mail to Ubuntu Mentors, asking for help in looking at different things, such as NetworkManager. It turns out that I will be working with Alexander Sack.

So far, I've been looking at two things: building the network-manager-openconnect package, and looking at network-manager bugs.

The bugs are bugging me somewhat. There's quite a lot to look at, and some of the stuff just seems so obscure. Still, I think I'm still getting better at sorting bugs.

Then there's building the network-manager-openconnect package. It seems to build fine-ish, but I get some weird errors when I try to enable a VPN connection -- but I think I'm close to figuring it out.

Monday, 17 August 2009

Ubuntu Developer Week coming up!

As Daniel Holbach is announcing in his blog, an all new Ubuntu Developer Week is coming up soon. It will be held from from Monday, 31st August 2009 to Friday, 4th September 2009.

Ubuntu Developer Week is a great way to get to know more of the inner workings of Ubuntu. Plus, it's always packed with incredible talks about various subjects: check out the timetable.

You may also want to take a look at the brochure if you want to know how or where to start developing for Ubuntu.

Subjects announced obviously follow the latest developments in the community, so we'll get to know about fun stuff like Quickly, Papercuts, Mago, as well as lots about Launchpad.

Friday, 7 August 2009

Process Accounting data

I've been working since yesterday on a very interesting project: dealing with process accounting data, in the context of PCI-DSS compliance.

Process accounting is quite interesting because of how it's done. Here's a gross over-simplification, so sorry if I'm explaining it all wrong: the kernel, if it has "BSD Process accounting" enabled (and/or "version 3", as it is in Ubuntu, or at least on my Karmic system), waits for a special signal for userland to turn on process accounting and start writing binary data to a file on the filesystem.

But let's back up a little. What is this process accounting stuff?

Process accounting is a feature that allows you to track every command ever run on a system by any user. As the name says, it helps to "account" for all actions on a system and potentially know about actions that should not have occurred (say, a system that was compromised), or a command that caused an outage and it must be tracked down to who was responsible for an evil evil intervention on a production system without advising anybody... it requires both a kernel piece and a userland piece.

By default, on most systems, the kernel will already have everything enabled to support process accounting. You will only need to install the userland software.

On Ubuntu, you can achieve this with the command:

sudo apt-get install acct

On Fedora system, you can get the same result with this command:

yum install psacct

Once that is done, you will run 'sudo /etc/init.d/acct start' on Ubuntu, or 'service psacct start' on Fedora to start the process accounting (give the go to the kernel to write in the data file).

This is where things get complicated. I've searched a little for newer, more versatile tools to handle the binary data spewed out by my systems. It turns out that while acct (or psacct), in other words the GNU Accounting Utilities are great, they tend to be the only option for dealing with the kernel's data, and pretty much also force you to physically connect to a system in order to search for the information you want. Needless to say, this can tend to be problematic (say the system is now completely broken... what can you do?). It also brings up the issue that in the event of a compromise of the system, you can no longer trust the system, or the files it contains -- not even the accounting data. Backups are an option, so is rsync, but we were looking for something better. Something that would send to syslog for example, to be integrated into Splunk or some alerting utilities, to both centralize and potentially render the data as read-only as it could get.

That's where my scripts come in.

I've been busy writing a replacement for the lastcomm command as well as something to grab the data from the binary file and feed it into syslog. I've called it acct2syslog.pl.

This is still very early and experimental work, but I already have a Bazaar branch for it. Check it the Launchpad page! If you're interested in helping out, feel free to send me an email or message on IRC.

Obviously, I can't account for performance at this time. I just don't know how well it will deal with a system if there are thousands of commands running really fast. :)

Monday, 29 June 2009

Ottawa Linux Symposium 2009 in Montreal - interesting tidbits

Hey, it seems Canonical is a sponsor for the Linux Symposium 2009!

Thanks Canonical for helping out and contributing to events around here too!

Does that mean we'll see some Ubuntu rock stars at the conference? :)

Monday, 22 June 2009

Linux Symposium 2009

Another Linux conference is coming up soon.

The famous Linux Symposium, in its 2009 edition will be held in Montreal this time, at the Centre Mont-Royal, from July 13 to July 17 2009.

It is a world-class event at which a good number of developers, especially those interested in the Linux kernel, will be present.

A lot of very interesting presentations are already scheduled, you can view the full schedule here.

There is still time to register for the conference.

I definitely know that while I'm not presenting anything and I am far from being a kernel hacker, I'm already planning to spend the entire week at the conference... I already took the days off :)

Let me quote from the website's FAQ page:

What is the Linux Symposium?

The Linux Symposium is a Linux developers conference that takes place every year in Canada. The main focus of the event is the Linux kernel and the technologies closely related to the kernel. There is no trade show floor at the Symposium and very little overt marketing presence.

I am not a kernel hacker, will I be out of place?

While the general focus of the event is the Linux Kernel all your need to take advantage of the event is a strong interest in Operating Systems technology and development. Yes many of our attendees are kernel hackers; but many are just Linux enthusiasts; userspace hackers, and system administrators.


I look forward to seeing lots of people there!

Thursday, 18 June 2009

concordance now in Debian NEW queue!

Hi!

For those interested, my efforts to package concordance and congruity, the CLI and GUI tools to configure a Logitech Harmony remote are finally starting to pay off!

concordance has been accepted from the Debian-mentors repo and uploaded to the Debian NEW queue! Big thanks to Patrick Matthäi for his guidance.

That said, it means that concordance will hopefully soon also be in Ubuntu. (and it was also in REVU. Thanks to all those who reviewed it and posted comments. They were all very helpful.)

Now, I'm still having some issues packaging the newest version of congruity, or more precisely getting an error in the package after it's installed. Something that I believe is related to python-wxgtk2.8-0, about 'AttributeError: 'BoxSizer' object has no attribute 'AddStretchSpacer''. I just haven't had much luck it finding out what dependency I had wrong or missing...

Fortunately, the packages are also very much reachable in case you want to try them: check out my PPA, at https://edge.launchpad.net/~mathieu-tl/+archive/ppa.

Monday, 25 May 2009

Visite du projet Byobu

Si vous utilisez souvent votre système Linux en mode texte, vous connaissez probablement GNU/Screen. Il s'agit d'un gestionnaire de fenêtre texte très avancé qui permet de démarrer une session, la détacher, puis la rattacher plus tard et revenir où la session était rendue -- que ce soit directement sur la même machine, ou alors à distance. Pour plus d'information sur GNU/Screen lui-même, consultez la Présentation de GNU/Screen, par Labo Linux.

Si vous utilisez régulièrement Screen, vous serez heureux d'apprendre que celui-ci a été agrémenté officiellement depuis Jaunty d'un paquet voué à son extension: screen-profiles.

screen-profiles, créé par Dustin Kirkland, développeur pour Ubuntu, est un amalgame d'un nombre de scripts voués à rendre plus simple l'utilisation de screen, ainsi qu'à fournir à ses utilisateurs de nombreux petits outils pour simplifier la vie, et rendre la configuration de screen plus simple.

screen-profiles (et son supplément, screen-profiles-extras) peuvent être installés par la commande suivante:

sudo apt-get install screen-profiles screen-profiles-extras

Une fois installé, vous pourrez lancer screen; et après avoir choisi le profile de départ, appuyez sur F9 pour pouvoir configurer l'interface. Les deux lignes du bas servent à présenter les fenêtres possibles et les notifications.


Le menu de configuration permet d'afficher l'aide, modifier le thème utilisé, les raccourcis clavier, les notifications au bas de l'écran, les fenêtres et les paramètres de démarrage.



Par défaut, trois thèmes sont disponibles avec le paquet screen-profiles: light, dark, et black. Les thèmes additionnels présentés dans l'écran ci-dessous proviennent de screen-profiles-extras.



Après modification des options, vous devrez appuyer sur F5 puis Enter pour recharger la configuration.





Le résultat est affiché ici, avec le thème dark-blue.

Enfin, d'ici la sortie de Karmic, les paquets à utiliser seront renommés à byobu et byobu-extras suivant le changement de nom du projet screen-profiles pour byobu...

Vous trouverez la page Launchpad du projet ici: https://launchpad.net/byobu