Friday, September 29, 2006 |
|
|
Borland is abandoning its two-year-old strategy of delivering a "software development platform" to further the goal of "software delivery optimization." As I feared from the start, Borland's over-stuffed product portfolio and large ambitions clashed with their limited resources. To summarize: Borland was once the most loved brand in the programming world. They squandered that in order to become second-tier players in various other niches: first they were a second-tier Oracle, then they were a second-tier Weblogic, and most recently they attempted to become a second-tier Rational. As part of that strategy, they decided that what would be brilliant would be to jettison the pesky remnants of the only things they ever did well, which were IDEs and compilers. I can't wait to hear what they're going to do next. My guess is some sort of second-tier MySpace for Software Development. |
|
|
|
|
|
Microsoft has granted two additional "grand prizes" to other "Made in Express" finalists. As you may recall, I declared "shenanigans" at the original winner, which was a team project that had been in development for years. An uproar slowly developed and after some reluctance (including a letter from MS Legal, which naturally communicated "We admit no error. If you sue us, we will crush you.") Microsoft has shelled out another couple $10K prizes, which is certainly the best outcome. There but for the grace of God go I. Contests that evaluate software with unpaid judges always involve some amount of shenanigans. There is an incredible disparity between the amount of time given to judging a product that took hundreds...thousands...tens of thousands of hours to develop. With the Jolt Awards, we once gave a Jolt to a Visual Studio release that was still in beta on December 31 and gave a "Hall of Fame" award to a product that had never won previously. A declaration of shenanigans would have been just. A long-standing joke we used to make getting off the stage was "No one stood up and cried 'how dare you?' Another success!" So I'm certainly a stone-throwing glass-house-owner. At the Jolts, Rosalyn Lum's work over the past several years has vastly improved the process and kept shenanigans to a minimum. I still hate certain aspects of the process (particularly, that companies have to pay an entrance fee to be considered) and every year there are finalists and winners that make me want to tear my hair out, but I think, on balance, the benefits of contests that strive to objectively evaluate software development efforts and publicly acknowledge and reward excellent programmers outweighthe shenanigans. Put away your brooms. |
Friday, September 29, 2006 10:22:04 AM (Hawaiian Standard Time, UTC-10:00) | Disqus link | Knowing
|
|
|
|
Thursday, September 28, 2006 |
|
|
 The image above is linked to the 2680 x 982 original. If you've got dual-monitors and can stretch it out, it's an amazing vista of, you know, the surface of another planet. |
