Wednesday, 31 October 2007

free ringtones are really easy on hacked iphones...

So this friend who hacked his iphone was telling me, you just use Fugu as an FTP client and copy any MP3 / AAC files you want into
/Library/Ringtones
And hey presto, they just work as ringtones on your phone. Neat!

[LazyWeb] maven pom trimmer plugin idea...

So its so easy for maven pom.xml files to get a little large; full of stuff they don't really need - or more importantly, full of stuff the end user doesn't really need to use your library. Its even easier for the stuff you depend on to pull in heaps of stuff you don't need.

e.g. ever picked the wrong clogging pom.xml section and shoved in a dependency on log4j, logkit and avalon on your project? (Its such a shame sun messed up the clogging space btw).

Its way too easy in maven to not really see or care what dependencies you really have, including those transitive ones - and we end up with lots of unnecessary crap. It can be a bit scary to run 'mvn site' then look at dependencies.html to see all the stuff maven's pulling in.

So here's the idea. Its a bit like Jester. When all your tests pass; you run the pom-trimmer; what it does is try removing bits of your pom to see if your tests pass. It tries all the permutations to figure out how much crap it can miss out. (So commenting out sections/>).

Next though is it should walk the transisitve dependency graphs and find all the transitive dependencies and try avoid those (using tags on the dependency) so it can clean your pom down to just what you really need.

We should try get into the habit of running this before a release so we can all try keep released pom's as free from junk as possible.

So any volunteers to hacking up this little Mojo?

Friday, 19 October 2007

iPhones rock, even in the UK!

This blog post is obviously about a friend of mine; as I'd never be naughty and hack an iphone. So i've got this friend right, he's a bit of a geek and lives in London m'kay. A friend of his showed him his iphone working beautifully in the UK with a normal UK SIM card. My friend was super jealous and got another friend to buy him an iphone while in the states.

The iphone then turned up in the usual gorgeous Apple packaging. After following these instructions (as it was a 1.0.2 firmware) it was activated and jailbreaked like a charm with some neato apps on it (and openssh etc). I love 'Sketch' BTW! :). Colloquy is pretty good for IRC too

Then these instructions were followed to unlock the SIM...
From your phone, open Safari and visit the following website: http://i.unlock.no - a dialog will appear and ask if you want to add a new package source. Tap on Yes. The Installer application will now automaticly launch, and it will refresh the list (if it doesn't refresh, tap the refresh button).

In the list of applications, scroll down almost to the bottom. Under the category "Utilities" you should now have "anySIM" there. Tap on it and install it (hit yes on the warning dialog). When done, press the home key, and wait for the phone to refresh. Now you should see an anySIM icon on your phone.

Before you start anySIM, go to Settings ? General ? Autolock and set it to Never. Now you can press home button, and tap on the anySIM icon.

Slide to unlock, and read to the bottom and tap the red button. This process will take some time, so just sit back and relax. When it's done, you get a message telling the result. If it's an error make note of that error, but don't worry yet.

Insert a SIM from a carrier of your choice.
If you get signal, your phone is unlocked and you are done!
See iphone.unlock.no for additional reference notes.
Finally these instructions were used to change the SIM card and hey presto - a totally working iphone in the UK with a normal SIM card.

My friend is really really happy with his iphone - and is especially glad he accidentally broke his previous phone by dropping it which meant he just had to get an iphone to replace it :). Other tips from this friend of mine is to surf your gmail use
Though you didn't hear any of this from me m'kay. I've gotta say am really impressed with the iphone - its an awesome device.

Wednesday, 3 October 2007

Update: Screencast of Apache Camel and EIP - now for windows! :)

Some folks on windows reported issues watching the screencasts (thanks James and Chuck for your feedback!). Well you could always treat yourself and just buy a Mac! :)

For those still waiting for their Mac who are still stuck on a windows box there's now some WMV formats of the quicktime movies. For example
Also thanks to Dan for converting them :)

Monday, 1 October 2007

Screencast: An introduction to Apache Camel and the Enterprise Integration Patterns

I've created a short screencast introducing Apache Camel.



A high quality version of the screencast also available.

Hopefully I'll get a chance to create another screencast soon walking through a demo and showing the various visualisation tooling etc.

Thursday, 20 September 2007

ServiceMix is now a top level Apache project!

From Guillaume's post...
I'm really pleased to announce that the ASF Board has approved Apache ServiceMix graduation :-) This means that ServiceMix now becomes a full Apache Top Level Project. So we will soon make our first official release of ServiceMix 3.1.2 and 3.2 coming later. This also means that the resource will be moved to their final location: the website will be moved to http://servicemix.apache.org/ and the svn repo to https://svn.apache.org/repos/asf/servicemix/.

