You are viewing [info]vektor_sigma's journal

Sat, Jan. 29th, 2005, 04:20 pm
What's new

Blogs are cool, but really only if you update them more than once every few months, otherwise when you do update them you have to put really important things in since so much time has past.

Here's a bit of what's new with me.

  1. I started a 2005 photo-a-day blog thing.
  2. I am now an SWT committer.
  3. I've been learning all about JVMPI. It's really neat.
  4. I've been playing lots of Katamari Damacy.
I guess that's about it.

Sun, Nov. 14th, 2004, 09:37 am
Xbox Live Blues

I caved and bought an Xbox to play Halo 2 with my friends who swear by it. This and the Gamecube have given me a new understanding and appreciation for video game culture: suddenly penny-arcade comics are a lot more funny, and I am able to participate in more conversations at work.

Halo 2 is fun enough, if you are playing with the right people. The stats on Xbox live are still far from accurate. In the mean time, I am learning all about Xbox live users. Yeah.

At least my Xbox has a smaller controller than the original one.

Tue, Oct. 5th, 2004, 07:49 pm
Updates

I should really update this more often. Some interesting things that happened recently:

  1. I got addicted to "the Astro Boy - Omega Factor" GBA game and finished it.
  2. Tried to do a release of tvtime, but there are some pretty awkward bugs so another one will have to be posted ASAP.
  3. I met Larry Lessig at the iCommons Canada launch party. He's pretty cool.
  4. I got an RFC published RFC 3891. I believe this is the only RFC to include the text "r33th4x0r", for which I am quite proud. :)
  5. I saw Julie Doiron in concert. She's great, and I really like her new album. She played with David Ivar Herman Düne who was awesome.

Astroboy - Omega Factor

Wed, Sep. 1st, 2004, 11:46 am
Cross-distribution binaries

In August there was fascinating thread on xdg-list which I keep referring to in conversations. The thread starts with this post by George Kraft of LSB fame, where he notes that defining a standard ABI for desktop applications is difficult because of the large number of dependencies.

Some of the discussion was specifically about how to approach standardization of ABIs for desktop applications within the LSB. However, the real highlights are the posts by Mike Hearn, who presented some very clear and compelling arguments about cross-distribution binaries. The best posts are here, here, and here.

For example, from this post:

George Kraft"... Specifying the desktop application universe for ISVs is the long term. Bleeding edge open source desktop applications will continue to be built from source so they can use the latest bells and whistles."
Mike Hearn"I don't think that makes sense, the "bleeding edge"-ness of an app shouldn't affect how users install it ..."

The idea that ISVs who care about binary compatibility are only closed-source applications should be challenged. I strongly believe that developers of small applications, even ones that use "bleeding edge" technology, want to be able to publish software and have users of all distributions be able to install and use it without hassle.

Another good point was brought up in this post after a rather surprising comment by Owen Taylor:

Owen Taylor"I honestly don't know what the interest is in cross-distro binary compatibility in general. ..."
Mike Hearn"... the desktop market is much more fragmented than the server market [...] None of the existing desktop distros have a market share high enough to justify ports or new development, whereas in a few cases the market share of "Linux" is getting high enough."

Mike's argument holds for open source projects as well. Eclipse's weekly builds have many Linux users, but I do not believe that enough of them are using any one distribution to justify building packages.

Finally, I think the most interesting point in this discussion was made in this post:

George Kraft"... I cannot go into CompUSA to buy a GNU/Linux application then take it home and just install it. What would be the system requirements?"
Mike Hearn"OK, so it's not CompUSA, but you can buy or download binary portable Linux software today in quite a few different web stores, eg tuxgames, codeweavers.com, skype.com, Opera, etc etc. Typically their requirements go something like:
  • Any glibc 2.2 or higher distro
  • An X server
and sometimes
  • Qt 3.1 or GTK >2.0
And this works, though it's not ideal and it's not as robust as we'd like. ..."

Some open-source examples are the downloadable binaries for Mozilla Firefox and OpenOffice.org. Within all of these organizations is a growing amount of engineering knowledge about how to build binaries and installers that work across the distributions their users run. Looking at how these organizations build their downloads and working to solve the problems they have sounds like it holds so much more potential than trying to standardize on an ABI.

Thu, Aug. 19th, 2004, 02:58 pm
Session managers

I am trying to learn more about X session management, since it was a feature request for tvtime and causing weird problems for me at work. Here is what I understand so far.

An X session manager enables desktop environments to remember the size, position, and start desktop of applications across logins. libSM is a standard X library which implements the protocol, and the protocol spec is available on the X.org site. libSM uses libICE for inter-client communication.

The SESSION_MANAGER environment variable holds the address of the session manager. It is a libICE-style address and looks like "local/hostname:/tmp/.ICE-unix/8397" for a UNIX socket, where 8397 is the PID of the session manager (gnome-session under GNOME, ksmserver under KDE). If this socket file goes away or is not accessible, all session managed applications will pause for a few seconds on startup and see this error message:

  Warning: Tried to connect to session manager, Could not open network socket

On my RH9 machine at work, I found the following in my startkde script:

  # Clean up old kde /tmp files that belong to the user
  real_display=`echo $DISPLAY | sed "s/://" | sed "s/\..*//"`
  rm -f ~/.DCOPserver-`/bin/hostname`_$DISPLAY
  for i in /tmp/.ICE-unix/* /tmp/.ICE-unix/.*; do
        [ -O $i ] && rm -f $i
  done

This meant that whenever I ran a second X server to test a KDE-specific bug, it would delete the socket file belonging to my still-running gnome-session process, causing all applications to pause for a while on startup. Ugh! My advice is to be careful when deleting files in /tmp. :)

Tue, Aug. 3rd, 2004, 12:06 pm
Laptop uptime

I finally rebooted for the first time today after the mac crashed (I had done some funky things with multiple displays), but that was the first time since I got it. From the weekend:

19:59 up 15 days, 4:10, 2 users, load averages: 0.38 0.28 0.21

Not bad for a laptop.

Wed, Jul. 28th, 2004, 05:14 pm
GNOME 2 versions

I have been trying to determine which versions of GTK+ are still worth supporting, which basically comes down to tracking which versions Linux distributions are shipping. The website DistroWatch has been quite useful for this task, I just hope it is accurate. :)

Anyway, I have posted my cheat sheet for GNOME 2 versions vs distributions. Enjoy!

Tue, Jul. 27th, 2004, 04:33 pm
Interactive processes

Someone mentioned an interesting behaviour of Windows 2000/NT/XP on the SWT mailing list: Windows modifies an application's working set when its top-level window is minimized. That's a pretty tight integration between the kernel and the windowing system, and a lot less complicated than trying to infer which applications are interactive just by how the process is beahving. While the Microsoft system seems harsh, they do provide an easy (but hacky) way to avoid it if you think your application should be exempt.

I had a lot of fun at DDC and OLS last week, and I will post some notes soon.

Fri, Jul. 16th, 2004, 02:48 pm
Laptop, part II

Dell had a lot of trouble getting me my order, so I gave up and bought an Apple Powerbook 12" instead. Yay!

Wed, Jul. 7th, 2004, 04:17 pm
Laptop

I finally decided to get a Dell Inspiron 600m laptop.

10 most recent