Best. Plugin. Ever.

I was trying to watch a vid on a website which was quicktime only. Since I’ve had some trouble a few days ago to play a wmv file on a windows media only site, I decided to give the firefox mplayer plugin a try. I had heard of it before but never found a compelling reason to install it. Until now. It just plays _everything_! I can’t believe how I could live so long without it. 🙂 Or maybe because 99% of the web’s vids are flash? 😉 (which works, of course)

Here is the supported formats list:
Window Media: wmv, avi, asf, wav and asx
QuickTime: mov and smil
MPEG Video and Audio: mpeg and mp3
Ogg Vorbis: ogg
AutoDesk FLI: fli and flc
Vivo: vivo
Real Player: ram and rm

drop dropbox

For some time now, I’ve been evaluating dropbox. From time to time, I need to be able to store a file and have it available at another location in a synced fashion. First some history.
Before Dropbox, I was (ab)using gmail through the firefox gspace plugin, but, 1) you need firefox 2) you pollute your mail space 3) it’s buggy and bloated 4) but still doesn’t have all features I want. The reason I chose gspace back in the day, was because it was presumably cross platform through use of the firefox platform. That turned out to become limited functionality and eventually useless at all (may be fixed by now). It had also issues with having your gmail open in a tab at the same time. So I looked for an alternative and dropbox seemed promising.

My requirements for a ‘online storage’ solution are:

  • cross platform native clients: to allow sharing between work and home computers.
  • web interface: when you’re in the wild at someone else’s computer where you don’t want to install a client.
  • corporate-proof: can operate from behind different types of proxies.
  • server-side backup: when you accidentally overwrite a file from another location, or when syncing fails to do the right thing.

My nice-to-have’s are:

  • revision history: same as server-side backup but extended to multiple backups.
  • desktop integration: status overlay (aka tortoise stuff), context menu to perform web actions, for example, revert to some revision, make public, …
  • exclusion filters: handy when you don’t want your lock or temp files (due to editing) to be uselessly synced all the time.

Dropbox seemed to fulfill all my wishes except exclusion filters. Until recently. 🙂 At work, when I resume after suspend, the client doesn’t automatically sync back to the server (this can also be a proxy issue here at work, but it doesn’t work anymore and there’s nothing I can do about it, i.e. it’s closed source). But there are other things that bug me: 1) explorer integration is slow but not optional. So you have to live with it. 2) The (windows) client feels sluggish and quite heavy to load. 3) Linux client always lags behind and the desktop integration is only for gnome. Linux users had to wait long for a release, but even now, they are not treated very well. Then of course, there is the whole discussion of dropbox being closed source but the front-end part being open source, confusing people all around. 🙂 They give the impression they care about the linux users and open source, but in reality, they can’t make it true. In fact, I have no problem using a closed client, but it has to work very well then. 😉
Dropbox has free and paid accounts. The free accounts are limited to 2GB storage and only 30 days history. No problem for me.
So up until recently, I was quite happy with dropbox, but since the windows client fails to reconnect after resume and the linux fails to start, I guess I’m counting its last days. 🙂

If anyone knows a decent cross-platform alternative, please let me know.

But it did raise that thought again in my head: why not try to start an open source online storage sharing solution? Is it so hard? Why does it not exist yet? Of course, I’m not targetting a system which can take loads and loads of people uploading their latest torrents to share with the rest of the family *rolling eyes* 😉 But simply, you know, some system that can handle a few accounts (or even just private) which you can install on your own server and offers basic syncing functionality with some better-than-dumb compression/file-diffing mechanism. Personally, I also wouldn’t need fancy public web sharing like photogalleries and the like, so…

Maybe I’m missing something? 🙂

Van Dale dictionaries on linux

After several rant mails to the Vandale publishers house, I finally gave in/up. About a year ago, I complained that I couldn’t buy a linux version of my favorite Dutch dictionaries (not that there is a choice when it comes to digital Dutch dictionaries). Online dictionaries don’t cut it for me, I always need the words (or expressions) that free online ones don’t provide. 😉 The answer was that there does not exist a linux version. So I asked when the linux version would be released. The communication stalled but apparently it got escalated and I got an answer by another person telling me there was no linux version planned, however he was delighted to announce the availability of a Mac version within only 3 months!

