Monday 21 April 2008

Getting hooked on twitter

For a while I kept seeing twitter being mentioned and kinda thought: why would I wanna know what some random person on the internet had for lunch?
I just didn't get it. I'm not totally sure I do get it yet - but I've kinda convinced myself of twitter by just thinking of it as an open IRC where you subscribe to people rather than chat rooms.

To use messaging middleware speak, I've not been the biggest fan of IM as it tends to lead to loads of point-to-point conversations with lots of duplication. I find myself saying the same thing again and again to people on IM. Plus IM feels way too invasive; I tend to hide away from IM to avoid getting hassled these days :). With IRC I can say stuff to the room instead which avoids me having to say the same thing again. Plus IRC tends to feel less invasive; I can read it when I feel like it but otherwise kinda ignore it

Twitter so far is kinda feeling like a combination of blogs, IRC and SMS; where you subscribe to people rather than rooms which helps cut down the noise. If someone's getting annoying or boring, just stop following them. The brevity of posts (140 characters) also helps trim down the noise and fluff leaving a mostly interesting stream of kinda mini-blog-posts and banter. So far I'm hooked! :)

If you are on OS X try out twitterific as a Twitter client. While IM is a pretty reasonable way to work with twitter - I do like not running my IM client and using twitterific instead :)

If you have an iphone there's a bunch of clients available; so far I'm liking twinkle

Feel free to follow me if you like. Also check out twubble as a great way to find new folks to follow - nice work crazybob!

Friday 18 April 2008

Google AppEngine is very impressive!

After never having hacked any python before or looked closely at django and never having used BigTable, I spent a little over a day and managed to hack up, what is (to me anyway!)- is a very useful little web app I've wanted for a long time: http://latrz.appspot.com. Its highly scalable & available and resilient thanks to BigTable. Its kinda amazing really.

Sure Amazon has lots of similar stuff at the bits and bytes level. EC2, S3, SimpleDB and the new file system stuff are cool too, don't get me wrong. For some things the power and flexibility of the Amazon offerings are great. 

Though for creating web apps I love how AppEngine takes all the hassle out of figuring out how to host, load balance, deploy and manage your app. I didn't have to mess with elastic IPs or DNS or web proxies or figure out some load balancing stuff, get scalr to work or install some ninja unix file system into a vmware image that mirrors itself onto S3 or anything. I just hacked up some simple python on my laptop, tested it locally with the AppEngine SDK, typed a command into my terminal (while on a train :) and within seconds its live on googles infrastructure and working really well.

I guess some web developers are gonna push back on the use of python but I'm sure google will release Java / JavaScript flavours of AppEngine soon making it not much of an issue. Who knows maybe even PHP too - not sure about Ruby though, I dunno if they've figured out how to make a ruby sandbox yet.

I'm sure ultimately this is gonna be a big game changer for those making public web applications; it takes so much hassle out of making web apps - and makes creating highly scalable & available web apps very rapid & fun. Well done googlers; I'm very impressed.

Wednesday 16 April 2008

Latrz - a handy web app for reading stuff later (latrz)

I've wanted something like this for the longest time! I've found when surfing, chatting online, working with email that I keep stumbling on loads of links to interesting stuff I wanna read - but just not right now - later.

I've often kept open loads of FireFox windows for stuff I should read soon (which then means I struggle to find what I am currently reading/working on from stuff I wanna read later). Then I've been through phases of cutting and pasting interesting articles into files/wikis for later. I've always felt this was sucky and wanted a nicer solution.

Now there's latrz and I confess to being totally hooked already :).

Basically if I'm on a page I know I wanna read, I click the Read Latrz bookmarket, then close the browser or carry on doing what I'm doing. Then when I've time I just click on the latrz site to read whatever takes my fancy, then mark it as read when I'm done to remove it from my reading list.

Go on, give it a try or subscribe to the Latrz Blog, you know you want to :)

Using Scala to create a better Camel DSL for Enterprise Integration Patterns

Gert Vanthienen has been doing some amazing work creating a DSL for Camel using Scala. I'm amazed at how neat and concise it is. Go Gert! :).

I'd previously experimented with Groovy and Ruby DSLs and found them to be little more verbose (e.g. having issues of needing to pass 2 closures/blocks to methods like when or filter, one for the predicate and one for the block to execute if its true).

You can grab his slides from the recent ApacheCon talk. I'm really liking it. The Scala use of separate syntax for functions/predicates and blocks helps improve the Camel DSL hugely

Thursday 10 April 2008

Apache Camel 1.3.0 released with 208 new features & improvements

Its taken a while to get there but we've finally got the new Camel 1.3.0 Release out of the door which includes 208 new features, improvements and bug fixes described below. Also as David has blogged recently we've MSMQ support now along with Esper and an Esper Demo. Many thanks to all those who helped ride this beast out the door. Enjoy!

New Components

  • AMQP
  • DataSet for easier load testing
  • JCR for JSR 170 support
  • List for UI and tooling integration
  • Stream for working with input/output streams
  • Test for easier functional testing
  • XQuery for easy XQuery based transforms for Templating

New Data Formats

New Languages

New Enterprise Integration Patterns

Please see Release Notes for more details. Download it now while is hot to trot!