Monday, April 20, 2009

I'm speaking at the open source bridge conference


The hits keep coming and my summer schedule is filling up! I didn't want to miss out on the Open Source awesomeness happening in Portland this year, so I made sure to submit a proposal to the Open Source Bridge. I was lucky enough to get accepted. Huzzah! My talk will be about Shellsink. Here is an abstract. Drop me a line if you are going to be there!

OSCON 2009, Angry Drunken Dwarves, and Crazy Diagrams.


I'm pretty excited to be presenting at OSCON again this year. In keeping with my tradition of bringing the most slipshod weird diagrams to the open source community, I promise to have crazy diagrams in this talk, even if it is absolutely unwarranted. Oh, and speaking of my talk. it is on using Launchpad's PPA system for distributing open source projects. Sound boring? Don't be too sure. I plan to show you how it is directly applicable to your life and the lives of many an angry drunken dwarf. An abstract of my talk is here.

By the way, if you are interested in attending OSCON you can use this code to get a 15% discount on the registration fee: OS09PGM.

Sunday, April 19, 2009

Buying from apple? Sometimes it pays to wait.


When you buy a new Apple product you are getting a shiny new toy from the makers of the shiniest toys around. It would be a big disappointment to buy a new gadget only to have a new model come out the next day. Not only is the newer model going to be cooler, but the older model will suddenly be worth less. How do you figure out when it is safe to buy an Apple gizmo? The Apple obsessed have created a website using historical data about Apple product lifecycles in order to make a recommendation about when to buy. Check it out.

Sunday, April 12, 2009

Notes From a Large Agile Project: A Developer's Perspective.


16 ThoughtWorks developers, 8 pairs, 5 months. We are re-implementing a large, well-known* e-commerce site with lots of complex legacy systems integration. The timeframe from start to finish is 5 months. In the beginning I had no idea if that was realistic. After a month I thought it was a tad optimistic. Now, with one month to go I am convinced that we are going to make the deadline!

Here are some of the things that I think are making this project successful:

1. Shared vision and values among developers. Projects suffer when developers have to do battle over values, tools, or techniques with clients, project managers or other developers. Our development team is 100% ThoughtWorkers, and though we do have heated arguments (frequently these are simply violent agreements), we agree upon and enjoy many of the following values and techniques: pair programming, simplicity, embracing change and test driven development.

2. Strong support and responsiveness by the client for integration tasks. Interacting with legacy systems at large companies can be challenging. Often times such systems have been on life support for so long that nobody really understands how they work. In cases like that it is critical to make sure you have full access to the system, code, and available experts. We have been fortunate to have direct access to the code and experts, and it has been key to our success.

3. Love of Simplicity. Throughout the project most battles and arguments fought amongst ourselves and with other stakeholders have been about simplicity and figuring out how to do the simplest thing that can possibly work. While we may have lost a few 'architectural battles' along the way. I think that in general our daily focus on simplicity has kept velocity (and spirits) high.

Here are some things that have hurt us:

1. Managers who equate working long hours with hard work. With as much agile and XP experience as we have at ThoughtWorks I can't believe that this still comes up. Honestly, forcing long hours over a long period of time and restricting vacation doesn't make the project go faster. Poppycock!

2. Processes that inhibit code improvement. This is another thing that I wish I didn't have to mention. Creating a 'workflow' around bug fixes so that developers aren't notified when bugs are found is horrendously wasteful. If you've read any books on lean techniques you have to realize that creating and storing inventories is very bad mojo. Creating and storing inventories of bugs? Poppycock!

3. Java. You know, web frameworks for Java have come a long way, but there is one big problem: they still use Java. Big IT needs to get out of the 90's! Rails is a much better framework than anything the Java community has produced. It is mature and has a thriving developer ecosystem. Heck, it even runs on the JVM. For more opinions on this, check out the first question of this interview of Neal Ford and Paul Gross.

*I know it would be more interesting if I could talk about who our client is... but the deepest, darkest sort of nondisclosure magic has bound my lips and my pen so that I cannot use certain names.

Friday, April 10, 2009

Ola Bini on the Ioke Language


For those of you in Chicago Wednesday, June 10, 2009 I am going to be at Ola's talk about his new language Ioke. It should be exciting. Admittedly I haven't dug into Ioke yet. My plate is full with learning Scala, but every new language I learn teaches me something about the languages I already know. I expect Ioke will not be an exception to this rule. Doors Open @6pm Talk @6:30. Stop by and say hi.

Location:
ThoughtWorks, 200 E Randolph St. 25th Floor


Abstract:
Ioke is a new language, an experiment to see how expressive a language can be. It's a language for the JVM influenced by Io, Self, Smalltalk, Lisp and Ruby. It supports a prototype based object oriented system, is homoiconic, supports high level methods and macros and makes it easy to build DSLs and new abstractions from scratch. The presentation will first talk about the motivation for a new language, then talk about some of the more interesting features of Ioke, including the object system, the macro system and java integration features.

RSVP Here:
http://connect.thoughtworks.com/olabini/


Ola's Bio:
Ola Bini is a core JRuby developer and is the author of the book ‘Practical JRuby on Rails'. His technical experience ranges from Java, Ruby and LISP to several open source projects. He likes implementing languages, writing regular expression engines, YAML parsers and other similar things that exist at the border of computer science. Check out Ola's Blog. http://olabini.com/blog/

Saturday, April 4, 2009

Pycon 2009 videos of interest


Here are a few presentations I got alot out of at Pycon. This one by Ian Bicking, Topics of Interest, was good for me because I'm new to the Python community and It really covers alot of ground and gives you one person's perspective on a bit of python history. I also like the parts where Ian dives into some non technical topics of interest like women in computing (17:00) and postmodern programming(21:50). Plus the IRC comments at the bottom are at times hilarious.
http://pycon.blip.tv/file/1932161/

The second presentation by Jack Diederich, Class Decorators Radically Simple, is one that I found useful as in my one Python project I did I never used class decorators and it was good to get some ideas about how and when to use those. Check it out.
http://pycon.blip.tv/file/1949345/