Friday, September 30, 2005

The Real Code War is Over

Peter Coffee has written a great little article declaring managed code platforms like Java and .NET the winners of the code wars. I'm sure this will raise the hackles of some scripters but in general I agree. The article also makes reference to some interesting technology I hadn't heard of before. A full Eiffel for .NET and an MS research project called Singularity. Neat stuff.

Wednesday, September 28, 2005

Presentation Horror Stories

Reading this tale of a Rails demo saved from near disaster reminded me of some of my own presentation woes. Like most developers, standing up in front of a few hundred people and giving a talk is not my idea of fun. I chose to present at DevCons and LotusSpheres not because I liked it but rather because it was considered a good career move at Iris and I considered it a personal challenge to try and overcome my fear of public speaking. Once I was up there, I generally got a pretty good rush from it but it always was the cause of a lot of butterflies.



Much like Dave Geary's issues in the link above, one of my worst experiences was with a pre-presentation glitch. I was showing some Java stuff at LotusSphere Berlin and the demos required numerous pieces of pre-positioned software in order to finish in the allotted time. My presentation was the first demo in the morning so I stayed up late double checking everything on my laptop. When I was satisfied everything was perfect, I closed the laptop lid and went to bed. I awoke early, showered, dressed and decided to check the demos one last time. Much to my horror, my laptop had failed to hibernate and had run out of power during the night. Instead of a nice relaxing breakfast I spent every last minute before the demo franticly repositioning the demos. I was able to get everything running again but the experience totally sucked.



My second story comes from LotusSphere during an infamous Garnet session. During this session I was co-presenting with a great developer, who I will refer to as Developer-X, who had never presented before. I was the lead presenter but Developer-X had a key demo halfway through the presentation. When it came time to do our first dry run things didn't go so well. Developer-X presented with zero emotion in a complete monotone. He was downright robotic. It's a given that not all developers are born presenters so Iris would regularly hire presentation coaches to come in and work with the developers. Developer-X and I had quite a few sessions with the coach and to Developer-X's credit he improved remarkably. By the last practice there was intonation and actual emotion in his voice. Things were looking good.



So the presentation rolls around and I take the lead. We are on a wide stage in front of a few hundred people, me at one podium, Developer-X at another way over on the other side of the stage. I get through my first section OK and pass the presentation over to Developer-X. Within a few words, I knew we were screwed. Developer-X was speaking in a monotone, a very slow and deliberate monotone, worse even than the first practice session. Given that I wasn't speaking I had a lot of time to just watch the audience. It was apparent very quickly that people were not enjoying the presentation. In fact, a steady flow of people were getting up from there seats and leaving. Developer-X's section only lasted ten minutes but it felt like an hour. In that short time he had scared away half the audience. It was that bad.



A month or so later when the session reviews came in the comments were not kind to Developer-X. I recall one comment in particular that struck me funny. The guy pointed out how painful Developer-X's demo was to listen to but he noted that he felt sorry for the Developer-X because I was glowering over him from the other side of the stage.

Tuesday, September 27, 2005

Ruby and NSF a perfect match?

Ruby is a dynamic language that allows objects to by modified at runtime. NSF is a dynamic database that allows record schemas to be modified at runtime. This seems to me like an unexploited perfect match. If there was an NSF equivalent of ActiveRecord that could map objects to notes, I think we would have a winner. Oh wait, you need to buy Notes to get NSF, forget it.

petelyons.name

On a lark I registered petelyons.name. It's parked on developingstorm so there's no new content, I just wanted to own a piece of my name on the web.

Mammoth Extinction

A new theory says that Mammoths and other large animals living 13,000 years ago may have been killed by a supernova. The theory suggests the supernova exploded about 41,000 years prior sending a shower of various sized iron particles across the galaxy. The article is very vague on how these particles caused the extinction but the scientist have found extensive evidence of these particles in dirt and bone samples from that period.




Firestone and West also uncovered evidence of an even earlier event that blasted parts of the Earth with iron-rich grains. Three mammoth tusks found in Alaska and Siberia, which were carbon-dated to be about 34,000 years old, are pitted with slightly radioactive, iron-rich impact sites caused by high-velocity grains. Because tusks are composed of dentine, which is a very hard material, these craters aren't easily formed. In fact, tests with shotgun pellets traveling 1,000 kilometers per hour produced no penetration in the tusks. Much higher energies are needed: x-ray analysis determined that the impact depths are consistent with grains traveling at speeds approaching 10,000 kilometers per second.



