Sunday, January 27, 2008

From Tiger to Leopard

Well, I finally bit the bullet and got Leopard at home (on a mac mini).    So far, the transition from Tiger has been relatively painless. 
 
Here's a breakdown of the highs/lows for me compared to Tiger:
  • Spotlight performance: +1;  (usable!)
  • General OS responsiveness:  +1;
  • Safari Speed: +1;
  • Safari Reliability: -1; (has crashed on two different web sites for me so far! -- guess I'll go back to my camino/firefox combo)
  • Quicklook: +1;
  • Dock improvements (grids and fans):  +1;  
  • Time machine: ?; I set it up, but for me the jury is out on any backup software until I actually need to restore something.
  • Haven't found any major app incompatibilities yet.


Don Brown is working on serious Maven 2 improvements

Stumbled on this interesting work going on around Maven 2.  Don claims to have reduced some maven build times significantly.

Thursday, January 24, 2008

Links

Tutorial on writing a custom wicket accordion/outlook style menu component: http://karthikg.wordpress.com/2008/01/24/developing-a-custom-apache-wicket-component/

Options for showing an ajaxy 'wait' indicator in wicket:
http://www.nabble.com/best-practice-for-a-wait-page-td15070792.html

Last.fm announced you can now stream full songs and albums (from all major labels) for free...
http://www.last.fm

Tuesday, January 22, 2008

Wicked Fast Wicket

If you're familiar with Maven, I'd say you can have a wicket template project up and running with IDE support (if desired), in much less than 5 minutes. The magic is here:

http://wicket.apache.org/quickstart.html

It uses a maven archetype to generate the project structure, and then you can use the typical mvn eclipse:eclipse or idea:idea to get your project into an IDE. 2 methods for running jetty are automatically built in as well:
  1. Start.java
  2. mvn jetty:run.

It's soooo much better than piecing together your first wicket project by hand. Believe me! (These aren't the droids you're looking for)

Now, I'm generally of the opinion that template based code generation can only take an application so far... which is why it's exciting to see extensible code based approaches to sharing behaviors across pages in a web app --> Wicket Web Beans . Next time I build a data-entry app, I'll definitely consider WWB.

Tuesday, January 15, 2008

Wicket is taunting me.

After some vigorous hand wringing and what I thought was thorough forum searching, it turns out that no custom behavior/code is necessary to handle adding a browser-cache-stopping-but-not-totally-random-or-once-in-a-while-new-when-it-shouldn't-be url parameter onto JS and CSS links in Wicket.

The magic line of wicket code which eludes forums and wiki documentation follows...drum roll...

In your Application's init() method add the following. :

getResourceSettings().setAddLastModifiedTimeToResourceReferenceUrl(true);

Hmph... method names don't get much clearer than that do they?

This causes a 'wicket:lm=######' (lm stands for lastModified) url parm to be appended to package resource url's that are rendered. Now the browser has a url based clue as to when it REALLY needs to refresh from the server.

It's nice that it can be turned on in one place for all generated package resource url's.

Monday, January 14, 2008

Environment Optimization: Eye-fi + Smugmug. One step wireless photo sharing and backup (at full resolution)

After recently acquiring an Eye-fi SD card for my camera, I decided to take the plunge and figure out a photo backup/sharing solution. I have relatives and friends that share photos using the various photo sharing sites (which inevitably try to make you pay for prints, shoot spam or advertising at you, and/or reduce the photos to a size that doesn't allow you to print a high-res version on your color printer).

Couple that with the fact that I've had 2 external hard drives die in the last 7 years, I'm tired of burning CD/DVD backups ad nauseam, I'm lazy when it comes to posting and sharing photos, and you can see my dilemma

In walks the solution . . .

As I'm setting up the Eye-fi, I see that they've done their homework and offered out-of-the-box integration with 15+ photo sharing sites. One of the sites they integrate with is phenomenal -- unlimited high-res photo sharing (SmugMug). I set my Eye-fi up to automatically create galleries on SmugMug. Here's how it works now:
  1. My wife and I take some pictures at some event (wedding/family get-together/etc)
  2. We come home, turn on the camera. The camera automatically, wirelessly (802.11 - no special camera usb cables!) transmits the high-resolution (8megapixel) photos to my computer. During transmission, a new SmugMug gallery is automatically created with a default name like "Photos taken on January 27th, 2007". The photos are automatically uploaded to that gallery.
  3. If the photos are ones I want to share, I only have to flip a switch on that gallery and give it a name. If they are photos I don't want to share, I simply leave the gallery as is.
I set up a memorable smugmug url that I share with friends and family (thus reducing the e-mailing step normally necessary for sharing photos). The url is set up to not be indexed by google, not be visible to other smugmug users, or any searches otherwise. You have to know the magic url to get there. It's your own private, spamless, no-login, photo sharing site.
Now inevitably, the people that I've explained this process to so far have responded in one of the following ways:
  1. I back my photos up to an external hard drive.
  2. I don't trust photo sites . . .they've disappeared on me . . . How do you know they won't go out of business?
  3. How do they make money?
  4. That's cool. But still a look a of skepticism -- as if you have to be some tech guru to set this all up.
  5. They store the full res photos????? (i.e. - How can they afford that?)
Here are my answers:
  1. Hard drives have a limited life span. It will die eventually. What happens if your house burns down?
  2. This is a profitable business focused on a discriminating user. They are a standalone company who's entire consumer base has bought into the specific services they offer. Go read about them and see what you think. Also, you can order a DVD backup of your photos at anytime (about $20). If you use the Eye-fi approach I'm describing, you'll have a backup on your computer anyway. For the more technical, you can mount your photo site as a virtual drive (WebDAV) and drag and drop backup photos to whatever other format you like at any time. They are not free. They are, however, fairly priced. $40/year for unlimited high-res photo storage and spam-free, login-free sharing. They claim the photos are backed up in three different states.
  3. You pay them $40/year.
  4. The Eye-fi makes it simple to get the photos there. You still have to learn a little SmugMug to get your sharing settings right, but it's quick once you get familiar.
  5. You pay them $40/year. Hard disk space is cheaper than it has ever been.
To be fair, of the people I've described this backup/sharing solution to, two of them did have a geographically redundant backup solution -- Backup CD's in safety deposit boxes/relatives' houses.

Maybe I'm just a sucker for shiny things, but the almost effortless instant wireless photo sharing and backup at full resolution, for the cost of an Eye-fi ($99) and SmugMug ($40/yr) feels like a heck of a deal.

Environment optimization: iCalViewer

I've been successfully using iCalViewer for a little while now. See those nice little bubbles that are semi-transperant over my desktop background in the video below? -- those are upcoming appointments/meetings. I've found that this nearly eliminates the need for me to manually check my calendar on any regular basis. There are features to toggle which iCal calendars' events are displayed and provide a global hotkey you can use to see upcoming calendar events (without kicking off iCal!).

Environment optimization: Single Hotkey to large Terminal

So I finally got around to checking out Visor. I'm already an avid user of Quicksilver which gives me speedy keyboard access to anything I can remember the name of. Since I use terminal so often though, it only makes sense to have a single hotkey which can summon and dismiss a large, visible terminal session. Here's what it looks like when you hit the hot-key (I choose Command-Tilde). Try to ignore the demo marker in the center of the screen.... I'm trying a tool called Screenflick, and other than that demo marker, so far so good. Video after the break (if you're getting this as rss)


video

after the post notes: hmmm..looks like blogger downsized my video. doh :)

Saturday, January 12, 2008

Here comes the Tardis

A recent post on Patrick Kua's blog about explaining rituals compelled me to go add a link to my personal development philosophy page on my wikispace. That compelled me to review my wikispace. After reviewing my booklist , meetings , interviewing , and presentations philsophy pages, I had a realization. I have not been doing a good job of updating those pages with things I have learned and resources I have found in the past year. Not only that, but the declining rate at which I seem to be consuming literature (and producing content) suggests that I might be getting dumber by the minute. This must be addressed! No more. Oh I could come up with a litany of excuses (new house, new job, WoW, TF2, Mario Galaxy, Guitar Hero 3, that hilarious youtube video), but they are just that -- excuses. This is my public commitment to myself to do a better job of learning and sharing useful development practices this year.

That's right, now you are on the hook. And by you, I mean me.