Finding your way in openSUSE packages

First place to look for packages for your favorite suse 10 is the buildservice. There are several search front-ends for it: here or here. If you’re a console freak or don’t like the html overhead , use the cli version of webpin.

A few months ago I used it to find kalarm. I was very surprised to find only KDE4 packages and no help on the irc channel. So I compiled it myself and all went well. Except, you easily get tired of compiling yourself if you have to do that every time there is some new version of some related component.. So I tried once more today to find a package as I couldn’t believe it wouldn’t exist. I even had the impression it would be part of the kde packages, I just couldn’t find which one. 🙂

That’s how I got talking to benJIman, the guy behind webpin, the search engine on top of the buildservice. He pointed out to me that you can find the right package and that it _is_ present in the buildservice, by specifying “bin/kalarm” as a search string instead of just “kalarm”.

The explanation is quite simple: when searching using webpin, it looks for package names that match. If there are no matches, it tries an rpm file contents based search (so, more fine-grained). If you specify a partial filename path, it immediately does the file content based search. He said this approach was chosen in an attempt to reduce the load on the server, although due to recent upgrades (both soft and hardware?) it should be able to handle all “full” searches by now.

another mystery solved! 🙂
oh btw, the package name was “kdepim3-time-management : This package contains tools for address and date organisation.” ! bad points for suse on the package description 😉

openSUSE 10.3 Amarok update problem

So you keep getting this recommended update for Amarok through the suse updater (This patch includes fixes to increase the stability of Amarok when playing music and improves the collaboration with the GStreamer/Yauap engine.)? And when you try to install it, nothing seems to really happen and it won’t go away? 🙂 Then, read on 😉

I currently have 2 suse installs, one early on after release (desktop) and one just recently (few weeks ago, on laptop). I already noticed there is a difference between, I guess something to do with coalesced patches? In any case, this is how yast looks on desktop (left) and on laptop (right).
Yast on desktop (early install)Yast on laptop (recent install)

You notice the recent install is messier, which is actually the opposite of what I expected. 😉 (also notice my fontsize on laptop is automatically adapted to a higher resolution on smaller display) Normally, you get your updates through suse updater. I already read some people solved the problem by manually updating through yast software install. However, when trying that, I ran into dependency conflicts which didn’t surprise me as it was switching from the suse repo to packman (though it should be able to handle that of course. oh well, heard there is yet another package management system planned for suse 11.0). Another weird thing I never got this problem on my early adopter install! Thanks to Lighty, I rerealized the difference between the 2 systems and tried out the “Online update” action in Yast. And guess what, it worked 🙂 it should be doing the same, but apparently, it is not… Anyway, another mystery solved 😉

Amazing

The 1989 C standard didn’t allow variable argument macros. They were added in the 1999 standard. To use one according to the standard, plug in “__VA_ARGS__” where you want the variable arguments. For example:

#define print(…) real_print( __VA_ARGS__ , 0)

Of course, your compiler may or may not support either this feature or a nonstandard variation.

You might have guessed that, after all those years, the MS compiler still does not support them!!! arghh. crap.

Wiimote fun

Some while ago, I was considering to buy a gyroscopic mouse from Gyration for my future Media Center, but I’m becoming more and more convinced I should simply buy a Wiimote instead 🙂

There are lots more possibilities while still fulfilling the original needs. The Wiimote IS a gyroscopic mouse but adds the following advantages:

  • IR blaster / receiver (1024×768 resolution!!) 4 point tracking @ 100Hz
  • relatively cheap! (40 EUR)
  • speaker
  • joystick and more buttons than standard mouse
  • on-board storage
  • programmer / hacker friendly
  • go play multiplayer on a friends console 🙂

After looking at all the neat programs Johnny Lee put together, I guess you understand I can’t wait to try this out myself 😉 Also, be sure to check out his blog and numerous videos floating around the web.

First time I heard of the cool wiimote possibilities was when reading a post of Xfennec, in which he made a simple showcase of the possibilities with libwiimote using his favorite 3D engine Raydium. Be sure to check out the vid. I was really impressed back then, but of course Johnny did a lot more impressive stuff, the guy is a legend by now. Johnny does not use the libwiimote lib, but rather the dotnet WiimoteLib (I mention this ref especially for andrasj 😉 )

I have to admit that at first glance the .net lib seems more attractive due to its event based mechanism (internally, it does an async read on a stream in a loop though). The C lib looks a bit more basic but very easy to get started.

Team Fortress 2

CGSociety has an interesting feature about Team Fortress 2.

The art in TF2 and the game in general is indeed quite special imo 🙂 Having played it for a few hours, I really can appreciate the game Valve put together. High usability, restricted weapon selection and funny cartoonish graphics and animations trick the player into believing that this really is an easy kids game, but nothing is less true. Well.. it actually all depends on the players 🙂

A lot of rookie players (I have the impression there are a lot, me included 😉 ) just don’t get the full potential of the game and do a brute force attack. But due to unique gameplay elements, you are forced to find better or switch tactics all the time. For example, you simply can not find a sniping spot and snipe until you are discovered, simply because after each kill, the killee (heheh =) ), is presented a nice close up snapshot of his killer!
On top of that, because the game keeps track of your kills and hangs a big fat nemesis icon above your head for the people you killed a lot, you can be reassured to spend some payback time. 😉

There does not exist such thing as a fail proof tactic, each can be countered. And this is not because of the right weapon choice, but because of the wide range of characters. It takes some time to handle each of them in an effecient way and unless in each class someone knows what he does, the team simply doesn’t work. And that’s in fact my only problem with the game, I guess. 🙂 A lot of people don’t play their class well and also don’t care “because they just wanna frag”. That’s okay, if the other team agrees with that 😉 The minute they start playing “intelligently”, they win. Of course, the game wouldn’t be called team fortress if team play wasn’t a key part of the game 😉 yet, on public servers, we all know it is sometimes hard to find the team spirit …