and they said it couldn't be done.
I don't normally get excited by RSS or syndication but I thought this article was just fantastic: Turning OmniGraffle into an RSS Reader
enjoying salad since 1978.
I don't normally get excited by RSS or syndication but I thought this article was just fantastic: Turning OmniGraffle into an RSS Reader
This week's ABCnews.com money section has a list of the week ranking the 5 worst dot bombs. I'm proud to say I worked for one of them. And it's probably not the one you're thinking of.
Yesterday, Sigma was accused of stealing GPL'd code for it's product, and today they're opening up the source for the alleged product. This is very interesting, it's the first time I can remember where somebody put thier code under the GPL after violating it. Now, the only thing that disappoints me is that I would like to see how the GPL fares in court, I think the legal scrutiny would provide for some fascinating, as yet undiscovered, insights into copyright.
Well, I suppose I can talk about what we've been working on for the past while that's been keeping me so busy. We teamed up with Brazilian media megacompany Globo to give Brazil their very own Blogger: blogger.com.br.
I completely forgot that Aaron Cometbus was putting out his Cometbus Omnibus this year until I ran into it yesterday at a local bookstore.
In reading "10 Reasons we need Java 3.0" <via LtU>, it seems pretty obvious that we'll never have these in Java. not ever. Besides, if you want these features then just move to Smalltalk. You'll get that and a lot more. and a little less.
We saw Road to Perdition last night. I think it's definitely worth seeing in the theater. It has the sort of atmosphere that may be hard to produce in a familiar place like your living room.
A recent message on LL1 about Perl providing "sensible" default values like returning undef (which acts like an emtpy string or the number 0 in the appropriate context) when requesting the value for a hash key that doesn't exist reminds me of a passage from Lisp in Small Pieces:
Even if it were practical for implementers [of a language -smj] never to provoke an error and thus provide an idyllic world from which error had been banished, that design would still have a major drawback because the goal of a program is not so much to avoid committing errors but rather to fulfil its duty. In that sense, an error is a kind of crude guard rail: when we encounter it, it shows us that the program is not going as we intended. Errors and erroneous contexts need to be pointed out as early as possible so that their source can be corrected as soon as possible.
This is apropos to my rant the other day about not writing in my blog:
"I don't want to write about climbing; I don't want talk about it; I don't want to photograph it; I don't want to think about it; all I want to do is do it." -Chuck Pratt <via reginald brainwaite-lee>
Well, I'm about to purchase my first commercial Common Lisp environment. MCL's price has dropped to 95$, pending a new release that is Carbonized so I've decided to help my fellow independant software developer and buy MCL even though I can't run it native. Part of my motivation is selfish, I'm hoping when the next version comes out, which will be Carbonized, I'll get a decent upgrade price. Who am I kidding, all of my motivation here is selfish, this looks like fun!
So given a theoretical language, if it's first-order constructs were closures that could send and receive messages and then shuffle received messages to other closures, how is that different from an object, really?
Even though I'm in mid-vacation and still have one last stop to make, I think now is as good a time as any to recoup.