You know this smiley banging its head against the wall? That’s me, banging my head… How can they be so stupid to port to another platform and not take cross-platform toolkits into account?? I couldn’t help myself, so I started to lecture “cross-platform 101”. 😉 I am not sure if I was able to get through to him, but I hope at least a few fragments stuck in his mind. 🙂

In the meantime, they do have a mac version. I never received a reply to my plea. So I decided to give it a try under wine. Surprise, surprise (not), it works! (using the win2k installer patch). Sometimes, wine can really be a godsend. For the occasion, I created a few desktop icons since the original ones suck badly.

I created them by drawing bezier curves with the original icon from the website in overlay. It actually sounds easier as it sounds. 🙂 I had to tweak my beziers quite a bit to have a somewhat appealing result. Since this will probably be the last time I will take a KDE3 screenshot (still on my suse 10.3), I decided to post a screenshot of the icons with my desktop in full glory 😉

Vandale icons

Also spot the home-made icon for Cave Story, but that’s merely a rip from the game resources 😉
Here are the icons in case you want them too:
vandale icon Englishvandale icon French

FTP: copying outside chroot jail

Your typical ftp setup will allow your users to only copy/modify stuff in their own home dir (=chroot jail). Which makes sense. However, from time to time, you’ll want to access directories outside your home dir and then the following workaround can come in handy. Concretely, I have a few hard disks in my box, so, from time to time, I want to write directly to another partition than my home partition because of space constraints.

Obviously, you can allow root to access ftp, but we’d like to avoid that if possible, right? Simply making a symbolic link in our home dir also doesn’t work because of the chroot jail.

What you can do however, is mount a directory in another place. Suppose I have a /dev/sdb1 which is mounted to /mnt/data. I want to have access to the download dir on that drive. Then I can do:

mount --bind /mnt/data/download /home/mattie/download

to access this from my home dir. you can use the -r option to make it read-only if you wish (though doesn’t make much sense in my scenario). I suppose it might also work using hard links but I didn’t try that as I didn’t need a permanent link. Using mount, the link simply disappears on the next reboot.

Controlling XMMS using a gamepad

On windows I used to control winamp using global shortcuts. Since I didn’t immediately find this plugin on linux (although google seems to suggest it exists), I tried the joystick control plugin. But I never used a joystick before on linux.. 🙂

I plugged in my Logitech Dual Action Gamepad and a cpu spike indicated something got detected. 😉 I didn’t have high hopes it would work in XMMS though, since that’s about as archaic as one can get with a gui app. 😉 I enabled the libjoy.so plugin and set the path right to /dev/input/js0 instead of the default /dev/js0. I tried some button and some joystick. It didn’t do anything.

Let’s have a look at Yast. Yes, it has a joystick module, but it didn’t seem to list my gamepad. But then I read in the side column that you don’t have to configure anything if you use an USB gamepad. So next thing was to try KDE’s control center which turns out to also have joystick module. Indeed, the gamepad with all its axes and buttons was properly detected! While I was there, I also did a calibration, mostly for fun, as it didn’t seem necessary. So why didn’t it work with XMMS, because it was just too old?

In a final attempt, I tried testing a “general analog joystick” in yast, which triggered a package install (don’t remember which one). I don’t know if it was the package that did the trick, but after that, it worked in XMMS! It was just a matter of finding out the right buttons by trial and error (the mapping didn’t correspond to KDE’s mapping).

Fine-tuning Urban Terror configuration on linux

This has actually been too long ago, but I’ll to reproduce accurately. 🙂

First of all, why would you need to configure your urban terror install on linux? Can’t you just extract & play like on windows? Yeah, you could. Except when:

  1. You’re using a recent libcurl (which is used for downloading new maps through HTTP).
  2. You’re using an azerty keyboard (or a keyboard map which contains keys that are unknown to ioq3).

