Mike Roberts' blog on tech and life


Subscribe to "transMorphic" in Radio UserLand.

Click to see the XML version of this web page.

Click here to send an email to the editor of this weblog.


Tuesday, May 06, 2003

Saying goodbye to Radio

Radio is annoying me by its closed-state nature and its lack of ability to move (easily? at all?) to a different machine. So I'm going to stop using it and write my own blogger (why? why not...). So please go to for a link to my current blog (which will continue to be Radio for a few weeks.)

5:00:31 PM    

Wednesday, January 01, 2003

Happy New Year!

Everyone else has said it, so I don't see why I can't. :)

This has been one of my more maniacal new years. Went to a very cool party in Battersea (apart from the fact we actually missed midnight - DOH!), got home about 1 am, finished packing, got to bed at 2, then got up at 6 with an absolutely stinking hangover to get to Heathrow to catch a plane to Chicago (where I am as I type this. )

So I've currently been up 18 hours on 4 hours sleep, and I need to stay up at least another 4 to avoid jet lag. Its lucky I'm still young. :)

11:51:13 PM    

Test Driven Development - Kent Beck

Just read Kent's new book on a plane trip to Chicago. I've been dabbling with TDD for a little over 6 months now, but the book was definitely worth reading.

As Joe said to me "it's written like a pairing session" which I agree with, and the theme that crops up most strongly to me is that the red/green cycle is very short for Kent - he explains why and I'm interested to try his style.

One of the other things I liked was the number of different little techniques that come out, for example the "Log string" testing pattern which is a simple way of testing the order of methods being called.

Stuff that isn't in the book is a detailed look at specific extensions (eg there's only a page and a half on Mock Objects), but that's kind of in the spirit of the book being fairly lightweight.

I definitely recommend it for new and existing Test-first/TDD'ers

11:44:20 PM    

Tuesday, December 31, 2002

Cygwin + TightVNC = Windows remote access heaven (and a possible .Net winner...)

Cygwin always was good at making Windows more usable, but it now has SSH server capabilities which means I can log in to a Windows machine remotely (and fairly securely.) A useful guide to setting it up is here. Now some windows applications will barf if run from a Cygwin command prompt because they get confused by the UNIX environment, but in a Cygwin shell you can always run 'cmd' to get a Windows command shell, so that should solve this problem.

If I also put TightVNC on the machine I can now not just remotely SSH login, but also choose to take over the desktop (with a little help from SSH port forwarding). If you do this, you need to allow 'loopback connections' (there's a checkbox in the VNC config window).

Why do all this? Well one reason is .Net . I like the look of .Net from a development perspective since C# has some nice features, and the .Net platform is pretty rich. But my SysAdmin side (get back in the box damn you! :) ) chokes at the idea of deploying any kind of real application on a Windows server farm. Stability isn't so much the issue these days (apart from IIS, but I think the Redmond boys are working on that), but manageability is because you *need* terminal services or the like running. I've deployed real applications on real server farms and I would take 6 open shell prompts over 6 open terminal service windows any day.

But if I had SSHD installed on all the Windows Servers in my farm that would make a real difference. There's still things you need the GUI environment for, but with VNC running that enables that too. So double bonus!

2:09:36 PM    

Monday, December 30, 2002


A simple, open-source NTP client for Windows. Exactly what I was looking for the other night.

7:59:23 PM    

Friday, December 27, 2002

NAT-tacular (or secure home networking on a budget)

I finally got ADSL a few weeks a ago and have been having fun with sorting out my home network. If anyone is interested in this kind of thing, feel free to read on...

ADSL Provider - Plus - I thoroughly recommend them if you are in the UK. Cheap, very efficient and loads of 'added-value' stuff built-in. And they give static IPs without even being asked! And if you do go with them tell them your referrer was 'tmorph' and I get a bonus! ;)

