Know of any good voting software?
If you’re aware of any voting software that would allow me to run a simple poll from my site (and have the results updated in real-time), please send me a link. I haven’t been able to find much and because of that I’m not going to outline the features I’d like to see (I don’t want to put something that I could possibly hack to my liking out of contention right off the bat). If this request turns up no real options, I’ll likely just code my own, but I find it hard to believe that what I’m looking for doesn’t already exist.
It’s about damn time!

If you don’t live in the Bay Area you probably have no idea how bad the weather has been for the past two and a half months. It’s been cold, rainy, and all-around nasty 24 hours a day for as long as I can remember. Unbelievable. Not a day went by that someone within earshot of me didn’t hear me mumble something about northern California being the new England and how much I missed the Florida sunshine.
That said, the weather looks like it’s getting back to the California I know from movies and TV and despite the fact that law school finals are just around the corner, it’s a safe bet that if I’m not in my apartment this next week I’m out at the pool.
Too much to say
The reply I hear most often from friends in response to me telling them that they should start a website is, “What would I write about? I have nothing to say.” I don’t get it — I’ve currently got 68(!) posts-to-be in my “scratch” folder. How did this repository ever get to be so big? No matter, either way I’ve got to ship some of this stuff or slash it. Ugh. Let the pruning begin.
Subscribe to this site using e-mail
Realize that this is aimed at personal friends and family who’ll never realize the power of RSS (despite my incessant advocacy over the last five years) and who I know visit this page often to check for updates.
A few days ago FeedBurner announced that they were now offering feed subscriptions over e-mail. As usual, FeedBurner seems to get everything right with this, and without going into too much technical detail and running the risk of turning off those most likely to sign up for this service, let me quickly explain what it is and offer an easy way to subscribe.
Basically, instead of using a news aggregator (you know, those things I never shut up about?), you’ll simply be sent an e-mail containing my latest post, and because I have a full-content feed, you’ll never really need to actually check the site to keep up.
It couldn’t be any easier.
Also, I’ve just recently “burned” the bits feed (the links with the pink text on the index page) and the photoblog feed to get a better handle on reader circulation. Therefore, these are also now available as e-mail subscriptions. Please see the forms below to sign up.
Sign up!
HDR imaging software
Anyone aware of anything better than Photomatix Pro for producing HDR images on a Mac? I’m pretty eager to start experimenting with this technique, but before diving in I’d like to know that I’m using the best software available for the job.
Web 2.NO [thank you]
I’m done. I’ve had it with all of the “Web 2.0″ hype and bullshit. It’s all so very tired. If your article’s got Web 2.0 in the title, you’re pretty much guaranteeing yourself one less reader. Sorry, but enough is enough.
Jabra JX10
The Jabra JX10, my dream Bluetooth headset? Not quite, but it’s certainly as close to it as any headset I’ve yet owned, and I’ve owned a lot of them over the last few years.
In reverse order, I’ve had the following: Sony Ericsson HBH-662 (includes LCD screen for caller ID), Motorola HS850, Jabra BT250v, Jabra BT800 (includes LCD screen for caller ID), and at least two others that I can’t currently recall. Perhaps I should include these on the gadget page, lest I forget them.
Anyway, back to the JX10. This thing is tiny — check out this shot I got of it next to a quarter (it’s a quick and dirty cameraphone pic, but you get the idea). At 10 grams (less than 1/3 of an ounce), it’s the smallest Bluetooth headset currently available (with a built-in, rechargeable battery). Couple this almost non-existent form-factor with the fact that I actually like the design and all that’s left for it to do is perform well, and perform well it does.
It’s a Bluetooth headset so there’s not too much for me to say other than that I’ve experienced no trouble with it over the last month. Battery life, like most consumer electronics, is nothing like what is claimed, but it’s certainly no worse than what I expected and I really can’t complain about it.
With respect to features, one of its biggest selling points would have to be its DSP technology; this allows it to adjust volume levels relative to background noise, significantly reducing the latter. It works pretty well and I’m assuming it’s the same technology found in the BT800 mentioned above, which performed about the same.
Given the feather-like weight of the headset, the braver among us might actually wear it without the detachable earhook. I actually do this sometimes when I’m in my apartment (read: not really moving about); it’s balanced perfectly so that when you rest it on the ‘inside’ of your ear it will stay there barring any crazy head movement. This leads me to my one and only real gripe: why is there an earhook at all? With a device so small and lightweight, the earhook could have been obviated rather easily by allowing it to sit inside your ear (much like the in-ear headphones I’m always raving about; like those, it could also come with some sort of fitting kit). There’s no doubt that this in-ear approach is where these headsets are going, and a couple of manufacturers have actually tried it already, but no one’s quite pulled it off yet. Seems so simple and obvious to me. *shrug*
I passed the Patent Bar!!!
Earlier today I passed the notoriously difficult, six-hour Patent Bar exam and I don’t think I’ve ever felt so good (in context) or relieved. I’ve never been one to get too celebratory about “achievements,” but I can’t lie, I’m pretty proud of this one.
It’s a good thing I passed this first time, because I’m not sure what else I could have done to prepare for it. I BUSTED MY FUCKING ASS. Had I not passed, I wouldn’t have been able to take it again until sometime after the California Bar, and by then I surely would’ve forgotten all that I had learned. It was kind of a dumb move to wait so long to take it (and remove the option of ‘quickly’ retaking it had I not passed), but to be honest, I’m not sure I would have passed without the added pressure.
I’m headed out tonight for some well-deserved fun, and tomorrow, when I emerge from my imminent alcohol-induced coma, I’ll be sure to reply to all of the e-mails and voicemails I’ve been sitting on and might publish a few posts as well.
I’ve been holding down the bat cave in crazy, stressed, isolate-myself-from-the-world mode for a while now and can’t wait to get back to “normal.” Unfortunately, I’m going to have to balance all of that catch-up stuff with the fact that I’ve got four law-school finals starting in two weeks and I’ve done next to nothing for most of my classes, not to mention that there are nine outstanding Google Hacks (3rd edition) chapters for me to edit. Ugh.
In other news, I’ve just ordered a “Crystal White” Nintendo DS Lite (still no link on nintendo.com?) from Lik-Sang, which should arrive here from Japan in ~3 days.
SuperDuper!
A couple of weeks ago, after failing to find a good backup solution for Mac OS X that supported versioning (i.e., some type of incremental backup), encryption, and the ability to backup over the Internet (through SFTP, SSH, etc.),1 I opted to take a different approach, at least in the interim.
I found quite a few programs that could do two of the three things listed above, but it seemed only one, Amanda, could do all three. The problem with Amanda though, is that running it on Mac OS X looks to be a bit shakier than I would like and probably more work than it’s worth. Though it’s likely something I’ll setup in the future when I have more time to fart around with it, right now I don’t want to have to think about my data.
Enter SuperDuper! Stupid name, great software.
I still haven’t picked up a 1TB+ datastore (as it stands I’m pretty set on the Infrant ReadyNas NV, a device that came out just recently) and probably won’t until I feel that their prices are commensurate with the insanely low cost of storage right now.
That said, I ended up purchasing an external 250GB USB 2.02 drive, partitioned and formatted it using Apple’s Disk Utility (100GB to mirror my notebook and the rest to play around with), bought SuperDuper!, setup a daily schedule to “smart”-mirror my notebook to the “backup” partition, and that was that. Done. I haven’t touched it since, save a couple of times just to make sure that it was firing up as scheduled.
Because I’m doing this locally and not shooting my bits into the ether, the fact that SuperDuper! doesn’t support any type of encryption is really a moot point, at least for the time being.
-
As I’ve talked about here many times before, I backup all of my really important stuff on various shell servers and local media using a combination of shell scripts, rsync, and cron, but now that Dreamhost gives me 80GB(!) of storage, I wouldn’t mind mirroring (for the most part) my main machine there. ↑
-
SuperDuper! can make the drive bootable, but unfortunately, PowerPC-based notebooks can’t boot from USB 2.0 devices. However, Intel-based Macs do support this feature and as soon as Apple fixes their myriad problems, I’ll be first in line to buy one. ↑
Quicksilver and the Timer Action plugin
Has anyone been able to get the Timer Action plugin working with the latest version of Quicksilver (β48)? I’ve tried every version of the Timer Action and PyObjc Support plugins, and in every combination, but can’t seem to make the Timer’s associated actions “actionable.” If you’ve come up with a solution, pray tell — either drop me an e-mail or leave me an audio comment. Thanks.
UPDATE: Quicksilver chirped at me this morning (12 hours after I initially posted this) to let me know that a new version of PyObjc Support was available; this solved the problem.
I’m not a Cylon
My girlfriend is convinced that I’m a Cylon (possible spoiler alert) because I “never sleep.” I assure you, I am not (or am I?). On a related note, and to reiterate the well-known(?), Battlestar Galactica is an absolutely brilliant sci-fi series. Despite what most of you probably assume, I usually can’t get into this fictional genre (at least not like I could when I was younger), but this show has me hooked, perhaps because much of the underlying premise somewhat parallels how I view the world and where I think technology will ultimately lead the human race.
The Gators have won the NCAA Championship!!!
They were unstoppable. Absolutely unstoppable. Way to go guys! Sure, get the football title two years before I start there and the basketball title three years after I leave, but hey, I’m not complaining. All you sophomores better stick around so that we can win it again next year!
Goodbye my lover
A couple of months ago I heard this song and it knocked me on my ass. In fact, I actually contacted the first love of my life and implored her to give it a listen. Read the lyrics, sure, but you have to hear it (no registration needed; I’m kind of confused as to why more people aren’t using the free Rhapsody service to link to songs in their weblogs).
Did I disappoint you or let you down?
Should I be feeling guilty or let the judges frown?
‘Cause I saw the end before we’d begun,
Yes I saw you were blinded and I knew I had won.
So I took what’s mine by eternal right.
Took your soul out into the night.
It may be over but it won’t stop there,
I am here for you if you’d only care.
You touched my heart you touched my soul.
You changed my life and all my goals.
And love is blind and that I knew when,
My heart was blinded by you.
I’ve kissed your lips and held your hand.
Shared your dreams and shared your bed.
I know you well, I know your smell.
I’ve been addicted to you.
Goodbye my lover.
Goodbye my friend.
You have been the one.
You have been the one for me.
I am a dreamer and when I wake,
You can’t break my spirit - it’s my dreams you take.
And as you move on, remember me,
Remember us and all we used to be
I’ve seen you cry, I’ve seen you smile.
I’ve watched you sleeping for a while.
I’d be the father of your child.
I’d spend a lifetime with you.
I know your fears and you know mine.
We’ve had our doubts but now we’re fine,
And I love you, I swear that’s true.
I cannot live without you.
Goodbye my lover.
Goodbye my friend.
You have been the one.
You have been the one for me.
And I still hold your hand in mine.
In mine when I’m asleep.
And I will bare my soul in time,
When I’m kneeling at your feet.
Goodbye my lover.
Goodbye my friend.
You have been the one.
You have been the one for me.
I’m so hollow, baby, I’m so hollow.
I’m so, I’m so, I’m so hollow.
I’m so hollow, baby, I’m so hollow.
I’m so, I’m so, I’m so hollow.
James Blunt’s “Goodbye My Lover”
Yes, yes, yes!
The Gators are going to the national championship! Come on guys, bring it home this time.
Untitled (2)

