BeOS
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.
LinuxPPC
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.
Movies
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.