Monday, December 18, 2006

FOSS and The Devil

Well just to lay the groundwork for this essay and define "The Devil." It may not be what you think it is... It's not the warm, fuzzy and cuddly daemon mascot for the BSDs. It's Microsoft. Surprise!

Some of us have to live in the Windows world periodically and these are the tools that can make your life much easier in the world that is missing multiple desktops, grid snapping windows, vertical/horizontal maximize and requires you to reboot all the time due to patches.

Let's start with tools you need that do not come with the OS.

A single IM client to connect to all the IM services you use. GAIM works very well. Even the 2.0 beta is pretty nice and you can chat securely if needed using OTR or GAIM-encryption.

For CD-ripping you can use CDex. It supports the old standby mp3 as well as ogg and flac(the last two being open formats). This software is really straightforward and utilizes the free CD database, that way your CDs will rip with the correct artist and song title information.

Bittorrent? There is a nice Java app that is completely open called Azureus. I know it's open as I've been compiling it on Gentoo for a while. If Java doesn't seem open enough they are taking it GPL soon so that's pretty open.

Want to do image editing in XP? There is tool built-in, but it's not very good. Here's where the GIMP comes in handy. It's not the greatest tool, it certainly is not PhotoShop, but for 99% of the people touching up your photos or taking a good screenshot it's great. It also beats having to pirate a very expensive piece of software.

To do your word processing or spreadsheeting, it's hard to beat OpenOffice.org. The offering is complete. It's not a drop in replacement for Excel, but it will read the same documents and works really well for most people. I've used it to great success trying to read "The Devil's" file formats and in fact I haven't had to load any of "The Devil's" office programs to collaborate with my colleagues or customers. Now that there's been a 2.0 release and with the Open Document Format becoming an ISO standard this software is hard to beat.

Now for replacement programs.

To replace Internet Explorer there is the newly appointed champion of FOSS, FireFox. It's more secure and just works...well...almost everywhere. In the few places that it might not work correctly(they really are few and far between) there is always the extension IE Tab to get you over that hump. Even though I'm sure you've heard about FireFox, if you've never tried it then grab it, open it and press ctrl-t. Let me know what you think.

If you need to read your email then take a peek at ThunderBird. This app has gone through many changes since it split off of the main mozilla suite. It's now faster and better than it has ever been. In 1.5 you get a massive improvement in IMAP speed(if that's important to you) and the search has been improved greatly.

If you also happen to be a *nix geek like me then you might also try out another piece of software, cygwin. This will give you a *nix like terminal and most of what you would expect in a *nix command line, sed, awk, grep, etc... After you install cygwin, the icon generated will load up bash by default and you can even run an X server under it. I do this at work in replacement of a very expensive piece of software called exceed. How do they sell this software?

While we're talking about *nixy geeky software, how about we discuss everyone's favorite editor? I mean just raw text editing here. Things like shopping lists, call lists, meeting invites, todo lists, honey do lists, technical notes..... What? You use more sophisticated tools for this? Do you really need different fonts, decorations and formatting for these things? How did you get along before a computer? If you accomplish these text based tasks using ... OpenOffice then you should pick up GVim.

There are many other pieces of software I may have left off. If that's the case and I've missed your favorite FOSS software on Windows then drop a note in the comments.

Sunday, December 17, 2006

klik on Gentoo

I was looking for new less painful ways to test bleeding edge software. I didn't really want to have to write ebuilds for programs I may only start a few times and then remove and have to deal with it messing with my normal libraries. So I thought of a couple methods I could use, a chroot in my home directory or as another user like I do for KDE4, but both methods are cumbersome and kinda tricky. I just wanted something that worked and that I could install and uninstall software as a user for testing that wouldn't wreak havoc on the rest of the system.

Enter klik. Klik follows a simple paradigm of "1 application == 1 file." I ripped that right off their wiki. Now this is quite cool. Normal users can download and install software for themselves easily and the programs will just be stored as a single file. So if they don't want the program any more they just delete that file. System administrators and software testers rejoice!

Now most of the documentation for installing and using klik exists for (K)Ubuntu and OpenSuSE. I run Gentoo and I wanted to give it a shot. I mean klik is meant to be cross-distribution so this should be a cakewalk right?

I started as the documentation says
wget klik.atekon.de/client/install -O -|sh
The first thing I noticed is that klik requires two things to install properly:
  1. hald needs to be running. To do this just run /etc/init.d/hald start.
  2. You also need to be in the /etc/sudoers file.

No problem now I have klik installed and I'm going to install a piece of software using it. So I point my browser (you can use FireFox, Konqueror, Opera etc.) to klik://opera91 to install Opera 9.1 beta.

Here's where the problem really starts. klik requires rpm2cpio to install Opera91 (I'm not sure if this is required for all recipies). I go and emerge rpm to get rpm2cpio, but there's a nasty Gentoo bug that prevents beecrypt(the only dependency I have for rpm) from compiling. So I use the workaround by setting CFLAGS="-march=i686 -O2 -pipe" and emerge beecrypt. Then I emerge rpm using my normal settings from /etc/make.conf.

So now I have klik installed and I have the requisite rpm2cpio on the system. So once again I point my browser to klik://opera91. I get another error:
Please install libstdc++5.so in order to use klik. The installation will continue, but the resulting cmg files will be larger than neccessary.

I do have that library. I checked. It's in /usr/lib/libstdc++-v3 and I checked in /etc/ld.so.conf and that directory is there. Just for kicks I ran ldconfig just to be sure the library is findable and retried the klik installation of Opera 9.1 beta. I still got the same warning message. No biggie I guess it does say that installation will still run so here goes.

It prompts me to ask if it should download the files required to do the installation and I answer yes and it begins downloading the software. Then I get another error:
Unable to mount /tmp/app/1
Where is this coming from? I click OK to that dialog and I get this error:
/home/krakrjak/.zAppRun: line 132: /tmp/app/1/wrapper: No such file or directory
hrm....

The code says
RESULT=$($MOUNT/wrapper $@ 2>&1) || derror "$RESULT"
I didn't work out all the details, but it appears that it's trying to run a file from one of the mount points that klik puts in /etc/fstab. I checked my /etc/fstab and the entries are there, but I did notice something in particular. The new entries are marked as cramfs. I didn't have cramfs installed, so I quickly issued an emerge cramfs and went to check the kernel. Sure enough I didn't have support for cramfs either so I added it CONFIG_CRAMFS=m and compiled the module.

Now that I have the cramfs module compiled and loaded and the userland programs installed I set off to give klik another shot.

I still got the warning about libstdc++5.so, but the installation went off without a hitch this time. Here's a screenshot of Opera 9.1 Beta running:


So to recap, if you are running Gentoo and you want to install klik you need a few things to get it working correctly these are:
  • You need to be in /etc/sudoers

  • Start hald or install it then start it

  • Install rpm

  • Make sure you have cramfs installed and configured in your kernel

Fr1st ps0t

I've created this blog to place thoughts, musings, rants and ideas on FOSS. I have started testing new software like klik and KDE4 so I wanted a place to post problems and workarounds that I found. I also need a general place to rant occasionally when I ram my head against the wall on an problem.

Most likely I'll only post on average one post a day, but depending on how much time I get to do testing it could be more or less often.