See OpenJPA no longer requires bytecode processing from Patrick.
Awesome! This makes it pretty trivial to switch Hibernate <-> OpenJPA
Monday, 30 July 2007
Tuesday, 10 July 2007
a pure RESTful way of working with ActiveMQ queues
I've been snowed with the day job but really wanted to reply to niklas's post on A RESTful queue. It looks a great suggestion; I need to catch up on the discussion.
The REST support in ActiveMQ isn't really pure REST; as it uses non-idempotent GETs as a bit of a hack - though it does make it very easy to work with :). I’d LOVE a nice, proper, RESTful API to ActiveMQ. Though properly exposing message queues efficiently over REST while handling concurrency is a tricky problem, but its looking like some consensus is emerging. Niclas's suggestion sounds about right to me too.
Though I guess a proper REST API would involve more complexity on the client side (e.g. having to do a POST then follow a Location header to then do a DELETE or whatever). So even if we had the worlds most RESTful API, some folks might still want to use the non-idempotent GET hack (particularly if they no there's no caches in between :).
The REST support in ActiveMQ isn't really pure REST; as it uses non-idempotent GETs as a bit of a hack - though it does make it very easy to work with :). I’d LOVE a nice, proper, RESTful API to ActiveMQ. Though properly exposing message queues efficiently over REST while handling concurrency is a tricky problem, but its looking like some consensus is emerging. Niclas's suggestion sounds about right to me too.
Though I guess a proper REST API would involve more complexity on the client side (e.g. having to do a POST then follow a Location header to then do a DELETE or whatever). So even if we had the worlds most RESTful API, some folks might still want to use the non-idempotent GET hack (particularly if they no there's no caches in between :).
Ideally I was also thinking we should expose the entire broker on the Atom Publishing Protocol; so an APP client could discover all the queues & topics etc.
Am a bit snowed right now but ASAP I'd love to get a proper REST and APP protocol for ActiveMQ...
My favourite OS X software
It seems more and more fellow geeks are switching to Macs all the time so I thought I'd revamp my old post on recommended OS X software.
Incidentally while writing this post I ended up stumbling on my switching thoughts from 2003, so I guess I've been a very happy Mac user for over 4 years now (which also explains why that first generation 1Ghz G4 that I'm still using while on the road is so sloooowww - I can't wait for my new MacBook Pro to arrive...).
The one big change from my previous recommendations is that I don't use so many rich applications; as I can use the online versions on the move, on my desktop, laptop or phone. So I use Gmail for almost all mail - unfortunately I'm stuck with Mac.Mail for corporate email :(. I use Google Reader instead of NetNewsWire for reading blogs etc.
Since switching to gmail for email; I no longer feel the huge need for a virtual desktop anymore; I've gotten out of the habit. Expose is enough for me, especially on a 30" screen.
So here's my current list of recommended OS X software, excluding Java IDE (which I'm using IDEA but eclipse is good too on the Mac).
To other OS X users out there, whats your favourite software?
Update: here's Charles Millers list - thanks! I particularly like the look of Chax (certainly until Leopard with tabbed iChat).
Incidentally while writing this post I ended up stumbling on my switching thoughts from 2003, so I guess I've been a very happy Mac user for over 4 years now (which also explains why that first generation 1Ghz G4 that I'm still using while on the road is so sloooowww - I can't wait for my new MacBook Pro to arrive...).
The one big change from my previous recommendations is that I don't use so many rich applications; as I can use the online versions on the move, on my desktop, laptop or phone. So I use Gmail for almost all mail - unfortunately I'm stuck with Mac.Mail for corporate email :(. I use Google Reader instead of NetNewsWire for reading blogs etc.
Since switching to gmail for email; I no longer feel the huge need for a virtual desktop anymore; I've gotten out of the habit. Expose is enough for me, especially on a 30" screen.
So here's my current list of recommended OS X software, excluding Java IDE (which I'm using IDEA but eclipse is good too on the Mac).
- QuickSilver. I love it; though only really use it for starting up applications & tend to use it instead of the Dock
- text editor: TextMate
- for terminal stuff iTerm rocks. I love tabbed shells (though maybe Leopard might have this too in Terminal)
- for creating diagrams OmniGraffle is awesome. It can even open DOT files. Also if you have some open source which creates visualisations in DOT files, then the OS X version of GraphViz rocks - as it monitors the DOT file in real time and re-renders the graph in a surprisingly flicker-free way. I've used this with some customers to watch ActiveMQ clients startup visually as they deploy their applications.
- irc: X-ChatAqua
- xmpp: iChat
- MenuMeters for neat monitors of CPU, disk, network etc on the menu bar (I'm quite fond of the graph view for CPU usage)
- VoodooPad is a WYSIWYG editor for wiki-ish things which I'm hooked on. I just wish it auto-sync'd with GDrive :)
- ByteController for a nice little iTunes controller on the menu bar; so you don't have to switch windows when the phone goes or you wanna forward to the next track etc
- RadioLover for recording internet radio & installing it into your iTunes library; though if you're not careful you'll end up with a monster library :)
- Clutter is cool to play with your new monster iTunes library :)
- Growl for notifications of things (like IRC posts etc)
- Google Notifier for easy access to your calendar etc
- I tend to use gCal for calendering but sync it with iCal
To other OS X users out there, whats your favourite software?
Update: here's Charles Millers list - thanks! I particularly like the look of Chax (certainly until Leopard with tabbed iChat).
Tuesday, 3 July 2007
using TextMate to edit text in any Cocoa application
Many thanks to noodl for commenting on my previous post; turns out you can use TextMate to edit any Cocoa application. As noodl said...
Great stuff!
for editting text in TextMate from any cocoa application, see:
http://macromates.com/blog/2006/textmate-tricks/
"As noted on the blog, you need to install the Edit in TextMate input manager, which is done by clicking the gear menu in the status bar (inside TextMate), navigating to the TextMate submenu and selecting Install “Edit in TextMate”…"
And for firefox:
http://macromates.com/blog/2007/edit-in-textmate-from-firefox/
Great stuff!
Sunday, 1 July 2007
useful firefox plugin: Its all text!
For editing large wiki pages or big emails in gmail I find this fireFox plugin amazingly useful. Its all Text! Then just use your favourite editor; such as TextMate on OS X to edit text areas in any web page whenever you like. Neat!
Thursday, 28 June 2007
The iPhone looks amazing!
Ever since buying my first mac, the 1Ghz 17" Powerbook when they first came out (and its still going strong, although very very slowly :), I've been a self confessed Apple fan.
I thought the iPhone looked really cool & was drooling over it from the first time I heard about it and saw the early demos.
But after watching the guided tour and then the keyboard tour I'm amazed! They've done an incredible job getting so many of the little things sorted for the first release; am sure it'll keep on improving too. Things I really like...
I thought the iPhone looked really cool & was drooling over it from the first time I heard about it and saw the early demos.
But after watching the guided tour and then the keyboard tour I'm amazed! They've done an incredible job getting so many of the little things sorted for the first release; am sure it'll keep on improving too. Things I really like...
- the general user interface looks awesome
- SMS support is really nice!
- I love the google maps eye candy :)
- the headphones & the way that little button works is really cool
- I love the double click zoom (or pinch) and double click with 2 fingers zoom out
- turn the phone to switch on cover flow; nice :)
- tons of clever features added to the keyboard (I hope its easier to use than the apple mice I hate :)
Monday, 25 June 2007
More on LazyWeb: using VMWare and maven in a CI tool
more on my previous post on using VMWare with maven builds to run tests on different machine operation system & configurations. I spotted this interesting article on testing using VMWare and perl scripts to spawn different VMWare images and running the tests inside them. So we just need someone to wrap all that up in a shell script that mimicks the mvn script and we're done! :)
BTW Mike made the excellent comment that you could use the Bamboo build number which is a very good idea. (The only downside is sometimes its JMX / RMI ports as well as ActiveMQ ports so its a tad too complex for one single port number). Mark also provided details of how to use the build number in your build - cool beans! Am sure that'll be really useful for other things...
BTW Mike made the excellent comment that you could use the Bamboo build number which is a very good idea. (The only downside is sometimes its JMX / RMI ports as well as ActiveMQ ports so its a tad too complex for one single port number). Mark also provided details of how to use the build number in your build - cool beans! Am sure that'll be really useful for other things...
Thursday, 21 June 2007
LazyWeb: spawning maven builds via VMWare in your CI tool
We're using the cute Bamboo tool from those nice Atlassian chaps to build projects like ActiveMQ, Camel and ServiceMix. Its got some lovely eye candy and reporting stuff.
The problem is, lots of the test cases of SOA projects like ActiveMQ often end up hard coding a port number to do some networking tests. The ActiveMQ test suite is probably one of the worst offenders :). (Yes I know, one day all those test cases should be refactored to use zero to create dynamic ports etc).
So we kinda have to run all of the test cases in a single build queue to avoid the test cases conflicting with each other on ports.
It'd be great if rather than just running mvn clean install or whatever, we could boot up maven in a separate VMWare image, with its own private ports and so forth - so the build runs in a separate virtual box and can't conflict with other tests.
e.g. using vmware-mvn clean install
Even better then, would be the ability to run different kinds of vmware images of maven (java 1.4, 1.5, 1.6 etc, then windows, solaris, linux etc).
If the VMWare ninja could be wrapped up in a command line that looked like the mvn command, this featre would just drop into all the various maven-supporting CI tools (of which there is a fair few; Hudson, Continuum, TemCity, LuntBuild etc). So the caller of vmware-mvn would get the incremental output via stdout; and after the build, the build files would be synced with the caller, so from the CI tool's perspective its just like calling mvn.
The problem is, lots of the test cases of SOA projects like ActiveMQ often end up hard coding a port number to do some networking tests. The ActiveMQ test suite is probably one of the worst offenders :). (Yes I know, one day all those test cases should be refactored to use zero to create dynamic ports etc).
So we kinda have to run all of the test cases in a single build queue to avoid the test cases conflicting with each other on ports.
It'd be great if rather than just running mvn clean install or whatever, we could boot up maven in a separate VMWare image, with its own private ports and so forth - so the build runs in a separate virtual box and can't conflict with other tests.
e.g. using vmware-mvn clean install
Even better then, would be the ability to run different kinds of vmware images of maven (java 1.4, 1.5, 1.6 etc, then windows, solaris, linux etc).
mvn-win-1.5 clean installetc
mvn-linux-1.6 clean install
If the VMWare ninja could be wrapped up in a command line that looked like the mvn command, this featre would just drop into all the various maven-supporting CI tools (of which there is a fair few; Hudson, Continuum, TemCity, LuntBuild etc). So the caller of vmware-mvn would get the incremental output via stdout; and after the build, the build files would be synced with the caller, so from the CI tool's perspective its just like calling mvn.
Friday, 15 June 2007
Tuesday, 12 June 2007
Apache FtpServer available in a maven repo
Niklas mentions that Apache FtpServer is now available in the snapshot maven repo. Great!
As I mentioned in a previous post on mocking network protocols for testing; mocking is great and the next best thing to having a mock is to embed an in-JVM provider of some network service such as for testing JMS. If you want to create integration tests of your FTP logic you might want to take Apache FtpServer for a spin.
We tried using it to unit test the new FTP/SFTP/WebDAV component in Apache Camel and it worked a treat! :)
As I mentioned in a previous post on mocking network protocols for testing; mocking is great and the next best thing to having a mock is to embed an in-JVM provider of some network service such as for testing JMS. If you want to create integration tests of your FTP logic you might want to take Apache FtpServer for a spin.
We tried using it to unit test the new FTP/SFTP/WebDAV component in Apache Camel and it worked a treat! :)
WWDC thoughts
Well WWDC is over and the dust is settling. I've gotta say I'm really liking the looks of Leopard; I love the cover flow in the new finder and the quick look feature. Why is it Apple always have really great ideas; which with hindsight seem so obvious :). e.g. the two fingers on the touchpad for 2D scrollwheel thing? Or the iPhone user interface with your fingers. Or the iPod music quiz game (if you've got an iPod, you have played that game right? Cool & addictive eh?)
Stacks looks cute (I like the eye candy of the reflections in the dock :). Spaces is welcome but no biggie as there are a number of alternatives that have been around a while now. Time Machine is awesome (ZFS really) and can't wait for that. And the new iChat looks fun :). Don't really care about Mac.Mail changes as I try and use gmail for all mail now. I wonder how much other Core Animations stuff will creap in...
I did kinda wonder if Leopard would have more native virtualization for out of the box support for Linux & Windows (X is already supported nicely); with maybe Parallels being integrated into Leopard; but I guess with Parallels and VMWare, its best to keep healthy competition in that space
The choice of using Ajax for the iPhone is great news; anyone can now develop applications for the iPhone in a standards based way that'll work on other platforms & browsers. (I was a tad worried it was gonna be Cocoa / XCode stuff for the iPhone :). Its also good to hear that the iPhone isn't gonna be locked down per se; anyone can write applications for the iPhone.
The other nice thing is now we have a single, fast browser (WebKit/Safari) that runs on the iPhone, Mac and Windows. See Joe's comments via Dion. If the iPhone takes off, especially with alpha-geeks; I wonder how many enterprises will start writing their intranet apps for the iPhone, Mac, & Windows; i.e. picking Safari as their standard supported browser instead of the usual FireFox (or IE for windows-only places).
I wonder how many windows users will actually explicitly choose to use use Safari on the Mac. I guess its used in iTunes anyway, so there's really lots of Safari (or rather WebKit) users already; so Apple might as well make it available. I wonder if Apple will release iLife for Windows as well?
Still its hard for WWDC to be as cool & exciting as the iPhone stuff; I suspect its gonna be increasingly hard for Apple to get us excited about the next OS X when often the really cool stuff is gonna be the non-PC stuff (phone, TV, remotes, tablets etc). e.g. have you seen the new ads? Amazing aren't they; especially the calamari one; I love the lovely google maps integration :).
Only 2 weeks to go to the US iPhone launch; can't wait for the european launch now! Hopefully they'll have fixed the few glitches in the early iPhones by then :)
Stacks looks cute (I like the eye candy of the reflections in the dock :). Spaces is welcome but no biggie as there are a number of alternatives that have been around a while now. Time Machine is awesome (ZFS really) and can't wait for that. And the new iChat looks fun :). Don't really care about Mac.Mail changes as I try and use gmail for all mail now. I wonder how much other Core Animations stuff will creap in...
I did kinda wonder if Leopard would have more native virtualization for out of the box support for Linux & Windows (X is already supported nicely); with maybe Parallels being integrated into Leopard; but I guess with Parallels and VMWare, its best to keep healthy competition in that space
The choice of using Ajax for the iPhone is great news; anyone can now develop applications for the iPhone in a standards based way that'll work on other platforms & browsers. (I was a tad worried it was gonna be Cocoa / XCode stuff for the iPhone :). Its also good to hear that the iPhone isn't gonna be locked down per se; anyone can write applications for the iPhone.
The other nice thing is now we have a single, fast browser (WebKit/Safari) that runs on the iPhone, Mac and Windows. See Joe's comments via Dion. If the iPhone takes off, especially with alpha-geeks; I wonder how many enterprises will start writing their intranet apps for the iPhone, Mac, & Windows; i.e. picking Safari as their standard supported browser instead of the usual FireFox (or IE for windows-only places).
I wonder how many windows users will actually explicitly choose to use use Safari on the Mac. I guess its used in iTunes anyway, so there's really lots of Safari (or rather WebKit) users already; so Apple might as well make it available. I wonder if Apple will release iLife for Windows as well?
Still its hard for WWDC to be as cool & exciting as the iPhone stuff; I suspect its gonna be increasingly hard for Apple to get us excited about the next OS X when often the really cool stuff is gonna be the non-PC stuff (phone, TV, remotes, tablets etc). e.g. have you seen the new ads? Amazing aren't they; especially the calamari one; I love the lovely google maps integration :).
Only 2 weeks to go to the US iPhone launch; can't wait for the european launch now! Hopefully they'll have fixed the few glitches in the early iPhones by then :)
Monday, 11 June 2007
FakeStrac!
Subscribe to:
Posts (Atom)