27 February 2009

Safari 4 Beta - Nice and Speedy


I've been a dedicated Firefox user for years now, but I tend to open many, many tabs at once causing it to push the CPU quite a lot. This isn't a big deal when my MacBook Pro is plugged in but when running on battery it means that the battery life can take a serious hit - down to less than two hours at times. So over the last few months I have tended to dance back and forth between FireFox and Safari even more.

Although there are some FireFox plugins I use fairly regularly, I've been living OK without them in Safar. The biggest discovery I made in Safari a couple months ago was the restoration of tabs and windows after quitting Safari. Firefox handles this automatically. After poking around under the History menu I found an option named 'Reopen All Windows From Last Session' and another option named 'Reopen Last Closed Window'. These two options in Safari are the equivalent of two options I use in Firefox all the time. The difference with Firefox is that it will prompt you when it opens asking if you'd like to restore the tabs and windows from the last session. Then this week I saw some folks talking about upgrading to Safari 4, so I took the plunge and it was well worth it.


  1. Safari 4 is simply much faster. GMail is incredibly fast (not a huge surprise since it has always been faster than Firefox) - even faster than Safari 3.

  2. The new visual history feature named Top Sites is nice eye candy but not earth-shattering as Opera already has similar features.

  3. Top Sites also offers a nice search feature. It's really no different from standard history searching but it uses Top Sites so it shows the visual preview of the pages in your history.

  4. Tabs have been moved to the very top of the overall window which is a little goofy looking at first, but they can be dragged around and even dragged off the current window to make a new window or even dragged onto an existing window to form a tab.

  5. Autocomplete on the browser command line with a suggestion about what you're typing is pretty cool.

  6. The reload button has been moved to the end of the browser command line (like the iPhone).

  7. Safari 4 upgraded and didn't break the DeliciousSafari plugin I use. Very nice considering that many Firefox plugins need to be upgraded after a FireFox upgrade.



I'm sure there's much more to the Safari 4 upgrade, but these are the items I noticed right away. Here's a list of 150 features in Safari 4 from Apple with the new features flagged.

One thing I found odd was that the upgrade required MacOS X to be rebooted. I'm sure there's good reason, but what a PITA. Oh well, small pain for big gains in speed.

UPDATE: Well, what I said about the DeliciousSafari seems to only apply to it. It looks like 1Password is not working at all so I need to look into reinstalling it.

17 February 2009

Do You Need Integration Patterns? You Need Camel



I'm in Germany consulting this week and it is cold and snowy - brrrr. I miss the Colorado sunshine.

This is just a quick re-blog of Jon's awesome entry about EIPs and Camel named Apache Camel... more EIPs than you can shake a stick at!.

If you need enterprise integration patterns, you need Apache Camel.

15 February 2009

If You Use Maven, You Need These Books

If you use Maven at all, you should really check out the list of books surrounding Maven and developing with Maven that Sontaype now offers. Judging by the quality of Maven: The Definitive Guide and the quality of Sonatype software, the books on Nexus and Eclipse look equally good.

I use m2e and Nexus in my daily development and can't live without either of them. m2e makes working with Maven from within Eclipse extremely easy and I use it every day. There are just too many great features in m2e to name them and I can't recommend it enough. I also use and am very happy with Nexus. In fact, I run a local copy of Nexus because it speeds up my Maven builds tremendously. If you don't believe me, try it out yourself.

09 February 2009

Use Dropins to Make Eclipse Plugin Management Easier

In Eclipse 3.3 I used to manage plugins by keeping them all in a local site that was a completely separate directory from my eclipse directory. In Eclipse 3.4, this functionality was more or less eliminated as adding a local site actually copies the plugin into the features and plugins dirs under the Eclipse dir. But last Summer I discovered a feature in Eclipse 3.4 that makes managing plugins much easier named dropins.

This is nothing more than a known watched directory named dropins that is scanned at startup. There are some additional features, but this is the basic functionality. It supports a few different formats but the one I've used is demonstrated below. In the base eclipse dir, I create a dir named dropins. Then I manually download and expand plugins that I'd like to use into the dropins dir. For example, here are the contents of a dropins dir I've used:


$ ls -1 ./eclipse/dropins/
GEF-SDK-3.4.1
GEF-zest-sdk-3.4.1
ajdt_1.6.0_for_eclipse_3.4
dtp-sdk_1.6.1
emf-runtime-2.4.1
mylyn-3.0.3-e3.4
site-1.4.3
wtp-sdk-R-3.0.2-20080921203356
xsd-runtime-2.4.1


The contents of the GEF-SDK dir looks like this:


$ ls -1 ./eclipse/dropins/GEF-SDK-3.4.1/eclipse/
epl-v10.html
features
notice.html
plugins
readme