In addition, I'm honored to have been voted as the Apache ServiceMix PMC Chair. The PMC (Project Management Commitee) is the group of people responsible for the project oversight, and its Chair is the interface between the Board and the project.

I just want to remind people the purpose of the Apache Incubator: its main responsibility is to watch new projects at the ASF to make sure that no IP problems remains and that there is a vibrant, diverse and sustainable community around the project that goes the "Apache Way". This is in no case about the quality or maturity of the software itself, as incubating projects greatly vary in these areas (from brand new projects to very mature projects joining the ASF).

Yay! Congrats to the entire ServiceMix team!

Tuesday, 4 September 2007

Pure RESTful API to ActiveMQ via AtomPub

Here's an early draft of an attempt at describing a purely RESTful API to ActiveMQ using AtomPub. Mapping a message broker to REST and AtomPub turns out to be much harder than it looks.

The trick I've used in this draft is that consumers subscribe by creating a new subscription Entry (as a new Entry in the subscriptions Collection) which times out eventually if the consumer goes away. Then each consumer consumes from its own Feed, so that things are nicely load balanced etc.

As usual - any feedback most welcome

10 reasons to model XML with RELAX NG , not W3C XML Schema

A great post by Griffin Brown is 10 reasons to model XML with RELAX NG , not W3C XML Schema

I'm really pleased to see the move away from J2EE to simpler POJO models; away from complex WS-deathstar to simpler REST, to JSON away from complex XML + namespaces + XSDs etc. Am hoping the trend continues with more and more people moving to RelaxNG Compact Syntax away from XSDs...

Monday, 3 September 2007

Got a Mac? Use TextMate? Try GetBundle

If you've a Mac then do try TextMate; its an awesome editor and part of my favourite OS X software. Its not a replacement for your Java IDE; but is very handy for editing everything else :). I often type this into the command line...
mate someFolderName
To browse a Java project quickly, without doing the whole Java IDE create project thing; which can sometimes take a while...

Today I stumbled on the GetBundle bundle which is a really nice way of adding new bundles. Also the Groovy/Grails bundle looks good!

Friday, 31 August 2007

Whats happening with FUSE ESB

Guillaume has a great post on FUSE ESB...
My company IONA provides support on Apache ServiceMix via a distribution called FUSE ESB available from the Open Source IONA site.

What's in FUSE ESB right now? Well, it's roughly a distribution of ServiceMix trunk. This implies that FUSE ESB is released ahead of the Apache ServiceMix distribution (the latest release is 3.1.1, whereas FUSE ESB is based on 3.2).

Why are you using the latest trunk instead of the most stable branch? Well, mostly because our customers needs some of the latest features available. We take great care of what is in our Fuse branch: we do not necessarily backport all new stuff from trunk. We may also add some specific customer needs inside our own distribution, features that are not present in the trunk version.

So is that a fork? Certainly not :-) We have always supported Apache ServiceMix and we will continue to do so. But our customers have specific needs, so we may need to do custom development or have custom branches for them to fullfill these needs. Over time, we put the features that we consider generic enough back to the community. But this level of support can not be provided in a community driven environment such as the Apache Software Foundation. Let alone the fact that our customers often require privacy regarding their issues or their specific needs, environments and projects, so that it becomes difficult to use the open mailing lists of the community.

So is that a closed source version? No. The Apache License would allow that (quite the opposite of the GPL), but this is not what we aim for. Our process is quite open: as an example, I've recently developed an AsyncBridge EIP pattern for FUSE ESB (see the issue) that will certainly be contributed back to the community...

Hopefully, this blog entry will clarify a bit the IONA policy with respect to the Apache projects it supports and the relationship between FUSE ESB and ServiceMix. Feel free to download it and give it a try...

Friday, 17 August 2007

Podcast on Apache Camel, Enterprise Integration Patterns and 1.1.0 release

I had the pleasure to be interviewed by Dana Gardner, principal analyst at Interarbor Solutions about Apache Camel recently. You can listen to the podcast or read the online transcript. Apologies in advance for any rambling :) - I did enjoy it though.

In related Camel news, the Camel 1.1.0 Release has been cut and voted; its just about to move to the maven repo & Apache mirror system any moment now. Cool beans! It contains numerous new features... Incidentally I really love the new Visualisation plugin that can be easily integrated into your maven site generation as this example shows.