Thursday, September 28, 2006 3:20:56 PM (Hawaiian Standard Time, UTC-10:00) | Disqus link | Offtopic
|
|
|
|
|
This article on Code Project (found via Steve Pietrek) might be an excellent stepping-stone for someone trying to learn language-design and compiler technologies. While code-generation and templates are good first steps and are easy to do easy things, but you should be aware that as the semantics of what you're trying to accomplish increases, the difficulty typically inverts. That is, at some point the verboseness but flexibility of generating assembly-language or IL becomes less painful than subverting the semantics of C# or VB.NET (or whatever other language you use). This actually touches on a broader point: one thing we've seen with the shift towards agile processes is an emphasis on refactoring. This requires a faith in the prospect that a program can be incrementally changed from one form to another. In practice, this is generally true, but there are certainly cases, and DSLs might be a good example, where there may be a discontinuity of architecture significant enough to foreclose evolution and force you back to viewing your initial work as "build one to throw away." That still doesn't mean that one ought to regret the initial work. "The simplest thing that could possibly work," is still a solid principle for approaching a project. But the devil is in the word "possibly." |
|
|
|
|
Tuesday, September 26, 2006 |
|
|
A researcher has been plugging away at the NSA with the Freedom of Information Act. He's recently received an index to NSA publications (the publications are not yet available). Among the articles that have appeared in NSA Technical Journal: "Extraterrestrial Intelligence" and "Key to the Extraterrestrial Messages." I'm going to guess that the articles aren't all that interesting, but you gotta' admit, those are catchy titles. |
Tuesday, September 26, 2006 4:28:04 PM (Hawaiian Standard Time, UTC-10:00) | Disqus link | Offtopic
|
|
|
|
Monday, September 25, 2006 |
|
|
Given the cheesy Photoshoppery of the image, I suspect this is fake, but supposedly, this is a pullover that you slip into for a videoconference. Given my recent 4 AM local-time teleconferences, I might be able to use this. |
Monday, September 25, 2006 8:31:12 AM (Hawaiian Standard Time, UTC-10:00) | Disqus link | Offtopic
|
|
|
|
|
Alan Zeichick, the man who put the "Z" in BZ Media, has started to blog. Alan's been in the "writing about computers" business since Radio Shak Model 100 days and we've worked together since 1989. I have no idea where he'll find the time to blog, but on the other hand, he's one of the most prolific writers I know, so I'm sure he'll figure it out. Knowing Alan, he'll probably use the blog to justify the purchase of some kind of insane active-sound noise-cancelling system for his Mustang, so that he can use voice dictation into a Linux cluster tucked under the rear seat (no, wait... a Linux cluster would add weight ... maybe an EVDO connection to a Linux cluster running in a rack in his hall closet...) |
Monday, September 25, 2006 7:57:28 AM (Hawaiian Standard Time, UTC-10:00) | Disqus link | Offtopic
|
|
|
|
|
James Robertson is producing a series of screencasts providing a Smalltalk overview. I highly recommend taking a look if you are not familiar with Smalltalk. You've undoubtedly heard of Smalltalk and perhaps have seem some Smalltalk syntax, but if you've not seen the Smalltalk development environment in use, you might not understand how radically different the experience of Smalltalk programming is from developing in Visual Studio, Eclipse, or other file-centric systems. Even if you've programmed in a dynamic language such as Ruby and appreciated the "live" feel of REPL-style irb, this falls far short of Smalltalk, where your working context can persist from day-to-day and year-to-year. Robertson works for Cincom and I believe is using the non-commercial version of his company's implementation for the screencasts. The Smalltalk environment, which has been evolving for more than 2 decades and has its own GUI conventions, can definitely be overwhelming at first, and the screencasts will help familiarize you with the territory. |
|
|
|
|
|
Here's some interesting reading on the challenges of and possible strategies for dealing with exceptions in concurrent versions of C++. The try...catch...finally model of exception handling introduces its own control flow. How will that interact with concurrent models in which you're passing around a "future" (essentially, an IOU that can be cashed in for the results of a calculation)? Even more practically, as the number of cores increase, the possibility of simultaneous exceptions rises (probably dramatically, since the worked-out assumptions of normal control-flow no longer hold). Among other things, this paper proposes "reduction functions" that create "compound exceptions." Interesting stuff. |
|
|
|
|
Sunday, September 24, 2006 |
|
|
I've been writing a series of articles for DevX on concurrent programming. The final installment was supposed to be "Multicore for multimedia." Plan A was to speed up the MAD (MPEG Audio Decoder) processing library using OpenMP. That went well enough except for the fact that the code was so clean that I couldn't get any very impressive wins without committing myself to really changing the design in some fairly substantial ways (like concentrating the processing phases of a single audio channel to a single core). So Plan B was to write a video filter. Problem with that is that Adobe Premiere Pro already uses multiple threads to perform the callbacks to the video filter, distributing one frame to one core, the next frame to the next. That's pretty much optimal. So when I added threads, my performance actually decreased. So now I've got to figure out a Plan C. Oh, and I recommend MAD and Adobe Premiere Pro: they're well engineered pieces of code. |
|
|
|
|
Thursday, September 21, 2006 |
|
|
Intel's announcement of a laser-based chip is frickin' cool and, at the practical level, may be a big deal (beats me). But one thing that blows my mind every time I think about it is that light can only travel ~11.8 inches in a billionth of a second. And even though things get tricky when you start talking about CPU clocks multipliers, if we take a 4GHz CPU at face value, light can only travel 3 inches per cycle! You could barely get around the perimeter of the chip in that time! So chip designers literally have to take into account time as a physical dimension! That's just awesome! (As clearly evidenced by my excessive use of exclamation points.) |
|
|
|
|
Wednesday, September 20, 2006 |
|
|
One of the things that differentiates me from many of my analyst colleagues is that I don't generally delve into business stuff: I'm a technology guy. So normal boardroom shenanigans and so forth aren't "my beat." So let me see if I have this straight: the chairwoman of HP hired people to ... let's just put the whole "pretexting" thing aside -- she hired people to install keyloggers on other people's systems? And the debate isn't how long she's spending in prison, but kind of whether it was "ok" or not? Am I missing something here? Is this not clearly illegal? |
Wednesday, September 20, 2006 5:35:10 PM (Hawaiian Standard Time, UTC-10:00) | Disqus link | Offtopic
|
|
|
|
|
Patrick Logan refers to Ted Leung observing that quad-core and octo-core MacPros don't show anything like linear speedup. This accords with my own fanaticism about the manycore future. A question I don't know the answer to: Do the CLR & JVM have characteristics that dramatically help or dramatically hinder their suitability for manycore hardware? The CLR & JVM are based on abstract hardware. The virtual machines have some things which immediately jump out as, let's say, "tough" for parallelizability -- both have a model whereby separate threads are responsible for coordinating their own access to shared memory (i.e., fields in objects). On the other hand, they have at least one thing which jumps out as potentially a "very good" thing for parallelizability -- their stacks are conceptually separate from main memory, which may make the threading models easier to evolve (in a world without pointers, data in the stack is inherently local to the current thread.) The "inherently parallelizable" aspect of functional languages arises from their exclusive use of the stack for volatile state, but with the way the stack is generally conceived (as, y'know, a stack) requiring pushing and popping and copying variables from one to another, problems arise when copying large datastructures; thus my thought that maybe the abstraction of the stack could be a "win." |
|
|
|
|
Tuesday, September 19, 2006 |
|
|
I'm not sure that I'd feel comfortable carrying a fan rotating at 20,000 revolutions per second in my cellphone, which I keep in my pocket, which is next to my... The thing produces 10 watts. I don't know if I'm just being paranoid about wondering how it might fail catastrophically (I don't fret about batteries blowing up, even though it's obviously possible). I suppose you wrap the thing in titanium and have "crush zones" like a car. Update: Added link so you know what I'm talking about. |
Tuesday, September 19, 2006 4:11:41 PM (Hawaiian Standard Time, UTC-10:00) | Disqus link | Offtopic
|
|
|
|
|
The Made In Express contest is over, with the winner being an "All Terrain Self-Maneuverable Robot." This is unfair for at least two reasons: - It's a group entry ("Group entries will not be accepted"), and
- It's been under development for years
I downloaded the source to the robot and the very first file I opened had a history file showing it had been finished in March of 2005! This is patently unfair to individuals who wrote their programs, as the contest clearly promotes, in two or three months. To be fair, a re-reading of the rules page doesn't restrict time of development to the big graphic on the frontpage that says "May: [Finalists] start to build their ideas into projects," but the "group entry" thing is clearly forbidden. "Made In Express" was a contest to highlight the use of the freely downloadable "non-professional" versions of Visual Express. I had criticized some of those chosen as finalists, including the robotic entry, because they were clearly overly ambitious for the short development window. I don't want to rehash the particulars, but I hope that if there's a repeat of this contest, the process could be a little more rigorous. |
|
|
|
|
Monday, September 18, 2006 |
|
|
Tina and I dove this area of Irian Jaya years ago. It was beautiful and very wild. We didn't see any fin-walking horn sharks, though. (We did see a species of stonefish that is classified as deadly and the locals were like: "Oh, if you get stung, you chew that leaf over there, spit it into the wound, and you're fine.") Oh, and I had to pin a cassowary that had escaped to the bottom of our boat for 2 hours. They named him "Larry the Cassowary" in honor of the occasion. He was a lot of fun (I mean, after the boat ride was over and he was released on the island and calmed down). He would chase after you and then you could spin around and chase him. It was sort of like having a small T. Rex as a pet.
|
Monday, September 18, 2006 1:54:14 PM (Hawaiian Standard Time, UTC-10:00) | Disqus link | Offtopic
|
|
|
|
|
|
Monday, September 18, 2006 12:53:07 PM (Hawaiian Standard Time, UTC-10:00) | Disqus link | Knowing
|
|
|
|
|
This is fascinating: in a time where the common wisdom is that "big" industry conferences have met their doom, the Game Developer's Conference has just announced that they are doubling the size of their floor space (i.e.: making money from people spending tens of thousands of dollars in setting up booths and glad-handing strangers walking by) and is projecting 12,500 attendees will walk through Moscone Center in San Francisco. I think the Software Development Conference peaked at around 16,000 attendees circa 1999 and is now far smaller. That the GDC, which used to be a wonderfully intimate event, has surpassed CMP's flagship development event is really striking. Jamil Moledina and crew have done a wonderful job of growing the GDC and making it a real exception to CMP's overall clumsiness in transitioning to the Internet era. |
Monday, September 18, 2006 9:38:28 AM (Hawaiian Standard Time, UTC-10:00) | Disqus link | Knowing
|
|
|
|
|
The slow boat from Amazon finally brought my copy of Test Drive Unlimited, a "massive multiuser online racing game" set on the island of Oahu. At first, I was slightly disappointed, since while the layout of the streets is based on reality, the scenery isn't. So it's not like you're bombing down the street at 180 and see the old water department and thereby know that you're coming up to Punchbowl Street (although I did shout to Tina "Don't go around the block! Just take Prince Kuhio the wrong way for three blocks!"). The individuality of the cars doesn't seem quite at the same level as Project Gotham Racing, especially the drift mechanics (in PGR3, you go around one corner and you can tell where the engine weight in the car is). The engine sounds of PGR3 are also more distinctive. So, while I was very happy with the TDU as a different kind of racing game, I wasn't entirely jazzed. And then, after tooling around for a couple hours using either the gamepad or my MadCatz steering wheel, I discovered the somewhat obscure "Options|Controllers|Steering Wheel|Enable" setting. Oh baby... The problem with steering wheels has always been that games optimized for thumb-stick steering aren't responsive to the slight corrections of "real" steering. So although you have a steering wheel (which is nice), you have to throw it side to side. Not with TDU: once you tell it you have a steering wheel, the responsiveness improves tremendously and, instead of feeling like a video game, you feel like you're driving and can do things like stay in your lane, track through corners, weave through traffic... It's incredible. I lost like 3 hours yesterday to it. (For me, spending 3 hours of daylight in front of a TV is inconceivable.) Awesome game. |
|
|
|
|
|
Pete Wright, whose TabletPC Sudoku program was "shot in the head" by Microsoft's surprise release of their own version (join the group, Pete!), has ended his long relationship with MS consulting in order to fully embrace a job working with Ruby on Rails. His post is obviously cathartic, but he echoes the not-uncommon sentiment that within the Ruby community one is more likely to encounter passionate, involved people. This is only true because Ruby is still at the "enthusiasts" place in the adoption curve. Once upon a time, the passionate people were embracing Java and VB: the languages that Pete now associates with drones. If Ruby crosses the chasm, it, too, will eventually become the domain of boring people. |
|
|
|
| | |