This is nothing more than an expanded copy of the GEF-SDK. Instead of being expanded into the base eclipse dir, it's expanded into a dir of its own inside the dropins dir. so the contents of the features dir is here:


$ ls -1 ./eclipse/dropins/GEF-SDK-3.4.1/eclipse/features/
org.eclipse.draw2d.sdk_3.4.1.v20080806-67718083A56B4H3F84A-__6_2A32
org.eclipse.draw2d.source_3.4.1.v20080806-3307w31191_2102462
org.eclipse.draw2d_3.4.1.v20080806-3307w31191_2102462
org.eclipse.gef.sdk_3.4.1.v20080806-7B7E297OK9c7WEeDMZJfHVNDRBPX
org.eclipse.gef.source_3.4.1.v20080806-67718083A56B4H2A3213573
org.eclipse.gef_3.4.1.v20080806-67718083A56B4H2A3213573


And the contents of the plugins dir is here:


$ ls -1 ./eclipse/dropins/GEF-SDK-3.4.1/eclipse/plugins/
org.eclipse.draw2d.doc.isv_3.4.1.v20080806.jar
org.eclipse.draw2d.source_3.4.1.v20080806-3307w31191_2102462
org.eclipse.draw2d_3.4.1.v20080910-1351.jar
org.eclipse.gef.doc.isv_3.4.1.v20080806.jar
org.eclipse.gef.examples.ui.pde_3.4.0.v20080226.jar
org.eclipse.gef.source_3.4.1.v20080806-67718083A56B4H2A3213573
org.eclipse.gef_3.4.1.v20080806.jar


This makes managing many plugins in many different Eclipse instances much easier. But I must warn you that troubleshooting can try your nerves. If the contents of a dir is not formatted correctly, Eclipse just won't load the plugin. Though Eclipse does output some errors to the $WORKSPACE/.metadata/.log file which can be very handy.

06 February 2009

ActiveMQ Architect/Developer Position in NYC

I know the job market is difficult now, but there are still some companies looking for folks in the IT area. Here's a position for those of you with enterprise messaging experience and especially using ActiveMQ:

A very dynamic and fast growing software-based services company in NYC serving the high volume trading sector of the financial marketplace is seeking someone for a full-time position who can own the messaging architecture and development of a product in a SOA environment.

Skills required include:
* Proven experience with and knowledge of enterprise messaging
* Experience with ActiveMQ, WebsphereMQ, SonicMQ, TIBCO, etc. a plus
* 7+ years of experience with Java/Java EE
* Experience with architecture, design, refactoring and testing
* Excellent leadership skills
* Ability to work with and oversee other developers

Do you have ActiveMQ experience? Does this position suit you? If so, please send me an email with a cover letter introducing yourself and your resume.

05 February 2009

Prevent Your MacBook From Going to Sleep When the Lid is Closed

Have you ever wanted to prevent a MacBook from going to sleep when the lid is closed? I use a 24" external monitor with my MacBook's lid closed which tells me it has the capability, but this is somehow different than preventing it from going to sleep every time the lid is closed. Well, today I stumbled upon a solution for this in a piece of software named InsomniaX. I haven't tried this yet, so if you take it for a spin, I'm curious to know how it works for you.

New Chapters Available From ActiveMQ in Action



More new chapters were made available from ActiveMQ in Action today via the Manning Early Access Program. Please note that the list of chapters available at the link above is slightly incorrect. We're working to get the page corrected, but in the meantime, below is the correct list of chapters that are currently available:


  • Chapter 1 - Understanding message-oriented middleware and JMS

  • Chapter 2 - Introduction to Apache ActiveMQ

  • Chapter 3 - Understanding connectors

  • Chapter 4 - Persisting messages

  • Chapter 5 - Securing Apache ActiveMQ

  • Chapter 6 - Creating Java applications with ActiveMQ

  • Chapter 8 - Connecting to ActiveMQ with other languages

  • Chapter 12 - Tuning ActiveMQ for performance



The real reason that the numbering is off is due to us writing some chapters out of order. We're using DocBook to author the book with each chapter set up as a separate XML file and we're using XInclude to gather them into a book. When you assemble DocBook documents in this manner, the numbering is automatic. Because we skipped some chapters, the numbering is simple one-based numbering and it disregards us skipping some chapters. Simple to live with for the time-being.

The Manning Early Access Program (MEAP) is interesting because it gives readers access to the chapters as we (the authors) write them. These chapters have not yet undergone any copy editing and are provided in a PDF that I built on my laptop personally. This means that the chapters are fairly raw but it also means that you can provide feedback to the authors via the forums. And we really like that feedback because it helps to improve the quality of the book.

If you're interested to read the book as it's being written and to even provide some feedback before it's actually published, I encourage you to start using MEAP. Your feedback will improve the quality of the book for everyone.