About a month ago, I went out and purchased a Palm Treo 700p (yes, I purchased it even after the release of the iPhone). Prior to the Treo, I had a regular ole’ LG (model unknown) that I used as a phone, and a BlackBerry (model 7250) that I used for my data needs (browsing and e-mail). I decided to use the Treo to serve both my phone and data needs. So far, there’s been good, bad, and ugly.
First, the good.
Now, the bad.
And the ugly.
Overall, save for the few ergonomic and UI quirks, minor instability issues, and the dreaded boot loop, I’ve enjoyed the phone. Camcorder, tethering, and Mac integration were important features for me. My BlackBerry/LG setup had none of these (possibly newer BlackBerry models have some), Obviously, the iPhone fits the bill with great Mac integration. The iPhone appears to be an amazing device, and as it evolves, I’m sure my interest will increase. To this point, as a replacement for my LG and BlackBerry, the Treo 700p is working nicely.
A bit later than I had hoped, but I wanted to take a moment to reflect on Agile 2007 in Washington, D.C. last week.
I arrived at Agile 2007 on Wednesday, midway through the conference. After a few conversations with attendees , I’m certain I’ve captured the essence of the conference. Immediately upon arrival, I jumped right into the second half of a panel discussion focused on Agile Portfolio Management. Then last night, I was invited to an Agile Roundtable discussion hosted by the fine folks at Stelligent, where a significant portion of the conversation centered around agile adoption and transition. You can obtain an overview of the discussion in this eWeek article. Thursday, I attended two different sessions. The first discussed The Enterprise and Scrum, and the second focused on Agile in the Waterfall Enterprise.
Therein lies a major theme of Agile 2007 - agile transformation and agile adoption within the enterprise. It seems that the majority of speakers and attendees I’ve spoken with who have agile experience are Scrum masters, agile coaches, or agile mentors looking for better ways to bring agile to the enterprise. For instance, conversations that emphasize vendor integration and COTS software packages typically turned toward contract and vendor relationship management. But as a developer, my area of interest lies more with strategies related to testing an application that integrates with a COTS package, and the infrastructure required to support frequent deployment of a COTS package. Not that we need another session on testing… But seriously, we cannot forget the developer within the agile enterprise. Some ideas for great developer sessions that come to mind include choosing an agile technology stack, principles for increased architectural agility, and tools for an agile infrastructure. Maybe next year.
Of course, with that said, Agile 2007 appears to have been a smashing success. It was sold out well in advance, and the enthusiasm of the crowd was tremendous. The conference felt small and personal, which allowed for a high degree of interaction between the speakers, vendors, and attendees. Hallway discussions were frequent and intense. But after spending some time speaking to the folks in the trenches, I share their opinion…more content discussing agile development techniques would have made the conference even greater. After all, the developer produces the one [and only] artifact that truly matters..the source code (pssst…don’t forget that).
Now, onto SD Best Practices in Boston.
After being gone for about a year and a half, I’m back at TeamSoft, a high-end IT consulting firm. I know it sounds cliche to make the statement, but TeamSoft prides itself on the quality of it’s people. On average, TeamSoft professionals boast 13 years of industry experience. We also have a world-class training program, with some excellent instructors. We’ve been a Sun training partner since 2001, and are always looking to expand and grow our curriculum. As a TeamSoft employee, you know you’ll always remain close to cutting edge technology, as well as have the opportunity to work with other technologists who are passionate about technology. We’ve also expanded our services beyond software development, meaning that you’re exposed to a team of very diverse technologists. Yet while it’s a wonderful technology environment, we also remain very family-focused. The majority of our employees have children, and with little to no travel involved, you’ll enjoy the opportunity to spend time with your family. And Madison, WI is a great place to live.
My role at TeamSoft is similar to what it’s always been, with one caveat. We’ve grown tremendously over the past couple of years, and it’s important to us that we maintain the small company feel that our employees have grown to appreciate, while continuing to give employees the opportunity to work on great technology projects. Part of my additional responsibilities include leveraging the strengths that made TeamSoft a great small technology company to ensure TeamSoft is a great large technology company. On top of that, I also look forward to ensuring TeamSoft remains on the leading edge technologically. I’m excited to be back working with so many great people and experienced technologists helping build and evolve our culture as TeamSoft continues to grow.
TeamSoft is a great place to work, and Madison is a great place to live. I can speak firsthand that the grass isn’t always greener on the other side. Working for a great, family-focused company in a wonderful city and a low-stress environment may not be everyone’s cup o’ tea. But if it’s yours, I’d encourage you to at least check us out.
Here’s the test task in my rake file. Works on Windows, but not on my Mac. It just hangs. What’s the problem?
Rake::TestTask.new do |t| t.libs << "./app;./test" t.test_files = FileList['test/test*.rb'] t.verbose = true end
Two hours later, I tell you that I need this on my Mac.
Rake::TestTask.new do |t| t.libs << "./app:./test" t.test_files = FileList['test/test*.rb'] t.verbose = true end
See the difference? Semi-colon…colon…Wow…
Filed Under Metrics, Java, Platforms, Architecture & Design | 2 Comments
I’ve updated JarAnalyzer to correct some of the problems reported when analyzing applications written on J2SE 5.0. The issues were primarily surrounding the use of Generics. If you’ve been experiencing any of the following problems when running JarAnalyzer 1.1, upgrading to JarAnalyzer 1.2 should make them go away and put you back on track.
A few other bug fixes and enhancements also found their way into version 1.2.
You can download the most current version of JarAnalyzer from the JarAnalyzer home.
For the past 5 months, I?ve been working on a .Net project, my first of the sort. Until then, I’d always been a developer on some pretty large Java efforts, some small PHP efforts, and some personal experimentation with Ruby. But I had done absolutely nothing with .Net, and the opportunity to gain experience with another major platform was exciting. Now, I’m back on another Java project, and I am not sad to leave .Net behind.
I know Microsoft has always done a great job ensuring their technologies interoperate well, having experience with such interoperability going back to my days as a PowerBuilder and VB programmer using OLE automation to integrate with Microsoft Word. With Microsoft, there always seemed to be an easy way of doing things using Microsoft technology. Unlike Java, this meant less time trying to sift through the bad frameworks in search of the good one, and more time implementing a solution using Microsoft’s platform. Ironically, I didn’t appreciate this as much as I expected. I feelpretty strongly about architecture and design, and the easy way wasn’t always the right way. However, what startled me most about .Net wasn?t the platform, the C# language, or my dislike for WinForms development, but the .Net community and culture surrounding it.
Microsoft has a fledgling open source community compared to many other platforms. While a plethora of competing open source projects means you’ll make a mistake in choosing every once in a while, even the dead open source projects contribute new ideas and innovation within the Java (ok… and Ruby) communities. And many of the .Net open source projects are little more than ports from their Java peers.
While Microsoft claims they support open source, their actions speak otherwise. Look no further than the Visual Studio Express EULA limiting 3rd party extensibility, placing the TestDriven.Net plugin in violation of the license agreement. There’s been a bit of banter going on surrounding the decision by Microsoft to disallow this plug-in. The irony here is that the TestDriven.Net plugin is only free for personal users, not professional or enterprise users, further illustrating my point. It’s not just Microsoft, but the Microsoft community. You don’t have to look far to find other examples.
I recognize that there are some very good open source projects underway in the .Net world. I run Mono on my Mac. CSLA is a full-stack framework that allows you to hit the ground running. But the culture surrounding open source on the .Net platforms seriously lags behind what I’m accustomed to with Java.