i started out the day attending software tools that make life easier with jared richardson. jared took an interesting approaching describing 'a tale of two shops' where in reality it was the same dev shop within 6 months and using two different methodologies...namely the shop got better when implementing source control management (scm) tracking, testing, etc.
he had a lot of ground to cover in the short time and really only got to detail in on scm. he concentrated on talking about subversion mainly, but did poll the audience on what is being used. there was subversion, cvs, perforce and only one microsoft guy using vss (i chimed in and said i used team system ;-)). jared talked about something i believe in as well -- the best way to learn something is to sign up to teach it. he talked about creating guides for the users as one of the best ways to learn about a new scm system that you'd implement. he did this when he created his subversion cheat sheet. he went in to a demo on subversion using the command line tools, etc. i couldn't help but wonder how command-line interfaces are 'making life easier' as his talk suggested...but i guess that's just me -- the *nix users of the world likely prefer that way anyway.
there was a question about developer workspaces, the concept of being able to isolate the developer from the source repository and still have them check-in working code without affecting others. jared suggested different developer repositories. this feature the gentleman wanted is implemented as 'shelving' in team foundation server...one of my favorite features. it removes the need for multiple repositories while at the same time providing some developer isolation for peer reviews, semi-complete code, etc. -- an awesome feature that all other scm systems should implement. this was a decent session, but i had wished we'd get into the other tools...unfortunately time ran out.
the next session i went to was on soa and if it was the new corba by neal ford. first i must say if you get a chance to see neal, do it. he's intelligent, funny, and knows his you-know-what. generally i felt he was the most level-headed of the group (ted neward was there and speaks a lot about java as well as .net praises...so go see him too--he's a bit more in-your-face than neal though) and spoke on the merits of the topic rather than zealot views (note: i still think he's a zealot in some areas). neal pointed out that 'soa' has been around forever -- distributed computing isn't a new concept (i.e., COM/DCOM, etc.) but that soa seems to have gotten a new revival. he attributes this to two things namely it seemed like: 1) vendor proprietariness (a term he's hoping catches on) and 2) the 'in-flight' syndrome. the latter is something i totally believe as well. what this means is that you have the 'the boss' that managed to read some 'in-flight' literature and soa just happened to be the topic...so thus, that's the new buzz word and new initiative at the company -- nothing progresses unless it is tied to an soa initiative! sometimes this is so true!
neal did a great job describing what soa really means and how it should be approached in software design. i was surprised at the type of questions from the audience. even though distributed computing has been around for a while, it didn't appear a lot had been even approaching the topic in their designs. the questions were, at best, elementary. kudos to neal for answering them calmly. there seemed to be a lot of concern about performance. i subscribe to neal's comment as well that there is no guarantee that soa will improve performance...in fact, there may be situations where you are sacrificing performance for efficiencies. i really enjoyed this session and it validated in a way for me that soa is much more than just a buzzword that should be attached to any initiative, but something that (as with any component of software design) should have much fore-thought. neal was quick to point out (and re-iterate) that the #1 problem with soa will not be technology, but rather getting the business to agree on the isolation of business entities (i.e., what a 'customer' means to one department could differ to the other).
i had lunch with some guys that are microsoft developers and got their take on the event so far. they thought neal was the best so far as well and had attended some of his sessions on day 2. they made the same comment i did about the jsf technology...how they'd been using that since 2000 with asp.net. another guy at the lunch table wasn't too impressed with the event so far and thought the sessions he went to lacked the 'no fluff' mantra.
after lunch they had an 'expert panel' which was essentially the speakers who were present for the day. the panel was moderated by ted neward...who again, a good 'must see' if he is ever in your neighborhood. I tried to scurry as many notes as I could on what questions were asked and the responses in summary...here's my best interpretation of my own chicken scratches:
- Q: Java has 'gone the way of the dodo bird', true or false. A: J2EE is dead like elvis and dead like cobol; Sun has a bad track record of software development; JSF has stench of committee on it
- Q: what's the next platform. A: some comments around Flash evolving as a platform because it is everywhere
- Q: What do you think of XUL? A: XUL is cool if you can control the platform. XAML is also becoming an attractive platform and may be worthwhile looking at, but right now the momentum is more behind simple AJAX than richer platforms
- Q: Rails, hype or not (this was my question) A: it's as much a hype of any other technology, but worth looking at -- anything new is worth learning. NOTE: Ted polled the audience to see who is getting paid to write Ruby/Rails. I think me and Jared were the only ones that raised our hands - and I'm stretching it ;-)
- venkat talked about how Groovy and Grails is bringing the best of both worlds and that it is good to learn things and take best practices learned into new innovation
- side note here: so why then does microsoft get bashed when our community does that. all i ever hear are things like 'yeah, you stole nunit from junit', etc. -- yeah, so what -- you should take best practice harvesting as a compliment!
- Q: what is the next big thing? A: NetKernel (generalized architecture); dsl; dynamic languages, erlang
all in all, my experience with no fluff just stuff was 'okay' -- i did feel like it was detracting a bit from the mantra and could serve the community of software developers better if they broaden their technology beyond java...even bring in more open source.