03.8.09

Mad oversteer

Some old vids in which I’m just the wheelman. Thanks to Darth Joules and Geert, the simracers who did the video capturing and editing (my crappy 1k ghz putter couldn’t handle all that stuff, 30 constant FPS was already a great achievement), and of course thanks to Eero Piitulainen for the excelent RBR physics (hope to see another physics engine of yours soon…).

Ahora lo que es en castellano: un par de viejos videos, de cuando solía quemar rueda (virtual) semanalmente, en este caso con RBR.  Gracias a Darth Joules y Geert por la captura y edición, y Eero por el brutal motor físico que programó a contrarreloj para SCi y que aún hace vibrar a la comunidad. Una pena que el código se haya perdido en el limbo legal gracias a los 6 años de abandono, los Ferraris de dudosa legalidad estrellados, la mierda que salpicó a Warthog Studios por sus relaciones con cierta mafia sueca de blanqueo, las detenciones de algunos CEOs y los consiguientes enchironamientos, y weno… mejor no seguir que escribo un libro 😆

Richard Alexander Burns

January 17, 1971 – November 25, 2005

R.I.P.

01.20.09

Consistent Desktop UI proposal

I’ve always been a bit particular with my desktop preferences. After using WindowMaker, Gnome+Sawfish, Ion2, WMII, Kde+Kwin, Gnome+Metacity, Compiz Fusion+AWN and testing out some more, I’ve yet to see one that fully addresses my needs.

One of my main complaints is the waste of screen real estate. Both window managers and applications themselves are at fault for this. The influence of Windows UI style in panels and windows has prevented most designers from getting the most out of the users’ screens. Ion2 is the window manager i’m currently most happy with, but it’s still not perfect if applications don’t properly cooperate, which is only possible if they follow some sort of guidelines (such as those discussed and published by the FreeDesktop project).

This blog post shows a suggestion that could, IMHO, improve the desktop experience, although maybe at the cost of reduced usability for computer illiterates.

As an introduction, here’s a quickly gimped draft of the idea I had some months ago:

simple UI draft

The increase in usable space is obvious (well, at least to power users). The famous and ancient “title bar” is gone. We already have the window title in the so-called task bar, so why repeat it again using a whole horizontal bar for it? And what’s with the habit of dedicating another whole bar for 5 tiny application menues? Furthermore, the old status bar can be set to automatically hide for additional real estate (with a behaviour similar to that of Google browser Chrome).

Most interactive widgets have been moved to the top of screen (but they might as well have been placed on the bottom or aside). Personally, I see no reason for spreading buttons all over the screen, other than following the current desktop environment trends. Having them all close together greatly reduces the need to move the mouse.

Keep in mind that the tabs depicted in that draft are not supposed to be fullscreen-only, but have a mixed TDI & MDI behaviour (similar to Opera but, instead, leaving the management of those document windows to… well, the window manager 🙄 ).

But it doesn’t stop there. While we’re at it, why not merge the ideas behind desktops and apps? Here’s the natural evolution of the original idea:

evolved draft

There, the concept of virtual desktops is applied as a way to organize tabs (instead of using yet more windows for the same application instance).

The key is what I’ve just decided to name generic-bar. This bar contains an “app” icon (gnome icon, firefox icon, favicon…), abstracted pager, “tabs” and applets (menues, buttons, traditional applets…) in any desired number and order. For example, in the last draft there are two generic bars: the first one contains “applications”, while the second one contains what we currently know as “tabs”. In essence, both applications and tabs would be handled the same way by the proposed desktop environment. Furthermore, this hypothetical desktop environment could handle generic-bar nesting of any depth.

The good thing is that this desktop proposal does not remove any functionality currently found on most desktop environment UIs, but actually adds more while freeing up even more space for your valuable applications to use.

11.25.08

Nope, not 42 this time

At last! After several weeks of search, I’ve finally found it: it’s a short story writen by Asimov. One of those that make you ponder about the meaning of life. A story that should be read by many a politician, in order for them to realize how moronically oxymoronic it is to talk about the so called “sustainable development” (amongst other things).

I have another brain melting story waiting in the chamber, in case someone cares. It explores the idea of multiverses and how to detect nested virtual worlds. Unfortunately, I’m a bit thick with google today, so I’ll leave that for a different post.

Meanwhile, you can discover the answer to…

THE LAST QUESTION

...y se hizo la luz.

(by Isaac Asimov)

The last question was asked for the first time, half in jest, on May 21, 2061, at a time when humanity first stepped into the light. The question came about as a result of a five dollar bet over highballs, and it happened this way:

Read the rest of this entry »

11.13.08

Looking beyond Pandora’s box

Many of you may remember the awesome Pandora music service. If you’re north american, you can actually still enjoy it, while the rest of the world suffers a massive IP address ban.

