 |
Jazz @ EclipseCon 2006
I mentioned a while back that I left Global Services and joined Rational. I did this to work on a technology that we're calling "Jazz". Since I became involved with this effort, I haven't blogged anything about it, since it was an unannounced future technology. But last week at EclipseCon, several of our project leaders demo'd Jazz for the first time to a public audience at EclipseCon. Here's a good report on what the guys showed.
Also, here's a good write-up on the plenary talk that John and Erich gave where they discussed some of the Eclipse values and principles that influence Jazz.
- Bill
Categories
: [ jazz ]
Mar 27 2006, 09:14:55 AM EST
Permalink
|
Vista delayed to 2007
Who could have guessed? Me, that's who!
Seriously though, I'm amazed that Vista's going to ever see the light of day, period. It's a massive engineering effort to make major updates to an extremely big and complex system and provide compatibility with millions of devices, and tens of thousands of applications - many of them very, very old.
I wonder which will be available at Wal-mart first: Vista or the Xbox 360?
Mar 22 2006, 04:58:56 AM EST
Permalink
|
Roller tutorial and politics!
Last night, I went to the Raleigh bloggers meetup. Josh Staiger and Dave Johnson were there, and I showed Dave our spiffy new Roller implementation. I think it was exciting for him to see how IBM had adopted the software that he started for developerWorks.
Another fun surprise was that we were joined this evening by a United States Congressman! Indeed, Congressman Brad Miller (D-NC) and his campaign manager joined us to learn more about blogging, since it's becoming an important channel for building political support. We mainly explained the basics - RSS, best practices, common mistakes, etc and I recommended a few books on the topic (We the Media and Naked Conversations). But after all of the techno-babble, we talked politics! This was really fun for me. When I'm not slinging code or writing blog entries at 4:30 in the morning, I'm reading various newspaper editorial columns, or watching various political television shows via Tivo. Josh has more details.
Alas, in the excitement of talking politics, I absentmindedly forgot to ask Brad about the possibility of further reducing IBM's North Carolina state tax burden.
- Bill (bhiggins@us.ibm.com).
Categories
: [ worklife ]
Mar 22 2006, 04:51:28 AM EST
Permalink
|
This blog is now on Roller, and I have no idea how to use it
Well, I browsed to my blog today to write an entry, and everything's
changed from a publishing perspective. Apparently we've finally
switched over to using the Roller
blogging engine vs. our old custom solution, so I need to relearn how
to write blogs and use this thing. I think I'll probably attend the
next Raleigh Blogger's Meetup so I can ask Dave Johnson (Roller's original creator) for some tips.
One major benefit I've discovered so far - we finally have a "Preview"
mode so I don't have to publish before seeing all of my typo's and HTML
mistakes. Now if only they have a distributed preview mode so that my
mom could proofread in advance of publishing (I always get friendly
emails from her telling me about misspellings and grammar mistakes).
- Bill (bhiggins@us.ibm.com)
Categories
: [ blogging ]
Mar 12 2006, 08:52:18 AM EST
Permalink
|
Any good books on message design?
I've been implementing some REST services recently and I'm finding that I'm a bit in the dark when it comes to message design. The syntax of XML is straightforward, but what are the patterns to produce messages that satisfy your key application priorities (e.g. performance, scalability, maintainability, etc.)?
I can't find any good books or web sites on message design for distributed systems. Ted Neward's discussion of context completeness in Effective Enterprise Java was very good. Bobby's EIP book certainly talks about the mechanics of message systems and Martin Fowler's PEAA book talks about design considerations re: levels of granularity and such, but I have yet to find one book on message design vs. the 10s of great books on object design.
Any suggestions on books, articles, papers, or blogs on considerations for message design? Post a comment or email me if you don't feel like doing the developWorks registration thing.
And with that, I'll end my blogging extravaganza for this evening. Tomorrow it's heads down in more coding and radio silence on the blog channel again for a few weeks.
- Bill (bhiggins@us.ibm.com)
Categories
: [ books_and_articles ]
Mar 02 2006, 01:20:00 AM EST
Permalink
|
Yahoo Design Patterns Library
Many other people have mentioned this, but in case you haven't seen it and you're doing web-based development, you really should check out the Yahoo Design Patterns Library. It's simply an excellent resource. Run, don't walk.
Does anyone know who's actually behind this site? If so I'd like to follow their blogs. What the heck's going on with Yahoo anyhow? In 2001, I dropped Yahoo and their busy "search portal" in favor of the simplicity of Google. But Yahoo's just been doing some great stuff around DHTML, Ajax, and open source. Did they get a high-level brain transplant or something in the past couple of years?
- Bill (bhiggins@us.ibm.com).
Categories
: [ software_dev ]
Mar 02 2006, 12:57:00 AM EST
Permalink
|
How to effectively plan your career: DON'T!
Last week I got to catch up with Francoise Legoues, who's one of the most amazing people I've met at IBM. An IBM Vice President, a Distinguished Engineer, and a mother of two lovely and very successful daughters. She asked me about how I liked my job and what I thought I'd like to do for my next job. A few years ago I would have given some spiel about how I wanted to gain some more technical bona fides, then take a management position in preparation for a move to the executive ranks. But in the past couple of years I've come to believe that that sort of career planning is pretty much bogus.
When I think of all of the good things that have happened to me in my career - or life for that matter - all of them had a high degree of coincidence and luck associated with them. For instance, the only reason I'm working at IBM is because when I was a junior in college, I skipped class one day to get pizza (a favorite diversion) and happened to wander by the Penn State co-op office, for whom I was developing a web site. They mentioned "IBM is here today, you should stop down" and the rest is history. My current job with Rational is another example - to make a long story short I got it because I happened to meet an IGS exec at one of those town halls I normally skipped and struck up a conversation with an idea I had for development tools which led me to the IBM CIO's office and then the contact in the CIO's office took a new job at Rational, introducing me to my current team and *plop* - here I am.
So if anyone reading this is struggling over "what you want to be working on five years from now" - STOP! Here are the only things you must do to get great work:
- Work on something you enjoy and find interesting
- Work with people you like and ideally are much smarter than you (you'll learn more)
- Work your ass off. If you enjoy the work and like the people it won't feel like you're working your ass off
- Don't be afraid to go against the status quo if you see an opportunity to make things better. The status quo is just some person's idea of the golden path - it's not like the laws of physics or something *really* inflexible. And it doesn't matter if you're disagreeing with someone with a big fancy title either. If your company's worth anything, others will treat your ideas on their merit, not on their adherance to dogma.
If you follow these guidelines, you won't have to look for good work; it will find you.
- Bill Higgins (bhiggins@us.ibm.com).
Categories
: [ worklife ]
Mar 02 2006, 12:45:00 AM EST
Permalink
|
Eclipse's culture of shipping
I work in the part of Rational that originally created the Eclipse platform. This group used to be a separate company - Object Technology Incorporated (OTI) - but was later somehow acquired by IBM. I'm really liking the culture in this organization - and I'm not just saying this because next week we find out our 2005 bonus - I really like the culture over here because of its focus on shipping good software and cutting bureaucracy down to near zero.
Recently I was talking to a friend about the culture in this group and I remembered an old artima.com interview with Erich Gamma, who helped establish the culture in this organization. It's worth a read if you'd like to see one way to run a highly effective software development organization.
Eclipse's Culture of Shipping: A Conversation with Erich Gamma
- Bill Higgins (bhiggins@us.ibm.com)
Categories
: [ software_dev ]
Mar 02 2006, 12:19:00 AM EST
Permalink
|
Dojo (part 1)
It's weird. Sometimes you write blog posts about the most random things, and other times you forget to write posts about the stuff you use every day. Bobby wrote a blog entry with a snippet of code showing how to parse an Xml document returned by an Ajax call, regardless of whether you're using IE or Mozilla. This prompted me to write some code showing how easy it was to realize this scenario with my DHTML/Ajax framework of choice, Dojo.
Here are some of the things I like about Dojo.
The packaging system
Coming from an Eclipse/Java background, it's very scary to think about things living within the same global namespace, without any component dependency management as you get within OSGi/Eclipse. Dojo gives you the beginnings of this through its lazy-loading pseudo-namespace-based packaging system. Just call:<script type="text/javascript" src="dojo.js"></script>
<script type="text/javascript">
dojo.require("dojo.widget.*");
</script>
...to load (for instance) the Dojo widget subsystem on demand. Note that if it's already loaded, it won't be loaded again.
Easy Ajax
Dojo has a nice, clean, anonymous-object-driven syntax to do Ajax. No need to check for browser-specific weirdness, very little code to write. Here's the example I wrote on Bobby's blog:<script type="text/javascript" src="dojo.js"></script>
<script type="text/javascript">
dojo.require("dojo.io.*");
var ajaxArgs= { url: "/some/ajax/url", mimetype: "application/xml", // let's be NLS-friendly load: function(type, xmlData, evt) { myCallbackFunction(xmlData); } };
dojo.io.bind(ajaxArgs);
function myCallbackFunction(xmlData) { var topLevelElement= xmlData.getElementsByTagName("topLevelElement"); // etc. }
</script>
(more on the Dojo way of doing Ajax)
For those not familiar with JavaScript syntax, the declaration "var ajaxArgs= ..." declares an an object with the properties url, mimetype, and load. In the subsequent statement, you call the function dojo.io.bind, sending ajaxArgs as an argument. dojo.io.bind looks for these named properties (as well as others) and behind the scenes figures out which native browser methods it should use to make the Ajax call and build the Xml document object.
This is also good from a maintainability standpoint. IE 7 is going to support native XmlHttpRequests (vs. the IE 5 and 6 Active-X based XmlHttpRequests). Will this affect your existing Dojo code? Nope. Just grab a new version of Dojo post IE 7 release, and it will hide the new IE 7 way of doing Ajax just as it hid the IE pre-7, Mozilla, etc. ways of doing Ajax.
That's enough for now. I still have more good things to say about Dojo, but it's 3am, so I'll cut it short and label this "part 1". I promise to deliver parts 2 and beyond sometime in 2006. Thank goodness it's February!
- Bill (bhiggins@us.ibm.com).
Categories
: [ software_dev ]
Feb 13 2006, 03:03:00 AM EST
Permalink
|
Christmas in February - new Thinkpad
Christmas came early on Thursday. I was plugging away at some JavaScript code when I got an instant messsage from Tom, the Rational hardware guy in RTP, NC.
Tom: I've got good news and bad news. Which do you want first? Me: Good news. Tom: New Thinkpad T42p Me: WOO HOO! Me: Bad news? Tom: You have to walk down to my office to get it.
Here are the specs:
- 2 GHz processor
- 2 GB RAM (Eclipse is hungrier and hungrier...)
- 80 GB, 7200 RPM hard disk
- Onboard 802.11 a/b/g wireless
I named this computer "odyssey4". Why? Well, I joined IBM in February, 2001 so I decided to name my first computer odyssey1, since I was starting a new journey in my life, since the year was 2001, and since I'm a big fan of the Kubrick movie 2001: A Space Odyssey. Here are the computers I've had at IBM:
- odyssey1 (2001 - 2002) - slow desktop
- odyssey2 (2002 - 2004) - Thinkpad T21
- odyssey3 (2004 - 2006) - Thinkpad T40
- odyssey4 (2006 - ?) - Thinkapd T42p
My T40 was actually pretty good - also 2GB of RAM and 7200 RPM hard disk (which make the most difference when doing development). The three big plusses of this current iteration are:
- Fresh version of Windows - I totally hosed my last computer to the point of being almost unusable
- Only one greasy little handprint (so far) from my 2 year-old
- 802.11g wireless that isn't hosed (the wireless was the most hosed part of my very hosed last computer)
Well, I think that's enough:
- about my Thinkpad
- bulleted lists
... for one night.
- Bill (bhiggins@us.ibm.com).
Categories
: [ off_topic ]
Feb 12 2006, 07:39:00 PM EST
Permalink
|
Learning XSLT
Well, it's "Think Friday" (Software Group is now allowing us to use Friday afternoons for "think time", ala Google) so I decided to sit down with an XSLT book, since I've been meaning to learn XSLT for a while. Here's a record of my experiene.
3:00pm - Pick up XLST book off the Barnes and Noble bookshelf. 3:10pm - Begin to glance around bookstore and look at my watch. 3:15pm - Put XSLT book back on the bookshelf.
I think I'm going to try to learn XSLT by writing a program rather than reading a book. It's just a tad too abstract to read.
PS - If you have no idea what XSLT is, don't worry, you probably don't need to.
PPS - I keep meaning to mention this. Though I like the idea of Think Friday, its naming sort of makes you wonder... it's not like we're in a stupor from Monday through Thursday. Well, at least I'm not!
- Bill (bhiggins@us.ibm.com).
Categories
: [ software_dev ]
Feb 03 2006, 04:16:00 PM EST
Permalink
|
Ajax patterns
I've been working on some Ajax stuff lately and this morning I was complaining to patterns guru Erich Gamma that I hadn't seen any good design pattern resources for Ajax. He pointed me to this site which looks good:
http://ajaxpatterns.org/
Would have never guessed that one!
- Bill (bhiggins@us.ibm.com)
Categories
: [ software_dev ]
Jan 31 2006, 09:43:00 AM EST
Permalink
|
Contact with journalists and analysts - IBM Business Contact Guidelines
Every year each IBMer has to read and certified that they read the IBM Business Conduct Guidelines. This is a worthwhile exercise, because sprinkled throughout the document are a bunch of best practices related to a wide variety of issues - open source licensing, dealing with vendors, etc.
One part though struck me as somewhat out-of-date, given our official foray into the blogosphere in this last year:IBM's business activities are monitored closely by journalists, consultants and securities analysts. You should not initiate contact with these individuals or groups or respond to their inquiries without authorization as follows:- Journalists - IBM Communications
- Consultants - IBM Analyst Relations or IBM PartnerWorld
- Securities or Financial Analysts - IBM Investor Relations
- Attorneys - IBM Counsel
For the cases of jounalists and analysts, I don't think this can be an absolute rule for IBMers who want to participate in the blogosphere(s). If it is, then I've violated it many many times in conversations with the Redmonk guys and other analysts I've encountered in the blogosphere.
Think about it. I write a post on some technical thought, and an industry analyst is nice enough to add his or her two cents to the conversation via a comment or a trackback blog. Now imagine that the industry analyst had an interesting insight, or challenged something I said, or had an innocent question. Do I call analyst relations and say "I would like to respond to this two sentence comment that an industry analyst wrote at my blog. Can you help me craft an appropriate response?"
Get real.
Now there have been cases where an analyst got a little too forward-looking with their questions and then I vectored them off to the appropriate communications group. But the rule in the business conduct guidelines is too absolute for the current environment.
You gotta trust your employees to use their judgement, and sometimes that judgement will tell them to talk directly with journalists and analyst, without bringing in the comms intermediaries.
- Bill (bhiggins@us.ibm.com)
Categories
: [ blogging ]
Jan 31 2006, 06:34:00 AM EST
Permalink
|
Just crashed Microsoft Money
Unfortunately not because I have too much money, but rather because I didn't have enough memory. Closed Rational Software Architect (-450 MB) and the Mozilla Venkman JavaScript debugger (-250 MB) and once again I'm able to browse my IBM pension account with a growing sense of nostalgia.
I wonder if Bill Gates can use the normal edition of Microsoft Money or if they have to build a special 64-bit edition just for him, to handle the unusual number of digits in his account totals...
Categories
: [ off_topic ]
Jan 24 2006, 01:59:00 AM EST
Permalink
|
|
 |
|