12 November 2009

Grrr - What Happened to Java 1.5 on Snow Leopard?!



Just this week I updated to Mac OS X Snow Leopard (10.6.2) only to discover that it removes Java 1.5 entirely - WTF?! I have no idea why Java 1.5 was removed but it was a bad decision. How is it logical that Java 1.3 is reinstalled but Java 1.5 is removed? Anyway, after some searching and a bit of trial and error on my system, here are steps that I had to take to fix this situation:


  1. Download Java for Mac OS X 10.5 Update 4

  2. IMPORTANT!!! Make sure to run the following two commands BEFORE proceeding:

    1. sudo rm /System/Library/Frameworks/JavaVM.framework/Versions/1.5

    2. sudo rm /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0


    This removes the old Java 1.5 sym links to prevent the Java 1.6 directory from being overwritten (very bad)

  3. Using the Finder, locate the JavaForMacOSX10.5Update4.dmg file and double-click on it to mount the disk image

  4. Create a sym link to a missing utility:

    1. sudo ln -s /usr/bin/update_dyld_shared_cache /usr/bin/update_prebinding


    This command fixes a missing sym link in Snow Leopard that is needed by the Pacifist in the next step

  5. Using the Pacifist, open the JavaForMacOSX10.5Update4.pkg file from the mounted disk image

  6. In the Pacifist, navigate to /System/Library/Frameworks/JavaVM.framework/Versions and follow these steps:

    1. Right-click on 1.5 and select 'Install to Default Location'

    2. Right-click on 1.5.0 and select 'Install to Default Location'




After going through these steps, Java 1.5 should now be installed on the system. You can see this by listing the following:


$ ls -l /System/Library/Frameworks/JavaVM.framework/Versions/1.5
lrwxr-xr-x 1 bsnyder staff 5 Nov 12 13:47 /System/Library/Frameworks/JavaVM.framework/Versions/1.5 -> 1.5.0
$ ls -1 /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/
Classes
Commands
Headers
Home
Libraries
Resources




NOTE: Through my travels, I've found that many people have no idea that you could switch between different versions of Java. To make the task of switching extremely easy, grab my friend David's setjdk script and use it to handle this task from the command line. It's a bash script that even supports tab completion. So once the script is set up in your environment, switching between versions of Java is as easy as running the following command to see the available Java versions:

$ setjdk <tab>

Then just choose the version you'd like to use, e.g.:

$ setjdk 1.5
Setting this terminal's JDK to 1.5 ... java version "1.5.0_19"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_19-b02-304)
Java HotSpot(TM) Client VM (build 1.5.0_19-137, mixed mode, sharing)


UPDATE: I had to use the steps above to reinstall the documentation for Java 1.5 as well. I found it in the Java for Mac OS X 10.5 Update 4 Developer Documentation. This placed the appledocs.jar, the doc.jar and the src.jar files into the /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home directory. Then I just expanded the doc.jar file to be able to browse the API docs for Java 1.5 via a browser.

20 June 2009

SpringSource University in Denver



On Tuesday morning I had just returned from a run at about 9:35am and was checking my messages before I showered and began working for the day. As I was reading various messages, dripping sweat and sipping on some water, I was pinged by my friend and colleague Filip Hanik on IRC. He told me that he was sitting in a classroom in Denver for the SpringSource University Core Spring Training. Here's how the conversation went:


Filip: hey
Bruce: hey, what's up?
Filip: sitting at Core Spring in Denver, but there is no trainer
Bruce: whoops
Bruce: sorry to hear that, is there anything I can do to help?
Filip: yeah, you can come down here and teach this course :)
Bruce: are you serious?
Filip: yes
Bruce: headed for the shower now, see you about 11


By 11am I was in Denver and teaching the first day of the course.

Lucky for me, Chris Beams, a stellar consultant/engineer/trainer at SpringSource, was en route to deliver the rest of the course. Chris arrived later Tuesday evening and taught the course for the rest of the week through Friday and I was lucky enough to sit in. Chris went the extra mile to arrive early and stay late for the rest of the week and even wound up finishing on time on Friday afternoon, a testament to his talents, for sure.

Using Maven? You Should Be Using m2eclipse



If you use Maven for your Java projects, then you should take a look at m2eclipse plugin for Eclipse. After all, there's now a whole book on m2eclipse instead of just a single chapter!

11 June 2009

Enterprise Integration Patterns in Practice at JavaOne 2009



Last week I was in San Francisco to speak at JavaOne 2009 to deliver a talk named Enterprise Integration Patterns in Practice where I co-presented with Andreas Egloff from Sun.

