Archive for June, 2004

JK Rowling has announced the title of the 6th Harry Potter book. Her website is rather spiffy, and she revealed the title behind a door with a wall behind it. (If you want to check it out for yourself, click on the scrunchy hairband sort of thing at the front of her site.) For the solution on how to get behind the wall look here: Wizard News: J.K. Rowling announces title of Book 6

In her news section, Rowling said that Half Blood Prince was nearly the title of Chamber of Secrets. She would not reveal who the HBP was, other than to say it is not Harry or Voldemort. I put my money on Colin Creevey.

Comments No Comments »

Hibernate does a good job of managing relationships for you. If your data forms a nice object graph, not only do you not have to write SQL, you don’t even need to write Hibernate’s query language! Just traverse your graph and Hibernate will load objects as needed.

I’ve stumbled across a relationship that Hibernate doesn’t handle particularly well. Hibernate does a good job of staying true to the semantics of the Java collections framework. The exception to this is their “bag”, which is an unordered collection of items that can contain the same item multiple times. They use a List to represent this, but make it clear in the docs that the order is not maintained.

What I need is a little different from anything in java.util… It needs to be ordered like a List and provide for random access and update of elements like a List. But, any given item should only appear in there once. I tried mapping this with a List (ignoring the only appearing once in the list requirement for the moment) and it almost worked. Updating the list proved to be problematic though (details in this Hibernate Forum thread). My situation is complicated a little bit by the fact that this is a bidirectional many-to-many relationship that has this interesting collection on one side and a Set on the other.

Remarkably, I’m not the only one with this problem. I think that certain piece of data lend themselves to this structure. It would be nice to get a generic solution together for this (after meeting my specific application need, of course :)

Comments 8 Comments »

redemption in a blog: Sending to yourname label@gmail.com labels your email talks about using different gmail addresses to automatically sort your mail into labeled groups. gmail apparently allows you to use yourusername+ANYTHING as an address. This is also a good anti-spam technique. Use a different address for every site that you register at. If someone sells your address, you’ll know who it was and you’ll be able to just shut down mail that originated there. Very nice!

It’s a tough call as to whether I’d want to shift from a desktop (or laptop, in my case) email client to gmail. gmail is very nice. The integrated search of Mac OS 10.4 makes me think that Mail.app will be even spiffier to use.

Comments 5 Comments »

J.A.D.E. Java Addition to Default Environment is a library of several packages that go beyond the J2SE core functionality. There are a number of classes for scientific/mathematic use, but there are also other goodies like a superfast XML parser and a collection of classes that avoid garbage collection. (Of course, if you’ve been following the articles about Java GC, you’d know that the current garbage collectors don’t tend to be quite so icky when you create lots of objects.)

Comments No Comments »

Mac Rumors has a roundup from the Apple WWDC. Mac OS X Tiger (10.4) due out in the first half of 2005 looks very nice. Lots of new searching features, Safari upgrade and more. I do hope they add Type Ahead Find to Safari.

Comments No Comments »

I’ve never seen this site before: Box Office Mojo has all of the monetary stats you could want, organized in a very easy to access way. For people interested in this kind of data, it looks great.

Speaking of great, Fahrenheit 9/11 had a great opening on Friday. In one day it became the 4th highest grossing documentary with more than $8M banked. If that kind of score holds up, it could end the weekend as the highest grossing documentary ever, beating out Michael Moore’s own Bowling for Columbine.

Comments No Comments »

How about this news: CIA Reportedly Halts Use of Harsh Interrogation Ploys

The CIA (news - web sites) has stopped using interrogation techniques such as “stress positions,” sleep deprivation and denial of pain medication while the Bush administration reviews their legality, The Washington Post said Sunday.

Doesn’t that seem a bit odd? Let’s do something we’re not quite sure is legal, and then when people find out we’ll stop and check to see if it’s actually legal. And, I thought that’s what that whole long paper that leaked a few weeks back was about: administration lawyers believe that such things are legal.

Comments No Comments »

Congrats to the Eclipse team for shipping 3.0, a most excellent upgrade over 2.1. I’ve been slavishly following the 3.0 milestone releases. Each milestone had a good number of new features. Sure, there were bugs, but there was only one release (M6) which caused me too much trouble to continue using.

Comments No Comments »

The OSAF has released PyLucene, which takes the fine Lucene search engine and compiles it to native code using GCJ, and then wrapping it for Python use using SWIG. There is a Python port of Lucene called Lupy, but it’s slower than the Java version and, since it’s a port, lags behind Lucene in development.

There’s been a lot of interesting work lately in bridging Python and Java (CPython, that is, not Jython, which is already quite attached to Java). The PyLucene approach is an interesting one, and could probably be applied to many fine Java libraries.

Comments No Comments »

Sun has introduced a new open source project called JDNC which, unfortunately, stands for JDesktop Network Components. (It’s the “Network” part that seems a little out of place…)

I probably would not have started working on my own framework a few months back had this existed. JDNC takes a markedly different approach to the one I took, but there are very similar goals.

Sadly, the project was apparently initially motivated to make the JDNC markup language, which is yet another XML UI definition language. Ick. The ability to define your GUI in XML, in my opinion, is not a gigantic win. The ability to define your GUI declaratively is a big win, and that’s the approach I’ve been taking.

Thankfully, though, JDNC looks like it has some really nice ideas and components. I’m going to have to see where the touchpoints are between JDNC and our framework, because I think that I can reasonably use JDNC components and probably even offer improvements back.

Comments 1 Comment »