ADSL interface - Alcatel Speedtouch Pro from DSL Source. Since these are pretty old now, this was dirt cheap. I wanted a router rather than a modem since I didn't want to have to worry about driver problems. The 'Pro does NATting and port forwarding, which was all I really needed above basic connection.

Firewall - My Speedtouch Pro plugs directly into an old Pentium-200 / 64MB machine I had kicking around. I use Smoothwall to turn this machine into a robust firewall. Smoothwall is great - it includes a DHCP server, easy web configuration, web proxy, etc.

Hub - I had an old 5 port 10Mb hub already - the internal network card on my firewall plugs into that. I might buy a Wireless hub another day. :)

IP Networking - So now the interesting bit. I want my 'real' machines to have full access to the Internet, and I want to selectively port forward external requests into my 'real' network. The tricky bit is that I effectively have 2 routers (the speedtouch and the firewall). So, I have NAT setup on the speedtouch for a network. The firewall is a client on this network. But it is also a NAT server for the separately NATted internal network (on Internal access to the 'Net worked straightaway (much to my surprise). I then still have available for even more NATting on client machines (e.g. for hooking up my Zaurus to the net via USB on my desktop)

I then setup the Speedtouch to forward all requests to the firewall by using the Speedtouch's CLI and the 'nat defserver' command (see here for a rough guide to the speedtouch's CLI.) This means that my Smoothwall firewall gets all inbound traffic, and then I can decide what to with it with further port forwarding using its Web GUI - easy!

Conclusion - I now have a secure, extendable and cheap home network. The only money spent on software or hardware was ~ 80 UKP on the ADSL router - all the rest of the hardware I already had spare, and the firewall software was free.

6:58:34 PM    

Tuesday, December 03, 2002

Interfaces considered Important.

Coding Conventions - _I_ want to kill the Impl.


 What I do know, however, is that classes are the principle objects in Java, not interfaces. Interfaces are handy, dandy and cool, but they're there to help structure your classes and allow interoperation without multiple inheritance, NOT to be the prime way of programming. If you're thinking "I'll just program to interfaces and forget about those classes", you need to come up to speed because I think that fad went out a couple years ago.

-Russ [Russell Beattie Notebook]

This is interesting, mostly because I used to agree, and now disagree (sorry Russ). I think interfaces are one of the most under-used and useful parts of Java. I certainly believe that if you do have a class and an interface that it implements, the interface gets priority, ie. the unadorned name of the thing. <snip>

 [Pushing the envelope]

Simple example:

	List myList = new ArrayList();

Do I care what class 'myList' is? No, not at all. So here, programming to interfaces is totally legitimate. If in a round of performance optimisation someone wants to go and change the class used they can (as long as the test suite still works, of course ;) )

However, I'm by no means an 'everything must be interface / implementation separated' kind of guy. I personally think that interfaces should appear out of refactoring (normally - if you're making a public API then that might be a different matter, but I'm not going to try and think about 'test-first APIs' here!)

Regarding naming though, I hate calling things 'Ifoo', and I'm kind of inbetween about whether 'FooImpl' is a great thing. If you are only producing Interfaces out of refactoring there's probably going to be more that one implementation anyway, so calling it just plain 'FooImpl' isn't a great idea since that implies that there's only one significant implementation.

2:35:02 PM    

Tuesday, November 19, 2002

IDEA's good, but its not that good

IntelliJ IDEA is a truely fantastic Java editor - I've been using it for ages now. However, the price for it from January for a single license will be $499! Now for big corporates this might be OK, but there's no discount for hobbyists.

I believe that a lot of existing IDEA company customers will be so because someone has used it at home and brought it to their workplace. By giving their product such a high price, IntelliJ are making this kind of scenario much more unlikely.

So I'm off to try eclipse again...

4:16:39 PM    

Wednesday, November 13, 2002

C'est Dave Green

Had fun last night listening to Dave Green of NTK fame talking about various things. If you ever read The Register, or Slashdot for the actual news, you should read NTK.

9:32:56 AM    

Monday, November 04, 2002

