Skip to main content

Posts

Showing posts from November, 2011

Learning UML 2.0

Russ Miles & Kim Hamilton ISBN: 978-0596009823 I have never been a big fan of UML or really seen the need for it. However I was told it was imperative for my latest contract, so I out my old copy of UML distilled by Martin Fowler and bought a new copy of it for my Kindle and started reading it. I had been with my new client very long when someone recommended Learning UML 2.0 by Russ Miles and Kim Hamilton. It contains the Philippe Kruchten 4+1 model that we would be using for the project so I thought it would probably make a better book to learn from (no pun intended). Philippe Kruchten 4+1 Model This is a great book. Easy to read and lots of detail about the key areas of UML 2.0. It doesn't cover absolutely everything, but recommends other books that do. There are lots of code examples in Java. I'm not sure if all of these are useful or if the authors, who are programmers, were just desperate to get some code in. The book focuses on what in my opinion are the most useful...

Review of Effective C# Item 15: Utilize using and try-finally for Resource Clean-up

The original Effective C++ Series from Scott Meyers was a real revelation for C++ programmers. It grouped together many idioms from the wildly diverse and complex language and made them understandable. It identified many of the pitfalls and made them avoidable. It was a must read for every serious C++ programmer. Since then all the major language seems to have an effective series. You would think this was a good idea, but most languages are not as wildly complex as C++, with fewer idioms and pitfalls. They're still there, but the languages have been designed with the idioms in mind, and the introductory texts teach them, and with a lot of the pitfalls already avoided. Consequently most effective series for modern languages are smaller and contain a lot of patterns as well. For example, Effective Java starts off with the builder pattern. To my mind that belongs in a patterns book and it certainly should not be the first Java idiom described. I am currently reading Effective C# by Bi...

First Agile East Anglia Meeting

It’s a little later than I was planning for but I’ve fixed a date, time and venue for the first Agile East Anglia meeting: Date: 5 December 2011 Time: 6.30pm to 8.30pm Venue: Coach & Horses, Thorpe Road, Norwich I’ll aim to get there between 6pm and 6.30pm and will be there until at least 8.30pm. There are at least two Coach & Horses in Norwich. Please make sure you come to the one on Thorpe Road near the Railway Station in Norwich. Please try and let me know if you intend to come. Either by replying to this message or emailing me: paul.grenyer@gmail.com . As with XTC in London, there’s no agenda or format. It’s just an opportunity for those interested in or practicing Agile to get together for an informal chat. In the future if people would like to have more structure or speakers, that can be arranged. Please feel free to bring anyone else interested along with you. Although XTC meet weekly I think that might be a little optimistic for Norwich at this stage. So if all goes wel...

Opeth

O2 Academy Birmingham Saturday 12th November 2011 The last time I was a the Academy in Birmingham was February two years ago for Lamb of God and Dimmu Borgir. Both were very good, but the people there were rude and inconsiderate. Last night was very, very different. Lots of friendly people and the staff were great. In fact London venues have a lot to learn. Opeth did not play a single song that I would have asked for! Having resisted the urge to play their new album all the way through, they instead opted for a more progressive, less death metal approach, playing both some new and old songs. There's was no Blackwater Park and no Daemon of the Fall. Mikael Ã…kerfeldt was on fine form. Talking to the audience for long periods between songs, even getting the audience to participate in a Napalm Death cover. I loved it! Can't wait to see them again. The Devil's Orchard I Feel The Dark Face of Melinda Porcelain Heart (with drum solo) Nepenthe The Throat of Winter Credence Closure ...

Working Effectively with Legacy Code

by Michael Feathers ISBN-13: 978-0131177055 This is my second read through of Working Effectively with Legacy Code. I don’t usually read books twice, but it was being used as the material for an ACCU Mentored Developers project I was running. Working Effectively with Legacy Code is almost as relevant now as when I read it in 2007. The only real thing that dates it are some of the links to pages that have moved on and some of the techniques which were new then, but are far more widely understood now. A credit to the book in a lot of ways. Both times that I read it I felt that it didn’t teach me much that I hadn’t already learned during my career. I have been exceptionally fortunate to have worked with or been associated with some of the best developers in the world, so it was inevitable that I would pick this stuff up. Many developers are not so fortunate and that is why this book remains in my top ten. All of that aside, this book contains surprisingly practical advice. I remember seei...

Catalina-Ant for Tomcat 7

I recently upgraded from Tomcat 6 to Tomcat 7 and all of my Ant deployment scripts stopped working. I eventually worked out why and made the necessary changes, but there doesn’t seem to be a complete description of how to use Catalina-Ant for Tomcat 7 on the web so I thought I'd write one. To start with, make sure Tomcat manager is configured for use by Catalina-Ant. Make sure that manager-script is included in the roles for one of the users in TOMCAT_HOME/conf/tomcat-users.xml . For example: <tomcat-users> <user name="admin" password="s3cr£t" roles="manager-gui, manager-script "/> </tomcat-users> Catalina-Ant for Tomcat 6 was encapsulated within a single JAR file. Catalina-Ant for Tomcat 7 requires four JAR files. One from TOMCAT_HOME/bin : tomcat-juli.jar and three from TOMCAT_HOME/lib: catalina-ant.jar tomcat-coyote.jar tomcat-util.jar There are at least three ways of making the JARs available to Ant: Copy the JARs into th...