Spiral Dive
|
|
Wednesday, April 30, 2003 |
A good Java blog
Hey, somebody thinks I have something to say. Thanks. Now that's one person. Where the hell are the rest of you? :) 10:28:52 PM |
|
|
Tuesday, April 29, 2003 |
iTunes.Looks like Apple has unveiled iTunes. At $0.99 per song, I guess it seems like a decent deal. But...I have to wonder. How much of that money actually goes to artists? The usual 1%? The labels have cut most of their costs out of the equation, but I'd be shocked if this were passed on. Meanwhile, we have Hilary Rosen writing Iraq's new IP law. Talk about having the fox in charge of the henhouse. Every media company is chomping at the bit for laws that will preserve their stake in future entertainment, even as they become less and less necessary. 9:47:57 PM |
|
|
Saturday, April 26, 2003 |
My Environment.Listening to: Morel, AlpineStars, Sasha. Thinking about: Fuzzy Metamodels, Organizing a Legal Case, Timelines. Liking: My flat panel monitor. 12:25:57 PM |
Static vs. Dynamic Typing.Manageability has a few words on this topic. I think it's the wrong pivot. const and brethren are a fine-grained solution to a non-problem. You need a larger unit to work with. The key is mutability. When I first started coding in Java, I was shocked (shocked!) that you couldn't manipulate strings. How could you write a real program, I asked myself. We have all since realized that we very rarely need to manipulate a string in any complex way -- passing them around and concatenating them together constitutes almost all of our usage. I can't even remember the last time I used a StringBuffer. As with Strings, there's a lot of other stuff that benefits from immutable structuring. Have an access control list? Don't add "editing" methods to it. Add methods that return a new ACL, or have an ACLBuilder class. The most important reason to do this is scale. Immutable structures scale like crazy because you can freely share the inner parts of them, without fear. When your app gets up into the gigabytes of real-time data (like ours does) you want that scalability. By engaging in compression and immutability exercise we have had good results. I'll leave it at that. Immutability does another thing for you -- speed. The compiler gets to do all kinds of interesting things when it knows that things are going to be modified. I'm not saying that Java VMs necessarily do this now -- they do some of it. They can do more in the future. Speed is also derived from having fewer allocations, and less work for the garbage collector. You're going to share that immutable instance, whenever you can. Immutability is such a useful thing that it should be built in somehow. Shouldn't the garbage collector be finding and sharing your immutable objects, automatically? That's a more correct systemic solution to the problem. 11:43:12 AM |
Music Companies and P2P.I've been pleased to see that the music biz has finally lost one in court. I've no love for the industry -- I think they exist to screw artists and push commercial crap at us. Most artists end up with nothing when they interact with Sony and the like. I don't think society should expend any effort protecting them -- they perform no useful function. The artists make their money from concerts, not recordings -- so anything that promotes their music is good for them. Under the music industry's arguments, anything that can be used to move their copyrighted material around is infringing. What this means is that every OS manufacturer is infringing when they include and ftp client and server with their OS. The ftp programs are can be used to do both legal and illegal things. What the judge has said is that a searching and classification mechanism, in and of itself, cannot be infringing...a company has to have the ability to screen what is happening. There has to be a central server involved, or some direct control. I think it is a landmark decision, and one that will be heavily tested in court. It's not often that a judge just "gets it" like this, to this extent. What's really going on, under the covers, is an attack on general computation. I have written about this before -- essentially, do we have the right to construct and use general purpose computation devices? I fit this notion into the same category as free speech. In our society we have a highly guarded right to say what we want. We should similarly have the right to unrestricted computation. I know it sounds a little far-fetched...but what if it's illegal to run something like Linux, because it does not contain government-mandated digital rights management software. Believe me, the entertainment industry complex wants to take your right to general computation away from you. They want laws that will cement their role as a gatekeeper in the digital world, where they will take a toll from all future transactions even though they add no value. What's going on at the legal level is ultimately about long-term positioning and the long-term viability of the music industry. Artists and consumers don't benefit from "the industry", but there is still confusion on this point. While that confusion exists they are seeking through legislation to be given a permanent sort of legitimacy. 10:24:02 AM |
|
|
Wednesday, April 23, 2003 |
|
|
Sunday, April 20, 2003 |
That Nasty AOP Patent.I might have to retract what I've said: I am still trying to figure out when defadvice became part of LISP. I should know soon.
11:30:27 AM |
|
|
Saturday, April 19, 2003 |
I gotta agree with Ted on some of his points. I think the larger question is figuring out exactly how useful object-oriented programming really is. I spent some serious time going back over some LISP stuff over the past week, and given the place where my thoughts have been lately (rule systems, fact-based stuff, distributed programming), it's clear to me that LISP has a tremendous amount to offer. Key features include the phenomenal ability of S-expressions to get just about anything from A to B. AOP-like features are part of every implementation (it's part of CLOS), and the LISP systems should, in theory, easily outperform Java. The compilers are supposed to be that good. I don't know if they are yet. In short, I get 90% of the stuff I would have had to build with Java for free. Sweet. It's just tough to know where to start. I am just going to swing right into it and see what happens... 6:37:23 PM |
|
|
Friday, April 11, 2003 |
|
|
Thursday, April 10, 2003 |
|
|
Wednesday, April 09, 2003 |
|
|
Tuesday, April 08, 2003 |
|
|
Monday, April 07, 2003 |
|
|
Saturday, April 05, 2003 |
|
|
Friday, April 04, 2003 |