Wuala

I’m a big fan of new technologies and interesting software. I’m also a fan of filesystems and the concepts behind filesharing programs.

So I’m really glad to be able to give Wuala a try. The program can best be described as a decentralized, p2p based filesystem with credit system built in that’ll integrate into your filesystem (on Linux via NFS) and allows you to store files encrypted on the net.

Yeah, sounds a little bit fishy. But it works flawlessly and quite fast to this point so I can’t really moan 🙂 . The idea is quite simple: For starters you get 1GB of space, if you are online on a regular basis (more than 17%) you can trade space on your harddisk for more online space.

What to make of Wuala? Time will tell, there are only a few users right now and the formula for online time calculation could need a little makeover. Apart from that: Cool!

K2 Hooks

One of the major annoyances with theme upgrades is that all your precious changes will be lost, or you’ll have to diff and patch it from one version to another. That’s quite a lot of useless work.

The K2 theme I’m using as the base for this WordPress installation supports two cool features now:

  • You can include your own stylesheets without changing one line of code.
  • You can access various hooks to modify the way K2 works without changing one line of code.

Personally I think that’s totally awesome. But there are some points I’m still missing, though. For starters, the hooks are currently quite rudimentary, I can’t really control every element at this point. Second, I want to add options to the admin panel through my style’s functions.php — which I am unable to do atm (if I’m wrong on this point, please enlighten me :)).

Nevertheless, K2 is absolutely awesome. Ah, and in case you wonder… yes, the theme is getting a makeover. I’m migrating from the old, broken (too much playing ;)) Unsleepable 2 to a new something I’m currently building.

It’s alive again~ !!

Geez, what a unlucky day! Had to format the laptop, reinstall Vista (two times, to be precise!) and I’m finally getting all my data back from the fileserver (over WiFi, that is… I guess I’ll get cancer because of that someday).

At least FLStudio and the KeyRig work again, so I have some toys to play with 🙂 .

As a note to everyone who encounters a bluescreen after installing Vista updates on the file crcdisk: Do not install the update KB *899! Yes, it is required for SP1, but if you have to install it, postpone the process to the very end of your update process. Or even better: Get a Vista SP1 DVD. I’ll try to do so for future reinstallations.

Mplayer + CoreAVC

Windows, despite all it’s flaws, is nice for a few things. First of all, there’s a buttload of cool, gory games. And second there’s a really nice multimedia support; many companies/individuals write highly optimized software for video splitting, decoding, muxing, output etc.

Now, three cool programs are Haali’s Media Splitter (comes with Haali’s Media Renderer), CoreCodec’s CoreAVC and nVidia’s PureVideo. Combining these leads to a boost in performance, allowing my 2GHz notebook to play 1080p content steadily without hard framedrops.

Linux on the other hand is a little cornered. Yes, we do have XvMC for hardware MPEG-2 decoding but this doesn’t really help with HD content at this point. So until there’s a counterpart to PureVideo Linux will always be slower.

As you may know I only recommend Mplayer and Xine on Linux. They’re the greatest, the best and if you think otherwise you must be stupid 😉 .

Mplayer can be patched to use CoreAVC for a little performance boost (we all need a little boost, do we?). This is great stuff. The patch will fail a chunk against loader/Makefile, but it’s no problem to add the missing lines by hand. Also, please note that you’ve to run ./configure –disable-mencoder before applying the patch.

So, how much does it give us in terms of raw performance? Not too much, unfortunately, but for my system 5-12% already make a big difference.

Most of the performance loss is still being caused by the lack of hardware MPEG-4 decoding and the use of the old Overlay mixer.

Nevertheless, if you have bought CoreAVC you owe it to yourself to give it a try.

Venturing into KDE4… and back.

Since anything I would write in long paragraphs would be nothing but a rant, I’ll keep it brief and half-way composed:

Blablabla, complaining about how much plasma agravates me right now (including theme, sound scheme is nice), blablabla, don’t care about all the other applications but fix the base desktop stuff, blablabla.

Blabla, not enough configuration options for the end user, blablabla, plasma settings for desktop don’t get saved on-the-fly but on logout, blablabla, zoom-out does happen without my written consent, blablabla, panel width dialog doesn’t allow typed vales > 1024, blablabla, Marble = great , blablabla, development speed has to be godlike to fix all this ’till 4.1. Blablabla, so for now I’m back on the proud 3.5.9.

It’s like KDE4 tries hard to look cool and stuff but when you ask it to dance it looks at you with big eyes and falls straight onto it’s pretty face. That’s the feeling I get.

Blablabla. Personally I think the devs are still the coolest kids on the block. Even if I can’t select multiple files on my “desktop”.

Did I forget anything… ah yes, blablabla.

Limit CPU consumption of applications on Linux

One of the more frequent questions in support channels: How do I limit a specific application to not consume all my cpu time?

While it is generally a bad idea to limit applications in that department, it is indeed quite easy…

