Brighton Ruby Users Group

Last night was the inaugural meeting of the Brighton Ruby User Group at the Eagle. I gave a (slightly) slimmer version of my Unicode for Rails talk1. I really should learn about code on slides though. Just because something looks good on screen, the lovely soft focus effect that projectors provide quickly turns it to mush…

Jay Gooby also gave an excellent off-the-cuff introduction to some of the neat bits which are up & coming in Rails 1.2 (simply_restful in particular). rake rails:freeze:edge is the magic. And if you get bored, just rm -rf vendor/rails.

But it’s the people that make the evening. And we had a superb turnout—at least 14 people. There were lots of faces I hadn’t seen before, which is excellent. Also, a very wide range of Ruby / Rails experience from “none” to “lots”. In retrospect, I hope I didn’t scare anybody with the deep technical stuff in my talk… Next time I think an “intro to Ruby” talk might be a good idea, judging by the comments.

Anyway, my thanks to James for organising. I’m looking forward to the next one!

1 Slides are over here.


Coding Dojo V

Last night I attended the 5th Brighton Coding Dojo. The task: to implement binary search in 5 different ways (source).

Only four people turned up (myself included), but we still managed to make a good go of things. Richard Dallaway had prepared an interface, a unit test and a sample implementation (using Arrays.binarySearch)). This was an enormous head start, allowing us to really focus on the problem at hand, as well as check that we’d actually implemented it correctly.

Binary search is an algorithm which is readily understood. Yet it has a large number of corner cases when it comes to actually implementing it. I believe that our basic maths skills were all found to be lacking. I think the only problem we didn’t come across was the infamous google’s large arrays problem.

When we’d finished, we’d managed to implement four different variations:

  • A SimpleSearch, which in all honesty probably doesn’t count, as it was pretty much a linear scan through the array.
  • A RecursiveSearch, which was far too much hard work for what it was doing.
  • A RandomSearch, which worked surprisingly well, once we’d upped the maximum number of attempts to something suitable large.
  • A GuessingSearch, which tried to spot when we were looking at a a value near the beginning or end of the array and optimise accordingly.

Overall, really good fun. Especially familiarizing yourself with an area of programming that you probably don’t use all that often. Once again, thanks to Joh for organising.

When I got home, I started on an alternate approach: converting the list to a string of numbers and counting the number of commas before and after. I haven’t finished this yet, and I don’t expect it to be performant, but hey’ it’s another approach!


Coding Dojo IV

I went to the 4th Coding Dojo last night. It was a small affair with only five people (plus Joh organising). Seeing as there were so few people, it was decided to revisit the previous dojo’s code and try to get it working. The task: to implement a small adventure game containing a few items (cat; tie; house; lift; something orange).

We started with some code which had a basic structure, but clearly didn’t work. By the time we’d finished, we had a main loop that could read commands and move around a very simple world of 3 locations.

But what was really interesting was watching everybody interact. Last night, it felt like we were getting to grips with the style of coding. We learnt that you had to continue pushing forwards in the same direction as the previous person if you wanted to achieve something. Jez did a really Good Thing™ by bringing along some index cards for doing stories. That really helped maintain continuity.

The time is also an interesting constraint. A couple of times people did things that seemed exceedingly dubious coding style to me. But on reflection, it was the quickest way of moving forward. Refactoring can come later. As an example, I was suggesting that we extract the locations we had into a separate class so they could be used by bothe the main game and the tests. But it turned out to be much quicker to make the fields public in Game and reference them from the test. I’d kill anybody who did that in production code. But it seems to be the right thing here.

I’m looking forward to the next one, anyway!


Brighton Ruby Users Group

James McCarthy is taking a stand! He’s started up Brighton Ruby. The first meet is 7pm, Jan 9th at the Eagle. Ideas are being solicited for talks. Do drop a comment onto the blog if you’re going to attend or even better are willing to talk!

I’m really glad to see this happening. There seem to be quite a few people doing Ruby (largely driven by rails) in the local area, and it’s great to get like minds together and discuss ideas. I wish I was one of them, but instead I’m getting driven deeper and deeper into Java land by work. Which is interesting, but has quite the masochist feel (e.g. learning cocoon). Still, I hope I’ll be able to contribute.


