I'm writing this blog post from the Anne Marie House - this is
'transitional housing' for families with young children that
have no home. Currently Anne Marie House is hosting 6 families -
including 7 children (4 under the age of one year old). Anne Marie
House is run by the
Greater Nashua Interfaith Hospitality Network,
an organization of the various local houses of worship (of all faiths).
The goal is to provide safe, clean, substance free housing for homeless
families, especially those with young children. The house is run
by volunteers from the participating churches and temples - the
volunteers provide meals, hosting, security, organization - everything a
small hotel would need. So every 6 weeks or so I volunteer to
spend an night at the house as an overnight host. And let me tell you,
as far as volunteer jobs, this is a pretty easy one. There's wifi
(thus the blog), a clean bed (bring your own sheets), and lots of smiles
from the kids who are staying here. This is a great community
effort - hundreds of volunteers rotate through this house every month-
and it really is making a difference is hundreds of lives - especially
kids who would not have a place to sleep otherwise.
I updated my laptop this week to Ubuntu Dapper - and now for the
first time ever, I have a laptop that not only suspends - but resumes as
well. With my version of Ubuntu (Hoary), my laptop
would only suspend - the resume function left as an exercise for the
user. And of course without a resume, the suspend is quite a bit
less useful. Now, I'm enjoying the new suspend function - I
started rebuilding a local copy of the musicbrainz database this morning
from my home office. It was in the middle of a lengthy indexing
operation when it was time for me to drive in - so I just suspended the
laptop and stuck in the bag - when I got to work I just fired it up and
it kept on working ... now I know this is no big thing for all you Mac
and Windows laptop users but for me its a really big deal <borat>
Very Nice!</borat>
Over at techcruch I see that iLike
has added YouTube videos to their website. Click on a song and
you not only get the option to preview an audio clip or buy the song
from iTunes or Amazon - you can now watch a related YouTube video.
That's pretty cool. I think these sorts of things really help the music
exploration process.
I wonder, however, if iLike has made an arrangement with YouTube. Their usage of YouTube videos seems to violate the YouTube terms of service:
YouTube provides an "Embeddable Player" feature, which you may
incorporate into your own personal, non-commercial websites for use in
accessing the materials on the Website, provided that you include a
prominent link back to the YouTube website on the pages containing the
Embeddable Player.
IANAL but it would seem to
me that iLike's site is a commercial website (presumably they are
making money - perhaps via iTunes/Amazon referrals) which would violate
the non-commerial TOS (nevermind that they don't have the prominent link
back to YouTube). So perhaps they have a commercial arrangement
with YouTube - or perhaps they are just hoping to fly under YouTube's
radar.
For the longest time, I was a vi/make or vi/ant guy. Vi
(really VIM) did everything I needed when writing software. Plus,
25 years of typing in VI really ingrains the finger macros. About a
year ago I made the switch to Netbeans - and I must say that it really
is a superior environment to the old standby. (I'll miss you vi-my
old friend, sniff) .
Netbeans does a great job of
supporting the build environment for a web application. It manages all
of the complicated deployment descriptors for you and neatly builds a
war file that you can deploy to your app server. It is very easy
to build and deploy these web apps.
Yesterday, I was making a
minor change to my web mashup - a change to a constant in the code, and
some updates to some HTML. I built the war file, tested it
inside netbeans - everything worked fine - and then deployed it to the
external web server - uh oh - no dice - the main page of the web app was
only partially loaded, strange javascript errors on the console,
nothing is working. Good thing I had a back up of the previous war
file - I uploaded the old version and it worked just fine.
Now to
debug this ... since the changes were incredibly minor I couldn't
fathom what was causing the problem, add to that the fact that the app
ran fine when tested locally. I suspected a corrupt war file - so I
built a new one from scratch and deployed it - same problem.
Argh! - time to widen the search. Now one major change
was that I did a reinstall of my OS on my laptop (my primary
development environment) - so I had a fresh copy of Netbeans and the JDK
- perhaps this was the problem - and then there was that magic click
that occurs in the programmer brain when everything all falls into
place and the solution to the problem becomes clear. It's the aha!
moment that makes programming so much fun. Of course the problem
was that I was building with the latest and greatest JDK 1.6 - while my
web server is running a version of Tomcat running under Java 1.5 - way
down deep I was receiving class loading errors due to the incompatible
classes (you can't run bytecodes compiled with 1.6 under a 1.5
VM). A quick install of JDK 1.5, a rebuild of the war file - a
quick deploy - yep! everything's working now.
This has to be a
fairly common error - and it seems that it would be fairly simple for
tomcat to detect - it certainly would have saved me time if Tomcat had
rejected my war file and given me an error message about the Java
version skew during the deploy.