Install the tool cpulimit (most modern distributions should have a package ready in their repositories!) and launch it with the correct parameters:

cpulimit -P /usr/bin/foobar -l 10

The command above would wait for program /usr/bin/foobar to be started and limit the CPU consumption of the application to a maximum of 10%.

Note that without further configuration you’ll need to sudo cpulimit or start it as a root. The specified application can be started in a normal user context, though.

Moving folders to the server side

Wow, the second Windows-related post today? Something horrible must be happening to me right now…

Anyway, you may know a situation like this: Many clients, one server and a terribly stubborn application that just wants to write into that one pesky folder on the local hard disk. Needless to say that thanks to your policies that won’t last a reboot.

So, how can we tame applications like that? People want their data to be available across the network, in a central location/database. If the application’s data is not transaction-dependant you’re in luck.

Unix-lovers know hard-, soft- and symlinks. Hardlinks are available on Windows XP as well, but the truly wonderful stuff comes in on Vista: You get the two other missing types.

That doesn’t mean that XP users are left in the cold, you can download the necessary tool from various sources on the net for free and give it a shot.

So, what is this mysterious tool? It comes with Vista and is called MKLINK. Just use it like this:

mklink /D "Damn local database folder" "\\SERVER\DatabaseFolder"

Yes, we can actually point to a UNC path and — given the client users have sufficient rights — will be able to browse the folder just like any other folder on your file system. That’s pretty sweet and incredibly useful for ol’ haggy applications.

Don’t forget that this operation (just like everything fun) requires elevated access to do!

Temporarily register fonts using a normal User account

As you may know Windows is quite stiff sometimes. You can’t add additional font directories like you’d do on Unix. Another stiffy problem is that Windows requires an elevated account for operations like installing/removing fonts from the system. That’s quite troublesome at times.

This is exactly when my little tool jumps in. With RegisterFont you can add a number of fonts to your font cache without using an elevated user account. The downside is that all the changes persist only ’till the next reboot; Windows will rebuild it’s cache and the changes will be lost.

Anyway, the archive contains a binary as well as the C# sourcecode to this small utility. Use it like that:

RegisterFont.exe add font1.ttf font2.ttf font3.ttf … font1000.ttf

Easy, huh? If you don’t want to add fonts but remove them, substitute the “add” parameter with “rem” and you’ll be set. I didn’t bother to link up to the MSDN entries explaining the API, this is just a quick and dirty tool I wrote because we were in need of a quick solution to a problem 🙂 .

Update 2010-08-27: dcpurton wrote a tool in C to accomplish the same goal but without the .net dependencies. Best of all: Sourcecode is also available 🙂 .

Mandatory profiles w/XP

Mandatory profiles are an ideal way of keeping a complete set of workstations in sync in regard of their visual appearance and settings.

One thing I was stuck at: Whenever I copied a profile and renamed the NTUSER.DAT to NTUSER.MAN the profile simply wouldn’t load the preferences from it, resulting in ugly window decorations, empty start menus etc. Why is that?

The reason lies in the permissions on HKCU. To circumvent this undesired effects you can use Computer -> Properties -> Advanced -> User Profiles -> Copy To… — and now comes the thing — before clicking OK also click the button on the bottom of the form to set permissions. I used DOMAIN\Everyone but as usual… results may vary.

This way it worked fine, though.
It’s a shame that this little click isn’t mentioned in 90% of the quick’n’dirty guides on the net, it really does make a difference.

My new favorite toy

…hardware-wise is probably the M-Audio KeyRig 49 MIDI Controller. What, you might ask, Tsukasa and music?

Yeah, that’s quite a shock. But I really enjoy venturing into new stuff and doing application development all the time is wearing me out a little. So I thought… what the hell, time for something totally new.

I guess I should read into stuff like what a melody is and how to work the keys on a keyboard effectively… at this point I’m barely able to play Meister Jakob — but a kickass Meister Jakob, I swear 😉 .

Of course I’m using the Keyrig from within FLStudio, thankfully the device comes with a USB port attached so I can easily plug it into my notebook and start hammering out terrible noises (I’m really good at that, too!).

So if you should ever be in need of a terrible annoyance to piss off your neighbours — just give me a shout 😉 .

Winforms in Mono

I hope I don’t have to emphatize how much of a Mono fanboy I am at this point 🙂 . Today I had one of these “Wow” moments Microsoft wanted me to give with Vista (they failed miserably, btw) when I did some poking at Winforms in Mono and were able to run my fairly sophisticated installation program example I wrote a while back unmodified on Linux (and it basically worked out of the box):

I was especially impressed by the fact that the program was aware the user level it was running in. I started it with sudo and got the result you can see above, program reports “elevated” status. Now this is very cool, more so because this was originally written for Windows Vista! One thing I’d love to implement, just for the sake of completing a nice installer demo, is awareness of what operating system the installer is being launched on/what features are available in the CLR it is running in. Also some smaller things like getting rid of improper path delimiters and casing where files should go depending on the system. Wycked.