I finally broke down and bought a Kindle. I’ve been eyeballing them since the first one came out and have been daydreaming about them since the Kindle 2 pics first leaked. After reading countless previews and reviews and raves and rants, I decided it was time. Sure, it’s expensive. Yeah, it’s “only a single function device.” blahblahblah. The fact is I love to read, I live in a NYC apartment, and I already have an entire wall devoted to bookshelves crammed full of my books. There’s just not that much space here to keep buying more and more books. Any my library hardly ever has what I want on the shelf. When they have it at all, there’s a waiting list. So this makes a lot of sense for me in a number of ways. I’ve had it for about an hour now so I don’t have any deep dive experience with it as such, but as far as first impressions go, it’s a big win. And the first thing I did after browsing through the user’s guide? I bought Brandon Sanderson’s latest book “The Hero of the Ages.” Now if only I didn’t have to work.
Technorati Tags: justin lee, kindle
The choice of build tools is surprisingly contentious. I know I, personally, am not a huge maven fan. I’ve been given to explosive, vitriolic rants against it, actually. But now I’m forced to use it at work so I’m learning it more than I’d hoped to ever have to.
But whatever your choice of build tool is, there’s one thing I think should happen that would help out so many people. If you write some form of library to be reused by the world at large, it should get published in the maven repos. Or maybe an ivy repo(s) if there are such centralized/public beasts. Making it easy to find these artifacts will only help to drive adoption of a project.
Whether you chose maven or ant at that point (or something else…), it becomes quite simple to find and fetch dependencies. I use the ant tasks from the maven project to pull down my deps and then ant to build. It works well enough for me until I run into a library that hasn’t been published to a repository somewhere. Some projects are really good about publishing their artifacts. Other projects’ devs respond with simple “not my problem” responses. If I can’t find a dependency in maven, I’m much more likely to try to find another library to use. So uploading an artifact may not be your problem, but it’s certainly not mine. It’s a good way to drive people like me to other projects, though. But maybe you don’t care about that, either.
Technorati Tags: Java, justin lee, maven
I recently moved the bot we use in freenode ##java from svn to hg. Using hg’s built in conversion utilities, this process isn’t bad at all. There are a number of steps to set things up, however, some of which aren’t entirely as clear as they probably could be. It would appear that hg’s conversion routines don’t like https-based svn repos so I wrote up a quick script to help my brother move a project of his to kenai and thought I’d share it here. The heavy lifting in this script comes almost verbatim from hg convert page but hopefully this is a bit more accessible.
if [ -z "$1" ]
then
echo “usage: $0
”
exit
fi
if [ -z "`grep hgext.convert ~/.hgrc`" ]
then
echo Enabling the conversion extension
echo “[extensions]” >> ~/.hgrc
echo “hgext.convert=” >> ~/.hgrc
fi
URL=$1
DEST=mirror-svn
HGDEST=mirror-hg
if [ -d "${DEST}" -o -d "${HGDEST}" ]
then
echo “${DEST} or ${HGDEST} already exist. Please try working in another directory”
exit
fi
svnadmin create ${DEST}
echo ‘#!/bin/sh’ > ${DEST}/hooks/pre-revprop-change
chmod +x ${DEST}/hooks/pre-revprop-change
svnsync init file://`pwd`/${DEST} ${URL}
svnsync sync file://`pwd`/${DEST}
mkdir ${HGDEST}
hg init ${HGDEST}
hg convert file://`pwd`/${DEST} ${HGDEST}
As you can see, it’s pretty straightforward. I ended up using svnsync to get aroung the hg/https/svn problem. It also makes the conversion much faster. Once the script is done you can cd into mirror-hg and hg push it wherever you’d like. There are some options you can do during the conversion like limiting which revisions get converted and mapping usernames and the like. I’ve done nothing of the sort here but those shouldn’t be too hard to add. And if you’re really that interested in those options then you should be fully capapable of doing that yourself.
Also note, that if you don’t need to use svnsync you can skip directly to the hg convert line (well, and the init right before it…) and hg will pull directly from the repository to do its conversion.
There it is. It’s not fancy or earth shattering but hopefully it’ll help save you some heartburn. As always, feedback is welcome.
Technorati Tags: convert, justin lee, mercurial, subversion
As if I didn’t neglect this blog enough as it is, I know have another outlet: my Sun blog. That’s right. I’m now a Sun employee and member of the GlassFish webtier team. You can see a brief run down of what that’ll look like at the new blog. I’ll probably keep the non-Sun related things off that of that blog and post them here (because I have a great track record of blogging regularly after all). I also have a new twitter feed that will hopefully help fix some of my blogging exhaustion.
Maybe it’s because I rant to my imaginary (what my wife calls my online) friends, but I can never sit down long enough to type up a blog post. Maybe I just over think my posts. I don’t know. I find it hard to finish them these days. They never come out right. But with twitter, I can blast out the thought and move on. I’ve avoided twitter for a while now, but I guess it’s better than nothing. So, anyway, there are now two new venues where you can hang on my every word. And I know you want to. There’s no shame in that…
Thanks to all those who replied. The survey convinced the publisher that there was indeed sufficient interest, so we’ll keep plugging away on the book. We’re having to do a little restructuring due to some logistic issues on the back end, but we hope to have the book finished by December, to print by January, and on shelves by JavaOne. Of course, those are “just deadlines” and things like this tend to slip, but we’re going to give it our best shot. Thanks again to all who replied. Check back here and on Manning’s site as the day approaches for updates.