"This speed is the known rate of expansion of young supernova remnants," says Firestone.



Reading the above explanation it sounds like the extinctions were the result of everything being shredded by BBs from space. I don't think that's what they are suggesting but it makes for a scary new doomsday scenario.



Link: Supernova Explosion May Have Caused Mammoth Extinction

XP dockable folders

I've used XP for years, both at home and work, but it wasn't until an accidental drag and drop of the My Documents folder to the edge of the screen this morning that I found out you could dock the damn things like a toolbar. Weird. It seems to work for other folders as well. Who knows, I may find this useful.

Saturday, September 24, 2005

Most Watchable Movies

I'm sittin' here on the couch watching Top Gun for the umpteenth millionth time and dawned on me there a only handful of movies that I can just watch over and over again. Rather than just let the notion die like so many other notions that cross my mind, I decided to blog about it and make a list of the other movies I also find rewatchable. These aren't all my favorite movies, they're just ones I can rewatch. In no particular order and without a lot of thought here's the list:



Top Gun: It's stupid and I hate the theme music, but I love the jets and the story numbs my brain like cold beer.

The Holy Grail: The greatest comedy of all time. Over the years even the unfunny bit have become funny.

Road House: Hot chicks, bar fights and eastern philosophy. The whole thing just doesn't make any sense, but it's still a lot of fun to watch.

In Harms Way: A personal favorite. The Duke kicks ass with ships. OK the ships look like models in a tub but even as kids my sister and I would stay up late to watch this movie.

Dead Man: One of my top three favorite movies of all time. Recursion on film. Nobody is better than Nobody (You have to see the movie to understand that one).

Patton: George C. Scott as poet warrior. I love the contrasts in the man.

Rudy: This is just a great story that always reminds me about the power of hard work.

Wednesday, September 21, 2005

Responding to Ed Brill's Blog

For some reason Ed Brill's blog is refusing my response to a post. Comments on the post in question referenced a previous post of mine. Rather than waste my words I've decided to post them here. Here's what I tried to say.


Everything is Relative



Regarding @18 Bob. (following the referrer links)



For what it's worth, I worked at IBM from the time Iris was absorbed until April 2005. Over that time I've known 4 people who left IBM to go work for MS. I've spoken directly to 3 of those 4 people and in each case they preferred the MS culture to that of IBM. In each case they found it less stifling and more productive (albeit not perfect). The fourth person who I've not yet spoke to about this is @18 Bob. I don't know if Bob's been at MS long enough to have an opinion on the topic but given we had many conversation about the mess in Westford, I'm pretty confident what his opinion will be.



That said, I don't doubt that some MS developers are upset. I'm sure old MS hands miss the good old days. Compared to what they had previously it's probably very hierarchical and bureaucratic, but that doesn't mean it worse than IBM.

Monday, September 19, 2005

Suicide Prevention Walk

I've made a rather late decision to participate in the upcoming Out Of Darkness community walk in Boston. The Out of Darkness walks support the American Foundation for Suicide Prevention.


I'm involved with suicide prevention both through this walk and the See A New Sun organization because I lost my very close friend Bryan to suicide. Bryan had been best friends with my wife since High School and he and his wife became our closest couple friends. For many years we did everything together. Later, when their first child Ben was born we were chosen as his God parents.


I knew Bryan could be moody at times, but in general he was full of life and a bright light to be around. The day Bryan committed suicide, I was with him. We spent the day watching football as we often did. I noticed his mood was darker than normal and he was drinking more than usual but I brushed it off as him just having a bad day. I left their house in the early evening and we made plans to get together later in the week. It was four or five hours later that we received the call that he was dead.


I don't know if I had known more about the signs of suicide whether I could have saved Bryan. I don't know if Bryan had known more about depression and its treatments that he could have saved himself. What I do know is that suicide leaves a wake of devastated people in it's path and that by its very nature it can be prevented. That's enough for me to want to help.


If any of you would like to support me in this effort with a donation to the cause I would greatly appreciate it. The following link will take you to my online donation page.

Pete's Out Of Darkness Walk Donation Page

Saturday, September 17, 2005

More Manager thoughts