We talked about implementing EIP patterns using Apache Camel and Sun's Fuji. I used ActiveMQ in my demo which was rather short but worked well (yay! the demo gods smiled on me last week :-) ) and Andreas showed off Sun's web-based EIP editor. Although this editor looks very cool and Andreas showed how to edit scripting code in each component on the diagram, it left me wondering how it interfaces with Java code. After our demos, my laptop would not flip back to the presentation at the end (which presented an abrupt ending) but still we received a lot of complements throughout the rest of the week.

Beyond the talk, I got to see tons of friends who I don't see that often throughout the year including Debbie, Guillaume, Hiram and Rob, as well as many new SpringSource colleagues (since the acquisition of Hyperic). I also met many, many new folks including Colin and Jamie. I was also lucky enough to eat Thai food twice (love the yellow curry) and sushi once during the week - mmmmmmmmmmm.

If you would like a copy of the presentation, just drop me an email and I'll send it your way (bruce DOT snyder AT gmail DOT com). I'm not sure how much sense the slides will make without the delivery, but it seems like folks are always requesting my presentations after the fact.

12 May 2009

JeOS, Oracle XE and VMware on MacOS X

Last week I installed Ubuntu JeOS (Just Enough Operating System) on VMWare Fusion. JeOS is a slimmed-down version of Ubuntu specifically made for installation in a virtual machine so that it has a much smaller footprint than the normal Ubuntu distribution. Anyway, I did this so that I'd have a VM with a smaller footprint that I can use on my MacBook Pro for development and testing.

After setting up JeOS, I installed Oracle XE, a slimmed down version of Oracle that is free for development and distribution. I used these instructions for installing Oracle XE on Ubuntu but there were some catches, namely that by default the web application for Oracle XE was bound to the localhost, i.e., I couldn't see the web app from Firefox in MacOS X. This was easily remedied via this comment on a blog post about this very topic:

Set up the environment on JeOS to use sqlplus:


export ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
export PATH=${PATH}:${ORACLE_HOME}/bin


Now use the Oracle sqlplus command-line utility to alter a setting that disables local-only access to Apex. Below is the command to run:


$ sqlplus system@xe
Enter password: SYSTEM_password

SQL> EXEC DBMS_XDB.SETLISTENERLOCALACCESS(FALSE);