Luckily, there are several alternatives to Pandora’s boombox, the most known of which is Last FM: Imeem, Youtube music playlists, Anywhere FM… But recently I got pointed in the direction of a very interesting one: Jamendo.

Jamendo hosts a heck of a lot of music without shitty restrictive licenses. Not only is most of the music very high quality, but it’s also free for download. That’s right, at no cost. You can burn whole albums onto discs, copy them to thumbdrives, share with friends, share with strangers (via P2P)… almost anything you want to do, you can, in virtue of their Creative Commons licenses.

You can also, of course, donate some money to the artists you like. 😉

We can’t thank you enough, Lessig!

10.26.08

Les chevaliers du ciel

09.22.08

Status of Logitech G25 support under GNU/Linux

Last time I tried the Logitech G25 steering wheel under GNU/Linux, only two of the 7 gears could be used, there was no clutch pedal, gas and brake were in combined axis mode, a couple of buttons didn’t even work, the steering range was severely limited… long story short, there was no way to fix all those problems, so the wheel was definitely not usable for simracing purposes.

Fortunately, a few days ago I stumbled upon a thread discussing the usability of the wheel under GNU/Linux, and someone had kindly posted some links to the VDrift forums (great sim btw), where most of the previous discussions regarding the G25 had been held. It seems that some guy had released a tool that allows to use all the features of this awesome steering wheel.

Skimming through its code (yeah, it was realeased in source code form, under public domain and LGPL!), it seems to send some binary data that initializes the so called extended mode, which is not enabled by default. It looks like someone has spent some serious time sniffing through USB traffic…

Anyway, the thing is that the tool does work, and so the G25 is now much more usable under GNU/Linux! Except for one thing: trying to set the 900º rotation mode, a process during which some usb or hid driver seems to freak out and remove the steering wheel device nodes 🙁

Force feedback is supposed to have been working for some time now, but due to the aforementioned initial problems, I never really bothered to test it much (I did patch the kernel to see if the existing FFB drivers would work for the G25, and the basic effects worked, but there was no point on finding a driving game that used them).

Just in case it disappears from tha interwebs, i’m hosting the tool myself. The usage is pretty simple:

  1. Download the GNU/Linux Logitech G25 extended mode enabler tool (46KB) archive.
  2. Extract its contents anywhere, and cd to it.
  3. Compile: ./build.sh
  4. Run the tool: ./usbtools g25-set-extended-mode

And that’s it. Make sure you run jscalibrator the first time in order to calibrate and remove any nasty deadzones on all axis. For more info, simply run ./usbtools without parameters.

Now i just gotta wait for Wine to properly support forcefeedback so that i can enjoy Live For Speed the way it’s meant to 😀

Happy racing!

05.13.06

Realistic Fractal Worlds

As you may or may not know, I’m involved in a pretty ambitious project, named Motorsport. Its purpose is to become the most realistic simulator of vehicles (usually cars), and as such, no ideas are being scrapped (as long as they contribute to the sim realism, that is).

There are a lot of ideas floating around. You can read about a couple of those new ideas here. However, I’m going to talk about something which you won’t find there: generation of real world 3d geometry and textures on the fly, with an unlimited level of detail.

Yeah, sounds gorgeus at first. But it’s not so gorgeus as it’s difficulty to code and get right (i guess).
The idea is to:

  1. Find a free (CC-licensed if possible) source of Earth data. We need both 2d textures and a 3d model, which can usually be found in the form of (unfortunately) freaking low-res textures and freaking low-res heightmaps.
    Possible sources:

    Ok, so that has nothing to do with fractal worlds.

  2. That’s where procedural contents come into play. Take a library such as LibNoise, take the aforementioned freaking low-res contents, mix them all in a bowl on the fly, and you can get 3d meshes and 2d textures with any level of detail you may want, perfectly consistent and reproducible across different computers.
  3. But this is a vehicle sim, so we must add some roads.
    Google Maps provides some road maps (as do many other websites such as Guia Campsa, but their data most probably can’t be used without paying royalties first)
    Then there’re some professionals who work creating landxml-compatible sets, which sometimes are not even possible to buy.
    And then there’s data created by regular people with their GPS-equipped cars, for example Open Street Maps.

    Once we got some good (or bad) road data, we drop it over the heightmap we got from point 1), seamlessly integrating it by using 3d mesh data and blended textures, and add some detail (bumps, side bankings, curbs, dust, camber, variable surface properties, …) in order to make the ride a bit more interesting.

Sounds easy, does it? Of course NOT. But it’s just a rough idea of what could be done in, say 23 years or so.. give or take a day 😉

Enough dreaming for now, I should go study something about OSs (Operating Systems, not Open Source Software! 🙂

See ya!

Ps: yup, I’ve finally decided to write some posts in English, as I find it easier to find the words for technical subjects such as the one in this article. Plus English is a more efficient language when it comes to bandwidth! 😛