Zaurus Fun

James already posted about Missile Command on the Zaurus, but I've also had fun with:

And I've read my first e-book - H.G. Wells' stuff is all out of copyright now so I was happily reading Time Machine on the tube last week. While listening to MP3's. The Zaurus really rocks...

5:37:57 PM    

Saturday, October 26, 2002

Its all rather academic

While browsing around realised my old University tutor 'open sourced' one of his books. One day it would be wonderful to go back and re-learn all that stuff I used to know...

6:22:42 PM    

Wednesday, October 23, 2002

More bloggers

Chris Stevenson is a fellow ThoughtWorker. Most of my recent work has been a joint effort as we pair a lot and I really can't describe how scarily smart he is.

[Joe's Jelly]

Yup - hello Chris! I've been working with Chris recently on some CruiseControl bits and bobs (Chris came up with the clever stuff and I hacked some CSS ;) )

4:31:05 PM    

for Radio users with a PDA.

If you use Radio and you have a PDA with a web browser and want to read your RSS news on your way to work, like I do with my Zaurus, I hacked together a quick Jelly script in about 10 minutes this morning to parse the HTML, strip out all the crap and the tables and just leave the blog postings. So it displays pretty good on my Zaurus.

[James Strachan's Radio Weblog]

Thanks James - I'll be sure to try that out at some point!

So a couple of weeks in and I'm really happy with my Zaurus. The keyboard works brilliantly for me (although I do have spindly little thumbs). Another plan I have for it is to write a Java mail client using something like Mail4ME since I want to use IMAP with different behaviours dependent on whether I am connected to the 'Net using a fixed connection or via IrDA to my Nokia 8310.

4:26:09 PM    

Monday, October 14, 2002

Well, I did it. After weeks of deliberations over PDAs, I got a Sharp Zaurus. Other possibilities were to get a Sony Clie (dead small and nice screen) or the small Toshiba Pocket PC. In the end I ruled out the Clie because of proprietory hardware and Palm OS, and I ruled out the Pocket PC because after trying an iPaq for a couple of weeks I didn't get on with the user interface.

I haven't had the chance to use it much yet, but things I hope to do include:

  • Using the Blackdown ARM port of J2SE 1.3
  • Getting TCP/IP running over the cradle and InfraRed (so then I can use VNC Server on it)
  • Getting a RSS client working to download blogs and Jira reports
  • Getting a Web-slurping thing working for reading web pages on the tube.

10:55:24 AM    

Friday, September 27, 2002


I've been using Jira for a while now, and am really impressed. The first thing that struck me was its speed, both in its implementation and the way it all fits together. As an example, the first time I got it up and running, I remember the distinct 'wow' factor of being able to setup users, projects, etc. with brilliant responsiveness from the application and at the same time finding all the features, buttons, etc. just where I would expect them to be.

Indeed, its so slick that its easy to forget its a web application!

For more details, follow Mike Cannon-Brookes' (one of the Jira authors) blog. Hell, follow his blog anyway if you're a Java techie - he says a lot of interesting stuff.

3:50:44 PM    

CruiseControl 2.0 has been released. I've been using (and submitting a couple of patches to) the CVS version (which is what has just been released) for a couple of months now, and can honestly say its way better than version 1.

3:35:52 PM    

Saturday, September 21, 2002

MC4J is released as open source. For those using JMX it looks like there's a new Swing based management console thats open sourced called MC4J. Might be worth a look; the screen shots look pretty good. [James Strachan's Radio Weblog]

Looks cool. That combined with MX4J seems to offer (from reading the webpages) a fairly comprehensive open source generic JMX solution.

12:59:19 PM    

Click here to visit the Radio UserLand website. © Copyright 2003 Mike Roberts.
Last update: 5/6/2003; 5:00:36 PM.
This theme is based on the SoundWaves (blue) Manila theme.
May 2003
Sun Mon Tue Wed Thu Fri Sat
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Jan   Jun