Miscellaneous
I haven’t had much time to write lately, but thought I’d point out a few things that caught my eye recently. First up, a little something from Eric S Raymond. Apart from being a particularly poorly worded letter (hint: try being nice to people when you want them to give you millions of dollars worth of source code), it’s full of some really odd comments.
Open source is hardly a zero-revenue model; ask Red Hat, which had a share price over triple Sun’s when I just checked. Last I checked the pricing of shares on the stock market was only an indicator of the value of the company when taken with the number of shares available in the country. Thus, whether or not Sun’s share price is above or below Red Hat’s is largely irrelevant. Nor is Red Hat a good comparison when talking about Java. Red Hat makes money from selling it’s support services, there’s already a massive wealth of professional Java support services and training available that aren’t provided by Sun, whereas Red Hat is the only support provider would consider for a Red Hat server. This is particularly so because you rarely need to fix a crisis in Java itself, but rather in your Java code – Sun has no better knowledge of your code than any other Java expert.
Laptops
So I need a new laptop. My current, battle-worn, tried and true PowerBook G4 400Mhz has developed a large crack down own side and while it’s still running fine, it can only be a matter of time before that crack gets bigger and eventually the LCD falls off, possibly taking half the ports on the back of the computer with it. So I’m starting to look at laptop options – almost certainly a new Mac unless there’s some insanely great deal on a PC laptop, but the prices for PCs look to be as much as or more expensive than the macs anyway. As such the question really becomes, do I want an iBook or a PowerBook and how cool a laptop can I afford? Since spending more than $3000 is going to be difficult, the iBooks are ahead from the start, but what’s got me baffled is that they are so feature comparable to the PowerBooks. The iBook I’m looking at: � 384MB DDR266 SDRAM (128MB built-in & 256MB SO-DIMM) � 933Mhz G4 � 40GB Ultra ATA drive � DVD-ROM/CD-RW combo � AirPort Extreme Card � Keyboard/Mac OS � 14″ Screen A$�2,586.00 The PowerBook: � 512MB DDR266 SDRAM – (256MB built-in + 256MB SO-DIMM) � 1GHz PowerPC G4 � 40GB Ultra ATA drive @ 4200rpm � Combo Drive (DVD-ROM/CD-RW) � AirPort Extreme Card � Keyboard & Mac OS (default) � 12.1-inch TFT XGA Display A$�3,374.00 So the PowerBook winds up with some more RAM (both machines have been customized from their defaults a little), 77Mhz extra CPU power and a 2″ smaller display that uses the same resolution (1024×768). It costs $800 extra. By the time you go up to the 15″ ‘ok that I really want you’re looking at $4000. Sigh. Powerbo’ also do dual head, but I’ve hardly ever used th’ay, and considering I don’t actually o’rking monitor anymore, it’s probably not going to be all that much use in the future. So I guess the ’s the best deal for me, I’ll wander down to the Apple Store tomorrow and have a play with both to make sure the different amo’ cache and bus speeds don’t make too big a difference, but c’rom a 400Mhz machine that’s still fast enough for nearly all of my needs, I imagine everything will be fine speedwise. Anyone got comments on any hidden benefits of iBooks v Powerbooks?
MS Patent
There’s been a lot of discussion about Microsoft’s shiny new patent on putting multiple scripts into one XML file – all of it saying how ridiculous the patent is. This however, gets my vote as best retort. My view: it’s crap, but most patents are. Time to make people go back to having competition I say.
Pop Quiz
Gregor J. Rothfuss asks:
what will be deployed 100% first, IPv6, the metric system or Unicode? My answer: the metric system, it’s got a massive head start. They all require America to pull it’s head out of the sand and play nice with the rest of the world though so probably none of them will ever happen. Sigh. On the subject of Unicode – what is with defining a universal character encoding that has so many different forms??? UTF-8, UTF-16, UTF-16BE, UTF-16LE, UTF-BE unmarked, UTF16-LE unmarked, collapsed accents, expanded accents. Gah!
Safari
Dave Hyatt finally got around to posting to his weblog about the release of Safari 1.2. Some really good stuff has gone into it and congratulations are in order for all involved. Sadly, my most anticipated feature, LiveConnect, appears to be broken. I’ve seen it work when going from JavaScript to Java, but never managed to get JSObject working to communicate from Java to JavaScript. Dave’s blog is actually the first place that I’ve ever seen that actually mentions going both ways, or at least that what I assume he means by:
Plywood
At last, a simple to use playwright tool! Not at all documented admittedly and looking very incomplete but it seems to work okay. Plywood is a python script that works with latex to format a simple text file and turn it into a PDF laid out according to the Samuel French style. It’s horribly incomplete but it’s a great idea and it seems to work. It also includes emacs bindings to make it even easier, but I’m using SubEthaEdit for now and I already know vi so learning emacs seems like to much work now. An example script would be something like: title: Example Script author: Adrian Sutton characters: Adrian Sutton (AJ) – A very excited new user of plywood. newact: setting: AJ’s office. AJ – [jumping up from his computer] Woooooooo! I found a playwright tool that’s not ridiculously complex. (AJ jumps up and down in excitement then runs off to find a beer to celebrate.) The actual package contains an example that’s even worse than that….
Static Imports are Evil
Michael Santos explores a few features of Java 1.5. As part of it he uses the new static import feature and asks what people think of it. I think it’s the most evil invention in coding I’ve seen since while (++i < 5) type statements. If you saw the line of code: long time = nanoTime(); where is the nanoTime() function? In 1.4 and below it is obviously in the current class – in 1.5 it could be anywhere and the only way to find out is to scroll all the way back up to the top of the file and read through every import statement. Then consider something like: err.println("Hello world."); Where’s the print statement? Everyone knows about System.err.println so that must be it, unless err was a debug statement declared at the top of the file… Is it really that difficult to type System.nanoTime() instead of just nanoTime()? Programmers seriously need to learn some more discipline instead of always taking the easy way out and forgetting about the guy who has to read the code after them. In about 3 years time when I actually get to use Java 1.5’s features (backwards compatibility being as important as it is), the first thing that will be added to my coding guidelines will be no static imports – right next to no ++i or i++ embedded in other statements.
Garageband
Fear stuck deep into my heart, a chill ran down my spine… I reread more carefully what I feared I had seen: “I’m going to be a pop star!” My heart pounding – not another wanna be pop star! Please don’t let it be true! My morbid curiosity aroused, I had to investigate – surely there was a painless explanation….
After a few minutes playing with GarageBand Arggg! Could this be any worse? What abomination am I about to subject my ears to? Do I dare click that link? I had to, I had to know just how bad it was. Hands shaking in fear of what I might hear, I clicked…. ba ba, da da da doo doo da My foot tapped, my head grooved. What just happened here? That was actually pretty good…. Is it possible that someone who so brazenly refers to themselves as a pop star could actually come up with a cool lick? What kind of wonder is this so called GarageBand? And how soon can I get a copy? So Matthew when do we get to hear your first complete works?
Examples
Well I’ve got latex installed – not at all easily I might add, but it’s up and running now. So I learn a tiny bit about the basics of Latex and start trying to focus my learning on the area I’m most interested in – writing play scripts. So I head off to CTAN (thanks to David Starkoff for pointing that one out) and find the “dramatist” package which appears to do everything I want. Download, install and everything looks good. Then I try to read the documentation…. Sigh. Apart from the use of narrative style which just makes everything exceptionally wordy, it doesn’t include a single example. No, here’s a pathetically simple script just so you can get your head around how to use this package, not even a ridiculously complex script to show off what the package can really do. Nothing, nada, zip. So now I have to learn the intricate details of Latex before I can do anything at all useful instead of just learning as I go along. So if anyone happens to have an example of a play script in latex (using any package) I’d love to get my hands on it…
Latex
Interesting article over at O’Reilly about the available Latex editors for OS X. It’s tempted me enough to have a play around. Well actually, the O’Reilly article gave me the knowledge to get started, this article gave me the reasons to do it. Since I’m getting into playwrighting I need to set up an efficient way of getting ideas down and being able to typeset them properly. I’ve currently got a Word template set up but Word X doesn’t seem to handle templates like it should and the layout is something of my own concoction rather than a standard layout. Hopefully I’ll be able to find a latex system to use and just go with that. Besides, you’re just not a true geek until you know latex….
MarchFest
Preparations for this year’s MarchFest are moving into full swing. MarchFest is a festival of music, art and and entertainment held every year at Kangaroo Point Uniting Church. We usually get a pretty sensational turnout of local Brisbane talent from a wide range of musical tastes, ranging from choirs and pipe organists during the afternoon in the church, to jazz, blues and rock and roll on the main stage and rocking on into night with punk, rock and alternative. So mark those calendars early, it’s always a good day. In the meantime, I’d better get to finishing the website for this year…