avahi-sharp
I spent some time last night hacking up some Avahi bindings for C#, using the DBus API. The wrapper is here, and a little test app is here. The test app registers a ‘foobar’ service, and then lists all services in the default (I think?) domain. Obligatory ‘screenshot’ below. Unfortunately, I ran into some dbus-sharp bugs while doing this. You’ll need this patch to dbus-sharp in order to use it. You can also grab a dll here.
snorp@sackbut misc/avahi/avahi-sharp % mono test.exe
Service 'Living Room' at DVR-8477.local:80
Txt: TSN=54000000000000
Resolved DVR-8477.local to 192.168.1.105
Reverse resolved 192.168.1.105 to DVR-8477.local
Service 'Now Playing on Living Room' at DVR-8477.local:443
Txt: TSN=54000000000000
Resolved DVR-8477.local to 192.168.1.105
Reverse resolved 192.168.1.105 to DVR-8477.local
Service 'Now Playing on Living Room' at DVR-8477.local:443
Txt: TSN=54000000000000
Resolved DVR-8477.local to 192.168.1.105
Reverse resolved 192.168.1.105 to DVR-8477.local
Service 'iTunes_Ctrl_60AA03D0FEE58A7F' at homer.local:3689
Txt: DbId=10000
Resolved homer.local to 192.168.1.103
Reverse resolved 192.168.1.103 to homer.local
Service 'snorp’s Music' at homer.local:3689
Txt: Password=false
Resolved homer.local to 192.168.1.103
Reverse resolved 192.168.1.103 to homer.local
Service 'Remote Terminal on sackbut' at sackbut.local:22
Resolved sackbut.local to 192.168.1.101
Reverse resolved 192.168.1.101 to sackbut.local
Service 'sackbut [00:0d:60:36:95:4d]' at sackbut.local:9
Resolved sackbut.local to 192.168.1.101
Reverse resolved 192.168.1.101 to sackbut.local
Service 'foobar' at sackbut.local:8080
Txt:
Resolved sackbut.local to 192.168.1.101
Reverse resolved 192.168.1.101 to sackbut.local
back to normality
Back at work I'm catching up on opensuse mail and packaging work, bracing myself for beta 2.
Thanks for inclusion in the planets. For those who don't know me, I've been working for SUSE and then for Novell since 2002, mainly on package maintenance, java related stuff and some internal tools. You might have seen my name on the LinuxChix lists where I've been quite active for a while, too.
cluetrain
I remember reading it when it came out, this fresh breeze of basic common sense. And the hype it created in the business media (or media business?) world. And how little, if anything, changed. Just words.
The world, even our little part of it, is as it is not because people don't know better, but because enough people want it that way. A saddening thought.
back home
After an uneventful, if bumpy, flight in an Airbus which thankfully didn't burst into flames at the end of the runway, but just did what it's supposed to do, I'm back home now. With a pile of new books - I had time for trips both to Borders and City Lights Bookstore while in San Francisco. Interesting catches among them are "On Intelligence" by Jeff Hawkins, two novels by Ursula K. LeGuin who I adore, and an Introduction to the Mind by John Searle.
I'm already finished with the first one. It is a high level introduction to the current state of neurobiology regarding how our neocortex manages to store and handle information, and a new (well, to me it was new) theory how intelligence is created there. Basically he says that everything is achieved by recognizing patterns in the world around us and making predictions what will happen next based on them. It is an interesting read, though unfortunately non-trivial enough for me not to be able to sit down and hack up a quick simulation of the workings of the neocortex as he's describing them. ;-) If it was that simple, we'd be surrounded by simulated brains already.
Linux and cryptography
A speech about cryptography and linux.
This speech is about:
- crypted email with gnupg
- crypted file system avaible under linux, an overview and a comparison of loop-AES , cryptoloop, dm-crypt, bestcrypt
- creation of a full crypted file-system, root included. The most interesting feature is system’s boot sequence, which uses a usb token for authenticating users
First LWE report
Here's a list of the frequently asked questions at LWE, and my answers. Please note that this is by no means an official FAQ, but as I told everything written below in public already I can just as well blog it:
So, tell me about openSUSE!
The openSUSE project is where the development of the SUSE Linux distribution will happen from now on. We've had for a long time one common code tree on which we worked internally, and from which all our products, like SuSE Linux Professional or the enterprise offerings were branched at a certain point in time. All our developers and packagers are working on that tree, and will continue to do so, but now every change is visible immediately to the world so that people outside can download the latest versions, test and contribute to them.
Right now people can only download and test the beta builds and latest packages and report the bugs they find (we've opened up our Bugzilla for that). In the future, we want to offer a platform where people can upload code and RPM specfiles and have their packages built on our infrastructure, and rebuilt automatically whenever something in the distribution changes.
This way you can be sure that you always have a working rpm you can distribute to your users, and be notified when it doesn't compile cleanly any more because something you depend on changed - some library, the compiler, anything. This might not seem much at first glance, but in our experience this kind of automated build system is a great help in developing and maintaining any non-trivial application, and we want to offer our knowledge, our infrastructure and the necessary tools to people and projects in the open source community.
The distribution that is developed in the openSUSE project will be called SUSE Linux. Packages maintained by people from the outside may or may not end up on the distribution - we actually want to encourage people to also use our infrastructure for exotic or experimental stuff.
Is this like Sourcefourge?
No. We do not want to duplicate anything that already exists. The core functionality of sourceforge and similar sites is to host project development. Our core goal is to provide an infrastructure to make working RPM packages from code developed elsewhere, and to offer the advantages of automated distribution builds to developers.
Is this like rpmfind?
Yes and no. No, because rpmfind does not provide the infrastructure we're planning. Yes, because we hope that we attract people to build their packages on our servers, resulting in many more packages available to users than the ones we work on ourselves (which, by the way, are quite a few already).
Is this like Fedora?
Similar (there's no point in denying that), but not the same.
First, we want to be more open than we perceive the Fedora project to be towards contributions from the world. We will need to have the packages which make up our core distribution closely reviewed and under our control, just because the will eventually end up in our business products and have to be maintained and supported (by us).
But for packages that are not in this core set we can yield much of this control to package maintainers which are not employees, so we want the openSUSE project to be more flexible regarding new packages or experimental versions of existing ones.
Second, we still make a retail product from it, targeted at end users and developers alike.
Other frequent questions were about the relationship to other products, the motivation of Novell to start the project at all, and many practical ones, like how to get involved and become a beta tester and whether one needs to register or not. This entry is long enough already, so I'll spare you the remainder of my sermons ;-)
Oh, and the chamaeleon printed on the DVD is definitely very, very cool.
Finally.
Grumpy, Sneezy, Sleepy, ...
Several people have asked for a little standalone app that uses ipod-sharp, since not everyone uses Muine and keeps all of their music on their PC. So this weekend I wrote Dopi.

Dopi, after adding the album ‘Mezmerize’
You simply DnD folders/files onto the song list there to add stuff. The delete key deletes (surprise!). To try it, you’ll need the latest ipod-sharp. It has been moved into Mono’s SVN, so if you have the stuff from baz, that is out-of-date. Also, ipod-sharp depends on libipoddevice in GNOME CVS, so you’ll need that too. And lastly, Dopi itself is in my baz archive, here.