Conny Lundgren

On Agile, Development, Mac, Technology and life in general.

Intellij IDEA 8 Available

| Comments

I have been using the milestone for quite a while, and I believe there are huge improvements over the earlier versions.

Highlights in the 8.0 release are..

Languages & Frameworks

  • SQL-92, MySQL, SQLite with coding assistance and Console to run SQL scripts from the IDE
  • Template languages: FreeMarker, Velocity
  • XPath/XSLT, including XPath expression evaluation
  • Groovy/Grails with advanced editing, new refactorings and Gant
  • JBoss Seam
  • Struts 2
  • Spring 2.5
  • Spring Webflow
  • Spring MVC
  • Spring Dynamic Modules
  • GWT 1.5
  • RESTful WebServices Features & Improvements

  • 7 New Java Refactorings

  • Dataflow to This — see where an arbitrary parameter value comes from
  • Create new test for class intention and navigation between classes/tests
  • UML class diagrams with navigation to the source code and refactorings
  • Thread dump analyzer
  • Automatic namespace import for HTML/XML/JSP
  • JavaScript debugger
  • Flex debugger
  • Advanced Flex code editor for MXML and ActionScript files, with Flash 10 generics
  • Maven: create new module from archetype, Repository Browser, pom.xml validation and editing assistance
  • Subversion 1.5 merge tracking support Download a 30day trial, or purchase a license here

When Is Done Really Done?

| Comments

I don’t matter if you work agile or in waterfall (or any other “process” for that matter), one of the most important bits of practice a team (even if you are coding solo) should get in place is a Definition Of Done. The DoD should be very obvious to everyone involved, and if anyone (including yourself) tries to stray from the DoD they should be flogged in public (corporate policies may get in the way here..).

So why is this definition so important? Let us start with an example I encountered a while ago.

On one of my project there was this developer let us call him “Fred”, initially things were looking ok, he delivered what was promised, and on inspection the code looked OK (Fred was no wizard, but a fair developer).

Fred got the responsibility to implement a certain part of the project, and off he went, when asked about the progress there was always a good answer, like “I’m testing the implementation” or “I found a bug which I am current fixing”. Fred delivered his part of the application, and when integrated they didn’t work. How could that be? We had all seen him write unit-tests? I sat down and asked Fred what he thought was wrong, and he told me his story. It turned out he had written a fairly large test suit, but when asked if it has ever been “working” I got shocked, Fred told me he had never actually run his test-suite, he had just wrote a whole bunch of test code, but never ever executed it.

Although this is an extreme case (nonetheless true), it shows how important it is to have a Definition of what done actually means. We often use the word done, but rarely define what it actually means.

Is a feature done when it compiles?  When it is integrated?  When it can run successfully?  When you have 87.3% code coverage?  All of these are possible interpretations of the same phrase.

It’s important for the whole team to have a shared idea of where the finishing is. Without that some will claim success and other defeat while talking about the same thing. So where do you begin? First, talk about it; it should be a collaborative exercise to define it. Most often you will find the ideas varies, try to at least find a level everyone can agree to, if not you will easily end up in “almost done” mode again.

Gafter to Microsoft..

| Comments

Initially I found it hard to Believe, but it appears to be true that Neal Gafter one of the Java-rock star has joined Microsot. I wonder what this means to his Closures proposal.


“working on Microsoft Visual Studio Managed Languages with Anders Hejlsberg, on C# and other languages. ”

Also confirmed by the latest Java Posse podcast (#208)

IntelliJ IDEA 8 Milestone 1

| Comments

Jetbrains announced a milestone release for my favorite IDE a couple of days ago, and the feature list is quite impressing. I have been running the milestone for a couple of days and so far it’s running great. The SEAM support is a winner for me, as the Spring 2.5 support (although it worked fine in 7.0.4 as well)

  • JBoss Seam Integration
  • Javascript/Flex Debugger
  • Spring 2.5
  • FreeMarker, Velocity, GWT 1.5
  • Great support for REST WebServices
  • Struts 2
  • Multi-dialect SQL Console
  • Reworked project configuration
  • New automated refactorings
  • Improved coding assistance
  • Numerous new code inspections
  • Countless other new features and improvements And planned features for the full version

  • Team Foundation Server integration

  • New Java refactorings from former Refactor-J
  • Improved Groovy support, with Grails 1.0.3 and new refactorings
  • Improved Ruby support, with Ruby debugger
  • Scala support
  • Python support
  • Flexible settings storage with IntelliJ IDEA Server Check out the fresh release at 1an

IntelliJ & Spaces, a Fix (Kind Off)

| Comments

This isn’t exactly new, but some java-apps seem to have problems with Spaces in Leopard, i.e. not changing to the correct spaces when switching program.

I found a pretty easy solution, simply open the help window and put it behind the main IDEA window, spaces works fine (although this is kind of hacky).

Finally There…

| Comments

At last we arrived to San Francisco and this years installation of Java One, the flight over meant a dreaded stop at Heathrow terminal 5, all in all a quite terrible experience but to our surprise the bags arrived safely. The weather is pretty cold and chilly winds (especially considering that we spent 3 wonderful sunny and war days in Budapest before heading over); hopefully it will get better tomorrow.

Apple Seeds JDK 6 to Testers

| Comments

Finally, after months of silence something about the JDK6 for OS X has surfaced. According to apple seeded Java SE 6 Preview 8 for Leopard yesterday evening. According to the report it’s Java SE 6 version 1.6.0_01, and apparently requires a 64-bit capable Intel-mac. So there is still room for ranting about the support for PPC platform.

I for one think it’s wonderful news to get support for JDK6, not so much for development purposes but for the improved performance and some random goodies included in the JDK.

Update: Apparently Apple also made Java SE 6 Developer Preview 8 available from the ADC site today. Go grab it, and stop complaining..