February 05, 2005
(link)
Projector
So mag, being the monkey
man that he is, bought a projector. It's only 800x600, but
it's nice and bright and is pretty damn decent for playing
Smash Brothers or Star Fox 64, not to mention watching
movies. Last night we watched Kill Bill, and the other day pphaneuf expressed
his undying love for me on it.
Weekend
We're going to the Computer
History Museum today. Should be interesting. drheld has also
convinced me to see Sideways tonight, which is
supposed to be good. Then there's talk of cheesecake. Mmm, cheesecake.
The thing is there's this cheesecake place around here that also serves
normal meals, but their meals are so big that if you go for a meal you
won't be able to have cheesecake. So it looks like dinner today will
be a very healthy piece of cheesecake. Meh, whatever, I eat enough
healthy food at Google during the
week.
Karma
It broke again. So I'm going to send it in and get it replaced, and
hopefully the new one won't exhibit the same problem. But apparently
it's pretty common with these things, so if you're looking for a
portable player that plays Oggs,
I can't recommend it.
February 08, 2005
(link)
Nitix
Several people today, after seeing my T-shirt, asked me about
Nitix. Where do I sign to get my
free advertising bonus?
Sci Fi
So, Enterprise is officially cancelled, barring any fan-supported
rescue. I watch it, and I'm ashamed of it, because it's so bad,
so I'm not really sad to see it go. But it is a shame there won't
be any new Star Trek.
On another note, iMac brought all
the Firefly DVDs with him, and we've been watching those. It's a pretty
good show, so my desire for decent sci-fi is being satisfied for the
moment.
And for when I'm finished those.. I bought the entire Star Trek TNG
series on DVD. All 7 seasons, 48 DVDs. Oh baby. Only cost me $130
incl. shipping on eBay. It's gonna be
good. I was thinking it'd be fun to index the subtitles so I can search
for episodes. With 48 DVDs, you want to know exactly which one contains
the episode you're looking for...
February 13, 2005
(link)
Deniz
I just found out that my coworker and friend Deniz Sarikaya has passed
away. It came as a complete surprise to me that someone so full of
vigour and so lively could be removed from our lives like this. I have
great memories of the summer at Niti
with her, and I don't think anyone would disagree that she brought a
warmth and liveliness to the office that will be sorely missed.
February 22, 2005
(link)
Hula
Like most, I was pretty excited to see Novell getting into this space in an open
source fashion. I finally got some time today and played around with it
a bit. Previously, I couldn't even get it to compile on non-2.6 systems
and then I could get it to compile but it would segfault immediately.
Now the latest stuff in svn finally seems to be working.
So, first off, it's pretty, but it's not really usefully pretty.
IMO there's far too much graphics. This is a web app, and the web is slow.
Most people use dialup. No, really, they do. Even now.
I also don't really like the fact that creating a calendar event is
like writing an email, with a "to", "cc", etc. Sure, maybe you want
to invite people if it's a meeting, but not always (eg. doctor's
appointment). I don't know what to put there. My email? My name? My
username?
Also the "new event" page feels like filling out a form. I don't like
forms, and I especially don't like web forms. Give me a better way to
do this, by clicking on a time in the day view or something. Oh, yeah,
why does the day view have no times? Most calendar apps show you the
hours of the day in day view, not just a summary of your events. That's
a much more useful visual representation, IMO.
Now I don't mean to be overly critical. I realise this project just
got started and of course I really hope it turns into something great;
a solid web mail/calendar/contacts app is sorely missing from the open
source stack, but some of the initial design decisions are a bit worrying,
in that it seems at risk of becoming "yet another Horde."
February 27, 2005
(link)
Adventures with Karma
So I got my Karma replaced. They were actually stunningly efficient; I
called, got an RMA number, sent it to them and had a new one, all in
under a week.
Now, naturally, I want to put some songs on it. Previously I'd used
the Java app it comes with to do this from OS X, and that worked
fine, except that it's slow. On an 11mbps wireless link, it
takes about a minute per ~5MB song. It should take at most
6 or 7 seconds; 802.11b (with good signal strength) is faster than
1MB per second (which is still faster than USB 1.1, which is my
other alternative).
The funny thing is, I used the Java app on a friend's Windows machine
at Christmas, and it was nice and snappy, so I guess Mac OS X's Java
VM has super crappy networking or something. So I figure hey, this is
Java, right? I'll just run it in Linux; maybe the VM there has better
networking. You can actually get a Java VM for Linux/PPC from IBM..
except that when you try to run the Karma transfer program it dumps
core. Great. Write once, run anywhere my ass.
So then I see libkarma. Looks
promising.. except that it's horribly written, segfaults all over
the place and does fun stuff like returning pointers to buffers on
the stack. So then I just cut my losses and write a simple app using
WvStreams to copy
files to the Karma, and guess what? It doesn't take a minute per song!
I don't know why people haven't done more with the Karma. It's
got networking for crying out loud! And the protocol is
documented! You can definitely do some cool stuff with that, so it's
surprising nobody has, especially since people have written gnome-vfs
backends and KIOSlaves for the Rio 500. Anyway, my plan is to write
a fuse filesystem for it so I can just mount the sucker.
Moral of the story: don't buy a Karma unless you really like
tinkering.
Work
Was super busy for a while, but a bit less so now. It looks like I'm going
to have to write a bunch of Java code soon-ish, which will be, uh,
interesting, since I've not written any Java code in years.
What follows is a fairly technical and boring (for most) description of
Java's new generics system, so I'll put it behind a SanityBarrier.
In an effort to re-familiarise myself with Java today, I've been looking
at the new generics implementation in Java 5 (apparently that's the
correct thing to call it; will Sun ever stop having rediculously stupid
version numbers?)
It turns out that to support backwards compatibility, they've used
erasure to implement generics in Java. So you can do this:
public String joinStrings(Vector<String> listOfStrings, String delim);
And then if you pass it just a Vector, or a
Vector<Integer>, you'll get an error (which is what
you want).
But then you can also do this:
public String joinStrings(Vector listOfStrings, String delim);
And pass in Vector<Integer> if you like. I can see
that if you want old class files and old code to work on the new VM
and with the new compiler, you need this kind of thing, but it makes
generics considerably less useful.
Another nice tidbit is that you can never do new T();
inside a generic class, because the type information is gone, so
the compiler doesn't know if the type replacing T provides a
no-parameter constructor. So what you see is that
in the actual JDK, the code written by engineers at Sun, they're
doing nasty things like T[] foo = (T[])new Object[size];
The other way around this is to pass in a Class object of the
appropriate type:
public class Generic<T>
{
Class<T> tClass;
public Generic(Class<T> tClass)
{
this.tClass = tClass;
}
public void Foo()
{
T myT = tClass.newInstance();
// ... do stuff with myT
}
}
Yeesh. It seems like there are a lot of these kinds of things in Java;
things you want that are there, but only in a half-baked, semi-useful
way.
Notice that I dissed Java without even touching on the GC or VM.
Those are old, old debates and everybody has opinions on them, so
whatever.. apparently that stuff is better these days, but I have
no idea.
February 28, 2005
(link)
Quest
So today, after about 2 weeks of downtime, the new Quest system at
Waterloo came online. They
even spammed us all to tell us, so I took a look.
It is, without question, the worst web software I have ever used,
and possibly the worst supposedly "release-quality" software I've
ever seen. To demonstrate the suck, I present you with a screenshot:
![[image]](/~caffeine/200502/img_0000_small.png)
The transcript request queue
Why the block is there a freakin' queue for transcript requests?
There never used to be. And, what's worse is that I have to manually
sit there and click refresh. Any monkey with half a brain could write some
JavaScript to refresh the page, say every 30 seconds. Or use
<meta http-equiv=refresh> or something, and any RDBMS
written in the last 30 years shouldn't need to queue requests for as long
as thing does. Jeebus.
Worst. Software. Ever. I mean I thought Waterloo was pioneering new levels
of suck with JobMine,
but they've really outdone themselves this time.
email: caffeine@colijn.ca
|