February13
Last night, we ran Agile Vancouver’s first Tech Talk session. The session was co-organized with Skye Cove at Sophos. The tech talk idea came out of our desire to get more technical content into the regular Agile Vancouver meet ups. We also wanted a different format from the regular monthly talking head presentations. Our goal was to create something that was more participatory, that would provide an opportunity for local Agile practitioners and techies to meet and share their knowledge and experience.
When planning the session we really didn’t know how many people would turn up. The previous attempt to do something similar ended up with very few attendees. So I was surprised to arrive at 5.45 and find that about 30 people were already there and more were trickling in. We probably ended up with about 50 people all told. I quickly realized that my idea of having an open discussion would not work — so we turned it into a fish bowl instead. I think that the fish bowl worked quite well and we had a pretty good variety of people opting to come up and speak.
The topic was “Branching and Merging on Agile projects”. Remarkably we managed to stay pretty much on topic throughout. I was especially happy to see some people come forward and posit unconventional positions like:
- source control is not necessary on Agile projects because it is an impediment to communication
- using file locking to control access to different parts of the repository
- distributed vs centralised source control systems
Now that more people are familiar with the fishbowl format, I hope that even more people will participate next time. A few things that we will change for next time:
- Greg Young suggested distributing cards at the start of the session to collect suggestions for the next session’s topic. We can post these on the wall and people can vote on them on the way out.
- Shorten the length of the fish bowl so that there is more opportunity for small group interaction after the session. I think restricting the fishbowl to 1 hour is sufficient.
- Greg also suggested collecting feedback on the session that can be collected at the point when people vote on the session.
I’d like to try some small group sessions or micro-open space sessions, but for now I think that it will be good to try to keep the format consistent as more people get the chance to become familiar with it. If you have other feedback or ideas for the event please let me know!
February11
I have been selected as a speaker at the Toronto DevTeach event on May 12-16th. I’m running 3 session:
- Automated Database Evolution and Deployment
- Recommended practices for Continuous Integration
- Home-grown Production System Monitoring and Report
Let me know if you’re planning to attend the event and if there’s anything in particular that you would like to see covered in this event.
February11
Since setting up this blog, I have been experimenting with various ways to display code on this blog. I started out trying some of the Wordpress plugins like SyntaxHighlighter that used the Google code javascript library, but I wasn’t very happy with the result.
Looking around, it seems like the Ruby community generally just handles code formatting using the Syntax module. Here’s the code that I have put together to handle formatting code for this blog:
require 'rubygems'
require 'syntax/convertors/html'
def convert(code)
convertor = Syntax::Convertors::HTML.for_syntax "ruby"
'<pre class="ruby">' + convertor.convert(code, false) + '</pre>'
end
if ARGV.size > 0
code = convert(ARGF.read)
File.open(ARGF.path + ".html", "w").write(code)
else
code = convert(`pbpaste`)
IO.popen("pbcopy", "w") { |clipboard| clipboard.print code }
end
One thing that I found that I had to be careful with, however, when pasting code into the WordPress editor is that it has a tendency to remove all carriage returns from pasted markup. Obviously this isn’t a problem normally, but when dealing with preformatted <pre> tags, it tends to break the formatting. It looks like most WordPress users who are comfortable with HTML just disable the visual editor.
February11
I’ve had my MacBook Pro now for just over a week and I have to say that I’m very impressed so far. It performs well, it’s well designed, it has great battery life and it is light and portable. I have to admit that I was a bit worried about adapting to OSX, but the learning curve was gentle and most things were quite intuitive. Now that I have a WindowsXP Bootcamp partition set up, it makes for a great .NET development laptop as well. One of my colleagues mentioned that you can use OSX disk utility to create an additional FAT32 partition that you can use to share common files between Windows and OSX. If I had thought of that then I could have set the Bootcamp partition up as NTFS. Anyway, all of that aside, there are still some things about the Mac that bug me:
- Why does Apple still insist on designing mice and trackpads with only one button? I know it’s a design thing, but honestly. Having to do crtl-click or have two fingers on the trackpad + click just seems to be poor usability.
- Once you minimize a window, it is very hard to find again. The only way that I’ve found it is to go to the Window menu and select the window’s title. Minimized windows don’t show up when you cmd+`. This seems to be a usability flaw to me, especially as in MS Windows minimized windows are easily visible in the task bar. Also as a Windows user, I’m accustomed to double-clicking on a window’s title bar to maximize it — in OSX, the window is minimized instead.
- In OSX, closing windows does not close the application. It is pretty easy to end up in a situation where you have a lot of applications running without realizing it because there are no open windows associated with that application. Coming from a Windows background, it seems pretty intuitive that closing the last open window would close the application, but apparently the designers of OSX don’t think so.
- The keyboard layout seems a bit bizarre to me. For example, why not have a separate delete and backspace key. If I want to do a Windows-style delete, I have to type fn+delete. This is a pretty common operation — why not dedicate a key to it instead of making it a combination key click. They could use the superfluous enter key which, at least on the MacBook Pros, is on the bottom right side of the keyboard. And while we’re at it, why not dedicated page up, page down, home and end keys instead of having to do ctrl+arrow key or cmd+arrow key.
February7
Last night I attended the first NetSquared meet-up. NetSquared is a forum for people interested in the intersection between IT and social change. This local event has spun out of the Web of Change community as a more regular place to keep in touch and share ideas. The session was kicked off by Tom Williams at GiveMeaning.com, self-professed Obama fan-boy. I was interested to hear Tom speak as I recently used the GiveMeaning site as part of Josie’s charity. Unfortunately, relatively little of his talk was about the site, so there wasn’t much new there.
The highlight presentation of the evening was by Igor Faletski from Handi Mobility talking about their new project livevote.ca. This simple Flash-driven site allows you to set up SMS-driven polls in seconds. Handi Mobility is behind the Translink SMS schedule system and they have set the livevote.ca site up as a free service. The poll results are easily embeddable within a web site as you should be able to see below:
At the session I also had the chance to catch up with Trevor Bowden, who I haven’t seen since high school, about his new venture EcoLabelling.org. This site provides a great service by helping consumers and businesses sort through the array of professed ecolabels out there, sorting the good from the greenwash.