jQuery in Brighton

I went to see Jay Caines-Gooby talk about jQuery last night. It was part of the Sussex Geek Dinner thing. jQuery looks really, really cool. I like prototype, but jQuery looks like it tries to do less. I was particularly impressed at Jay mentioning that the developers were taking features out. There are plugins for people who want more.

But what was really impressive was the revelation that he’d written the presentation itself in jQuery the previous night. Apparently it was about 50 lines of code, which he’d christened “bumnote” (as opposed to keynote), most of which got shown as part of the show. There’s a lot of power in there.

Apparently, it’s also good for making Unobtrusive JavaScript—there was an imposing picture of Jeremy in there.

It’s really good to try and get geeks together in Brighton, and this seems to be working well. I’ve come to realise that there are a large number of technical types in Brighton, but they tend to form in smaller communities. A case in point: yesterday evening I was in the pub with a few members from Brighton LUG (mailing list), and there was no overlap with the geek dinner. There’s at least one big divide between back-end types and front-end types. And then there’s a bunch like Flash Coders Brighton. And the farm.

There appears to be little crossover between all these groups, apart from the BNM list and events like d.Construct. Geek dinners feels nice because it’s starting to appeal to lots more people…


Circus of Horrors

We’ve just been to see Circus of Horrors at the Brighton Centre. Sadly, the scariest thing was the venue itself. Don’t take that the wrong way. The venue really was diabolically awful. We had seats (cheap seats, admittedly) on the right hand side of the stage. But even with cheap seats, you expect to be able to see the performance. What was nice was that there was a video screen for the highlights in case you couldn’t see the front of the stage. Sadly, the view of the screen was blocked by a large speaker stack…

It was bad enough that at the interval, they opened up another section of seating behind the main section in front of the stage and moved everybody there instead.

Needless to say, I’m going back to the box office to try and get some money back. There is no way that tickets for those seats should have been sold in the first place.

But the venue is still revolting. It’s like going in to a school assembly hall. At any minute you expect someone to come over and force you into singing Kum-Ba-Yah. And then you’ll be lectured to death by a boring man in a grey suit. Really. It’s that dismal.

But what about the circus itself? Some good bits, some bad bits. I feel that it would have been much better if it could have made its mind up as to what it actually was. Circus? Musical? Comedy? Freak show? It felt like jack of all trades, master of none.

Good: Midgets in kilts pulling vacuum cleaners around the stage with their genitals. Fire. Angle grinders. Some of the acrobatic sequences were really very good (especially when paired with Tubular Bells).

Bad: The incessant “rock” music covered up any attempt at dramatic tension. Some of the sequences felt decidely unpolished. The spotlights that shone straight into your eyes. All the deliberate musical sequences were pretty dire. The sound system was also not really that good (though that may have been the Brighton Centre).

Overall, I’m glad I went to see it. But I’d much rather see Circus Oz again if they come back to town…


Busy Week

Last Wednesday, I found out that the Brighton Comedy Festival. Unfortunately, it had already started. It’s a shame it seems to have been under promoted this year—there are some really good acts on (plus I missed going to see Marcus Brigstocke). I immediately booked two tickets for Sue Perkins the same evening.

Sue put on an excellent show entitled “The Disappointing Second Show”. Even though it was all about disappointment, it didn’t seem that way. She creatively meandered over large swathes of territory (and extremely loud hecklers), including a very funny discussion of what would actually be on a pink pound…

On Thursday evening, I wandered into the local borders to see Robert Lacey talking about history in general and his latest book in particular. I really find his approach to history excellent for someone like me who detested the subject at school. Concentrating on the narrative makes remembering things much easier.

On Friday, I went to see Fear and Loathing in Las Vegas at the Duke of Yorks, at midnight. I love Terry Gilliam’s works, and this was no exception. Watching a room full of people turn into lizards can’t be beat. And a good cast helps things too (Elijah Wood scares the bejesus out of me after Sin City and this didn’t help matters).

