So... I didn't think I'd be posting about AOL anymore (buh-bye). But today was my last official act (I think): laying off more than a few people as the Company restructures around the Web (and advertising). It was a fairly crappy way to spend a day, but I was asked to help; and I guess I'd rather folks that work(ed) for me hear it from me as opposed to some person they don't know - even if I am done there.
Its a tough thing, but it is a [media] business... and costs have to trail revenues :/ - though knowing that doesn't make the human component any more palatable, and I do feel AOL tried to make it as right as possible, all things considered.
I was also sent this today (I don't know who the original source was - I got it from someone no longer at AOL) ... It's in clearly poor taste (but still funny) - some employee's reaction (that last one had me in stitches) - in the category of gallows humour, I suppose.
December 13, 2006
December 12, 2006
Java 6 and Scripting
Sun released Java 6 yesterday. Of particular interest (to me at least) is the explicit direct support for scripting languages as a "core" part of Java (more or less - of the Java 6 edition "package" at least...).
Though I intuitively understand it (and believe it), I've still yet to see a reasoned justification as to why we need scripting languages? Is the compiler that much a barrier to productivity?
Otherwise - some nice additions to Java 6 (especially the XML APIs, which, like E4X, are critical for easing web services development - nice), but despite them, I think Java 6 moves it further away from a credible client-side computing platform - too much increasing complexity, which creates distribution issues. I think Microsoft's mini-CLR is a better step in that direction. Open source and mobile/phone development may change that for Java, but I think a variety of factors will continue to impede relevance in that space.
Though I intuitively understand it (and believe it), I've still yet to see a reasoned justification as to why we need scripting languages? Is the compiler that much a barrier to productivity?
Otherwise - some nice additions to Java 6 (especially the XML APIs, which, like E4X, are critical for easing web services development - nice), but despite them, I think Java 6 moves it further away from a credible client-side computing platform - too much increasing complexity, which creates distribution issues. I think Microsoft's mini-CLR is a better step in that direction. Open source and mobile/phone development may change that for Java, but I think a variety of factors will continue to impede relevance in that space.
December 11, 2006
So long, and thanks for all the fish...
Went to my good-bye party at AOL on Friday. It was fun :)
(Armughan has a picture).
Everyone keeps asking me what I'm up to next. I have some definite plans... but none concrete at this time, and I hope to keep it that way for a little while yet. At a minimum, not even close to ready to discuss it yet :)
Meantime, you can find me here.
Closing thoughts:
1) They say all truths go through 3 phases - first ridicule, then violent opposition, and then self evidence. AOL's getting through its truths, and that's a healthy thing. Good luck and good wishes. I think the company has the assets to be successful. I hope that it will.
2) Always good to remember: At software companies, the intellectual capital is in the people, not the code, and not the products. At software companies.
(Armughan has a picture).
Everyone keeps asking me what I'm up to next. I have some definite plans... but none concrete at this time, and I hope to keep it that way for a little while yet. At a minimum, not even close to ready to discuss it yet :)
Meantime, you can find me here.
Closing thoughts:
1) They say all truths go through 3 phases - first ridicule, then violent opposition, and then self evidence. AOL's getting through its truths, and that's a healthy thing. Good luck and good wishes. I think the company has the assets to be successful. I hope that it will.
2) Always good to remember: At software companies, the intellectual capital is in the people, not the code, and not the products. At software companies.
December 6, 2006
I must be getting older...
I'm more interested in the Wii than in the PS3 (neither of which I'm likely to get anytime soon...). It just looks like more fun (for everyone :))
(Note: The Wii clip below is a spoof - but be warned, its a little sexist/sexual)
(Note: The Wii clip below is a spoof - but be warned, its a little sexist/sexual)
December 4, 2006
WPF/E CTP now available
The application runtime arms race is off.
Adobe's Apollo is due early next year, as is a more functional (read: useful) XULRunner from the Mozilla foundation. But first out of the gates is Microsoft with their cross platform web content runtime framework: you can now try out WPF/E. Read more here.
At least from a "promise" perspective, WPF/E more squarely what Avalon - now WPF in Vista - or even ChromeEffects (for you old-timers) was going to offer, but, significantly, this is cross-platform from the get-go. The "E" is for "Everywhere". And just to prove it, the CTP is available for Windows and Mac OS X (well, Safari on OS X anyway).
I'll post some thoughts later this week after playing with it. As I've mentioned before, the evolution is towards general purpose computing technologies to make rich application distribution instantly ubiquitous. There are some significant and interesting technology choices that imply certain classes of applications and uses... more on this in the future. Confusingly, WPF will ALSO run in your browser and enable web applications but only on Windows, and its, uh, somehow different than WPF/E, and, uh, richer (?) somehow... though neither is a subset of the other... yeeeeahhh.... quick over there! Linux is eating your IP!!!! .....
Adobe's Apollo is due early next year, as is a more functional (read: useful) XULRunner from the Mozilla foundation. But first out of the gates is Microsoft with their cross platform web content runtime framework: you can now try out WPF/E. Read more here.
At least from a "promise" perspective, WPF/E more squarely what Avalon - now WPF in Vista - or even ChromeEffects (for you old-timers) was going to offer, but, significantly, this is cross-platform from the get-go. The "E" is for "Everywhere". And just to prove it, the CTP is available for Windows and Mac OS X (well, Safari on OS X anyway).
I'll post some thoughts later this week after playing with it. As I've mentioned before, the evolution is towards general purpose computing technologies to make rich application distribution instantly ubiquitous. There are some significant and interesting technology choices that imply certain classes of applications and uses... more on this in the future. Confusingly, WPF will ALSO run in your browser and enable web applications but only on Windows, and its, uh, somehow different than WPF/E, and, uh, richer (?) somehow... though neither is a subset of the other... yeeeeahhh.... quick over there! Linux is eating your IP!!!! .....
Of course, still an open question is what "rich" really means and if people really care at all ... :)
My (biased) guess is that it does, but our current generation of applications and infrastructure (not to mention imagination) just isn't there yet. After the fact, I think we'll go "of course!" (iPod anyone?)
(and oh, btw, this was the idea with Boxely and the OCP, too, but... cie la vie :))
Unicode is a pain in the @$$
I was playing around with some code-y things, and wanted to find a simple, cross platform way to deal with Unicode strings. Good luck!
The closest thing I could find for C/C++ was the ICU library from IBM. While its VERY complete and functionlly rich - oh my god is it huge and complicated!
In the past, I've had to write my own (simple) functions to deal with really exactly the cases I needed, but, this being 2006, I thought I could find some nice publicly available routines to deal with this.
Not so much.
There's definitely code out there, but either by license or implementation, its bound up in ways that make it not so useful... so...
...I think I'm going to have to roll my own on this (again), which I'll then release source code for publicly - something simple, but hopefully more useful than what I've seen. Anybody have/use anything they like better that's already out there, let me know please... save me the hassle :)
As far as I can tell, here's what it takes to decode a single UTF-8 character:
(code snippet)
Ouy!! ...and its not even "fully" right for the invalid/stict case - there are invalid bit distributions within the byte group ranges.
And UTF-16 isn't much better... it's a little less code, but FAR more complicated in logic. Originally, it was intended to be 1 code point per unit (an unsigned short), but that become untenable over (a short amount of) time, and so they introduced support for multibyte surrogates, just like UTF-8. But because it had not orginally been designed for UTF-16, it used some odd ranges to support them (one of many reasons I don't like it). So THAT code, to decode a code point from a UTF-16 stream, looks like this:
(code snippet)
And all this just to decode ONE codepoint... of course, if you've ever actually looked at the algorithmic complexity of converting a floating point number to a string (even most veteran code monkeys haven't)... well, you start to appreciate the value of a good code library.
Anyway, I want length, count, cat, copy, compare (case sensitive and not), at least, and probably one or two other classes of functions (conversions betwixt UTF types certainly, but that's reasonably there already, if a little "stricter" than necessary). Locale code pages I can do without .... I'm looking for "pure" Unicode functionality in a lightweight package.
Pointers welcome.
The closest thing I could find for C/C++ was the ICU library from IBM. While its VERY complete and functionlly rich - oh my god is it huge and complicated!
In the past, I've had to write my own (simple) functions to deal with really exactly the cases I needed, but, this being 2006, I thought I could find some nice publicly available routines to deal with this.
Not so much.
There's definitely code out there, but either by license or implementation, its bound up in ways that make it not so useful... so...
...I think I'm going to have to roll my own on this (again), which I'll then release source code for publicly - something simple, but hopefully more useful than what I've seen. Anybody have/use anything they like better that's already out there, let me know please... save me the hassle :)
As far as I can tell, here's what it takes to decode a single UTF-8 character:
(code snippet)
Ouy!! ...and its not even "fully" right for the invalid/stict case - there are invalid bit distributions within the byte group ranges.
And UTF-16 isn't much better... it's a little less code, but FAR more complicated in logic. Originally, it was intended to be 1 code point per unit (an unsigned short), but that become untenable over (a short amount of) time, and so they introduced support for multibyte surrogates, just like UTF-8. But because it had not orginally been designed for UTF-16, it used some odd ranges to support them (one of many reasons I don't like it). So THAT code, to decode a code point from a UTF-16 stream, looks like this:
(code snippet)
And all this just to decode ONE codepoint... of course, if you've ever actually looked at the algorithmic complexity of converting a floating point number to a string (even most veteran code monkeys haven't)... well, you start to appreciate the value of a good code library.
Anyway, I want length, count, cat, copy, compare (case sensitive and not), at least, and probably one or two other classes of functions (conversions betwixt UTF types certainly, but that's reasonably there already, if a little "stricter" than necessary). Locale code pages I can do without .... I'm looking for "pure" Unicode functionality in a lightweight package.
Pointers welcome.
Subscribe to:
Posts (Atom)