Which is quite a lot of people, at least, in Europe. 😉
Continue reading Fine-tuning Urban Terror configuration on linux

opensuse 11.0 to 11.1 upgrade story

I am always a bit reluctant to upgrade instead of just install because it is a much less tested use case and there is always the conflict between your own preferences and new defaults: who has precedence? But an OS should be meant to be upgradable, right? I know, most people are not confronted with the issue since Windows isn’t exactly what I would call an good example of an upgradable OS 😉 Linux users are much more confronted with the upgrade issue since most distro’s put out at least one release a year. I always give the upgrade a shot, but most of the time I also do a new install just to know how the new release was meant to be conceived. 😉

So here is my upgrade story for my laptop: it’s a Dell D830 with Nvidia Quadro NVS 140 and Intel(R) PRO/Wireless 3945ABG.

The upgrade procedure itself went smooth although I never really know if I have to enable more repositories or not when asked. The upgrade will by default only take the default suse repo’s into account. So I left it that way, but it could explain a few issues I ran into later..

Anyway, after the upgrade reboot, I don’t get a graphical login screen.. I run sax2, and this fixes the issue, but nvidia driver is not used. So I add the nvidia repo from the community repository list. I see there is now a new driver “G02” instead of the “G01” I used to use. So I mark this package for installation, but some dependencies fail.. I don’t know the exact list anymore, but one of them was related to the kernel, which surprised me as I just upgraded (but I did have the jengelh realtime kernel installed before I upgraded).

Something was odd with the package management.. and I also got an error that updates could not be found because no backend was configured. what the..? So next thing to do, was configure the online update. When I tried that, it wouldn’t work because “SSL negotation failed”. This definitely smelled like a bug, so I filed one and it has already been confirmed by a suse employee by now.

So I added the update repo manually (although I had read about the new smolt integration and would’ve loved to register my system) and configured the new updater applet (kupdateapplet, which supports packagekit) to use the zypper backend which I first had to install manually (kde4-kupdateapplet-zypp). Finally some updates were found, but the new tool failed to install the patches (have to file a bug next time patches are issued) and asked me if I wanted to use yast instead. Funny how they anticipated problems there. 🙂 Using yast, there was no problem of course. The smolt update even triggered a proper nvidia install without dependency problems.

Having updated, after I relogged on, the nvidia driver was effective and remembered its configuration from before the upgrade. Since the version was now called G02, I had high hopes that this would incorporate all the fixes NVidia addressed in their beta drivers to get rid of the KDE4 desktop effects performance problems, but alas, it seems this is still beta. I might want to install the beta driver after all, I’m tired of the bad performance. 😉 My ATI radeon 9800 PRO in my desktop performs better! Although I have to admit, even the stable nvidia drivers seem to have received a few improvements the last few months.

That’s it for now!

Setting a process’ processor affinity in linux

Sometimes, people like me like to run stuff on a dedicated cpu instead of using all available cpu’s. The key to success here is this nifty tool: schedtool. Unfortunately, I didn’t find it anywhere in suse’s package database, nor the build service (if you know a repo or util package, please let me know).

But don’t worry, I guess nobody cares to make a separate package as it is such a small util. Just download the source from the website and make/make install (configure isn’t even needed).

Then, to run a process, in this case a dir listing, on CPU0, use:

schedtool -a 0x1 -e ls -la

-e specifies the command to execute
-a is followed by a bitmask in which each bit represents a CPU.

I have found that somehow it is best to always use the hexadecimal notation, even if your number is less than 10.

Even more pdf fun on linux

Who says pdf support on linux is weak? 😉 Using free tools only, I can actually do more on linux than on windows.

A friend asked me to adapt a brochure which is in pdf format so that his contact data are filled in at the designated area on the last page. I didn’t have high hopes, as I know pdf editing is clumsy, even on windows using Adobe Acrobat. But I thought I’d give it a google search, and guess what, I stumbled upon pdfedit which seems to be able to do the job quite adequately! The only downside is the speed. I hope they port it to Qt 4 and fix the speed issues while they’re at it. 😉 (and apparently there are some plans!)

pdfedit ftw