Now that I could access the Apex webapp (http://127.0.0.1:8080/apex) that is installed with Oracle XE and I was able to use Apex create a user for myself. After this, I could access Oracle XE from MacOS X.

This setup has been working very well for me until today. For no apparent reason, the networking in JeOS went flaky and I could not access the outside world at all. I switched between NAT and host-only networking in VMWare multiple times, rebooting the VM each time - no dice. I upgraded to the latest VMWare Fusion - no dice. I could SSH into the VM from MacOS but that was it. No commands from JeOS would reach the outside world. So on a whim, I reran the vmware-install.pl script again and after that the networking seems to work again. I still have no idea why this happened which is a bit troubling. I don't want to just blindly keep running the install script again with no idea why it's fixing this networking issue.

Update

I guess the networking issue is common enough that Fusion provides a script to restart everything underneath of Fusion, e.g.:


/Library/Application\ Support/VMware\ Fusion/boot.sh --restart


Also, there's a good document available for Understanding Networking in VMware Fusion if you're interested. It's brief and to the point.

07 May 2009

SpringSource Tool Suite Now Available For FREE!



Last week in Amsterdam, at the SpringOne EU conference, it was announced that the SpringSource Tool Suite (STS) is now available for FREE! I was very pleased that we made this move as STS is an excellent set of Eclipse-based development tools that can make your Java development much more productive.

If you use Eclipse for your Java development and you use the Spring Framework, then you should really take STS for a spin. It's just like using the Eclipse you know and love but with many added features to make your development more productive. Download the SpringSource Tool Suite now!

I also saw many great talks at SpringOne EU that showcased STS via demos using it. Here is a partial list of some that I saw:



One of the demos that stands out in my mind was delivered by Adrian Colyer during his keynote on day two that utilized many technologies. But the thing I remember the most (and wish that I had more time to play with) was the use of the AWS Toolkit for Eclipse and Chris Richardson's Cloud Foundry, both for working with app deployment and monitoring in the cloud. The ease with which Adrian deployed apps to Amazon EC2 and was able to monitor them were amazing. I say it was amazing because I started working with Amazon EC2 from the command line before any such polished tools were available. It is really great to see the ever-increasing ease of working with cloud-based platforms. If you haven't checked out these two tools and you work with Amazon EC2, I highly encourage you to take some time to do so. Coupled with STS, they will make your life much, much easier.

I have to say it is very cool to see the products all come together like this. It's also awesome to watch demos delivered by folks who know each tool so well. It makes me wish that we had more face-to-face meetings so that I could sponge more of the product knowledge from folks!

03 April 2009

Apache ActiveMQ at SpringOne EU



Later this month I'll be in Amsterdam again, this time to speak at SpringOne EU about Apache ActiveMQ. It will be great to be back in Amsterdam, especially because the annual Queen's Day celebration takes place the week of the conference, which is always a fun time.

My first SpringOne conference was back in December in Florida and it was very good. Unfortunately I had a lot of travel booked back-to-back at the time so I wasn't able to be there for the entire conference. This time I will be able to spend the entire week at the conference which will be great because there are many sessions I'd like to see. Here are just a few:



There are many other talks I'd like to see, just too many to list. Take a look at the SpringOne EU schedule for the full list.

Working For SpringSource



I keep hearing from folks who aren't aware that I made a move recently. So for those who don't already know it, I'm working for SpringSource now. So far the experience has been terrific because I'm surrounded by nothing but very smart people, some of whom I already knew and respected. SpringSource is most notable for one of the most widely adopted Java frameworks in existence today, the Spring Framework.

I began using the Spring Framework back in 2003 and I can't see developing any new applications without using it. Although I don't have the privilege of working on the Spring Framework, I do get to heckle Juergen and team from the sidelines. My role hasn't changed much from the past in that I continue to do consulting and engineering. I spend my time working on Apache ActiveMQ, Apache Camel, SpringSource AMS and SpringSource tc Server. I still enjoy working with customers but I'm getting to spend a lot more time doing engineering work which is a nice change.

If you want to hear me blather on more, just follow me on Twitter.

Need Integration? Camel Integrates With 70+ Protocols




Apache Camel already provides easy integration with over 70 different protocols! And the list is still growing! Take a look at the Camel components and the Camel Extras project to see the protocols that exist today.

02 April 2009

Why Hiring Consultants is Good For Business




Anyone whose seen the goofball comedy The Office knows who Dwight is and how his co-workers enjoy winding him up and watching him go. Well it turns out that the Dwights of the world (aka the oddball) or someone who thinks different or even just someone from the outside is actually good for business.

This doesn't surprise me at all because as a consultant sometimes it is odd to walk into a business and discover that the reality inside doesn't quite match the reality outside. Inviting opinions from someone who doesn't know the business and isn't afraid to ask crazy questions helps everyone to see the familiar from a different point of view. And this is partially what I enjoy about being a consultant. By not having been a part of the team, you enter the group with a fresh perspective that will hopefully spawn many ideas. So assembling a team of miscreants and hooligans is not always a bad thing ;-).

01 April 2009

Syncing Multiple Calendars With Google Calendar



Calendars are important in my family. My wife and I are both busy professionals, I travel for work a fair amount and we have the events from our two kids as well. Given that we both use MacBook Pros at home this would be very easy. But for her professional life, my wife uses a Palm Treo phone and that's her master calendar. She (begrudgingly) syncs her Treo with her Windows PC at work. I use an iPhone which syncs easily with my MacBook.



So I hunted around a bit and found something called GooSync that can sync the Treo calendar with Google Calendar. This works great for her and all I had to do was sign up for a free account.



Syncing my iCal calendar from my MacBook was also easy using BusySync. This works great, but in the future it would really be nice if I could set up a CalDav server like the iCal Server from Apple.

At SpringSource we recently switched from using Zimbra to Microsoft Exchange (blech) which made me pull out Entourage again (essentially Outlook/Lookout for the Mac - happy, happy, joy, joy). When this change occurred I started maintaining my Exchange calendar via Entourage which gave me yet another calendar to maintain. Fortunately Entourage has a feature that will automatically sync an Exchange calendar with iCal automatically. Unfortunately this is a client-side solution so Entourage must be running for the sync to take place. Luckily, EasySync just syncs another calendar from iCal to Google Calendar and my iPhone just does the same automatically.

The whole point of all this syncing to Google Calendar is so that we can each share one another's calendars via Google Calendar. Each syncing solution syncs in a bi-directional manner from Google Calendar making all of this possible. We've been using this for nearly a year and so far we haven't had any hiccups with any of these solutions and everything has worked great.

Good solutions are good because you don't hardly notice them after the initial configuration and that initial configuration doesn't require a huge time investment.

EIP Patterns in OmniGraffle



