29 Mar 2000 shawn   » (Master)


I tried to get BeOS 5 Personal Addition working last night. First, I tried to install it onto the machine I have BeOS 4.5 running on. However, the installer is for Windows and could not figure out how much disk space was available so wouldn't install on that machine.

Then I tried to install it on my iMac in Virtual PC. If I could get it working there, I could finish getting the GTK+ port integrated into mainstream at home. However, my experience was not so great. It installed fine and boots, but it is really slow and doesn't function very well at all. Ah well, it was a long shot. (It works better than 4.5 did though.)

I'd really like to get BeOS working on a notebook. It seems like the Sony VIAO's might be supported, but I only infer that from support for the VIAO CDROM drive. A list of known supported laptop models would be useful.

I'm going to try and get it running on my oldish Toshiba notebook. I would have tried last night but unfortunately I need a floppy to boot and the floppy was, of course, at work and not at home where the notebook and I were. I do not know if there will be enough room to even test BeOS on my notebook, since it's a 1GB drive.

The biggest problem with working on the GTK+ port for BeOS right now is that the BeOS box is at work and I need to do work when at work. So, it's been getting ignored. I've considered taking that machine home so I can work on it there.

Ideally though, I could work on it on a notebook so I could do things requiring high-bandwidth connection at work and then the real work off-line. Ah well.


I have LinuxPPC installed on my iMac now. I don't know the secret to using a one button mouse in X yet, so I can't configure any of the GNOME stuff. I think I might have to install a different X server, but I haven't even looked into the options yet.

Macs have the same firmware as Sun machines, which really kicks ass. I've set my iMac to stop at the firmware before booting, once flaggz figured out how to do that on his new powerbook.

GNOME on the iMac is incredibly slow. It could be partially due to the speed of the framebuffer X server, but I think it probably has more to do with one of the panel's applets sniffing everything that happens in a very inefficient and slow ass manner. To put it mildly, out of the box GNOME on LinuxPPC sucks. I had a similar performance issue on Intel Debian as well before I got rid of the majority of the applets. By default, it was also using Enlightenment and not Sawmill - duh. And the default theme obscured the corners of windows. Who's bright idea was it to make that default?

Switching between text consoles and X when using the framebuffer X is almost unbearably fast and cool. It's freaky. You expect the normal slow video switch to happen and instead it's there ready for you to type. It's really very cool.

Once I have GNOME configured to a minimum of crappiness (as opposed to the default), and have correctly set up the framebuffer or other X server on the iMac, and either get a multibutton mouse or figure out the command keys to do a click, I think I'll actually be able to do some programming on that machine. Cool.

Photo Exibits

Now here is a cool thing. Check out the Photo Exibit System. It's done by Xach on xach.com. Basically, it allows you to comment all those photographs you have up on the web. If I had any photos online, I'd enter them (and not only because Xach would be twisting my arm). I think you should enter yours.

Perhaps Advogato needs the ability to let a hacker upload a photo, to display on his public page.

Crappy APIs

At work, flaggz and I are discovering just how poor APIs can get. We are working with a vendor who is giving us Java APIs written by someone's first chance to code with Java. These APIs are simply horrible! They now have new people coding on this stuff, but we are stuck working with this crap.

For example, it allows you to create an object. This object has a phone number associated with it. The object has a method getPhoneNumber() which returns a String. That method is only valid right after you create the object for the first time. When you look it up again, it isn't valid to use that function. That's right, depending on state, it isn't valid to use the function. You heard me. Ok, maybe a code sample (this isn't the real code, just illustrating what I mean):

    // Next line creates an object with a lot of non-working
    // functions.
    Foobar foobar = new Foobar(); 

    // Set some attributes of foobar here/ ...

    // The next line takes the attributes we set and creates it foobar.create();

    // this is the only time the next method is valid phone_number = foobar.getPhoneNumber();

    // Then, if you look it up later: FoobarParent parent = new FoobarParent(); Foobar foobar = parent.getFoobar();

    // The next line is an error, we can only do this after a // create(). Stupid, eh? phone_number = foobar.getPhoneNumber();

    This is just insanity. It would be better if it were something usable, like:

      // Create object in one step, never allow an object you
      // can't use. This could just return an object Foobar too,
      // depending the expense of creating the object.
      int foobar_id = Foobar.create(...);

      // Look up given the ID, all functions are *always* valid. Foobar foobar = Foobar.find(foobar_id); String phone_number = foobar.getPhoneNumber();

      Oh well.

      Flaggz will be wrapping all of their API inside a sane one as we wouldn't want to taint the rest of our code with this API. Unfortunately, we will have to keep the phone number information around in our own database since we can only get it once. What a great design decision on their part.

      Hiring People

      Our company is trying to expand from 2 people to like 5 or so. I thought this would be fairly straight forward. Apparently, it's more difficult than that. I'm now convinced that people we want to hire are not only good at what they do, but also intelligent enough to have already landed them in a situation they find acceptable. So, the few friends we wanted to come work for us don't want to leave their jobs. Of course, there is a lot of risk involved in working for a company this small, which I think has a lot to do with it.

      If they wanted to leave their current job, they would have done so already. There seems to be a significant barrier to leaving someplace that isn't that horrible. If nothing else, this has proved interesting. Perhaps the good people end up with jobs they like; that's kind of a nice thought anyway.

      The main disappointment here is that we really want to hire on people we know, so that when we grow more that we have a solid base of people that we can trust and that we know can help us lead and manage the company in the correct manner. Instead, we might end up just hiring people we don't know to do Java coding and fill in our management later on.


      Ok, I've finally watched Das Boot. This movie is 3.5 hours long. That's long enough to require you to flip of the DVD part way through. It is an very good movie. Watched Wallace and Gromit as well... kick ass. Next in the queue to watch are Grey Owl and Summer of Sam, which are sitting on my speaker at home.

      I watched the new Jet Li movie in the theater, Romeo Must Die. It's not all that great. flaggz hated it. Jet Li is pretty cool, but this movie's fight scenes were unrealistic and the script could have been better.

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!