Saturday was mostly spent dropping things on the floor (late nights don’t agree with me much any more). But on Sunday, we took off to see Rich Hall at the Corn Exchange. A grizzled, sarcastic american who swears a lot. It was obviously funny. Especially when he started on about shooting gophers in Montana. But what really surprised me by the end of the performance was the sheer humanity that was hiding underneath the prickly veneer. I came away hugely impressed.

Monday night was completely different. I partook in the first Brighton Coder’s Dojo. Jez Nicholoson and Tom Hume have already written it up quite well. I enjoyed it, although the 5 minute limit really became very clear when I erroneously tried to track down something in the debugger.

Yesterday, I was about to go out to the latest Café Scientifique, but… My central heating went wrong instead. So I had a lovely evening in with the plumber. Ah well. Time for a break.


Sussex Geek Dinner

I went to the Sussex Geek Dinner last night. Tristan Roddis was talking about Plone. I was initially very skeptical, as I had a bad Zope experience several years ago. I’m extremely glad to see that development has come on a long way. Whilst there’s still a very steep learning curve, you can now actually use source control with it, which was still not really done when I last looked (circa 1999). Anyway, it sounds really powerful when you get to grips with it, which Tristan’s company certainly have. I also pointed out Varnish to Tristan as he mentioned using squid in front of a CMS. 🙂

I also found out that he’s working in the same building on the floor above me. Which is really the point of events like these. It’s all about bringing the local tech community together so we get to know each other better. I was really pleased to bump into a few people I hadn’t seen in a while last night. We had a great talk after the main show—mainly about photography.

Just after 10, a few of us wandered over to the farm meet in another pub. I bumped into even more people there and had lots of deliciously geeky talk. It turned out that Sevan had just been interviewed on bsdtalk two hours previously about his work on the Brighton Chilli hotspot project. I was quite shocked to find that interview downloading to my ipod when I got back home. Good work Will Backman!


d.Construct: post event party

I did manage to wander down to the terraces eventually. It was a huge crowd. It felt like 75% of the conference had made it down there. Sadly, I stopped to check my mail before going, so missed the tab behind the bar. Oops. 😦 Doubly so when finding out that they charge £3.10 for a pint of lemonade!

Anyway, I met a bunch of people whilst down there. It was really cool as they’re all local people that I just don’t bump into ordinarily, even though I cohabit mailing lists with them: Paul Dave Childs, Aidan Delaney, Tom Coady (whom I played a round of crazy golf with and ended up scoring 0xff). I must try and get out in Brighton more…

I also bumped into Paul Hammond and Amy, who are expecting a new arrival in a month or so. I wish them all the best. It seems like rather a lot of people I know are expecting right now.

Unfortunately, after doing the crazy golf, my earache got the better of me and I had to retire. I had a crêpe from the pier on the way back to try and build up energy for the ride home. A huge thanks to Jay Gooby and the Snipperoo team for sponsoring the evenings party. I wish I could have enjoyed more of it.


d.Construct: Understanding Folksonomy

Thomas van der Wal invented the term folksonomy. It’s all about tagging.

He’s raised an interesting point about tagging: identity. It’s very important to know who created the tags so you can decide who’s tag you want to trust. He uses the example of tagging an article on the middle east conflict as either “armageddon” or “mild conflict”. Through identity comes community.

Is there a conflict between folksonomy (tags) and taxonomy? Yes, but you can use the folksonomy to feed into the taxonomy. And probably vice versa.

At this point, my ear infection started playing up and I had to exit quickly to get some fresh air. Plus the laptop battery was dying.

I came back jujst in time to catch Jeff Veen talking about designing the complete user experience. He’s an extremely funny guy. Especially his idealised versions of the ebay & microsoft web interfaces… Jeff is embarrassingly tall and an excellent speaker. Oh, and he loves cycling too. Even after coming off going downhill in sanfran! His presentation should be up on somewhere, but I can’t remember the URL right now.

Anyway, it’s been a great day. All of us who went seemed to really enjoy ourselves and get a lot out of it.

Now, I’m going to see how my ear holds out and see if I can make it to the after show party down at Terraces. (not a bad place; I also attend Café scientifique there)