If you use OmniGraffle and you haven't checked out Graffletopia yet, do it now! Graffletopia is full of stencils galore for OmniGraffle that have been created by folks in the community.

Sadly, our non-Mac friends are out of luck with the fine collection of apps from the OmniGroup as all the Omni apps are only available on MacOS X. But if you're a Mac user, like my buddy Jason says, 'Omni apps are like crack.' Totally true!

Here's an awesome EIP patterns stencil for those who work with the EIP patterns and need to create nice diagrams noting the patterns. I've used this for a while but, again, someone noticed me using it recently and asked where I got the icons for the patterns.

My latest cool find on Graffletopia is shown below, it's called Napkin UML:



Simple, straightforward UML that looks as if it was hand drawn.

Productivity Tools and Techniques



It seems that many times when I am sitting side-by-side working with others, they start asking me about the software on my computer that they see me using. At that point I have explain GTD and many things surrounding it. So here are some unique productivity tools and techniques, some that I've used for a while and one I just discovered:


  • Getting Things Done (GTD) is a book and a way of working. In the last few years many apps have sprung up surrounding the GTD style including OmniFocus, RememberTheMilk, Things, iGTD, GTDInbox/GTDGMail and many, many more. I have used and like RememberTheMilk and OmniFocus, though I must say that OmniFocus has won me over more because I used kGTD (though I haven't shelled out for the iPhone app yet). Check out this GTD software comparison for a huge list of GTD software for many platforms.


  • The Pomodoro Technique is interesting to me because I'm into GTD. This was introduced to me by my friend Alef and is rather practical. This technique helps you to actually execute if you use GTD. The Pomodoro Technique advises you to gather your tasks in the morning on a sheet of paper as a todo list and then work down the list in uncommitted blocks of 25 minute periods. Although David Allen says that the morning todo list idea is less than ideal, it works for some folks. I don't stick to it religiously, but when I use it I'm much more productive.


  • (Just a quick mention since I mentioned GTD, has anyone ready David Allen's new book, Making It All Work, the follow-up to GTD? Unfortunately I haven't had the time to read this one yet.)

  • Dejal Time Out is great for sticking to a regular schedule of taking breaks throughout the work day. It also works well for use with the Pomodoro Technique mentioned above. Believe it or not, this is a great tool for keeping you focused on tasks by making you take regular breaks. For years I've always thought about difficult problems by getting away from them completely and doing something like playing my guitar. Well this app regularly reminds me to clear my mind to make room for productive thinking.


  • SelfControl allows you to set up a blacklist of sites to block in an effort to make you stop visiting certain URLs. This app is funny but I'll bet it works, I haven't tried it yet. I typically will just close email apps and the browser (not always possible when developing web apps) to dampen the distraction that is the internet. Research shows that multi-tasking is bullshit. I like to call it multi-ignoring.


  • Timer for Mac OS X is something I used before I discovered Dejal Time Out. I still tend to go back and forth between this and Time Out. Just set the timer to count down for 25 minutes and go.


  • Time Tracker is a very simple app for tracking time on a task. This one works well but is less needed if I can stick to working in 25 minute blocks.



This post is really a quick braindump of stuff. There are many other items that I could add and maybe I will over time through more posts. But for now, this is what I had available in the cache tonight.

Do you know of any other tools and techniques that you find handy? Tell me about them.

Google CADIE - AI for Email and a Hilarious Home Page



Early this morning when I logged into GMail, I noticed that the GMail home page was displaying information about Google's Cognitive Autoheuristic Distributed-Intelligence Entity (CADIE). Immediately I remembered playing with Chatbot::Eliza many years ago in Perl. A very interesting idea with many possibilities.

Then I checked out the CADIE homepage only to be greeted by a cheesy, panda-laden website with goofy music playing in the background. At first I thought that I must have landed on the wrong page somehow. But after reading the page and seeing the link to the technical info about CADIE, I really laughed. Good to see folks with a healthy sense of humor about themselves. What a hoot!

31 March 2009

Last Day to Get 40% Off of ActiveMQ in Action



Today is the last day to get 40% off of ActiveMQ in Action (either print+ebook or just ebook). Just use the coupon code activemq40 to get the discount at the time of checkout. Hurry!

UPDATE: I've just been informed that the code above was mistakenly deactivated for a short time and has since been corrected. Now this code will not expire until tomorrow. So now you have an additional day!

30 March 2009

The Sheep Market



This has been around the internet for a few years but it's still neat. If you haven't seen The Sheep Market yet, you should check it out. My kids love it and enjoy looking at the sheep drawings. Not only that, but the app itself is kinda cool.

17 March 2009

Apache Camel and EIP at JavaOne 2009



Looks like I'll be headed to San Francisco to speak at JavaOne in June. If you're at all familiar with the wonderful Enterprise Integration Patterns book, then this will be of interest to you since it's focused on using the EIP patterns in your applications.

I'm doing a session titled Enterprise Integration Patterns In Practice with Andreas Egloff from Sun. Andi is going to speak about Fuji and I'll be talking about Apache Camel. Both software packages allow you to make use of EIP patterns in their own way. We're planning to discuss the patterns themselves and where they might fit into your applications, the use of Domain Specific Languages to express EIP patterns, the relation of EIP patterns to items such as Message Oriented Middleware and Service Oriented Architecture and we'll do a demo of both Fuji and Camel.

12 March 2009

Direct Linux Kernel Input



CAUTION: Wicked powerful feature in Linux

I've worked with Linux since back around 1995 or 1996 and I was not aware of this feature until yesterday. Did you know that you can send commands directly into the Linux kernel via /proc/sysrq-trigger? You can instruct the kernel to perform such tasks as rebooting the kernel and crashing the system among many others. This winds up being very handy for testing purposes (and incredibly powerful).

Just don't invoke this command without first checking with your sysadmin or you might be heavily flogged.

10 March 2009

40% Off of ActiveMQ in Action!



Starting today Manning is offering 40% off ActiveMQ in Action (either print+ebook or just ebook) redeemable at checkout. You can use the coupon code activemq40 to get the discount. This offer expires on Tuesday, 31 March 2009.

Your Mom wants you to buy this book!

05 March 2009

Web Designer/Webmaster Position at SpringSource



Please DO NOT APPLY for this position if you:

  • Are a talentless hack whose best skill is procrastination

  • You crumble under pressure

  • You disdain collaborating with coworkers



Please DO APPLY for this position if you:

  • Enjoy working in Flash, Illustrator and Photoshop

  • Live to hack CSS, Javascript and PHP

  • You are enthusiastic and focused on users and their experience on your websites

  • You enjoy working with an incredibly talented group of folks

  • You want to work for a company whose products are incredibly popular and have been adopted far and wide



At SpringSource we're looking for somebody who lives to handle everything about websites from graphic design to technical infrastructure to marketing to support to site analytics.

APPLY TODAY.

Systems Integration Has Done It Again, Mein Furer

Below is a clip from a film about Nazi Germany named Downfall(Der Untergang in German - thanks Emmanuel). The subtitles were added so as to relate the entire clip to systems integration and the seeming battle over control amongst teams inside of a company (as well as a little hat tip to my friend Ross and his system integration product named Mule). This had me laughing out loud a few times - absolutely hilarious!



For some reason the embedded video is a bit chopped so here's the link to YouTube.

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.

30 January 2009

Playmobil Security Check Point



As a frequent traveler for business, not only did the existence of this toy make me say to myself, 'WTF? I've gotta check this out', but the most popular reviews made me laugh out loud. Never again will I pass through a security check point without thinking of this toy. To think that there's a toy modeled after those annoying and reactionary security check points in airports is completely hilarious. (I mean, really, do they make anyone feel safer?) Is there also an interrogation play set to go along with this? My First Guantanamo Bay or My First Camp XRay perhaps? Oh sorry, I guess that's Fisher Price, not Playmobil ;-).

Still, those reviews are not nearly as funny as the most popular review for the children's book The Story About Ping.

12 January 2009

Microsoft Entourage Mangles URLs

Last week we switched the mail server from Zimbra to Exchange (blech!) so I started using Entourage as my mail client (blech!). I'm not a fan of Microsoft software but I've used Entourage before and the experience was good enough - connectivity to the contat list and calendars, etc.

Everything started off OK until I realized that the URLs in the support messages I receive from the support system were mangled. WTF?! Could this really be? Here's an example of what I'm seeing. First, check out the URL below which came from a message received using Entourage:

http://www.company.com/sugarcrm/index.php?action=DetailView=Cases=90e6ce2e-c0d0-8de5-3e9a-491d5af0a8d6

Now check out the URL from the same message in the OWA web ui:

http://www.covalent.net/sugarcrm/index.php?action=DetailView&module=Cases&record=90e6ce2e-c0d0-8de5-3e9a-491d5af0a8d6

Notice that the first URL is missing all of the '&<parameter>' fields in the URL. The only difference with that message is that it was received from Entourage. Totally awesome!

Note that Apple Mail can connect to Exchange servers and it does not mangle URLs - woot!