I post-processed this image quite a bit, but I don’t think any more than necessary. I really wanted to separate the children from everything else and actually came up with quite a few variations before deciding on what you see. I probably could have spent a few more hours on it, but, to be honest, I’m kind of sick of looking at it.
Per-user CGI through Apache on Mac OS X
For the past two hours I’ve been losing my goddamn mind trying to get CGI scripts to work on my local Mac OS X machine so that I can test some things for the third edition of Google Hacks. I usually do this sort of thing on remote shells, but because I couldn’t get this particular piece of code working on the other machines (through no fault of the code), I decided to try and run it locally.
After making the necessary changes to the httpd.conf file I tried running some CGI scripts from my web folder and kept getting 403 (Forbidden) errors. I knew my permissions were correct and so I was left to rifle through the logs to see what I could find; the httpd error log told me the following:
[Sat Apr 1 00:23:54 2006] [error] [client 127.0.0.1] Options ExecCGI is off in this directory: /Users/justin/Sites/foo.cgi
This really threw me for a loop because I explicitly added ExecCGI privileges to that directory through httpd.conf. After almost two hours of editing various files and restarting httpd, I found the following on line 1107 (the very last line!) of my httpd.conf file:
Include /private/etc/httpd/users/*.conf
Sure enough, the justin.conf file found in /private/etc/httpd/ was overriding the changes I made to the httpd.conf file. Once I nailed that down it was just a matter of commenting out the line.1
I’m sure this is documented somewhere, but I couldn’t find it, likely because it’s been a long-ass day and I’m having trouble focusing. And on that note, good night.
-
Instead of commenting out this line you could just as easily modify your respective conf file in /private/etc/httpd/; this is probably the better option for multi-user systems because it keeps everyone’s configurations separate. ↑