Richard Dallaway Hello! I'm Richard, and I write things down here.

23 Jul 2008

Scala London Coding Dojo

Gareth is at the keyboard

Monday was the first Scala London User Group meeting that was held around a keyboard. Robert Rees arranged for a room, food, and drink at ThoughtWorks, Jamie Webb kindly gave an intro to Scala talk, and Aaron Roth provided print outs of a Scala for Java Programmers cheat sheet…and so we spent time working on the supermarket problem.

I counted 19 people (of which 3 were Brighton based), of mixed abilty (from functional people or Java people who had never touched Scala, all the way to expert Scala-heads), and we had working, unit tested, software by 10pm. Which—given that coding dojos sound a bit mad—is pretty good going.

14 Jun 2008

Comparing closures in Java, Groovy and Scala

On Paul’s return from JavaOne this year, we spoke about Neal Gafter’s Closures Cookbook talk. From what I understood, this was a look at the BGGA closures proposal, and contained an example that pushed hard on some of the tougher closure issues for Java. I thought it might be fun to look at the Java example from the talk, and covert it to Scala and Groovy.

Why those languages? Because they are the three JVM languages I’m most interested in. I suppose I could also have compared the closure support in Jython, JRuby or… well, there are a few to choose from, but this blog is going to be plenty long enough with just three.

13 May 2008

Mobile Monday: Monetisation through Advertising

Mobile Monday

Last night I was at Mobile Monday London to catch four presentations. The topic: advertising on mobile. The summary: there’s a need for better measurement.

Claire Valoti from Mindshare was up first, giving the agency view of mobile advertising. She split the appeal of mobile in a media plan in to two parts: as a delivery mechanic (to extended reach, getting to a winder audience in a different mode); and as a platform (for couponing, or video uploads). She then went on to describe some issues and themes… and standardization and measurement were pretty much top of the list. That is, there’s currently no good standard measure of reach, sessions, traffic or users for mobile advertising. And even if there was, it needs to be integrated into existing web buying systems, rather than via a mobile-specific system.

13 Apr 2008

Decrypting JetS3t Files

This post is going to be a bit niche. The scenario is that you’ve used JetS3t to backup data to Amazon S3 via the synchronize tool, and in particular you’ve used the -c option to encrypt the data. But you’ve downloaded the file with another tool, such as ForkLift or S3 Browser. How do you decrypt the downloaded file?

The default encryption is PBEWithMD5AndDES, and with that knowledge you may be able to find a tool that can decrypt it for you. I went a different way, and just hooked straight into the encryption utilities inside JetS3t:

16 Mar 2008

QuickTime for Java

A few months ago I was experimenting with QuickTime for Java. It’s the binding between Apple’s QuickTime “stuff” and the Java language, allowing a Java developer to invoke QuickTime on the Mac (and presumably also on Windows). The reason this appeals is that we do Java, and have accumulated a fair amount of Mac hardware.

To cut a long story short, my limited experienced shows that QuickTime, when compared to the standard Java image libraries, produced smaller images of higher quality, faster. It’s unusual to get all three benefits together (smaller, faster, better). Too good to be true, even, which leads me to think I’ve screwed up someplace, but I’ve not spotted it yet.

03 Feb 2008

Getting Started with Scala

Friday night was the first London Scala User Group meet-up, so it seems like the right time to say what I’ve learned so far about the language.

I’m not a functional programming person. My background, pre-Java and C, was dominated by POP-11 so it’s fair to say I’m more comfortable with imperative coding than anything else. But that’s kind of why Scala’s a serious consideration for me: it doesn’t force the functional stuff down your throat, but rather it’s all there, object and functional, so you can pick and choose.

02 Jan 2008

Android Developer Workshop

At android thing in London

Half-day workshops are great: you get away from distractions; get to ask questions and get quick answers to cover off those things that are bugging you; you’re more-or-less forced to spend more time hands-on with a technology; you get a sense of the buzz around something and which bits are good and bad; and… it’s only half a day gone if it doesn’t turn out that way. For those and other reasons I attended the Android Developer Workshop at Google London on 17th December 2007, hosted by Dick Wall. It did a fine job of highlighting the current state of Android and which areas are the important ones to focus on.

07 Dec 2007

Silverlight

I’m impressed with what I’ve heard about Silverlight. Microsoft put on an evening event in Brighton, bought a few beers, and tried to show Silverlight. I say “tried” because it turned into an evening of question answering. Which was fine: I could have done with seeing more, but I guess I can find that online.

Judging by the numbers, there are a lot of people interested in learning about the technology. So what is it? We were told it’s not a “Flash killer”, but you know what… the differentiation between Silverlight and Flash is subtle, so comparisons to Flash are going to be difficult to avoid. It’s probably fair to say it’s not a Flash killer yet, as Flash will have the edge in experience and capabilities for a while. But beyond that, it’s probably not a Flash killer because I suspect Silverlight doesn’t care about Flash or competition from Flash.

22 Nov 2007

Future of Mobile 2007

Daniel Appelquist

What follows are the remarks or thoughts I noted down…

Consumers

Content creation

 

22 Oct 2007

Watching Production Logs

I’ve always believed that production application error logs should be empty. I’ve also implicitly assumed that any errors in live application logs are rare, freakish, occurrences, and on the whole of little relevance. But… what would it take to get an empty error log? Or at least an error log that only contained truly anomalous events?

You know what I mean, right? You sprinkle your code with log.error("a bad thing happened", exception), and during development and testing maybe you see them. On your production machines you might be lucky enough to have someone who knows and watches the logs, or perhaps you occasionally look at the logs yourself: but on the whole they are ignored unless someone starts jumping up and down—and then you take a look at the logs.

15 Sep 2007

Barcamp Brighton 2007

Playing css specificity snap

Tick… I’ve now attended a BarCamp. I absolutely loved it: many topics + small groups = a great opportunity to learn and chat about lots of stuff.

Some of the stuff I managed to sit in on, included:

I spoke about Mac OS X Server, which is something no-one seems to use. I’ll maybe write up my presentation at some point.

17 Aug 2007

A comment on static typing

There’s a line of thought put forward by Neal Ford to help Java developers get over any hang-ups they may have with dynamic typing. If you like compile-type checking of your types, maybe you’re worried “that utter chaos would reign if we discard typing”. Neil’s argument is that: (a) unit testing is good; (b) 100% code coverage is good; therefore static typing buys you nothing:

“If you have pervasive testing, static typing == more typing. The static typing is nothing but a requirement to type extraneous code to satisfy a compiler that isn’t telling you anything interesting anymore.”