Two responses to my recent ManagerManager post (and Ned's link to it) have been circling through my head. One was by an ex Kubi-ite, whom I've never met, who said.


Bah, if it's a manager, call it a manager. If it were something else, you'd call it something else. There are a lot of things to manage in a software product, so you're likely to have a lot of managers.


I think I know what Nate meant, but let me poke some fun at this first because it struck me funny. I could pick half the words from the list of alternative for Manager I created and plug them into this sentence and they would be just as accurate.


Bah, if it's a coordinator, call it a coordinator. If it were something else, you'd call it something else. There are a lot of things to coordinate in a software product, so you're likely to have a lot of coordinators.


or


Bah, if it's a jockey, call it a jockey. If it were something else, you'd call it something else. There are a lot of things to jockey in a software product, so you're likely to have a lot of jockeys.


or


Bah, if it's a wrangler call it a wrangler. If it were something else, you'd call it something else. There are a lot of things to wrangle in a software product, so you're likely to have a lot of wranglers.



I think Nate was actually saying that Manager is common generic name for objects that work on other objects, so why not stick with it. I don't disagree with that notion of conforming to a standard, but in the case of using Manager to the exclusion of other names, I think that's a slippery slope. Often another words could be used to describe what sort of management was being performed that are more accurate or descriptive or would better differentiate the classes position in the object model.


This leads me to the second comment by my old buddy and star developer Bob. Bob points to an old Taligent C++ guide that says:


The presence of a manager object typically signifies a problem with your design, the result of which is a client interface expressed as objects outside the client's problem domain. The word manager in a class name often indicates this problem. A centralized implementation, either within an address space or between address spaces, is just an implementation detail. For example, suppose you want a function to apply to multiple windows, such as CloseAllOpenWindows. The wrong way to do this is to have clients call a TWindowManager class. The correct way is to make CloseAllOpenWindows a static member of TWindow. It is associated with the class it applies to, and its multiobject function is reflected by its being static.


In defense of Bob, he indicated he didn't agree in totality with the statement, he was pointing it out more as an anecdote. I've been pondering this advice a lot since then and I've reached the conclusion that it's just plain bad. Consider the example they give about TWindowManager and the call to CloseAllOpenWindows. They recommended making the call CloseAllOpenWindows a static on TWindow. How convenient that the example call was to close ALL open windows. It's an edge case where this design would work but what if you wanted to operate on a subset of windows. The reason you would use a manager type class is for exactly this reason. Perhaps calling the class TWindowSet would have been better than TWindowManager, but that's besides the point. I agree with the idea of asking objects to operate on themselves, but a classes static interface is not an object. It's just a namespace of functions related to a class of objects. An instance of class that manages, jockeys or wrangles a bunch of other object is an object and a better design.

Friday, September 16, 2005

Walrus


Is that Thunderbird 2? No it's the Walrus, a proposed heavy lift dirigible airship that, according to the press release, "...will be a heavier-than-air vehicle and will generate lift through a combination of aerodynamics, thrust vectoring and gas buoyancy generation and management". It would be cool if it worked, but I'm not holding my breath.



Link

Microsoft's Midlife Crisis

The Forbes article Microsoft's Midlife Crisis had me rolling on the floor laughing. I don't doubt that MS is experiencing growing pains. What's funny is that the article uses IBM as an example of a company that has overcome the problems MS is currently facing. This particular paragraph had me near tears:



What has gone wrong? Microsoft, with $40 billion in sales and 60,000 employees, has grown musclebound and bureaucratic. Some current and former employees describe a stultifying world of 14-hour strategy sessions, endless business reviews and a preoccupation with PowerPoint slides; of laborious job evaluations, hundreds of e-mails a day and infighting among divisions so fierce that it hobbles design and delays product releases. In short, they describe precisely the behavior that humbled another tech giant: IBM (nyse: IBM - news - people ) in the late 1980s. Tellingly, IBM reached a point of crisis just over three decades after it started selling computers to commercial users.


The point about the preoccupation with PowerPoint slides hit really close to home. But then again, perhaps my division was an anachronism. Nah. The following is a great quote too.



"Microsoft has become what it used to mock," says Gabe Newell, a developer on the first three versions of Windows. At late-night rounds of poker with "Bill and Steve" in the mid-1980s, he says, "we laughed at IBM. They had all this process for monitoring productivity, and yet we knew they had spectacularly bad productivity. That's Microsoft now."


If my experience was close to typical, Gabe should still be laughing.

Thursday, September 15, 2005

Spam Poetry

Some spam made it past my spam filter today and I ended up opening it. The image link that contained the real spam part didn't load so I don't know what it was selling, but I really liked the text that accompanied it.


flaky may leghorn ! bahrein not fault may monk and teletype be liberal it's diachronic it attendant on pitt it's rue try gauze but billionth on cavil a johansen but airlift see cleft it's cotman , coruscate may capitulate see puck a hoagland be delightful ! douglas in churchgo some moot a carnegie try angelo see carruthers on hanover try tap it's limousine a churchman on daunt a cabinetry in euclid it.

Scheduled Outage

DevelopingStorm.com will be down for a short time while my hosting company moves my site to a new server. Not sure when exactly it will happen, but hopefully it wont be take long.

Wednesday, September 14, 2005

ManagerManager

I found myself creating a bunch of classes today that all ended with the suffix Manager. As I sat lamenting this situation I recalled an old post by Ned on the topic. A quick search led me back to the post, but alas, it only offered a few alternatives. Rather than just press on and overload Manager I decided to build a more comprehensive list for my own use. Here it is.



Abstractor, Accountant, Actor, Adjudicator, Adjuster, Administrator, Agent, Appraiser, Apprentice,Arranger, Assembler, Attendant, Auditor, Babysitter, Bagger, Breeder, Brewer, Builder, Bundler, Captain, Checker, Chief, Classifier, Clerk, Collector, Comptroller, Controller, Coordinator, Dealer, Director, Distributor, Drainer, Estimator, Eviscerator, Executive, Expediter, Finisher, Gatekeeper, Gatherer, General, Generator, Guide, Handler, Helper, Host, Hostess, Inducer, Inspector, Installer, Jockey, Judge, Juggler, Keeper, Laborer, Librarian, Lieutenant, Manager, Mechanic, Mediator, Modeler, Observer, Operator, Pilot, Planner, Polisher, Porter, Preparer, Processor, Purifier, Receiver, Referee, Repairer, Representative, Salvager, Scribe, Secretary, Sergeant, Shepherd, Stacker, Supervisor, Tender, Tester, Umpire, Winder,
Worker, Wrangler.



Much thanks goes to the Job Genie. Of course, you know, after wasting a bunch of time compiling this list I'm still inclined to stick with Manager. It just seems less contrived.



Updated on 9/15: Added Umpire, Referee and Controller

Second update on 9/15: From Ned, Judge, Adjudicator, Comptroller,
Scribe

Third update on 9/20: From Ned, Juggler

Monday, September 12, 2005

Only clones need apply

I was reading an interesting post by David Hansson, the wunderkind behind Rails and Basecamp concerning hiring. David’s basic thesis is hire people you know. That’s not bad advice, but he then goes on to describe the type of person he would look for, a passionate open source developer with a proven track record of producing product. Again, that sounds like a winner, especially for a company like 37signals. What struck me funny about this and other posts like it are that everyone who talks about the type of person that would want to work with ends up describing themselves. In the spirit of full disclosure, I’ve been guilty of it myself.

From the Dungeon to the Dictionary

I've mentioned the Phrontistery before but previously failed to highlight this enjoyable treatise on the impact of Dungeons and Dragons on the modern lexicon. Whether you've played D&D or just enjoy words, it's a fun read.



Link: From the Dungeon to the Dictionary

Sunday, September 11, 2005

9/11 Remembered

I drove to work on 9/11 oblivious to what was happening. I was listening to a CD in my truck instead of the radio. When I arrived at work I went straight to my office and gathered some papers I had intended to give Larry, a coworker on the Garnet team, the previous day and I headed off to his office. I first heard about the crashes standing in the door frame of Larry’s office. “Did you hear a plane’s crashed into the World Trade Center? They think a second one may have just crashed as well”. Larry said. I responded something like: “That’s doesn’t sound like an accident, that’s an act of war.” I remember the war thought clearly. I recall immediately thinking things in the world had just changed dramatically even though at this point the buildings still stood tall and I had no idea that the planes had been hijacked airliners.



I left Larry’s office wishing I was at home so I could turn on the news. I wandered down back towards my office when it dawned on me that the Iris second floor lunch room had a TV. I bolted up the stairs to the second floor. The lunch room was already fairly full with people fixated in the TV. I can’t recall who was in the room or if found a seat or stood but I can recall the stunned, jaw open looks on peoples faces when the first tower fell. My own feeling I find hard to describe. Like most people I felt a mixture of horror and awe but I also felt excitement. I’m embarrassed to admit that last emotion but it was there. The best I can describe it is like the feeling of excitement when you get in a fight and you’ve just been hit by the first punch and you now feel morally justified to unleash your own civilly constrained animal anger and violence.



The rest of the day and the following weeks are a blur. I recall watching a lot of news and feeling a pent up anger aimed at Afghanistan as we waited for the seemingly unavoidable war to follow. I recall all the flags people hung on their cars and doors. I recall the giant smoking pile of rubble and human remains that had once been the two towers. And I recall the seemingly never ending funerals for the lost firefighters and other emergency responders.



Sitting here now, it seems almost like ancient history even though it was only four year ago. The event changed me like I’m sure they changed most every other American. I’ve changed in ways I recognize and probably in ways I don’t. Personally, I know I’m more jingoistic than I ever was before and while most people still label me a Liberal, I’m finding less and less of the Liberal agenda I agree with. It will be interesting to see how things change in my perspective on the major anniversaries of this event to come.

Friday, September 09, 2005

Crushed dreams of a hi-tech future

There was an old commercial, from IBM I believe, that lamented the present didn't turn out like we thought it would 40 years ago with the phrase: "Where are our flying car? They promised us flying cars!". This phrase was running through my head as a read the following opinion piece by Jeffery Bell for Space Daily titled The Cold Equations of Spaceflight. In the article Bell, a former space scientist, explains why all the cool ideas that we've been teased with concerning reusable space vehicles like the X-33 and the DC-X were all just a bunch of hooey. It's depressing but fascinating reading.

Thursday, September 08, 2005

Katrina and its isms

There's been a lot of things about Katrina and it's aftermath that have been upsetting, but the one things that's been really sticking in my craw is the accusations of racism. There are certainly aspects of governmental behavior, at every level, that can be questioned in this affair but to say the primary reason for the problems are racial just seems for lack of a better phrase, racist. First off the US government is composed of people of all races and second there's and old but true saying: don't attribute to malice what can be adequately explained by incompetence.



Moving past the initial response, I think this event has exposed our societies inherent classism. We are a classist society. We use classism in our society to drive people to work hard and make a better life for themselves. That's not to say the middle and upper class don't have compassion for the lower class (just look at the donations and ongoing relief efforts) but there is an ingrained mentality of expecting others to be able to take care of themselves. For better or worse, that's the American way.

Wednesday, September 07, 2005

Neptune Movie

NASA has released a new movie of Neptune taken from the Hubble Space Telescope. The movie is made up of three sequences taken with different color filters. Each filter shows different features of the mysterious planet. The level of detail is really amazing considering the pictures are being taken from a camera orbiting only few hundred miles above our heads and Neptune is some 4 billion kilometers from the Sun.



via (spaceflightnow)

MouseHole

I stood on the sidelines watching while GreaseMonkey swung through the blogsphere but when a Ruby based alternative MouseHole showed up I decided to jump in and take a look. MouseHole is the brainchild of the wacky Why The Lucky Stiff, the same guy who wrote Why's (Poignant) Guide to Ruby and is behind my favorite blog of late RedHanded - sneaking Ruby through the system. Unlike GreaseMonkey, MouseHole is a proxy you run outside of the browser. Proxy scripts can modify the pages that pass through it or even generate completely new pages as the funky MouseWiki does. If you're not interested in running every page through a proxy but are interested in exploring you can use this cool Firefox plugin ProxyButton to add a quick on/off switch to Firefox's tool bar.


If you actually follow any of Why's link and get curious about the whole hoodwink'd thing, don't come to me looking for an explanation. I still haven't figured it out.

Tuesday, September 06, 2005

Pepper palisade prevent pachyderms

Ingenious farmers in Africa have found a low-tech way of keeping elephants out of their crops, Chili Peppers. I turns out elephants don’t like the smel of chili peppers and would rather walk around a fence string smeared with chili paste than through it.

( Link )

Friday, September 02, 2005

Blogger For Word

I’m writing this post with the Blogger for Microsoft Word plugin.   The plugin adds a simple toolbar to Word that lets you publish the content of a document to your blog.  I’m so accustomed to working in the Blogger UI that it’s a bit disconcerting typing the post in Word but hopefully the posts will have fewer errors because of it.
 
The Out Campaign: Scarlet Letter of Atheism