I really like Mint
A couple of months ago I finally decided to bite the bullet and pay for Mint, a statistics package for websites. What? Yah, I couldn’t believe it either, but you know I loves the numbers. $30, to be sure, is a lot to pay for what amounts to nothing more than a somewhat simplified stats program, but I love it. I love everything about it.
I’m not going to go into detail about the product, lord knows the blogosphere had its way with it when it was first released (mostly with regard to its admittedly high price), but I will say that I’m more than pleased, even if a bit miffed that I actually paid for it. It actually reminds me a lot of the old Reinvigorate system (which was *cough* free).
It’s not Analog or Urchin (now available for free from Google Analytics), but it shows me the information that I want to see, and beautifully I might add.
I think my absolute favorite feature is the RSS feed for new referrers. No need to follow anything else; Technorati, PubSub, and all the other ways I used to track incoming links have been obviated. Shaun gets around the referral spam problem by “validating” every hit with JavaScript, which really seems to do the trick.
One other really nice feature regarding referrers is that it can usually deduce that different URIs are the same site (e.g., www.foo.com, foo.com, foo.com/foo.html) and record/present them as such.
Pepper
The “Pepper” plugin interface is fantastic and as soon as I think of something I need that hasn’t already been created, I’ll be sure to release my own addition to Mint.
I currently use the following Peppers:
Mild complaints
There is no way to filter the RSS feed. In other words, there is no way to remove from it things that come up often, but in slightly different contexts (e.g., I get a ton of referrals from Google Images which I couldn’t care less about). Yes, I know of the Referrer Filter Pepper, but it only filters the page view pane, not the RSS feed.
Another thing I would like to see is the ability to switch between various color schemes. Sure, I could whip up a custom CSS file, but, well, I’m a busy man, and for $30 I would expect at least one alternative color combination.
All in all though, it’s a great piece of software and something I see myself using for years to come.
Busch Gardens
Yesterday I went to Busch Gardens with a bunch of friends for the first time in ~10 years. It was an absolute blast and everything I remembered. I think it’s always been my favorite theme park and yesterday just helped to solidify its position at the top. The new big ride, SheiKra, is completely insane, and were it not for the ridiculous wait times, we probably would have rode it all day.
WordPress 2.0
WordPress 2.0 was released yesterday (from v1.5.x) — I upgraded my installation last night and had no issues. Great job guys.
Also, both of the plugins I maintain for WP work fine under 2.0 (I’ve updated the list of working plugins to reflect this). On a related note, I’ll be releasing Smart Archives v1.1 sometime in the next few days and am working on two new plugins.
As you were.
I just can’t keep up
Too many friends to see. Too many voicemails to respond to. Too many conversations to have. I’m afraid that there just isn’t going to be enough time to fit it all in this break. If you haven’t received a response from me (other than through SMS/e-mail), trust that you are in the queue.
Uhh, at some point I should probably do some patent bar studying.
I ended up getting the EF 50mm f/1.4 USM lens I spoke of in an earlier post, but haven’t had a chance to shoot with it yet; hopefully tomorrow I can find some time. I’m currently sitting on about 10 pictures I think are good enough to post here — expect them to trickle in over the next few weeks.
Florida sunset

Today was the first day since I’ve been home that I’ve been able to take any pictures (my previous efforts had been thwarted by rain and lack of transportation), but even today I was only able to go out for about 45 minutes before it got dark.
You can find another, similar sunset picture below this one in my Flickr photostream (I took a ton of pictures because the sky kept changing colors) along with a B&W picture of a parked train that I took before I got to the water.
Expect many more photos, weather and transportation permitting.
I am a workaholic
That’s the first step, right? Now what? It’s no doubt getting worse with age, and, well, it kind of scares me.
What’s a GSM fanboy to do?
UPDATE: I actually ordered the i-mate SP5 again. Should be here tomorrow.
Am I going to be ‘forced’ to move to Verizon? Of all the phones I’ve owned and services I’ve used, the only major carrier I’ve never gone with is Verizon (for various reasons). However, that might have to change given that they seem to have both the Palm Treo 700w and the Motorola Q locked for the foreseeable future. Not sure if we’ll see unlocked GSM versions of these phones until well after the Verizon launch-hype has worn off.
This puts me in a very contentious position. Perhaps I’ll have to try and get the i-mate SP5 again(!) (obviously not from Expansys) or just wait for the Nokia E61, which I think might be a huge hit next year, assuming of course that Nokia doesn’t follow their usual practice of pricing “high-end” phones completely out of the market.
Still reluctant to move to Verizon
My love for GSM really has nothing to do with the underlying technology. That used to be the case, but as this industry progresses we’re starting to see that the big three (Sprint, Cingular, and Verizon) are converging toward similar ceilings. I think the biggest reason I’ve never gone with Verizon (or Sprint since about 2001) is because the [CDMA] phones they use are locked to the carrier, and so phones without the carrier’s “seal of approval” simply will not work. What does that mean exactly? It means that the latest and greatest devices (read: those available anywhere but America) can’t be used on these networks. If you flip mobile devices like I do, you not only want access to the newest gadgets, you also want to be able to sell them easily, which becomes a bit more difficult if your ad is limited to a specific carrier. When locked in with either Verizon or Sprint, you’re at the mercy of the respective provider as to which phone you’ll be using next — unless they decide to pick up the phone you want (and the manufacturer decides to let them have it), you’re shit out of luck. This has never sat well with me and I’m not sure the Q or the 700w can change that. Couple this inability to control your device with the fact that Verizon’s unlimited data plan for devices is $45/mo., where Cingular’s is $20, and the possible switch quickly becomes a non-decision.
I actually purchased a RIM Blackberry 8700c after the whole SP5 fiasco, but returned it the same day after realizing that there was no way for me (err, Cingular wouldn’t allow me) to use my all-I-can-eat data plan with the RIM device even though I didn’t need/want any “push” functionality; I simply wanted web and POP/IMAP access, but this required a separate $50/mo. “BlackBerry” plan. Just one more way to get your money. I’m so sick of the providers here I can’t see straight and could talk at unbelievable length about the inequities and ineptitude of the entire mobile phone industry, but I’ll save everyone the bore (for now!).
On the lack of new pictures here
Yes, I know I’ve been a little lax with pictures here lately — I’ve been busy. Truth be told, I haven’t taken a single shot in about two months — I’m itching to get back into the swing of it and plan to shoot a ton while here in Florida.
While on the topic, I should mention that I might be adding the EF 50mm f/1.4 USM to my arsenal fairly soon.
On having luggage lost
Well, as usual, the black cloud of luck that hangs over my head decided to rain on me again today — American Airlines lost my luggage, which included both my patent bar study materials and some rather expensive clothes. Hopefully they’ll find it and rectify the situation. This is just what I needed after the last month and a 7:00AM-midnight transit from California to Florida. Same shit, different day.
What a month
I had my last law school final of the semester last night and am completely burnt-out. Not sure why, but finals really took their toll on me this semester. They always do, but this semester seemed a bit more intense for some reason. I’ve essentially been a machine the last few weeks and am now devoid of energy. All that’s really left to do is wait for my grades to start trickling in and ruining my day(s). Luckily, I’ll be able to drown my sorrows in good company, Chik-fil-A sandwiches, and fried okra from Sonny’s (see below).
Unfortunately, there’s really no downtime — today is the girlfriend’s birthday and tomorrow morning I head back to Florida for about three weeks. On top of the fact that there are 2342353 people I need to see and hang out with in Florida, this break is likely going to be a lot less fun than years past because I’m going to have to spend the majority of it studying for the patent bar, which is not the most exciting thing in the world. In fact, I dare say it’s the most boring, god-awful thing I’ve ever been made to do.
Notwithstanding the fact that I’ve got all of this stuff going on and that the next few weeks will arguably be as busy as the last few, you should expect a ton of posts from me over the next month or so — there’s a whole lot I’ve been wanting to say, but just haven’t had the time to say it.
We’re now off to find Midway Arcade Treasures: Extended Play for my PSP. This cartridge comes with the original Mortal Kombat trilogy (I’m an MK god; it’s been a while, but…) and ~20 other games. I can’t wait!
We also plan on seeing King Kong this afternoon, and from what I’ve heard, it’s nothing short of brilliant.
As you were.
Del.icio.us alternatives redux
I received quite a bit of e-mail regarding the Del.icio.us alternatives post I put up a few weeks ago. As is always the case when I write something like that, much of the feedback comes from similarly situated people looking for the same solution and asking me to let them know if and when I come across it.
However, not all of the e-mail was from end-users — I also got feedback from various del.icio.us competitors hawking their wares. In fact, the CTO of Furl, the service I commented on in the earlier post, e-mailed me to get a better understanding of what I was talking about regarding the URI-forwarding and has since told me that a “furl”-free referrer is now on the to-do list. I really hope this actually comes to fruition.
For what it’s worth, I did try out quite a few other social-bookmarking services, but all of them suffered from the same no-HTML-in-comments shortcoming.
Something tells me that at the end of the day I’m going to have to migrate the entire thing back to my own CMS to get this very simple feature. I explained how to create a “linkblog” with Movable Type a while back, though I’d likely use WordPress this time around if it comes down to that.
Out of curiosity, has anyone come across a del.icio.us importer for either WordPress or Movable Type (either would work — importing/exporting between those systems isn’t too terribly difficult)? When I say “importer,” I’m referring to moving the actual bookmarks (+descriptions) to the CMS (i.e., each bookmark ends up being a separate post); I’m not looking for a way to present del.icio.us bookmarks on a site powered by either of those CMSs.
Gmail and Lynx
Not sure why I’m writing about this here, but I was pleasantly surprised to find out that Gmail works, and works well, in Lynx, the text-only web browser for *nix terminals.
A few days ago there were some network problems on campus (surprise, surprise) and about half of the sites I was going to were not coming up. I desperately needed to check my e-mail and my phone’s battery was dead so I couldn’t do it from there. I didn’t know of any proxies off the top of my head and so I ended up SSH’ing into my webhost and using Lynx to get to Gmail.
Now, I fully realize that Gmail has an HTML-only version that is triggered when JavaScript is disabled (or missing), but for whatever reason I just assumed that the site would somehow break under Lynx. Lucky for me it didn’t break, and honestly, the navigation isn’t that bad in a pinch.
Note to self
It’s probably not a good idea to do this again. Finals are killing you this semester.
Hacking Gmail
It appears that Wiley has put up a few excerpts from Hacking Gmail, a book for which I was the technical editor (also see Google Hacks).
Keep in mind that the selections Wiley offers don’t touch at all upon the real crux of the book, namely, the API and other code-related things that were Ben’s focus.
If you’re a Gmail “power user” and really want some neat, practical insight into the web service’s innards, I suggest you check out the book, which I’m told should be in stores before Christmas.
As an experiment, I started using Gmail exclusively about a month ago and have a lot to say about the experience (not the least of which is the fact that I’m still using it). Because I fear the post will be relatively long, I’ll likely wait until law school finals are over before writing something up.
Colored bubbles
Mike Haney’s got an excellent article up on Popular Science titled, The 11-Year Quest to Create Disappearing Colored Bubbles. It’s one of those inspiring feel-good stories that really makes you want to keep pressing on and producing, knowing that there are still problems yet to be solved and things yet to be created, and hoping to one day claim your well-deserved jackpot for figuring it all out. My favorite passages:
I started with Jell-O, because I thought, “Well, it’s got pretty intense color. So I mixed Jell-O and Ivory soap. I got nothing.” Undeterred, he went back to the store and tried food coloring. Then hair dye. Then ink. Within weeks, he was taking Sherri on dates to the grocery store, where he would buy as many colored products as he could afford. Back in his kitchen, he’d dump the Fruit Roll-Ups or Juicy Juice into a pan, heat it on the stove until he figured the color was loosened up, and pour in the dish soap. Only clear bubbles emerged.
[...]
Color remained elusive, but his try-anything approach kept plenty of other strange bubbles floating across his kitchen. One exploded with a loud bang. Another gave him chemical burns when it popped. The best one bounced, just like a Super Ball. He thought he could have sold that one, but he couldn’t re-create it. He could rarely re-create any of his experiments. “I never wrote anything down,” he says. “I’d get too excited as I was doing it. But once I lost that bouncing bubble, I was crushed. I started videotaping myself so that next time I’d know more than ‘It was something on that side of the kitchen.’ “
[...]
Ask Kehoe now to describe the day the first colored bubble appeared, and the details are fuzzy. He remembers dipping his wand into a pot of blue solution (although they produced clear bubbles, most of his solutions were colored by then) and looking at the quivering film, thinking that this one seemed different. He blew, and a bubble floated across the room. It was blue. He tried again. The next bubbles were blue too. He called Sherri in to make sure he wasn’t hallucinating. No, she agreed, it was a blue bubble. As far as they knew, the world’s first blue bubble. In his kitchen.
What the hell is up with PopSci’s pagination? That entire story should have been on three pages max, not 11! I get that they want to hike up page views and ad impressions, but their scheme is a bit overkill — I can promise you that if I haven’t clicked on an ad by page two, I probably won’t on page 11. Hell, I don’t think I’ve ever clicked on ad period, but that’s beside the point, or is it?
Use CSS to place Firefox tabs where you want them
I actually hacked this up for myself a couple of months ago and the explanation of how I did it was sitting in the “queue” waiting to be posted here (like 30+ other things at the moment), but it seems that I’ve been preempted by mozillaZine, which I was just informed, has some instructions on the process.
I like everything on my computer to be on the right (tabs, system dock, application drawers, etc); for me, it makes perfect sense both from an efficiency standpoint (i.e., it’s usually the case that my mouse pointer “sits” on the right side of my screen) and a screen real-estate standpoint (i.e., my monitor, like most, is wider than it is tall).
Del.icio.us alternatives
Can anyone point me to a “social” bookmarking service that has everything del.icio.us has plus the ability to use markup in the comments you add? If there’s no relatively easy1 way to import my del.icio.us links into whatever you’re recommending, then forget it, but if you think you know of something that might fit the bill, pray tell.
Of course all of this would be moot if del.icio.us would simply allow HTML in the comments. You listening Joshua? Come on man, make it happen; I don’t want to leave del.icio.us. :)
I’m well aware of Furl and if I switch that’s likely what I’ll switch to, but there’s one thing about that service that really bothers me, namely, the fact that when you use it to put links on your site, those links are routed through their servers each time someone clicks on them (i.e., sites won’t see that I’m linking to them because the referrer will show Furl; not only does this perturb me personally, it frustrates the means and ends of search engines).
-
As long as the new service offers the ability to import links not created through it, I don’t mind massaging my del.icio.us links into a format that the new service can read. ↑
Cribcandy
I got turned on to Cribcandy, “bookmarkable stuff for your home,” a few months ago and can’t get enough of it. Every day its RSS feed alerts me to neat products that I can add to my “wist” (wish + list) with a single click. Nevermind the fact that I can’t afford 99% of the stuff I add — it’s there waiting for me when I can.
Perfect Blue Buildings
Just down the street from your hotel, baby
I stay at home with my disease
And ain’t this position familiar, darling
Well, all monkeys do what they see
Help me stay awake, I’m falling…Down on Virginia and La Loma
Where I got friends who’ll care for me
You got an attitude of everything I ever wanted
I got an attitude of need
Help me stay awake, I’m falling…Asleep in perfect blue buildings
Beside the green apple sea
Gonna get me a little oblivion
Try to keep myself away from meIt’s 4:30 a.m. on a Tuesday
It doesn’t get much worse than this
In beds in little rooms in buildings in the middle
of these lives which are completely meaningless
Help me stay awake, I’m falling…Asleep in perfect blue buildings
Beside the green apple sea
Gonna get me a little oblivion
Try to keep myself away from myself and meI got bones beneath my skin and mister…
There’s a skeleton in every man’s house
Beneath the dust and love and sweat that hangs on everybody
There’s a dead man trying to get out
Please help me stay awake, I’m falling…Asleep in perfect blue buildings
Beside the green apple sea
Gonna get me a little oblivion, baby
Try to keep myself away from me
From Counting Crows’ Perfect Blue Buildings
Chaos theory
I recently received the following e-mail from a good undergrad friend:
This link in your bits feed made it into lecture today after I sent it to Dr. Wu.
This is his reply:
“It is easy to explain why we see green dot. Since the pink dot moves fast, what we see is actually the complement color of pink, which is green. When the pink changes to grey (the background color), you will see green. If a monitor show R and G at different location, you will not see R and G, but yellow, as long as the lighting moves fast from R to G (faster than 30 Hz or so).”
He showed it in class and said he would ask how it works on the final exam.
Is this an example of chaos theory? The effect of including a link in your page alters the final grade of Dr. Wu’s students.
Hopefully no one in that class reads my site. :)
32-inch LCD HDTV recommendations
UPDATE: I think I’ve settled on the Sony BRAVIA XBR.
Though I already have a few well-informed friends on the case, I thought I might as well ask the question here too: what’s the best 32-inch LCD HDTV for less than $2500?
It’s very likely that I’ll still do my usual over-the-top, leave-no-webpage-unread research on the subject, but I wouldn’t mind hearing from a few people who might be a bit more knowledgeable than I when it comes to this sort of thing.
Expansys and delayed shipping
UPDATE: Well, I’m fairly certain that I’m going to be going with the 8700c I mention below — currently Expansys is claiming that my order will not ship until Nov. 30th Dec. 11th Dec. 23rd!!! If it ships on that day (and it won’t), it will have taken more than three months to arrive at my doorstep. No thank you.
As I mentioned previously, I recently purchased an i-mate SP5. It still has not shipped. When I ordered it I was told that it would ship in six days. It’s been 30. Every time the “estimated shipping” ticker drops down a couple of days, it always seems to jump back up by four or five. Currently, it says four days, so assuming it actually ships this go around (unlikely), it will have shipped 34 days after I ordered it.
I’ve used Expansys multiple times without incident, but this is really starting to rub me the wrong way. I understand that the holdup is likely on i-mate’s end, but not once in the past month have I received an e-mail explanation from Expansys regarding the delay. Nothing.
I’ve been looking very seriously at the Blackberry 8700c and if it ends up coming out on the 21st as expected, I may very well cancel the SP5 order if it hasn’t yet shipped. Hell, I may just cancel the order out of principle — this is getting ridiculous.
Disabling auto-paragraphs in WordPress
If WordPress feels that a tag you are using needs to be wrapped in a paragraph tag, it will just go ahead and do that for you no questions asked. No thank you.
I first ran into this problem when checking the site for XHTML validation after coming up with a method for producing weblog footnotes using Textpander. The XHTML would not validate: there was a closing paragraph tag without a matching opening paragraph tag. Poring over my code again and again, I knew that I wasn’t doing it — WordPress was adding the rogue paragraph tag sometime subsequent to the calling of the_content(). After taking the issue up on the support forums (and finding agreement that it was indeed a bug), I noticed the problem again when I did the latest redesign, however in this instance it was adding an opening paragraph tag and not closing it, which compelled me to re-examine the issue.
After sifting through more code than I’d like to admit, I figured out a very quick and easy fix that doesn’t seem to break anything else (on my site anyway). All you need to do is open the /wp-includes/default-filters.php file and comment out the following line:
addfilter('the_content', 'wpautop');
Logic would suggest that if you don’t currently roll your own XHTML, then this little hack probably isn’t for you, because, I’m assuming, that without this filter, posts that are typed up through the WordPress web interface are never wrapped in paragraph tags. In other words, don’t comment out the above line unless you know what you’re doing.
Keep the change
I hate change. Hell, I hate cash period. I’m very used to the surprised looks I get from friends when, for whatever reason, I actually whip out some cash to pay for something. One of the biggest reasons I hate cash is that you have to keep replenishing it, which means taking trips to the bank (or selling things on Craigslist), which means you’re being inefficient (unless of course you walk around with thousands of dollars in your pocket or you work at a bank).
That said, most of the people I know don’t seem to agree with me about this. They almost always use cash and make frequent trips to the bank to get more of it. My argument is simple: it’s 2000-fucking-5, the world is electronic, why aren’t you? I don’t get it. With a debit/cash card you never have to worry about not having money (if you actually have money in the bank), there is an electronic record kept of whatever you purchase, and best of all there is no change to deal with.
Perhaps Bank of America has finally realized that a significant number of people still prefer cash, because they’ve just come out with a pretty ingenious program, Keep the Change, that would seem to prod people into using their debit cards more. Basically, the program rounds up any purchases you make using your debit card to the nearest dollar and puts the difference between the rounded amount and the actual amount into your savings account — automatically and with every purchase.
What I don’t quite understand though is that the name “Keep the Change” seems to be a bit of a misnomer. I mean, if you are using your debit card, there is no “change” anyway, right? Right. Notwithstanding the confusing name, I still think it’s a neat idea, especially for those spendthrifts who don’t normally “save.”
Sadly though, the program can’t really compete with some of the other cash-back credit card programs out there because those give you something on top of what you’ve already put in (assuming that you pay off your balance each month) rather than skimming the top off of what was already there and repackaging it . That said, I do think that this aspect of the program is pretty cool:
For the first three months, we’ll match your Keep the Change? savings at 100%. That means for every Keep the Change transfer, we’ll contribute the same amount to your Bank of America savings account. And when the three months are over, to make it even easier to save, we’ll continue matching 5% a year, every year.
While on the topic of Bank of America, I have to say that their website can be pretty goddamn annoying sometimes. For those not in the know, BoA has two completely separate computer systems, east and west, that cannot talk to each other; apparently, like those that still use cash exclusively, no one there got the memo that it’s 2000-fucking-5 and that this sort of interoperability should be a non-issue — it’s the same company for christ’s sake!
I have accounts in both California and Florida and if I want to deposit a check into my Florida account while in California I actually have to go into the bank, fill out some paperwork and then wait in line so that I can talk to a teller (even though I can withdraw “Florida” money from any BoA ATM). What is more is that the deposit is not instantaneous and usually takes a couple of days to show up in my account. It’s much easier to just deposit it into the California account and then move it over electronically.
While this isn’t that big of a deal (I mean, how often do you use checks anyway?), there is another aspect of this divide that is incredibly annoying, namely, the fact that you can’t consolidate multi-state accounts (if they exist on opposite systems) into a single online “account.” I have to use separate logins to get into my accounts even though they are through the same damn bank. This wouldn’t be such a chore if you weren’t required to choose the state in which the account is held (the different login name isn’t enough), but you are and the song-and-dance requires multiple steps.
If anyone can explain away this chasm, pray tell.
From iPhoto to iView MediaPro
ADDENDUM: A few days ago, Apple announed Aperture, a professional-grade photo editing and management tool, which, after watching the demo videos, I’m incredibly impressed with; something tells me I’m going to be doing this whole “migrating” thing all over again with Aperture pretty soon. It’s obvious that Aperture is currently meant to complement Photoshop, not obviate it, but I’m sure Apple isn’t ruling out the possibility years down the road.
A couple of weeks ago I decided I was going to stop using iPhoto and move to something, umm, what’s the word, oh yah, USABLE. iPhoto had been giving me all kinds of trouble, much more than I want to get into here (and that you likely want to hear about), but the problems are by no means specific to me and I’m sure most of the people reading this post know exactly what I’m talking about. Indeed, in the last month I’ve seen a considerable spike of I’m-sick-of-iPhoto rants across the blogosphere.
The biggest problem for me was always speed — use iPhoto to organize a substantial amount of photos and you’ll quickly realize that it’s incredibly slow, to the point that for all intents and purposes it’s quite unusable. This annoyance quickly became unbearable when I started using iPhoto with the larger files produced by my Canon 20D and I knew that something was going to have to change.
Let the OS do the work?
There really aren’t too many alternatives on the Mac when it comes to image organization. Given the lack of options, I, at one point, thought that I would just use hierarchical folders (year/month, etc) and navigate the pictures using a combination of the Finder, Spotlight, and smart folders. As ever, I thought long and hard about the possible long-term implications of such a move and ultimately decided that that was probably not the best approach right now (though I might very well decide otherwise in the future).
After dismissing the “filesystem” option, it didn’t take me long to stumble upon iView MediaPro. I’d heard of it before and even read some reviews, but never really considered it until now. I knew that a lot of “serious” photographers swore by it and so I decided to give it a shot.
Post-move Details
I knew the transition was not going to be easy and I put it off as long as I could. I was aware of the iPhoto import feature (truth be told, I doubt I would have attempted the move without it), but I was scared that the amount of pictures I had would make the importer shit on itself (especially in light of the fact that all of the pictures were tagged with at least one descriptor, if not many). Imagine my delight when the move was completely error-free. That’s not to say that there wasn’t some post-move work to be done, but the catalog and thumbnails built themselves without a hitch; this included both the albums I created (called “Catalog Sets” in MediaPro) and keywords.
The only real hang-up regarding the transition was manually moving the image files to another directory. iPhoto stores its photos in a particular year/month/day structure located in ~/Pictures/iPhoto Library and when you “import” these pictures into MediaPro the disk location is maintained. Obviously, I didn’t want my pictures to reside in the iPhoto directory anymore and I also didn’t want the directory structure to be so granular (i.e., I wanted just year/month).
Surprisingly, this wasn’t too hard to do in MediaPro.1 I first created a directory off my home directory called “images” and then created subfolders for the years and months. I added the images folder to the “Catalog Folders” pane in MediaPro, which already contained the iPhoto directories because of the initial import. Finally, using the Catalog Folders pane I selected each of the “day” subfolders within the iPhoto directory, highlighted all of the resulting thumbnails, and dragged them to the corresponding year/month folder under the images directory. Using this method, MediaPro physically moved the files to the new directories and kept all of the meta information (keywords, sets, etc) intact.
Likes / Dislikes
A few things I really like about the program:
- Very, very, very fast. I’m running it on a 1.25GHz PowerBook G4 with 1GB of RAM and am loving it; it’s such a departure from the spinning beach-ball that was iPhoto.
- Good configuration options (not great, but certainly very powerful).
- Very nice interface. There’s no real clutter and everything feels like it has a purpose — the entire application is very navigable.
- Excellent metadata options.
A few things I don’t like:
- When browsing through thumbnails you can’t select multiple pictures using the mouse (i.e., you can’t click and drag over multiple pictures) — if you want to pick more than one picture you have to CMD-click each of them.
- Can’t select multiple keywords at once (i.e., there’s no way to see pictures tagged with both “justin” and “friends”).
Can’t change the size of the thumbnails — they’re stuck at 128 pixels wide.
Backing it all up
I’m a huge fan of rsync and have been using it for years to backup various important documents and so it was the logical choice for backing up my photos remotely now that my webhost gives me enough space for this sort of thing.2 The following is the rsync call that I use to backup my photos (once a day using cron). The first instance of this obviously required all of the pictures to be moved to the webserver, which took forever given my upload cap.3
cd /Users/justin;rsync -e ssh -rtR --delete --stats --progress
images/ jblanton@justinblanton.com:/home/jblanton/
Keep in mind that to run this particular command you will need to have setup passwordless SSH access on your webserver. Also, you might want to delete the “delete” argument, lest you run the risk of deleting all of your remote files if syncing from an empty disk.
-
Of course I could have done all of this either in a shell or through the Finder, but I would have lost all of the metadata manually entered by me previously. ↑
-
When I first started using Dreamhost to host this site I was allotted 2.5GB of space. Now, almost exactly a year later, I have nearly 20GB of space and am paying the same price per month. ↑
-
Number of files: 4484
Number of files transferred: 4422
Total file size: 5469814058 bytes
Total transferred file size: 5469814058 bytes
Literal data: 5469814058 bytes
Matched data: 0 bytes
File list size: 72342
Total bytes sent: 5470722216
Total bytes received: 70772Sent 5470722216 bytes received 70772 bytes 44058.01 bytes/sec
Total size is 5469814058 speedup is 1.00 ↑
i-mate SP5
I recently sold my Sony Ericsson K750i and purchased an i-mate SP5, which probably won’t arrive for at least another week — consider this a pre[re]view. As some of you may recall, I had an i-mate SP3i a few months back and loved it — there was literally nothing wrong with it. Now, take everything I liked about that phone and square it. Seriously. Pretty much nothing comes close to the specs on the SP5. A brief list of notable features:
- Tiny, candy-bar form factor (107x46x17mm; 106g)
- QVGA screen (320×240 pixels shoved into 2.2 inches)
- Wi-Fi (802.11b)
- EDGE (class 10)
- MiniSD
- Quad-band (850/900/1800/1900)
- 1.3 MP camera (yes, a step down from the K750i’s 2MPs, but I could not care less)
- First Windows Mobile 5.0 Smartphone Edition phone
- Bluetooth1
If the construction of this phone is as solid as that of the SP3i, I have a feeling I’ll be keeping it for a while. In fact, I’m pretty sure that even the Motorola Q won’t be able to pry me away from it, if only because the Q will not have Wi-Fi (and possibly not even EDGE), nor will the Treo 700w, which was also on my radar. However, the Nokia E61, which was announced subsequent to my ordering of the SP5, has really got my attention. It will have everything the SP5 does, save Windows Mobile (Symbian OS v9.1 will be the platform), plus, if past support is any indication, it will sync with Macs.2
-
Unfortunately, it’s a Bluetooth 1.1 stack — this is perhaps my only technical qualm with the phone. ↑
-
I am a bit bummed that no one (including me) has been able to get a Windows Mobile device to function as a Bluetooth modem under Mac OS X, something I’ve written about before. I received a lot of feedback from that post, but no solutions. ↑
flickrRSS
UPDATE: Dave Kellam, the author of flickrRSS, sent me an e-mail shortly after I put this post up to let me know that he reads my site and to thank me for the plugin plug (well deserved Dave). He also expounded on his future plans for the plugin and his intention to take care of its inability to display Flickr’s “medium”-size images (500 pixels wide), my only complaint. Then, not two hours after that first e-mail, he sent me an updated PHP file that addressed the “issue” (you can now see the larger pictures on my photos page). I’m told that he’ll release this version to the public in the next week or so.
Ever since the latest site re-design (and even before), I’ve been a little less than pleased with my photos page, which basically contained just two links, one to my Flickr photostream and one to my PHP Slideshow script. I have a couple of ideas to help fill in this space, but haven’t had time to implement them. I was either going to use the Flickr API to populate the page with the most recent photos or run the Flickr RSS feed through an XSLT transform to accomplish the same.
However, while doing some very cursory research I stumbled across flickrRSS, a WordPress plugin. To be honest, I didn’t have high hopes for it and never expected to actually use it, but after setting it up it was hard to convince myself that it wasn’t exactly what I needed. The available customization options, image caching, and integration with the WordPress panel have really sold me. The only thing I will probably hack it to do is to pull medium-size images (500 pixels wide) instead of the smaller sizes it currently supports.
Truth be told, I’m a little bummed that I found this because building it myself now would likely be re-inventing the wheel.
iPod nano + Brasso + invisibleShield
As you have no doubt heard, the Apple iPod nano gets scratches when looked at, much less used. Even my nano, which, if you know me personally, is transported on a cloud and handled with velvet gloves (read: I’m anal), has succumb to noticeable scratches.
After reading about the guy who removed nano scratches with Brasso (a mild abrasive), I was intrigued and knew that I had to try it out. As per Todd’s example, I used a micro-fiber cloth and concentrated mostly on the screen, which I rubbed for ~15 minutes. Surprisingly, all of the scratches that were there had disappeared — I was amazed. Granted, my screen was in pretty good shape to begin with, but after applying the Brasso it genuinely looked new. The same treatment was given to the metal portion of the nano with the same spectacular results.
After letting the Brasso dry and wiping the nano clean, it was time to put on the invisibleShield, which is basically a military-grade, nearly impervious, nano condom (watch the demo videos); the end result looks as if the nano has been vacuum-sealed.
Getting the shield on is a bit tricky and requires you to dip the film into soapy water to allow for it to slide about the nano so that perfect alignment may be achieved (the film is cut to fit the nano precisely). I was a bit reluctant to soak my nano with water, but knew that others had done it without incident and so I went against every anal-retentive bone in my body and “dove in.” I decided to apply the front film first, and surprisingly, I had it bubbleless and perfectly aligned in less than five minutes. I found that the best way to get the film on the nano is to completely soak it, shake the water off, and then lay it perpendicular to the top or bottom of the nano and kind of let it ‘fall’ until all of the nano is covered. This method completely obviates the bubble issue and all that’s left to do is align it (be careful though as this can produce bubbles if done incorrectly).
Unfortunately, I couldn’t leave well enough alone and ended up trying to get out a piece of dust near the bottom, which caused a seemingly endless cycle of pulling the film off, soaking it, and re-applying it. While the “stickiness” of the film never seemed to dissipate, its clarity did, and after more than a few “tries” it became apparent that some of the marks were going to be permanent. So, the lesson to be learned here is that you should roll with your first effort if you think you can live with it, because it’s probably only going to get worse.
Applying the back layer was nearly as easy as the front, but because the back piece also covers the sides I had to tackle its application in two steps. I found that trying to align the sides (and get them to stick) before the back was completely dry was damn near impossible. What I ended up doing was aligning the back and letting it dry for about 45 minutes before working on the sides (I just let them hang over the edge). After setting the sides and letting the whole thing dry for a few hours I have to say that I’m really happy with the results.
[It's amazing how some posts that you envision to be three lines end up being six paragraphs.]
Where are those damn kids?

I’m really happy with this shot and I’m curious to see how you guys receive it. I played around with it quite a bit in Photoshop, mostly just experimenting with isolating the clown and blurring the background to make it look like the clown was spinning on something. While the effect was neat (and believable), I ultimately decided to just crop it a bit and play around with the color.
The original colors were brilliant, but after desaturating everything I knew that I had to present it in black and white. To get the black and white seen here, I did the following: created a new hue/saturation adjustment layer with mode set to “color”; created a second hue/saturation adjustment layer with the mode set to “normal” on top of the first adjustment layer and set the saturation of this layer to -100; went back to the first adjustment layer and adjusted the hue/saturation until I was happy.
I’ll leave the context and circumstances of the shot to the imagination.
Site design v137.1
As you can see, there is a new site design here at jb.com (if something looks a bit off, empty your cache and refresh). As is always the case, the minimalist in me seemed to take over. To be honest, I wasn’t quite sure if I could get any more “skeletonized” than my last effort, but I do think I’ve pulled it off.
I’ve shot at the design with just about every browser gun on the planet, and it seems to have held up alright. That said, if you see any bullet wounds, please be sure to let me know.
Miscellaneous Comments
- Yes, that’s pink in the Bits section on the right. Shut up, you love it!
- Referrer spam has forced me to remove the referrer page. Despite my best efforts, it was time to throw in the towel. I fought the good fight for a couple years, but it just wasn’t worth it anymore, especially in light of the fact that there are many other ways to gather that sort of information nowadays.
- I moved the “descriptions” that were at the top of the nested pages to the sidebar to try and make that element more uniform throughout.
- I moved all the feed links to a single area in the footer.
- I’ve had a site in one capacity or another since ~1993, but have never put up an “about” blurb, until now (see index page if you came here from an aggregator). Though I’m sure this little description will be in a constant state of flux, I’m going to try to keep it up for a while and see how it plays out. I keep telling myself that I’m going to put together a full colophon page, but it just never seems to materialize.
- The links page has always been hand-rolled, but just recently I decided to let Bloglines have a go at it and I’m pretty happy with the results; the aggregator service offers all the necessary options regarding CSS and privacy.
Sleep is for weenies
So much to write about, so little time. Why so little time you ask? Five law classes (including two bar courses and Federal Courts, arguably the toughest, most ‘abstract’ class in law school) + working part-time at the firm + intermittent patent bar studying + working on a book + keeping up with this website + “life.” I have so many ideas I want to run with and flesh out here, but I just can’t find the time to put pen to paper.
In other news, I hope to have a new design up here fairly soon (perhaps even tonight if I choose not to sleep). I’ve been working on it for a while and now I just need to integrate it into my “live” system. Don’t expect anything too crazy — less is more baby, less is always more.
Cammy Cam Party
I took this picture last weekend while walking around downtown San Jose. I debated just throwing it on Flickr and not putting it here, but I really liked the lighting and so I figured what the hell. I’ll probably put up at least one more from this outing in the next couple of days.

Archives without using WordPress’ Pages
A fair majority of the Smart Archives e-mail I field is concerned with how to actually create the /archives/ directory structure without using WordPress’ Pages. I thought about just putting the solution on the project page, but I think this tip will help others with similar problems (unrelated to WordPress) and so I’m posting it here on the weblog.
I’m working off the assumption that you want the same URI as my archives page (i.e., foo.com/archives/). The first thing you are going to want to do is create the /archives directory off your root. After you’ve created this directory, place your PHP file (the one with the Smart Archives function call) within this directory. Make sure that this PHP file has the following code at the top:
<?php require('/path/to/wp-blog-header.php'); ?>
Once the PHP file is placed in the /archives directory, you’re going to need to add the following line to your root .htaccess file:
RewriteRule ^archives/ archives/index.php [QSA]
It’s probably self-explanatory, but this rule redirects any page request that falls under the /archives directory and points it to the index.php file sitting in /archives. This line must go after whatever htaccess rules that WordPress, or you yourself, have already put in your .htaccess file that redirect browsers pointed to pages within the /archives directory.1
That’s all there is to it.
-
The idea here is that you want to make sure that other rules concerning /archives are processed before this rule; if they weren’t, then any attempt to reach a non-index archive page (i.e., the archive of an individual post) would result in the user being redirected to your /archives/index.php file. ↑
1TB+ datastore recommendations
UPDATE: I received a lot of great recommendations, but none of them could pull me away from the Infrant ReadyNAS X6, which I’ve had in mind from the beginning. If interested, and judging by the volume of e-mail I got regarding this, a lot of you are, be sure to check out TomsNetworking’s take on it. I’m not buying this tomorrow or anything, but barring any dispositive feedback from you guys, it will likely be the solution I run with.
I’m looking to purchase a rather large datastore fairly soon and was wondering what you, the readers, might recommend. I was initially hunting for an all-in-one solution, but prices haven’t been dropping at the rate I anticipated and so I’m also thinking about just buying an enclosure and filling it myself.
Requirements / Desires
There are a few things that I’d like the datastore to have:
- It must have an on-board RAID 5 controller (I want both striping and fault tolerance).
- If you’re going to point me to an enclosure-only setup (i.e., it doesn’t include hard drives), the box must be less than $400.
- If you’re going to point me to an all-in-one setup (i.e., it includes hard drives) it must be at least a terabyte (truthfully, I want much more because I’m afraid I’ll fill up a TB immediately, but cost is so prohibitive) and less than $1200.
- I’d like SCSI, but I realize that SATA or IDE are probably the only interfaces that will allow me to stay within my cost constraints.
- It must have at least four drive bays.
- I’d like both USB2 and FireWire 800, but either will do.
- Any kind of wireless connectivity would be great, but it’s certainly not going to be a dealbreaker.
Craigslist automatic relisting
Why doesn’t Craigslist allow you to automatically relist an item? The current system simply removes your item from the site seven days after you post it. You’re never informed that the item is about to “expire,” nor are you told when it’s ultimately removed. I sell a lot of stuff on Craigslist (mostly to circumvent eBay + PayPal fees)1, and on more than one occasion I’ve failed to remember that I had an item on the system until days after it had been removed. The worst part is that if after it’s been removed, you let too much time slide, the link sent to you by Craigslist to edit/delete the item will no longer work and you will have to rewrite your description from scratch.
Why can’t Craigslist simply let me know by e-mail that my item is about to be removed and provide a link that I can use to extend the life of the listing (not unlike the link it sends me right after I initially list something)? Everyone wins. I know, I know, you get what you pay for, but…
-
It doesn’t hurt that I live in Silicon Valley where there’s always someone who wants to buy the “techie” things I’m selling; were I in any other section of the country it’s doubtful that I would (or could) rely so heavily on the service. In other news, I can’t believe I actually put this in a “footnote.” ↑
Apple iPod nano
Just when I thought I would never buy another iPod (pipe dreams, I know), Apple drops the most badass digital music player ever, the iPod nano. Let’s be honest, when Apple comes out with a device called “nano” they’re pretty much guaranteeing a purchase from me. Sadly, I’m told there won’t be any in Silicon Valley until the weekend, but you can bet I’ll be first in line when they arrive.
While I’d like to say that I’m going to ‘review’ it, it’s highly unlikely; all that really needs to be said about it is that it’s an incredibly tiny, full-featured iPod without the hard drive. Have you seen it?!?
UPDATE: Valley Fair got a “ton” of them this morning and I picked one up earlier today. If you think it’s impressive online, just wait until you see it in person. They were flying out the door; everyone in line had at least one and I saw one guy with five.
Motorola ROCKR
This entry originally included a very long rant concerning the Motorola ROCKR, the first “iTunes” mobile phone and the other “big” announcement from Apple yesterday, but after reading it a few times I realized that I sounded a bit like a gadget elitist (surprise!) and so I digress. Let’s just say that it’s strikingly underwhelming both as a mobile phone and as a music player.
Apple Mighty(?) Mouse
Steve, please, for the love of god, just split the damn mouse down the middle and give it two buttons. The pseudo-button(s) on the Mighty Mouse drove me crazy. I have to admit though that I never had any real intention of holding on to the Mighty Mouse, due in part to the fact that in the past nine months I’ve gone through six different mice1 and because I, like a lot of other Mac zealots(?), am just compelled to try out anything new from Apple. I figured I would use it for a few days and then return it — that’s exactly what I did.
Before I start complaining, let me first expound on the virtues of the mouse’s only saving grace, the scroll wheel, or “nipple.” I’m a big fan of the nipple (to quote Jon Stewart, “settle…”) and can’t wait to see it adopted in other mice. It feels perfect and the “click” sound generated by the tiny speaker inside the mouse complements it well. I was this → ← close to keeping the mouse just so I didn’t have to give up the nipple.
The only thing I would change about the nipple would be to make it clickable. It can currently act as a button mapped to some action, but it doesn’t act independently of the rest of the mouse; when you press down on the nipple hard enough it causes the mouse itself to click (not unlike when you give the mouse a normal left-click) and the guts deduce from this movement that you’re pressing down on the scroll wheel. The whole thing feels a bit awkward.
Speaking of awkward, I was never able to stop thinking about hitting the “right” mouse button and this is what ultimately came between me and the nipple. I kept telling myself to try it for another day to see if I could get used to it or maybe come up with a different way of holding it. Nothing. My annoyance with this came into strong relief when happenstance had me use my “regular” mouse again, which immediately freed me from having to think about right-clicking and I quickly realized that the Mighty Mouse just wasn’t for me.
Another thing I was a little disappointed with was the length of the cord — <1m. It’s perfect for me, and, I suspect, for others who use Apple monitors (because they usually have built-in USB ports), but there’s just no way to use it if your tower is sitting on the floor.
Finally, the side buttons were horrible. Not only can they not act independently of each other (they must be pressed simultaneously), but they’re in a horrible position and offer pretty much no tactile feedback. To be honest, I thought the buttons on my mouse were broken until I saw other people with the same complaints.
-
I currently have the Razer Diamondback and will likely get the Copperhead when it’s released. I’ve also tried out just about every ‘high-end’ Bluetooth mouse on the market, only to be repeatedly disappointed by the “feel” and inaccuracy of their tracking. ↑
Six symbols
This is a metal sheet that conceals a ‘garage’ on the side of a building across the street from the Borders I frequent. Every time I walked past it I thought that it might make for a good photo; I think I was right. I did quite a bit of post-processing on this image, but it doesn’t deviate too much from what I actually saw.

Donate “logo”
I’ve had a few people e-mail me asking for permission to use the donate image I’ve been displaying above the menu on the right. Of course I told them that they could, as can anyone else who so desires; if you feel that it will do some good on your site, then please, by all means.
Katrina relief
As I did for the tsunami victims, I plan to donate any advertising revenue generated during the month of August (which I’m going to match) to the Katrina relief effort, and I encourage other webloggers to do the same.
To be honest, I kind of wish I was there so that I could contribute physically, but seeing as how that really isn’t feasible, I do hope that my monetary donation can help to make at least one person’s struggle a little easier.
My thoughts are with all of you.
Footnotes and Textpander
I’ve contemplated using footnotes here for years and have fleshed out all kinds of variations, but I always seem to abandon them rather quickly, opting instead to use long parentheticals because implementing footnotes in HTML is a bit of chore.
Technically, it’s pretty mindless. All you’re really doing is using anchors to specify a spot (i.e., the footnote) to move to within the HTML document — HTML 101. The thing is, to make everything look nice and function well, a bit more effort is required, and this effort, over time, can become quite burdensome.
That’s where Textpander swoops in to save the day. “Textpander listens to what you type and inserts predefined text snippets on the fly whenever you enter their corresponding abbreviations.” While there have been other programs that do this very thing, I’ve yet to find one that does it as well as Textpander; it’s fun to use and lends itself well to all kinds of applications, including hypertext footnotes, which I describe below.
I’ve ‘mapped’ both the footnote reference and the footnote itself. Whenever I type “rf” (in any application) the following automagically appears:
<sup id="r1-%m%d%y"><a href="#f1-%m%d%y">1</a></sup>
And when when I type “fn,” out pops:
<div class="footnotes">
<hr />
<ol>
<li id="f1-%m%d%y">
<p>FOOTNOTE TEXT<a href="#r1-%m%d%y">&uarr</a></p>
</li>
</ol>
</div>
As you can see, these little snippets of text are nothing more than footnote ‘templates’ that I created and all I’m required to do after they’ve been ‘called’ and inserted is add the footnote text; I went ahead and ‘mapped’ the 2nd and 3rd footnotes as well so that I don’t have to manually change the number at the beginning of the anchors that corresponds to the current footnote (see above examples).
Unique anchors
Obviously when you’re using anchors you need them to be unique, else, when visitors are on a large archive page (such as that for 2004), a footnote reference might bring them to a footnote meant for a post other than the one they’re currently reading. See the “%m%d%y” text in the examples above? I use these to produce the date in the form of “082905″ (for August 29, 2005), which, as it turns out, are perfectly suited to uniquely identify a particular point in the text.1
You’ll also notice a little arrow at the end of each footnote. The links used for these arrows need to be unique as well because they bring the reader back to the footnote reference that brought them down to the footnote in the first place (hat tip Gruber).
Too serious?
I realize that some of you might think that by using footnotes I’m taking myself (and this site) a bit too seriously, and you might be right, but if at the end of the day the footnotes make the posts easier to read, then I don’t really care.
-
Assuming of course that you don’t have more than one entry per day that uses footnotes. I can’t see this being an issue for me. ↑
booq Vyper PowerBook sleeve
I’ve been slacking lately with “reviews” here and so I figured it was high time I talked about something that I’ve been using for a few months now, the booq Vyper PowerBook sleeve. From the website:
Simply put, Vyper has to be the coolest laptop sleeve. We sandwiched durable, semi-rigid high density foam between a layer of 1682D cross-weave ballistic nylon on the exterior and a super non-scratch lining on the interior – an effective blend. Virtually molded around your 15-inch laptop, Vyper M is the most compact sleeve for your 15-inch PowerBook.
That pretty much sums it up and I can’t say that I disagree with any of the claims. Find me a better sleeve and I’ll buy it. I’ve never been a big fan of sleeves because they always seemed to miss the point. Almost by definition a sleeve is handleless and doesn’t really allow the user much flexibility. But the Vyper changes all of that because it’s rugged (and thin) enough to be put into a regular bookbag, as if it were just another book, which is exactly how I use it (and why I purchased it in the first place1). I’m incredibly careful with my “toys” (it’s kind of absurd actually) and so for me to be able to treat my favorite toy this way and not think twice about it is really saying a lot.
This is the paragraph where I’m supposed to complain about something, but I can’t come up with anything — it’s a great product.
-
I was headed back to Florida and needed to bring a suit in a bag separate from my regular suitcase. I also needed to bring my bookbag and so I was going to have more than three pieces of luggage and I could only check one of them (I didn’t want to check my computer, bookbag, or suit). So, I needed the sleeve to kind of merge the computer with the bookbag (and yes, I realize that there are other products that do this very thing; in fact, I owned a Brenthaven Pro back in the Titanium PowerBook days). ↑
Largest Mail.app mailbox size?
I mentioned a couple of months ago that my “personal” inbox had crossed the 20,000 e-mail mark; I’ve now just passed 22,000.1 I’m fairly certain that the app itself doesn’t have an upper limit, and so I’m curious to know, what’s the largest usable Mail.app mailbox out there (and by “usable” I mean a mailbox that’s being hammered on a daily basis)?
I’ll keep updating this post with the largest number I receive.
Currently, the largest number is 283,686 (I required screenshot proof of this one).
-
I’ve had a lot of people e-mail me about the fact that my e-mail doesn’t seem to be sorted in any particular order, but is instead all lumped into one big folder (or two, sent/received). This actually isn’t the case — I use Mail Act-On (something I’m sure to write about in the future) in conjunction with a fairly elaborate system of smart mailboxes (scroll down a bit after the jump), which leave the mail in its original folder, but replicate it across the “smart” mailbox. ↑
The PowerBook Prank
The PowerBook Prank is a very entertaining account of one man’s attempt to scam the scammer. This is something that would normally get relegated to the bits (you can actually find it there as well), but I wanted to put it here too so that no one missed it.
Apple wallpaper
This picture is of the Apple store in San Francisco (the side facing Stockton street). As soon as I took this shot, I had a feeling I was going to be happy with it. It came out perfectly symmetrical (I didn’t crop it at all) and I thought the colors were awesome. In post-processing I bumped up the saturation a bit to bring out the gradient and wiped out a few artifacts that surfaced due to dust on the lens.
Remember that clicking the photo will take you to its Flickr page where you can download the full image (3504×2336) and comment if you’d like.

Fried okra in Silicon Valley?
Where can a brother get some fried okra in Silicon Valley? I think I’ve asked this question of just about every person I know in California and have come up completely empty. It’s kind of funny the responses I get out here on the left coast; they range from “What the fuck is okra?” to “What the fuck is okra?” Having exhausted the people I know, I figured I’d ask here and see what trickled in.
100,000 words
I just received an e-mail alerting me to the fact that my weblog entries now contain more than 100,000 words (you can see the exact number at the top of the archives page). Wow. Of course I now want 1,000,000. :)
When can I get off this damn thing?
While I was technically really happy with this picture, the “bored” look on the girl’s face took some of the wind out of my sails. Either way, I love the colors, which I brought out a bit in the post-processing stage.

Related Entries apostrophe error
As many of you have noticed and routinely bring to my attention, the Related Entries WordPress plugin (you can see it in use on the sidebar when looking at an individual archive) breaks any time the title of the post for which related entries are being sought, contains an apostrophe. I e-mailed the author a few months ago, but he couldn’t nail down the problem.
I came up with a pretty elaborate solution that I’ve been using for the past week or so, but have since abandoned. Basically, I split the title of the post, delimited by spaces, into its constituent words. I then cycled through the array of words and used preg_replace() to remove any apostrophes and letters that followed them. Finally, I cycled through the now-modified array of words and concatenated them with each other to form the title sans apostrophes.
After slapping myself for wasting so much time I came to my senses and remembered the addslashes() function; a single call to this function fixes the problem. Feel free to grab my hacked version of the plugin and do with it what you will. Be aware that my code has the find_keywords() function removed (I don’t use it and I doubt many of you do either).
You don’t need to worry about the possible double escaping of anything because the term being escaped (i.e., the title) is never inserted back into the database. It might also be prudent of me to mention that addslashes() is not needed if your web server’s PHP installation has magic_quotes_runtime enabled, but of course if that is the case you probably aren’t seeing the apostrophe error in the first place.
Comfortable
I took this shot last weekend while up in San Francisco. I didn’t like the colors too much and so I played around a lot with different black and white setups before deciding on what you see.

Justin, circa 2005
I figured I might as well go ahead and bring this whole pictures-of-Justin thing full circle by putting up a picture from earlier this year (see 1993, 1997, and 2003). While usually pretty reluctant to post pictures of myself, I seem to have gone a bit mad the last few days and said to hell with it; I assure you though, this will be the last photo of me for a while.
Justin, circa 2003
I can’t seem to stop myself from adding to this series (see 1993 and 1997).
Justin, circa 1997
As promised, here’s another scanned picture of myself from back in the day. That’s myself and Bonnie, a good friend in high school and the girl I was dating when this picture was taken.
Justin, circa 1993
While back home for my friend’s wedding, I scanned a couple of photos of myself from a few years ago; you can find the first of these below. That’s Wendy (a good friend of mine since 4th grade) and I getting ready to head into the 8th grade dance in 1993. I’ll put up another in a few days.
SBC Park is beautiful
Yesterday I went to my first San Francisco Giants game with a few friends. Though I’d been asked to make my way up to SBC Park a couple of times before, it just never worked itself out. Notwithstanding the fact that the Giants lost (as did the Oakland A’s when I visited the McAfee Coliseum for the first time last week; truth be told, I couldn’t care less about the outcome of either game), we had a good time and I managed to take a few pictures, some of which I’ve put up on Flickr.

Sony PSP
I finally caved and bought a Sony PSP a few days ago. I’m sure no one is surprised that I picked up one of these (have you seen it?!?), but I’m sure some (including me) are surprised that I held out so long.
Within minutes I had it booted up, connected to my wireless LAN, and downloading a firmware update. Shortly after installing the v1.52 firmware I remembered reading that the Japanese v2.0 firmware was floating around and that this version included a web browser (not the Wipeout Pure hack) and worked fine on “English” machines. Not wanting to buy yet another cable (you can’t move files from your computer to the PSP over Wi-Fi, though after the v2.0 update I’m assuming that you can probably download files through the browser), I couldn’t come up with a reason why the USB cable that came with my Canon 20D wouldn’t do the trick, so I tried it out and it worked flawlessly. After transferring the update to the PSP over USB and then rebooting, I was quickly browsing my site on the device. Unfortunately, v2.0 has not been “cracked” yet and so any emulators or other things I want to run will have to wait, but I’m sure it won’t be too long before the deed is done.
Playing games and hacking away at this thing will be the death of me. It’s not without reason that I’ve denied myself a gaming system for the past few years (save the Gameboy Advance SP).
It’s official
Yesterday morning Kenyon & Kenyon officially offered me an associate position upon graduation from law school. I think it goes without saying that I’m ecstatic right now, but I’ll go ahead and say it anyway: I’m ecstatic!
I’m doubtful that I could have had a better summer at any other firm in the country. It was a wonderful experience and I feel very fortunate to have found what seems to be a great fit for me.
I’ve also been asked to work part-time during my last year of law school. While this will certainly be difficult given all of the things I’m already involved with outside of school, the opportunity was obviously something I couldn’t pass up and I look forward to working with everyone again as soon as possible.
San Jose Grand Prix
Earlier today the firm gave us some tickets for the San Jose Grand Prix, which, by the way, has turned San Jose completely upside down — the track is nearly two miles of streets in the heart of downtown and so getting anywhere in the city is a nightmare. We got to take a tour of the pit and had great seats right above it.
I didn’t bring my camera to work because I didn’t think I was going to the races, but one of the partners actually has a 20D and offered to let me use it. I’ll put some of those pictures up as soon as I get them from him.
Without question, the coolest thing I saw at the track on Friday was the drifting exhibition. I’ve watched a lot of drifting videos on the net the past couple of years and just read a great article in the latest edition of Esquire about it (subscription required), but had never actually seen it done (on a track!) in person. All the superstars of the sport were there and they put on quite a show. It was fun to watch everyone’s reaction to all of the near-crashes and donuts. I absolutely could not wipe the grin off my face each time they slid through my turn.
Got root?
I think it’s a safe bet that I’m the only summer associate at a large IP law firm that wears a “Got root?” shirt around his apartment. Old habits die hard. :)
And so it continued
It’s well known among my friends that I’m pretty much the unluckiest person on the planet when it comes to most everything except women. However, that one exception keeps a lot of my friends from being sympathetic to my plight, yet I will always insist that, on balance, I’m generally worse off than all of them. Not wanting to deviate much from my destiny and NorthWest apparently looking to further cement themselves at the bottom of my list of ways to travel (somewhere between running and riding a camel), my bad luck with this wedding trip continued. My flight out of Orlando was delayed a full two hours, which, I was told, was likely going to cause me to miss my connection to San Jose in Minneapolis. Fortunately, I made it to Minneapolis on time, but only to be delayed yet again, this time for slightly more than two hours, with most of that time spent on the tarmac. If anyone is keeping score, we have one missed flight due to a mobile phone bug (which cost me $500 on top of my round-trip ticket), a delayed flight, a cancelled flight, another delayed flight, and finally, one more delayed flight. Oh, and two, nearly 24-hour days spent flying, driving, and complaining.
To add insult to injury I left my PowerBook power supply in Florida and so I had to ration my computer time carefully throughout the day. As usual though, when I did manage to brave the malfunctioning heating pad that is a PowerBook on your lap, someone sitting next to me struck up a conversation about Apple and I, of course, being the pundit that I am, did my thing. Not too long after we started warming up to each other she started to complain about NorthWest (her flight to Seattle was already an hour late), and so we began to trade war stories. Next, I did what any self-respecting computer dork would do; I used my mobile phone to connect to the net over Bluetooth and had her read my previous post. She said, “You win.”
As if there was ever any doubt, her story only reinforced my disdain for the airline and we both vowed to never fly them again.
That, however, was not the biggest lesson learned on this trip. No, the biggest lesson learned was that ignorance truly is bliss. This lesson came from the old, bat-shit crazy (think Tom Cruise) lady sitting behind me in the terminal who was convinced that she had done her part to save humanity because she had given $25,000 to a destitute “mystic” who is single-handedly keeping California “afloat” using a series of “atomic bubbles” placed strategically throughout the state. She swore to the poor guy who got caught up in her pipe dreams that all of the “news people” knew about it but didn’t want the public to know, because, well, they would obviously try to “pop the bubbles” and sink the state. What? Yah.
When I’m old I’m going to make up the craziest, weirdest shit ever, just to see what lengths people will go to humor me.
Taking the good with the bad
As some of you know, one of my best friends got married on Saturday and because I was in the wedding I headed back to Florida last Thursday for the rehearsal and whatnot. The wedding and the weekend in general were wonderful. I had a great time, met a lot of really neat people, and got to catch up with some friends I hadn’t seen in years. The wedding went off without a hitch and the rehearsal dinner and reception were a lot of fun.
So, overall, the trip was great, but getting to and from Florida was anything but.
On Thursday, the alarm on my mobile phone decided that it wanted to get me off on the right foot by refusing to sound. I missed my 6:40AM flight. I was livid, not only because I just missed my flight, but because I don’t think I’ve ever missed anything in my life (of any import) or even been late for that matter. I called Expedia, through whom I booked my NorthWest flight, and they told me that everything to Orlando from San Jose was full (of course). I then had them look at flights out of San Francisco. They had one seat on a 12:30PM flight for a little more than $500, which was more than my initial round-trip ticket. It was my only option. I was at the airport by 8AM (friend had to be back in San Jose for work) and I waited there for 4+ hours until we started boarding. I had a layover in Minneapolis where we sat on the tarmac for over an hour because the beverage people were running behind. And what did we get for this delay? Perhaps a free alcoholic drink or a “snack box?” Nothing. Nothing but a “we’re sorry about the delay, but now that the beverages have been loaded we can leave.” Thank god, because without my half can of Mountain Dew I might have complained about arriving in Orlando on time. As it turned out, I didn”t get into Orlando until after midnight and by the time I rented a car and drove to my dad’s house it was approaching 2AM.
Knowing that the fun couldn’t possibly be over, I was all kinds of excited to see what the flight back had in store for me.
My flight was supposed to leave at 1:28PM. I got to the airport around noon after returning my rental car and shuttling to OIA. As I approached the automated ticket kiosk I was apprehended by a NorthWest agent and asked if I was on the flight that was to connect in Minneapolis. I said I was and she proceeded to tell me that the flight had been cancelled because “the plane just leaked 400 gallons of gas onto the tarmac.” She then pointed me to the end of a line that practically reached California and said that I would be helped “soon.” Two and a half hours later it was my turn to bitch about the situation and make it known that I could have walked to California aleady had I not been made to wait in the line. I handed the guy my ID and waited patiently while he pretended to type a novel at 200 words per minute. Almost a full five minutes later he said, “I’m sorry, but there is nothing available for San Jose today.” I said “of course there’s not” and then turned around and asked the remaining line if anyone was suprised that there were no other flights available to Silicon Valley today; while a rhetorical question I got quite a few “NOs” and a lot of negative head-shaking. I had the agent try San Francisco and Oakland as well. Nothing. The earliest he could get me back to San Jose was 7:30PM… the next day. It was my only option. After taking that flight, I shuttled back over to the car rental place, rented another car, and then drove the hour back to my dad’s place.
Anyone want to bet that I don’t actually get back to San Jose tomorrow?
I thought typing all of this out would help to squelch my anger and frustration, but I’m afraid it hasn’t helped at all.
As you were.
Foggy harbor
Last Friday after work I headed up to Half Moon Bay (a small town on the northern coast of California just south of San Francisco) hoping to get some shots of the coast and the sunset. Unfortunately, I didn’t realize that it was going to be foggy as all hell until I actually got there. Fortunately though, right as I was about to get off the Pacific Coast Highway, I noticed a small harbor packed with boats. The full harbor coupled with the heavy fog was a scene that I just couldn’t pass up. Besides the pics below, there are a few more from this set in my stream. Enjoy.





Expect more photos
You may or may not have noticed that I’ve just resized the width of my content div to 500 pixels (from 400). So, the site is now 830 pixels wide, which, while a little wider than I would like, should still suit most monitors just fine. The impetus behind the greater width is that I plan to put pictures up on the weblog a bit more frequently than I have in the past (after all, I didn’t sell my soul for nothing) and the larger the picture I can get away with the better.
Though I wouldn’t go above 500 pixels anyway, two factors restrained me regardless. First, Flickr’s “medium” file size is 500xYYY and you can’t specify anything different (i.e., 400 isn’t an option). Because, as of this post, I’m using Flickr as the “src” for the images on my weblog, I’m now constrained by its limitations. Second, I have to have the width of the paragraphs be the same as the width of the photos. It’s an anal-retentive thing that isn’t up for debate; I just don’t like how the page flows (or not) when one is wider than the other. Furthermore, if I started making the paragraphs much wider than 500 pixels they would quickly become annoying to read. Nothing, and I mean nothing, makes me crazier when reading a web page than to have to scroll over to read the end of the sentence. Text should always be confined to narrow, easy-to-read columns; anything else is inefficient and annoying. [I'm now jumping off the soapbox]
Why not a photoblog?
I thought long and hard about maybe doing a separate “photoblog” kind of thing, but I finally got the good and bad halves of me to agree that that probably wasn’t the best thing for me given all the other shit I have going on for the forseeable future (read: I don’t mind sleeping less than 99% of the population, but at some point I have to pull back a little). I also gave serious consideration to simply splicing certain photos from Flickr into my RSS feed using FeedBurner (you can actually specify which photos should be included in the feed using Flickr tags). The problem with this approach is that while I’ve been on the RSS bandwagon for years, I’m well aware that a lot of the people that visit this site (read: family and real-life friends) don’t have the faintest idea what it is (despite my best efforts to change their lives :P) and that these people are more often than not those that I most want to see the pictures.
The transition
I spent the better part of yesterday morning resizing the pictures (sourced from Flickr) in my weblog and linking them to their respective Flickr pages, a process that can only be described as a horrible chore. This involved loading up my archive pages for each year, scrolling through them looking for pictures, finding each particular picture in iPhoto (not too hard because I have them all tagged with “weblog”), determining whether I’ve already uploaded them to Flickr, and if not, uploading them to Flickr, going to the “medium” download page on Flickr, pulling the HTML information that Flickr generates (very nice), adding some CSS values to the HTML, and finally inserting this into each post.
While a bit of work, I think the setup should serve me well for at least a few years. Unless they’re subscribed to my photo feed, most people will only look at the pictures (or picture sets) I direct them to from this site, which are usually those that I think are the best. Also, a nice bonus to using Flickr for everything is that it allows people to comment on the photos (separate and apart from the weblog itself) and I think linking to the photos directly from the website will spawn a lot more comments; I’m generally anti-comments, but it hasn’t yet been an issue with my photos. Indeed, I’ve quite enjoyed the interaction.
Not for nothing, but I’ve turned off Nice[r] Titles until I can get it working how I want with images. I’d like it to look the same as it does (did!) with my bits.
Smart Archives is doing pretty well
I was sifting through my web stats like I tend to do every so often and I just noticed that over 10,000 [unique] people have visited the Smart Archives project page. Wow, not too bad. That number seems to be commensurate with the volume of support e-mail I get. :P
First shots with the dSLR
Below you’ll find some of the first few shots I took with my new Canon EOS 20D and EF 17-40mm f/4L USM lens. I didn’t have too much time to devote to picture-taking this weekend and so I just walked around downtown San Jose for a while and shot whatever I found interesting. While looking at the pictures, I ask that you keep in mind that this was literally the first time I’ve shot with this camera, or any type of SLR for that matter — I’ve much to learn (and learn I will). As always, you can find the full-size pictures in my Flickr photostream (along with 800+ other photos, including some more from this “christening”) .






The deed is done
I’ve just ordered the Canon EOS 20D and the EF 17-40mm f/4L USM lens (it took me forever to decide on the lens after it took me forever to decide on the body). While the lens was well outside my price range (and I’ve now spent double what I initially planned for my first DSLR), I knew that I would get it eventually and so I went ahead and sprung for it now. I don’t think this will come as a shock to most of my friends — if there is something I want I usually figure out a way to make it happen. Granted, that way might mean that I can’t eat for a month, but at least I’ll be able to get some great shots of my emaciated body.
It should be here by Friday, and assuming I haven’t withered away by then I’d like to have some shots up by the weekend.
Overheard in San Jose
Taking a cue from Overheard in New York, I heard the following said at the San Jose America Festival tonight (which, by the way, had a great fireworks show) by a guy walking through the crowd hawking various shit-nacks.
Get your lighted stars! If you aren’t wearing a lighted star you’re a communist.
Relative Dates v1.01
The initial release of my Relative Dates plugin for WordPress failed to take into account the fact that web servers aren’t always in the same timezone as the user’s residence (i.e., where their weblog “lives”). While that particular situation doesn’t affect me (ergo my oversight of it), it seems to have affected a lot of the people trying to use the plugin. Version 1.01 adds the necessary timezone logic and can be found on the project page along with updated installation instructions. Enjoy.
I met The Woz
Last night the firm took me to see the Wallflowers at the Mountain Winery (what an amazing venue) and I bumped into Steve Wozniak!!!
I was standing in line getting a beer and saw him waiting to speak with the opening act. I first noticed him because he was wearing the Adidas 1′s ($250 running shoes with a built-in microprocessor), which I had never actually seen out and about. Anyways, when he turned around and I realized who it was, I just about dropped my beer. Though a little apprehensive, I ran over to him immediately and asked if I could get a picture.
He was incredibly personable and very willing to let me take the picture. We talked about my new phone for a bit, which he really seemed to like, and then the topic turned to his shoes. He went on to tell me how hard it is to get them through security checkpoints in Singaporian airports.
Unfortunately, I failed to mention the fact that the firm’s San Jose office (where I work) is actually on Woz Way (a street named after him).
Needless to say, I was pretty blown away by the experience.
Introducing Relative Dates for WordPress
Inspired by something similar (though far less robust) I created for Movable Type a couple years back, I’ve built a plugin to provide for relative dates within WordPress. If interested, check out the Relative Dates project page for a description of what a “relative date” is, the source code, and installation instructions.
The response to my last WordPress plugin, Smart Archives, has been incredible, and while I’m flattered by the fact that so many people are using it, I sometimes feel smothered by the incessant wave of support e-mail it seems to generate. While I welcome questions from those needing help, I do ask that you please do some research before contacting me for assistance. At some point I’m going to have to start ignoring the “What’s PHP?” e-mails. :)
The Canon EOS 20D it is
After way too much trepidation and deliberation (still some might say not enough given the price of these damn things), I’ve decided to go with the Canon EOS 20D. It’s clear from both the feedback I’ve received from this site and from research I’ve done on my own, that the 20D is a clear choice over the Nikon D70s (if you can afford it). Now I’m left to decide if I want the 18-55mm lens that comes with the kit or if I want to spring for something a little more “professional.” While I’m likely to go with the kit lens, I’m open to suggestions (I’ll probably end up finally buying this thing tomorrow night or Monday so get at me quick if you have an opinion on the matter); I have my eye on the EF 28-105mm f/3.5-4.5 II USM (the most likely candidate if I don’t get the kit), the EF 50mm f/1.4 USM, and the EF 17-40mm f/4L USM (this one is well outside my price range).
While on the topic of digital SLRs, and more specifically, the 20D, be sure to check out chromasia (who happens to use a 20D) for some of the best amateur shots I’ve ever seen (don’t miss his thumbnail’d archives). If I can get my pics to look half as good as his, I’ll be a happy camper and won’t regret having spent so much on a camera.
Canon EOS 20D or Nikon D70s?
As mentioned a few days ago, I had been contemplating the purchase of either the Nikon D50 or Nikon D70s (after previously ruling out the Canon EOS Digital Rebel (300D)), but the contenders have changed yet again (and for the last time). I’m now considering either the Canon EOS 20D or the Nikon D70s (though if I were to go with the Nikon I’d probably just get the D70 and update the firmware).
I realize the difference in price is quite large (especially if I were to get the D70 and not the D70s), but that is no longer a huge concern of mine. Don’t get me wrong, price disparity certainly comes into play on balance, but I’ve come to accept the fact that I’m going to have this camera for at least a few years (unless I hate it and sell it immediately, which I’m kind of known for doing) and so I want to get something I’ll be happy with even if it ends up costing me a few hundred more dollars.
I received a lot of great feedback on the previous post and am again soliciting information about either of these cameras (the 20D or the D70s) that might affect my purchasing decision.
For what it’s worth, I’m currently leaning toward the 20D.
Syncing the K750i with Mac OS X Tiger
I mentioned here that I would explain how I got my Sony Ericsson K750i to sync with Mac OS X Tiger, and so here it goes.
Apple doesn’t yet support the K750i (it will) and so to get iSync to recognize it we have to add some information about it to a file inside the iSync package.
The first thing you’re going to want to do is quit iSync if you have it open. Next, locate iSync.app inside your Applications folder and right-click on it; choose “Show Package Contents.”
Once inside you’re going to want to get to a Resources folder that is buried rather deep in the directory structure; the following is the full path (realize that it was split to fit on the page):
Contents/PlugIns/ApplePhoneConduit.syncdevice/Contents/
PlugIns/PhoneModelsSync.phoneplugin/Contents/Resources/
Once inside this directory, you’re going to want to open the MetaClasses.plist file with your favorite text editor. You’ll notice that the file is mostly made up of blocks of markup that look this:
<key>com.sony-ericsson.K750</key>
<dict>
<key>Identification</key>
<dict>
<key>com.apple.gmi+gmm</key>
<string>Sony Ericsson+Sony Ericsson K750</string>
</dict>
<key>InheritsFrom</key>
<array>
<string>com.sony-ericsson.irmc2</string>
</array>
<key>Services</key>
<array>
<dict>
<key>ServiceName</key>
<string>com.apple.model</string>
<key>ServiceProperties</key>
<dict>
<key>ModelName</key>
<string>K750</string>
<key>PhoneIcon</key>
<string>SEK700.tiff</string>
</dict>
</dict>
</array>
</dict>
Somewhere in that file you’ll want to paste the above markup (I put mine after the K700 entry). As you may or may not have noticed, I pointed the K750i icon to that used for the K700; the icon kind of looks like a K750i and until there is true support for this phone from Apple (at which time Apple will supply the icon), it’s a good stand-in.
All that’s left for you to do now is pair the phone with the computer. I initiated this from the computer, but the opposite way should work just as well. After the pairing is done (or during the process), iSync will open and you should be able to synchronize.
Nikon D70s or D50?
I was fully prepared to purchase a Nikon D70s digital SLR camera today, but I just couldn’t get myself over the hump. While I made the decision to go with the D70s over the Canon EOS Digital Rebel (300D) a while ago, I’m now torn between the D70s and the to-be-released (next week) Nikon D50. From what I can gather, the D50 will not have the following features of the D70s (otherwise they are very similar):
- Compositional grid option for the viewfinder
- Depth-of-field preview button
- Wireless flash attachment option
- Clip-on screen protector
- Maximum shutter speed is half as slow
- LCD status window on top of camera is not illuminated (wtf?)
- Burst mode does 2.5 f/s instead of 3
However, there are a few features that militate in favor of the D50:
- Rubber eye piece is larger (and ostensibly more comfortable)
- Uses SD cards instead of CF
- Lighter
- Slightly smaller form-factor
- Can adjust ISO directly in full stops (not thirds)
The other thing I’m kind of taking into consideration is price. I’ve seen the D70s kit (with a Nikkor 18-70mm f3.5-4.5G lens) for as low as $1100 (and the D70 for as low as $882). The cheapest I’ve seen the D50 kit (with a Nikkor 18-55mm f/3.5-5.6G lens) is $830, but the thing hasn’t even been released yet; I’m sure it will drop at least $100 not long after it’s actually available and might also push down the price of the D70/s a little more.
If you have any information on either of these cameras that you think might push me toward one or the other, please e-mail me and let me know.
Notes on the Sony Ericsson K750i
While I certainly don’t have the time (or energy) to write up a full review of my new Sony Ericsson K750i (like I did for the K700i), I did want to mention a few things that have really stood out in my mind since getting the phone a few weeks ago.
Camera
The only reason I didn’t go with a “smartphone” this time around (read: this particular 3-month span before I get a new phone) is because the camera on the K750i is phenomenal. I really can’t explain how good the pictures are and so I’ve picked out a few choice photos from my Flickr photostream:
- Anti-bush protest in NY’s Union Square
- Art exhibit at the NY Met
- Painting at the NY Met
- Sculpture at the NY Met
- My office at Kenyon & Kenyon in San Jose
- Zenith Chronomaster T Open (macro mode)
I really could not be happier with the camera. It’s available for taking pictures almost immediately after sliding back the cover and there’s no significant delay between pressing the button and actually taking the picture.
With the included 64MB memory card (coupled with the 38MB of internal memory), you can store around 130 pictures at full resolution (1632×1224).
The auto-focus feature works incredibly well; it’s very fast and makes taking pictures with the phone completely painless.
The one gripe I have with the camera is the fact that you can’t turn off the camera ‘alerts.’ There is no option to mute the beep that sounds after auto-focus has found its mark or the shutter sound that escapes when you actually take the picture. I understand the public policy reason behind keeping the sounds on, but I should have some say in the matter. Speaking of which, I’m going to try to hack around this when I have some time.
Mac OS X
Though there’s no syncing out-of-the-box with Mac OS
X (there will be as soon as the phone is introduced to the US), I’ve been able to get the K750i to sync with Tiger and I’ll talk about my method in a future post.
USB
The phone comes with a much-needed USB data cable; I say much-needed because of the file size of the pictures it produces, which usually hover around 550KB — moving these to your machine over Bluetooth (or to Flickr over GPRS) would take forever. I was afraid that the USB cable wouldn’t work under Mac OS X (the bundled software is MS only), but upon plugging it into my machine I was wonderfully reminded of why I love my Mac so much — it just worked! Image Capture sees the phone as a regular camera and moves pictures off the phone the same as it would any other camera.
But, of course, not everything came up roses — there’s no way to remove the device without causing your machine to freeze. Not sure which side is crapping on itself, but one thing is for sure, it’s causing me to go ape-shit every time it locks up.
If anyone has come up with a solution, I’d love to hear from you. I’ve tried every conceivable sequence of unmounting and unplugging, but nothing seems to work.
vs. K700i
Battery
Inevitably, a lot of you will be looking to compare the K750i with the K700i, and the biggest difference for me between the two (save the camera, obviously) is battery life; the horrid battery life of the K700i was the main reason I ditched it so soon after getting it. With the K750i I can routinely get two and three days of heavy use out of a charge (including significant camera use).
Memory
The K750i adds expandable memory in the form of a Memory Stick Duo slot (and can support up to 4GB). While the expandibility is certainly a virtue, the proprietary memory made me somewhat reluctant to buy the phone — I keep swearing off Sony’s memory formats, but every couple of years a must-have device pulls me back in.
Speed
Another positive difference between the K750i and its predecessor is speed. Application response is snappy and I’ve yet to experience any discernable lag in any application.
Internal speaker volume
One thing that I’m disappointed with is the lack of improvement in the internal speaker volume of the handset. The speakerphone speaker is great and music sounds wonderful blasting from it, but the regular internal speaker is simply too low in some situations. I should be fair and mention that my previous phone, the i-mate SP3i, had the best speaker I’ve ever used on any device and so I became a little spoiled by its loudness, but that shouldn’t excuse the fact that SE seems to have put internal speaker improvements on the back burner (surely they had a ton of complaints concerning the K700i’s speaker?).
Construction
Perhaps I just got a sketcky K700i, but it always felt a little too “loose” in my hands. The back cover rocked quite a bit and I actually ended up creating a little buffer between it and the battery to mitigate the rocking. I see none of that in the K750i; the phone feels very solid and the sliding camera cover is fluid and tight.
Miscellaneous
The music player on the phone is actually fairly usable and had the phone come with a standard 3.5mm audio jack, I might be compelled to replace my iPod with a 2GB Memory Stick Duo, but alas, like every other phone on the market, the audio jacks are proprietary and either require a third-party converter or that you listen to music only through the provided headphones. As an aside, this little annoyance is going to go the way of the dodo as handset makers begin to realize that the iPod market is one they are going to want to take over (and can take over).
The new “Activity” menu/button is quite nice. The button resides above the joystick and when pressed takes you to a tabbed interface that contains new events (missed calls, SMSs, etc.), shortcuts (which you can add, delete, and sort how you want), and Internet bookmarks. The activity menu also pops up when a new event occurs; it’s how the phone presents the event to you.
Give me more information!
Like I said, there was never any intention for this to be a full-fledged review — I simply don’t have the time to do the type of review that I’d like; anyone who knows what’s going on with me this summer can appreciate my lack of free time. That said, I do welcome specific questions you might have about the phone and will make every effort to answer all of them.
Tiger PowerBook overheating
Ever since installing Tiger, my PowerBook has been scorchingly hot. I often run Marcel Bresink’s Temperature Monitor to keep an eye on the internal temperature of my notebook and had never seen numbers so high as those I saw after installing Tiger (and by “high” I’m referring to temps north of 145° F). Consequently, my fan had never been on as much either, which was incredibly annoying.
That said, I seemed to have fixed the problem by resetting both my PRAM and NVRAM. If you’re experiencing the same heat issues, you might want to read Apple’s How to Reset PRAM and NVRAM and free yourself from the oven.
Coming soon
Since I started using relative dates on this site again (for examples of what I’m talking about see the dates under posts on the index page), I’ve received daily e-mails asking about my implementation and quite a few people have asked if I plan on releasing it as a WordPress plugin.
The fact is, my implementation is already in the form of a WordPress plugin and as soon as I have time to write up installation instructions and make a few more tweaks to the code, I’ll release it here.
20,000+

I’ve now got over 20,000 messages in my “personal” inbox and Mac OS X Tiger’s Mail 2.0 is handling them almost effortlessly.
Back in California
I’m finally back in California after the Florida “vacation” and the weeklong Kenyon & Kenyon orientation in New York. For those of you who haven’t heard from me on e-mail in a few days, your replies are forthcoming. I’ve been away from my apartment for about three weeks and I’ve a million things to take care of before tomorrow, not the least of which is catching up on about a week’s worth of news (which amounts to sifting through roughly 5000 RSS headlines), but at some point today you should hear back from me (if I know you; random support/web-related e-mails might get pushed back another few days still).
1.5 days of crazy
This is just a very quick, random post about my last 1.5 days in NYC. I arrived yesterday evening from Florida and was in my hotel for about three minutes before some buddies of mine called (two of my best friends live in Brooklyn) to setup the night’s activities. We ended up eating some great Indian food and went to a couple of bars in the East Village area of Manhattan where we met up with a bunch of people and saw a few shitty bands give it all they had.
Today we spent the entire day walking up and down Manhattan. Along the way we hit up the Metropolitan Museum of Art, where I got some neat pics that I’ll put on Flickr when I can find the time (along with a lot more from the latest Florida trip).
The highlight of the day however was when we went to Union Square. There was an anti-Bush protest going on that covered everything from “Bush and his daddy are child rapists” to conspiracy theories attached to 9/11. The first guy to speak started foaming at the mouth (literally) as he belted through his megaphone, and just when we thought it couldn’t get any weirder better, a seemingly random guy ran up to the “stage” and began shouting over the frothing guy (even though his views seemed to parallel those of the interrupted speaker). For reasons I’ll never figure out, this guy began spouting the worst, most offensive obscenities I’d ever heard in public — everyone was like, “wow” (yes, even the New Yorkers).
This went on for over an hour; he’d just randomly taunt the audience (which usually involved grabbing his crotch and telling us that we didn’t have balls) and then every once in a while he would kind of act like a “background” rapper for the current speaker, yelling things like “yah,” “they don’t understand,” etc — basically echoing the speaker at times.
Finally, perhaps after tiring of getting no real response from the crowd, he threatened to take off his pants, and seriously, is there a better way to make known your opposition to the administration than showing the world that you aren’t very well endowed? Yah, I couldn’t come up with anything either.
So, he proceeded to take off his pants (I’d say it was a 2-3 minute process) and if you’d like to have a laugh, you can follow his progression here (photos might offend): one, two, three.
He wasn’t through. After publicly humiliating himself (see pictures), he put his clothes back on and sat on a plastic crate near the speaker(s). Then, and for no apparent reason, he stood up quickly and kicked the crate with his heel. The crate went flying and hit one of the speakers (the main organizer I think) who quickly shattered his glass bottle on the ground and took off after the soccer star. They ran all over Union Square punching and kicking each other until they were finally out of sight. The protest continued.
I love New York.
It’s almost over
As has become the ritual when back home, I rarely sleep (seriously) and am never actually “home.” My days and nights are spent gallivanting around town with various people whom I haven’t seen for the past year (or six months as it were this trip) and by the time I actually have two free minutes to sit down and write about some of the things that have happened (and that are appropriate to be discussed here) I feel incredibly overwhelmed by it all and end up writing nothing. So as not to ruin the quasi-personal nature of this site, I’ll keep with tradition and again refrain from elaborating more on the hijinks of this trip.
Speaking of which, I need to get back to it — I’ve only a couple more days before I head off to NY.
Random plea for sympathy: I’m not sure I’ve ever been this sore in my life — I feel like a wrecking ball has had its way with me — multiple days of wakeboarding and wakeskating has definitely taken its toll.
The inevitable cameraphone switch
The time had finally come for me to get a new point-and-shoot camera. It had been a long while since I purchased a new camera, but if I changed digital cameras like I changed mobile phones/PDAs, I’d be broke (err, more broke) — you have to choose your vices.
As I mentioned before, I plan on getting a digital SLR as soon as I can afford it (sometime this summer) and have since decided on the Nikon D70 (and not either of the Canon models I spoke of in the previous post), but I thought I could definitely stand to get a new non-SLR digicam in the interim.
As was no doubt expected, I did a fair amount of research concerning the new camera and narrowed it down to the Canon SD400 and the Sony CyberShot DSC-T7 (you have to see this camera in person — it’s incredible). The problem is, my decision to get a new point-and-click camera coincided with the release of the Sony Ericsson K750i in Europe and Asia; mine arrived from Hong Kong earlier today. This will be my only camera until I get the D70 (I’m selling my old one).
The K750i has a 2 megapixel camera with ‘flash,’ autofocus, and macro mode, not to mention a host of other neat camera features. Though this phone choice deviates some from my last five, which were “smartphones,” it has no real imaging match in the world (outside of Korean prototypes) and I think it’s going to be a lot of fun to use; the fact that I’ll always have a decent camera on me is very exciting.
This is my fifth Sony Ericsson phone and while I’d like to get up a review similar to the [way-too-long] K700i review, I’m not sure I’ll be able to find the time.
Finally, wonderful weather
How quickly I’m reminded of everything I miss about Florida — time to get out on the lake.

Silicon Valley is one big stoplight
I’m fully convinced that the powers that be in Silicon Valley have conspired to not only require a stoplight at every other street (at least), but to also prevent these stoplights from being connected to each other in any useful way.
The following rules seem to govern the stoplights in Silicon Valley:
- If car is approaching the light and it is likely that the driver of that car can see that the light is green, immediately move to yellow and then red so as to stop the approaching car lest it get above second gear between any two lights.
- If car is approaching the light and it is likely that the driver of that car can see that the light is red, do not move to green until the car comes to a complete stop.
- Under no circumstances may one light work together with another, in any direction, to create what might be interpreted as a “flow” of traffic.
Headed home
I’m headed back to Florida tomorrow for a week and a half before I fly to New York for a week-long orientation with the law firm I’ll be working for this summer. My plate is incredibly full back home so I’m not quite sure it will be the “vacation” I was somewhat aiming for, but then again, I’ve never been too good at relaxing anyway.
Outside of seeing all my friends (including old college buddies I’m going to visit in Gainesville), I’m most looking forward to getting out on the lake and doing some serious wakeboarding. Hopefully I’ll be able to get some pics of the action and will try to get video of some flips if possible.
On writing posts
Believe it or not, I’ve actually been asked quite a few times how I go about writing posts and felt compelled to share the answer with the rest of the world (as I often do).
My current text editor of choice is TextWrangler, which I’ve written about before. As I get an idea of something I want to talk about, I open up a new document in TextWrangler and immediately save it to a folder I call “scratch,” which is for these posts and whatever other mind-fleeting thing I feel the need to jot down before I forget it; I give the document the name of whatever it is I’m writing about. TextWrangler keeps all of your open documents in a “drawer” to the side of the editing window and lists them in alphabetical order by name. I currently have 23 documents open, 15 of which are future posts. I’ve also created a shell script that syncs my local “scratch” folder with a folder on my webserver every couple of hours so that I always have access to my posts.
There are two advantages to this setup. The first is the fact that I can see, at a glance, all the posts that I’m currently writing or plan to write. The second is that if TextWrangler crashes (it never has) or I need to reboot for some reason (and close the application), I can easily get back to where I left off; I simply open TextWrangler, highlight my entire “scratch” folder in the Finder, and drag these items over to the TextWrangler icon in the dock.
In conjuction with TextWrangler, I also use John Gruber’s Markdown, a plain-text formatting syntax. Initially, it was lost on me the need to learn John’s syntax given that I’d been proficient in web markup for 10 odd years and hadn’t really ‘thought’ about it in a very long time — it had become as natural to write as English — but over time, and especially for longer, more involved posts, Markdown became indispensable and now I can’t imagine writing without it. It makes ‘pre-markup’ plain-text much more readable. Period.
Back to studying for Patents, my last law school final of the [academic] year.
Amazon Associates Bookmarklet
I’ve been participating in the Amazon Associates program for some time now and decided to make my life (and maybe yours) a little easier by whipping up a bookmarklet to turn any Amazon product page into a page ‘tagged’ with my Associates ID. I can now use this bookmarklet to easily create Amazon links that I put on this site (or *cough* for other less noble causes that I’ll let you figure out for yourself).
You can find it on the Amazon Associates Bookmarklet project page along with a more detailed explanation of what it is and how it works. Enjoy.
Revolution In The Valley
I’ve been sitting on this post for a while now and figured it was time to get it out there given that I don’t have time to actually write anything new at the moment because of law school finals (in case there was ever any doubt, law school finals suck).
A couple of months ago I started to read Revolution in the Valley – The Insanely Great Story of How The Mac Was Made, and it’s just that, insanely great. I picked it up one very exciting Friday night when a friend and I were at the local Borders “studying.” I couldn’t stop reading it, but I was informed that I had to part with it because the store was closing and the guy was all like, “You can’t take that out of the store without paying for it.” I thanked him for the heads-up and put the book down.
Between the often personal stories (as told by a lot of different members of the initial Mac team), pictures, drawings, and diagrams, the book really sucks you into the mindset and environment of those so passionate about the Mac at its inception, and oddly, makes me somewhat proud to be a small part of that today.
I was informed by Richard (who has some similar anecdotes of his own) that I could essentially read the entire book online, but I opted instead to pick it up every now and again when I was in the library at school (you know, to put some small portion of my $30,000/year tuition to good use).
If you don’t get a chance to check it out in the flesh (highly recommended), you should at least read over a few of my favorite stories:
- Reality Distortion Field
- Bud defines Steve’s unique talent
- Saving Lives
- Steve wants us to make the Macintosh boot faster
- I’ll Be Your Best Friend
- Burrell Smith was creative in more than just engineering
- Quick, Hide In This Closet!
- Steve forbid us to work with Sony
- And Then He Discovered Loops!
- Bob has written many lines of code
- I Invented Burrell
- Burrell imitates Jef
- What’s A Megaflop?
- We visit my alma mater to try to sell them Macs
- -2000 Lines Of Code
- It’s hard to measure progress by lines of code
- Shut Up!
- The first time we demoed the Macintosh to Microsoft
- Mea Culpa
- Here are some of our worst mistakes
Mac OS X Tiger
Like every other second-year law student in the middle of spring finals, I spent yesterday afternoon waiting in line at the Apple store for the release of Tiger (shitty mobile pics of the line). Yes, I realize that I could have pre-ordered it and not had to wait in line, but I really enjoy that part of it (especially putting the girl I’m dating through the ‘embarrassment’) and didn’t want to be cursing God if for whatever reason it got hung up in the mail.
I wish I could talk more about it, but like I said, finals begin in the next couple of days and I have to write less here to make it look like I’m studying (and not playing with Tiger). You know I’m going to wax ecstatic on the subject in the future, but until then, be sure to check out John Gruber’s living repository of things you likely haven’t heard about Tiger.
Full content RSS feed
I’ve finally fallen inline with a lot of my online colleagues and am now offering a full content RSS feed. If you are already subscribed, pay this announcement no mind as you’ve no doubt noticed the change. If you aren’t subscribed, what are you waiting for?
I’m not really sure why I stuck with the excerpt-only feed for so long; I think the only thing served by such restricted content was my ego (i.e., the page hits I’d get from people clicking their aggregators to read the rest of my posts). I’m over it.
Some impetus for the change has also come from the fact that I use Bloglines a lot on my mobile phone, which really exacerbates the annoyance of excerpt-only feeds: you have to click forward once to read the rest of the article and then click back twice to return to the list of feeds. While these are negligible motions on a fast connection (or within a regular browser where you’d simply open the links in background tabs), they quickly become irritating on a non-EDGE/UMTS/HSDPA/etc device. I don’t want my feed to be annoying.
What About Your Google Ads?
It’s true, my AdSense revenue might take a hit (I show Google ads on individual archive pages (i.e., those that are linked to in the RSS feed)), but I think that’s highly unlikely given that most of the people subscribed to my feed aren’t the type to click on an ad anyway. I think it’s safe to say that the only people who click on the ads are those coming from web searches, who won’t be affected at all by the change.
I’ve moved to Flickr
I’ve finally begun the transition to Flickr. Though I’ve had a free account for quite a while, I’ve been hesitant to move to a Pro account; something I’ve written about before. What pushed me over the edge was the free Pro account (for a year) I received from Richard (old Pro users were given some invites; a side effect of the Yahoo! acquisition).
As I mention here, I plan to use Flickr as my primary photo-storage medium (and my home machines as backup).
I’ve already moved all of my “public” pictures to Flickr (i.e., the picture sets that used to be on my photos page) and have described/titled/tagged all of them where applicable (see the sets on Flickr). The Flick Export Plugin for iPhoto is brilliant and was absolutely essential in moving these sets over.
I think I’m going to hold off for a while on putting all of my other pictures on Flickr. As it currently stands, there doesn’t seem to be a way to create “private” sets. All of my pictures are organized by event and/or month and I’d like to create sets that follow this convention but are only accessible to me.
If you create a set of “private” pictures (i.e., NO public pictures), the set will not be seen at all by the public. This, however, does not solve the case when picture sets that I upload and want to keep private contain pictures that are in public sets (for instance, the Personal Favorites set) — privacy settings are based on the picture, not the set, so if a picture spans multiple sets, the last privacy setting for that picture will be applied to every occurence of it (regardless of set), which will obviously make some of those sets that I wish to remain private, public. Yes, the pictures that I want to remain private, will stay private, but the set itself will be publicly viewable (and will cloud the “public” sets I want people to see).
WordPress find and replace
As much as I like WordPress, I’m still a little miffed from time to time by its shortcomings. Of all the things it should have, it’s missing a simple find/replace function. I’m not sure any excuse the WP team could come up with would make sense to me — this is not a “feature,” but rather a necessary tool.
As is the case with most things in life, there is a workaround (that requires very little SQL knowledge). To find/replace something in WP, all you really need is the following query:
update wp_posts set post_content = REPLACE(post_content, "X", "Y");
Where wp_posts is the name of the table that holds your WP posts (wp_posts is the default), X is what you want to replace, and Y is what you want to replace X with. You can obviously run this query directly or through phpMyAdmin if you have it setup (just click the SQL tab once you’re inside your database). Simple, right? Right, which is why I can’t figure out the reason it’s been left out of WP.
Future Plugin
I was a little suprised to come up empty when looking for a find/replace plugin (surely everyone needs/wants this?). I think I’ll probably write a plugin for this in the next couple of months if no one else does.
UPDATE: I’ve been told that there is a plugin to do this: Search and Replace. I might still write my own plugin that supports regex pattern-matching.
Help a brother out
A couple of days ago I added a “contribute” button to my project pages. I’m posting about it here to prod those who already use my code into contributing something to my “I’m a poor law student” fund. I was encouraged to add such an option after receiving several requests to use some of my code in a commercial setting. Depending on how lucrative (or not) this turns out to be, I might be compelled to put the button on all of the individual archive pages as well, you know, for those random surfers bent on giving away money. :)
Implementation
I thought I’d elaborate a bit on the method I used to display the “contribute” button only on the project pages. For other “special” pages (i.e., yearly, monthly, and individual archives), I just run simple PHP “if” statements that use WordPress functions to check for the type of page we’re dealing with. Obviously though, my project pages exist completely outside of WP (i.e., I don’t use the WP “pages” feature and there’s no built-in function to discern a “project” page from any other page).
Because all of my project pages are located off of the “projects” directory in the URI, I use a simple regular expression to check for this in an “if” statement.
if (preg_match("/projects/i",$_SERVER['REQUEST_URI'])) {
// Word found in URI
}
else {
// Word not found in URI
}
There’s nothing more to it. If you are looking to do something similar, be sure that this check runs after all other checks (to the extent possible) if the word/phrase you’re looking for occurs somewhere in the title of your posts (assuming of course, that you use post titles in your archive scheme).
Use Gmail as a spam filter (three ways)
UPDATE: I’ve just been made aware that someone else posted a similar, though more detailed, description of the first method I talk about below.
This is something I meant to write about months ago, but just never got around to it. I don’t think the idea is new (perhaps it was when I thought to write this), but that shouldn’t deter me from sharing it with everyone.
I guess the title begs the question, “Why would I want to use Gmail to filter my spam?” Well, if you’re currently relying only on client-side filtering, the question is answered. If however, you have both a client and server-side solution, the answer isn’t so clear; perhaps you aren’t satisfied with the server-side filter or you just want to try something new.
Notwithstanding your current setup (and requirements), Gmail does a decent job of siphoning out the good e-mails from the bad, and while it’s certainly far from perfect, I’m sure that over time, partly because it can set filter rules based on the aggregate “report spam” actions of its users, it will become an excellent filter. I’ve come up with three different ways for you to take advantage of Gmail’s spam-filtering capabilities, all of which allow you to keep your current e-mail address.
Method One
You can only use this method if you have the ability to set server-side e-mail filter rules. It’s based on the fact that Gmail adds some extra information to the header of the e-mail before forwarding it along. There are a number of things you can predicate your rule upon and I’ll place a few of them at the end of this section. The method is outlined below.
- Forward the e-mail from your current account to Gmail.
- Forward your Gmail e-mail back to your current account.
- Gmail will filter your e-mail before forwarding it along.
- Setup a server-side filter rule to check for the existence of certain data in the header (see below) and forward it to Gmail if the header lacks this data; let it pass through to the inbox of your current account if it contains this data.
Like I said above, there are quite a few things that you can check for in the header and use as the basis of your forwarding rule. Three of the most obvious are:
- X-Forwarded-For: user@gmail.com forwarded@to.com
- X-Gmail-Received: some-random-number
- Delivered-To: user@gmail.com
Method Two
This method is best for those that can’t edit server-side filters, but can create multiple mail accounts. The method is outlined below.
- Create a new mail account (the username doesn’t matter; no one will see it).
- Forward the e-mail from your current account to Gmail.
- Forward your Gmail e-mail to the account you just created.
- Gmail will filter your e-mail before forwarding it along.
- Use your new mail account (you’ll obviously want to set the “reply-to” and “from” fields to your current address and not the one you just created).
Method Three
This is the simplest method and the one you should use if you can’t setup server-side rules or create extra e-mail addresses. The first thing you’ll need to do is setup your current account to forward to Gmail. The next and final step is to setup your local mail client to access Gmail through POP.
Archiving and Privacy
All of the methods shown above (forwarding and POP) allow you to keep your Gmail messages in your inbox, archive them (i.e., keep a backup of your local mail), or trash them. All e-mail in the trash “folder” will be automatically deleted after 30 days. Keep in mind though that just because you delete a message doesn’t mean that it’s entirely gone. From Gmail’s Privacy Policy:
Because we keep back-up copies of data for the purposes of recovery from errors or system failure, residual copies of email may remain on our systems for some time, even after you have deleted messages from your mailbox or after the termination of your account.
They’ll never learn
And she wrote, “sigh… its hard to compete with all your gadgets! :)”
I swear I warn them before I get involved. :P
Sin City is phenomenal
I hardly ever write about movies here, but I had to make an exception for Sin City. Stop your download and actually pay for this one — it’s absolutely incredible. I’m not sure I’ve ever seen such wonderful cinematography. I’ll be the first to admit that I’m no Frank Miller fanboy, hell, I’ve never even seen/read any of his work (which is probably why my fascination with the film is so pronounced — I have no book-to-movie qualms), but this thing knocked me on my ass.
I guarantee that you will walk out of the theater going, “What the fuck was that?” It’s almost like they turned a comic book into one of those flip-book things to create the motion. The genius use of color, the CG, the lighting, the camera angles… brilliant.
Wikipedia + RSS
Is there a particular reason why Wikipedia doesn’t have a syndication feed for newly added articles? Technically, this would be a trivial addition and so I’m not quite sure why it isn’t offered. I’m an information whore and would love to be notified when new things are added to the wiki. If anyone knows of something that scrapes Wikipedia or of an official feed that I’m not yet privy to, pray tell.
Now if you’ll excuse me, I must get back to deciding whether I’m going to buy a PSP law school.
UPDATE: 10 minutes after writing this I actually found exactly what I was looking for; there is a “new pages” page with RSS/Atom feeds.
Related entries
About a week ago I started running the Related Entries plugin here. If you aren’t directed to this site either through a news aggregator or a search engine, there’s a good chance that you haven’t seen this plugin in action because I only have it running on individual archive pages. To get a feel for what it does, take a look at my initial post about the Smart Archives plugin. Notice the “possibly related” section in the menu. I chose this particular post because it’s a somewhat apropos example given its topic and it does well to highlight the accuracy of the plugin. The accuracy though isn’t always as good as it could be; there are a lot of posts where it just chokes and either returns nothing or posts that are totally unrelated. Time permitting, I’m going to dissect the source at some point and see if I can game it (i.e., modify the way that it “scores” posts for relevance) to give more deference to the content of the post; as it stands now, I think it looks only at the title of the posts if you supply no keywords. In the context of this plugin, keywords are user-defined, one word descriptions that help the plugin to return more meaningful results, but for obvious reasons, namely time, there’s no way in hell I’m going to add keywords to all of my entries (or even just to those whose titles don’t accurately reflect their content).
I installed this plugin with some trepidation, fearing that the server hit would be too expensive, but surprisingly, it’s pretty negligible (granted, we aren’t talking about searching through that many posts; I’m not sure how well it scales up).
Be Careful Where You Call It
As usual, before I take something “live” on this website I test it pretty heavily. While putting this plugin through the motions I came across some rather odd behavior which took me a few minutes to nail down. To sum it up, the function call to this plugin must be placed after the infamous WP loop, else you’ll get the dreaded “no related posts.”
I initially called the function after the “individual archive” section of the menu, which runs through “the loop,” so there were no problems there. After playing around with it some, I decided that the results should be displayed before the “individual archive” section. This meant that the function would be called before any iteration of “the loop” (because of the way my markup is structured, the menu is built before the rest of the page; if that were not the case, then there would be no problem because the “content” section of these archive pages goes through “the loop”). To avoid having to change the structure of my markup, I decided to simply throw in a “dummy” loop before I called the plugin.
Most likely to succeed
Earlier today a good friend of mine sent me a couple of pictures that had me laughing ’till I cried. I’m assuming these were taken when I was in 8th grade (1993), which would put me at ~13. I think the first picture shows me about as “dressed up” (come on, there’s some semblance of a collar there) as I got in those days (it was required for the shot, much to my opposition). I’m apparently still rocking the “skater cut” at this point, though it looks like I’m in serious need of getting the sides shaved (see second pic for a better example).
As a side note, the other most-likely-to-succeed person in the first picture is a good friend of mine and we actually lived together for some time during undergrad. The best(?) part is that both of us are still in school. :)


That’s me on the far left.
Nice[r] titles
As a lot of you have noticed, I started using Nice Titles throughout this site a couple of weeks ago (so that those who hover above my “bits” will immediately see what I have to say about them, if anything). A few people have asked how I got mine to look the way that they do (i.e., the URI is not shown and the width of the background picture is a bit more predictable). If you prefer the way that mine look, feel free to use my hacked nicetitle.js file as you wish.
Smart Archives v1.01
I’ve just released v1.01 of my Smart Archives WordPress plugin. I strongly encourage anyone who currently uses the plugin to download this release as it takes care of nearly all of the issues that users have written to me about. The list below outlines the changes.
- Posts with a future date are no longer included in the list(s).
- Months that contain only posts deemed “private” or “draft” are no longer included in the list(s).
- Months during which a WP “Page” is created, but which contain no posts for that month, are no longer included in the list(s).
Aggregated beauty
As soon as I saw the 50 people see… photoset on Flickr, I was immediately reminded of Jason Salavon’s similar work, which I came across a couple of years ago (and from which the programmer here found inspiration).
I’m completely fascinated by the fact that the almagamation of so many disparate pictures, with nothing in common save their subject, can produce something so (in my opinion) beautiful. If I have time I might try to hack the source used to create the photoset so that it blends together every picture I’ve ever taken — I’d be real interested to see the ?ber-pics produced by different people’s collections.
We grow software
If you haven’t yet read DrunkenBlog’s interview with Brent and Sheila Simmons (of NetNewsWire fame), you’re really missing out. It’s an interesting peek into the world of an independent (and successful) software developer. My favorite excerpt from the interview is when Brent is explaining how working together with Sheila at home every day isn’t so bad.
It’s a little bit like farm life — but modern, urban, digital farm life. We grow software.
Using FeedBurner to gauge reader circulation
I’ve been playing around with FeedBurner for quite some time and just recently started redirecting my main content feed to my “burned” feed so that I could get a better handle on my [RSS] reader circulation (which, incidentally, FeedBurner handles wonderfully).
Circulation: An approximate measure of the number of individuals for whom your feed has been requested in the last 24 hours. Circulation is inferred from an analysis of the many different feed readers and aggregators that retrieve this feed daily. Circulation is not computed for browsers and bots that access your feed. Circulation is calculated by matching IP address and news reader combinations, and then using our detailed understanding of the multitude of readers and aggregators and bots on the market to make additional inferences.
You can obviously deduce this statistic yourself if you have access to the raw http server logs, but, uhh, why? Can you imagine trying to keep up with all of the new online aggregators out there?
If you’ve been thinking about moving to FeedBurner, but have some reservations, I’d be interested to hear what they might be as I can no longer come up with any. After all, you can transparently redirect your subscribers to FeedBurner — they’ll never see the change (unless of course they access your feed in a regular web browser and pay attention to the redirected URI). What is more is that FeedBurner now allows you to specify the original source URI of your feed (in my case, /syndicate) which it will then use in any external presentation of your feed (e.g., on the sign-up chicklets that users see when they stumble across your feed through a web browser and are shown the XSLT-styled, human-readable XML file).
You never have to inform your old, already-subscribed readers (or your new readers) of your FeedBurner feed, yet you still get to take advantage of all of their wonderful services — win-win.
On a related note, sometime in the next couple of weeks I think I’ll probably do a small write-up on the percentage breakdown of the different aggregators that are used to access this site as I think it’s quite telling of where this space is headed (hint: it’s away from the local client).
I’m still debating whether to use FeedBurner to splice my del.icio.us links into the main content feed (as I mentioned in Outsourcing This Website), but that decision will have to wait for another day.
You might use your TiVo too much if…
…,when you’re watching a movie at the theater, you unconsciously raise your hand to press the rewind button after a funny scene.
Introducing Smart Archives for WordPress
Smart Archives is my very first WordPress plugin and provides functionality similar to, but above and beyond, the nested archives I developed for Movable Type.
If you’re interested, a better description can be found on the project page, along with the source and installation instructions.
Just another nail in the iPod’s coffin
There’s really no denying that the future of mobile music is streaming. Just today, a very excited Russell wrote up a piece on the Virgin Mobile radio client, which allows you to stream [random] music to a 3G-capable phone. I, however, am more excited about things like accessTunes, which allow you to stream your music collection over the web. I swear, if someone offered something similar, but with the following additional features, I’d pay handsomely for their product:
- A web interface that is accessible to mobile browsers (e.g., Opera for mobile)
- The option to encode my MP3s at a lower bit-rate, on-the-fly, before streaming them (99.9% of my collection is 192+kbps, which current mobile data networks cannot sustain)
Windows smartphone as a bluetooth modem under OS X?
I’m going absolutely mad trying to get my i-mate SP3i to function as a Bluetooth modem under Mac OS X. I’ve obviously set this up many times before for a lot of different devices, but I can’t seem to get it to work on a Windows Mobile-based smartphone. Some might say that I’m a glutton for punishment in trying to make this happen, and, well, I can’t very well refute that.
If anyone out there has this working with any Windows Mobile device, please let me in on the secret — I’ve reached the end of the Internet trying to find a solution and am done hacking on it for a while.
SMS and me
The Short Message Service has become an indispensable part of my life these last few years. A brief sample of how I currently use SMS:
- Tell someone I’ve just left/arrived
- Remind myself of something from my Trumba calendar (it will send you SMS alerts for your calendar events; I hope the Google calendar speculation turns out to be true sometime soon)
- Get phone numbers and addresses from Google SMS (this is especially useful when your phone automagically makes phone numbers “clickable” so that you can simply click on them within the SMS to make the call); Google SMS is capable of a lot of neat things
- E-mail iCal reminders to number@cingularme.com, which arrive on my mobile phone as SMSs
- Driving directions from either Yahoo! Maps or MapQuest (Google Maps will certainly allow this in the future; you can actually ask for directions through Google SMS, but it’s a little cumbersome)
- If I’ve just sold something on eBay, I’ll use an IM client (or Internet-to-SMS gateway) to send myself the buyer’s address so that I’ll have it at the post office
- Have SMSs treated like IMs through my phone which is connected to my notebook over Bluetooth (when SMSs come in they’re shown on my computer screen and I can reply to them on the computer just like a regular IM; the computer sends my replies to the phone over Bluetooth and from there they’re sent over-the-air to the recipient’s mobile phone)
- Have airlines let me know if my (or a friend’s) flight is on time/delayed or if there has been a gate change
- Have mobile phone manufacturers send me settings for a particular phone/service combination (this is usually faster than finding the needed settings on the net and entering them manually)
- Have my online brokerage service send me alerts when my stocks have gone below or [hopefully] above thresholds I’ve set
- Have the mechanic notify me as soon as my car is ready
Limit number of posts with WordPress
One of the first things I noticed when I started to setup WordPress was that there was no way to control the number of posts displayed on the index page from the admin panel. Yes, there is the “Show at most” option, but this is a site-wide variable and works to treat all of your pages the same — I didn’t want that.
So, as things sometimes go on this site, I didn’t plan to post a workaround to this (it’s kind of trivial), but I’ve had a few people ask me how to do it and so I thought I’d explain it here both for them and for future Google traffic.
Why I Wanted This
All of this stems from the fact that I don’t usually like “next 10 posts” / “previous 10 posts” links and didn’t want them on my website. Rather, I like whatever archives page the user is on (be it yearly, monthly, or daily) to display all of the posts for that particular time span. This can be achieved rather easily by setting the “Show at most” option to something very large (i.e., a number at least as large as the number of posts on your “largest” page). The problem is that this number will also be used to control the number of posts on your index page.
The Fix
To limit the number of posts on your index page while allowing all other pages to look to the “Show at most” setting, you simply need the following lines of code.
<?php static $ctr = 0;
if ($ctr == "X") { break; }
else { ?>
You’ll want to place this code directly inside the main loop you use to display the posts on your index page. The regular PHP and/or HTML that actually forms these posts should be placed inside the open “else” shown in the above code. You should then close the “else” with a curly bracket (“}”). Change the “X” in my example to the number of entries you want displayed.
Because you need to increase the “ctr” variable by one each iteration through the loop, you’ll need to put the following code right before the loop is terminated.
<?php $ctr++; } ?>
It’s that simple. After this code is up and running, your index page will display the first X entries and your archive pages will display the number of posts as defined by “Show at most.”
Mobile jellyfish
This is a screenshot from my latest phone, the i-mate SP3i. I’m putting it up here because I’ve had a few friends express some interest in using the jellyfish picture as their background after seeing it on my last couple of phones. You have to admit, it does look pretty damn good as a mobile phone wallpaper. I use the same picture for my desktop background as well; it’s probably my favorite photo from the entire Monterey, Carmel, and Big Sur set.
Feel free to download the original (2048×1536) picture and do with it what you like.
i-mate SP3i
I’ve received quite a few e-mails asking when I plan to put up a review of the i-mate SP3i. I really can’t say. I’m incredibly busy at the moment and so I’m really not sure if I’ll get around to doing a full review; if I do decide to do one it won’t be for a while. I certainly don’t mind answering questions though if there is something specific you want to know.
I will say this: if you know you want a Windows Mobile smartphone and have your eye on the SP3i, buy it. I don’t have anything negative to say about the phone itself — it’s awesome (though I do have some issues with Windows Mobile; surprising, I know).
Quickly, a few things I really like about the phone:
- Best mobile speaker I’ve ever used (very, very loud); this includes regular use, speakerphone, and gaming
- Best T9 implementation I’ve ever used
- Best Arkanoid-type game I’ve ever seen, on any platform (it ships with a package of 9 games and all of them are excellent)
- Very solid construction
- Perfect form-factor and weight
- Great battery life
- Brilliant screen (just about everyone I’ve shown the phone to has commented on it)
TextWrangler
TextWrangler is the best free GUI text editor I’ve ever used and certainly worthy of being the progeny of the almighty BBEdit. I can’t say that there’s anything I haven’t been able to accomplish with it, either through native features or some AppleScript voodoo. I use it for everything — the code that runs this site, the posts you see on this site, law school, side projects, personal notes, Mac OS X config files, etc — I currently have 17 open documents in my TextWrangler drawer. It’s great.
Maintaining URIs between Movable Type and WordPress
When I moved to WordPress I made the decision to change the layout of my archived URIs. To be honest, I was going to make this move under Movable Type as well, but just hadn’t got around to it. This modification amounts to nothing more than changing a uri_that_looks_like_this/ to a uri-that-looks-like-this (dashes and no trailing slash). The reasons for this aren’t worth going into right now, but if you’re interested, feel free to e-mail me.
If you initially followed my steps for future-proofing your site in Movable Type and are moving to WordPress and want to keep a similar archive structure, then follow the steps below. Even if you didn’t use my future-proofing method for MT, but are still thinking about moving to WordPress, you can probably figure out what changes would be needed to the following code to make it work for your particular setup (assuming the archive structure you used under both CMSs is based, at least in part, on the titles of the posts).
Step One
The first thing you are going to want to do is to create a new MT template which contains the following code (perhaps modified for your particular situation).
<MTEntries lastn="10000">
RewriteCond %{REQUEST_URI} <$MTArchiveDate
format="%Y/%m/%d"$>/<$MTEntryTitle dirify="1"$>/$
RewriteRule .* archives/<$MTArchiveDate
format="%Y/%m/%d"$>/<$MTEntryTitle dirifyplus="pld"$> [R,L]
</MTEntries>
Realize that the rewrite lines above should each be one long line (i.e., no line breaks).
The above code will traverse all of your Movable Type entries and create the appropriate conditions and rules for each of them, the idea being that each individual entry will get a separate RewriteRule that will direct it to the new [slightly altered] URI.
Step Two
Build this template.
Step Three
Copy the contents of the resultant file into your root .htaccess file or the one in the root of your archives directory — shouldn’t really matter. Either way, be sure to include these rules before the htaccess rules that WordPress creates (and needs to work), else the server will act on those earlier rules and never get to these.
That’s it — now all of your old MT archives should forward to the new URIs.
Beware
I noticed that Movable Type’s “dirify” function and the “dirifyplus” plugin remove dashes within a title and so if you used either of these to make your directory structure (which this little guide assumes), you’ll need to go through your entries, find those that have a dash in the title, and then reinsert that dash in the RewriteRule portion of that particular address (else, the link will be unreachable).
I’ve moved to WordPress
After spending more time hacking up the source than I had ever anticipated, this entire site (both public and private) has been completely moved over to WordPress (from Movable Type). Those of you out there who have made such a transition realize what a large undertaking it can be and my case was certainly no exception; starting out with WordPress and using a default template is one thing, but transparently moving over a complicated, customized, content-heavy weblog is an entirely different matter altogether.
Like everyone else it seems, I’ve been rather impressed with WordPress and can’t wait to delve deeper into it and contribute to the community that has sprung up around it. I put a lot of time and effort into writing tutorials, HOW-TOs, and general tips and tricks for Movable Type and plan do the same for WordPress as soon as I get efficient with it (on a related note, I think I’m going to compile my Movable Type ‘how-to’ entries and present them in a single post here for those who are just getting started with that system).
The Transition
The goal was to keep everything looking and working exactly the same as before, and for the most part, I accomplished that. After familiarizing myself with the basic layout and structure of the CMS, I looked at the source of various themes to further wrap my head around this monster.
After getting the initial site-wide template up and running I spent a fair amount of time hacking htaccess files. I was kicking and screaming there for a while — fixing one thing was breaking something else and on more than a few occasions I thought I had fixed everything only to find something not working quite right as I started to dig around. Sometime in the next few days I’ll put up a post outlining my mod_rewrite solution. That said, everything should be good to go now (and all old URIs should seamlessly redirect), but if you notice any problems, please let me know.
All that’s really left to do is to modularize with PHP includes; I think I had twice as many template modules in my Movable Type installation than I had actual templates (I like to simplify and condense!).
Movable Type total word count
Every so often curiosity gets the better of me and I want to find out (and publish) the total number of words I’ve put into the posts on this site (you can now see this at the top of my main archives page). Unfortunately, and quite surprisingly, each time I’ve looked for this functionality I’ve come up empty (and yes, I’m aware of MTWordStats, but it’s broken, at least for me); Movable Type still doesn’t count the words of individual entries for you, much less give you a function that returns a weblog-wide total.
I came up with a quick and very simple solution.
The first thing you’ll need to do is download and install the WordCount plugin, which returns the number of words in a given post. To get the total number of words throughout your weblog, you’ll need to run this plugin over all of your entries. To do that, insert the following code at the top of the template you’re going to use to display the total.
<MTEntries lastn="10000">
<?php $tWords = $tWords + "<$MTWordCount$>"; ?>
</MTEntries>
To display this total, place the following code in the template where you want the number shown (make sure that this code appears somewhere below the above code).
<?php echo number_format($tWords) ?>
Yep, that’s it.
We’re getting there
I love being able to take out my mobile phone, fire up a browser, log into my TiVo account, tell it to record a show for me that I’ve just been made aware of, and then receive, on my phone, a confirmation e-mail within the hour from TiVo (after it’s talked to my machine at home) to let me know that the show will or will not be recorded.
Instrasite searching with Google
I doubt many of you have noticed (especially the regular readers of this site), but I reworked the search section about a month ago so that it now uses Google for intrasite searches. I never mentioned it here because I didn’t really see the point, but I’ve had a couple people ask me how to do it and so I thought I’d explain it a bit here.
The reason I handed over searching to Google in the first place was because of the way Movable Type returns search results; not only does it refuse to remove the trailing filename but it also likes to place anchor tags at the end of it. Technically, there is nothing wrong with this as it still gets people to the page they were looking for, but it just “looks” ugly and people end up linking to me with malformed URIs. This never really bothered me until I implemented future-proofed URIs here (and wrote up a HOW-TO on how to set this up in Movable Type). My URIs are “clean” and I wanted my search results to follow suit. Yes, I could have just hacked up the MT code but this way was much quicker and also allows us to search using a syntax we’re quite familiar with.
Setting Up Your Site
This certainly isn’t rocket science and anyone with a rudimentary understanding of HTML forms and the Google syntax could figure it out, but for those among us who are a little less motivated, I’ve put my form below.
<form method="get" action="http://www.google.com/search">
<input type="text" name="q" maxlength="255" class="search"name="search">
<input type="hidden" name="sitesearch" value="http://justinblanton.com">
<input type="hidden" name="q" value="-intitle:archives">
<input type="hidden" name="q" value="-intitle:referrers">
<input type="hidden" name="q" value="-intitle:links">
<input type="submit" name="sa" VALUE="Search">
</form>
I’m going to assume that most of this is pretty self-explanatory, but for the sake of completeness, I’ll elaborate some. The “sitesearch” input element tells Google to search only within the given site. You’ll notice that I go a bit further and include a few “intitle” restrictions; if I didn’t do this, the user would get the same document multiple times (because of the index page and monthly/individual archives). I recommend playing around with the search on your site to decide what input tags you will or won’t need — this will obviously vary greatly from site to site and will be based in large part on your site’s structure.
This method isn’t exactly perfect and there will be certain circumstances where the results, without further tweaking, are completely useless. For example, if you search for “gadgets” on this site, you will see that Google returns nearly every page under my domain. This is because I have the word “gadgets” in the menu on the right. There isn’t much that can be done about this except maybe narrowing your search. Perhaps in the future Google will allow you to restrict searches to divs within a document’s markup. *shrug*
When time permits, I think I’m going to use the Google API to do intrasite searches so that I can style the results to look like the rest of my site (i.e., the user won’t realize that the search was done off-site).
On the acquisition of Bloglines by Ask Jeeves
Russ took the words right out of my mouth.
I use it constantly and incessantly and if it went away or was changed drastically, I would be very unhappy.
In other words, please don’t fuck it up.
Where to put my BlogAid money?
Please e-mail me with any suggestions you might have about where I should donate the money I generated for the BlogAid project. I have a couple of places in mind, but any feedback would be great, especially if you have first-hand knowledge of the organization and their work. Thanks.
Let this post also serve as a reminder to all of those who agreed to participate in the effort that our contribution is due.
Integrating Del.icio.us with your weblog
As I touched on yesterday, I moved my ‘linkblog’ over to del.icio.us and was working on a way to merge those bookmarks with this site. After thinking about the various ways to do this, I came across an HTML generator on the del.icio.us site. It certainly isn’t the prettiest solution, but I figured it was something I could get up and running in a matter of minutes.
The basic idea is that del.icio.us will return a chunk of HTML as per the arguments you supply it. The URI for my request looks like this:
http://del.icio.us/html/jblanton/?&count=25
&rssbutton=no&bullet=&divclass=bit&aclass=bit_link
After figuring out the syntax it was just a matter of coming up with a way to pull it off the del.icio.us server. I decided to use Perl and the following is all the code that was needed. [Note that this could be done in one line with something like curl: curl http://address -o file.txt]
#!/usr/bin/perl
use LWP::Simple;
$bits = get "http://del.icio.us/html/user/your/args";
open(FILE, ">/path/to/the/file/you/want/to/write/to");
print FILE "$bits";
close(FILE);
You could obviously use PHP or JavaScript to yank this information down each time the page is loaded, but why hit the del.icio.us server every time someone requests a page from you? Instead, just create a cron job that runs the above script every 15 minutes or so and then include the returned file in pages that are requested by your users. I use PHP for the include:
<?php include('/path/to/file'); ?>
Finally, you’ll need to modify your CSS so that the text you’ve pulled down from del.icio.us gets styled inline with the rest of your site.
Like I said, there are a million different ways to bring your del.icio.us bookmarks into your site, but this seemed like the simplest to me. If I decide on a different method in the future, I’ll be sure to outline instructions for that method here.
Lift Flickr Pro upload quota?
So, as I keep hinting at, I’m thinking very seriously about moving my entire photo collection to Flickr. This weekend I e-mailed them and asked about the 1GB/mo upload quota as it applies to the Pro accounts. I wanted to know if this could be lifted for the first month because I have almost 5GB of photos and didn’t want to have to wait 5+ months to move everything over. Not an unfair request if you ask me, especially in light of the fact that I would be paying them. This was their response:
Flickr doesn’t have the ability to offer extra bandwidth
for an initial upload just yet. It may become something
that it offers in the future, for a fee, because bandwidth
costs money.
I don’t quite understand the logic here. First of all, I wouldn’t mind paying the fee given current bandwidth costs. Secondly, it’s not like I have 5GB of photos from a week’s worth of shooting — we’re talking about my entire collection (i.e., I won’t have 5GB of new photos every month). What difference does it make if I upload all of that in one month instead of five; the same amount of data is being sent across the pipe either way. I realize their provider caps them at some monthly maximum, but it seems that it would be in their best interest not to deter customers over something so petty and easily resolvable.
That said, my complaint is somewhat trivial and probably won’t be a deal-breaker for me. Truth is, the actual number of photos that I would make public would probably not go beyond those that are already on my site, and I’m pretty sure I could at least get all of those up there without crossing the bandwidth threshold. The thing with me is that if I’m going to move everything over I want to do it all at once, not spread it out over months. Like I said, it really is a minor issue but I thought some of you might want to be made aware of it before you threw down your cash.
Del.icio.us
As I mentioned earlier, I finally decided to move my linkblog over to del.icio.us. I exported/imported all of my old bookmarks as per Cameron’s wonderful guide, and after tweaking his Perl script to suit my needs, everything was good to go.
If I have time later today I’ll come up with a method to integrate them with this site so that they’re placed under the “Bits” header on the right (until then, those not subscribed to the bits feed won’t see any updates). I can think of quite a few ways to go about this and I’m still trying to decide which would be best. If you’ve done something similar and have a suggestion, I’d love to hear it before I start hacking away.
In keeping with the future-proof theme that pervades this site, I’ve redirected the bits feed (using .htaccess) so that it now points to my del.icio.us feed (i.e., the syndication address stays the same).
A hollow leg?
The NYT ran an article yesterday about how weight loss can sometimes be tied directly to restlessness. Not to toot my own horn too much, but I have been telling people this for years. If you know me personally then you’ve likely heard me say something along the lines of, “I can’t explain it, but I’m pretty sure it has to do with all my nervous energy,” in response to a question about how I can eat the way I do and never gain an ounce. I’m not going to go into my eating habits here as it will only work to further disgust those that couldn’t dare eat like me and expect to stay the same weight, but suffice it to say that it’s healthy’s opposite. While I do workout to stay fit and whatnot, it certainly has no bearing on my weight — like I’ve always said, it’s the finger-tapping and pen-twirling that keeps me skinny.
Send multiple SMS/MMS on Windows Mobile?
UPDATE: A reader pointed me to the MoDaCo forums where I stumbled across this post that links to a program called SmartSMS, which kind of does what I want, but not really. It allows you to create lists of people to whom you want to send SMS messages, but it doesn’t let you choose these people on-the-fly; in other words, it doesn’t let me do what I describe below, but it’s still useful.
Does anyone know of a quick way to select multiple SMS/MMS recipients (instead of having to insert each contact individually) under Windows Mobile 2003 for Smartphones (2nd edition)? I’m fairly certain this can’t be done through the OS itself and so I’m assuming some third-party software will be required (this is fine).
Symbian Series 60 implements this perfectly. When composing an SMS/MMS it presents your contact list and allows you to check off those whom you want to receive the message. Then, after you’ve chosen those recipients, it walks you through all of them and if a contact has more than one number it presents you with those numbers and lets you choose which to use. The entire process is very fluid and you get the sense that there isn’t a more efficient way to go about it. Indeed, I couldn’t come up with a faster method (though the ability to specify a “default” message number would obviate the need to choose which number to use).
I’m asking about this because, as I mentioned here, I picked up a Motorola MPx220 a couple of weeks ago, but have since sold it and grabbed an i-mate SP3i (which also runs Windows Mobile). Expect a ‘review’ as soon as time permits — it’s an amazing device.
CO-Trading escrow service
Anyone ever used the CO-Trading escrow service? I’m selling a rather high-value item and the best offer I’ve received so far is from a guy in Spain who wants to go through this group. He offered to let me choose a company, but I’ve never used an escrow service before — if you have any information on CO-Trading or if you can recommend a service that you’ve personally used, please let me know.
PBS’s Frontline
I meant to post about this months ago, but never got around to it. Frontline, the always engaging, documentary-style PBS series, now has 42 ‘streamable’ episodes available online. You’d be remiss not to take advantage of this — look through their topic list and treat yourself to some great journalism and wonderful story-telling.
Star$$$$$
I’ve got 43 Starbucks locations within a five-mile radius of my apartment. First of all, what the fuck? Second of all, and I can’t help but to get competitive here, can anyone beat that?
UPDATE: 170 is the new high (around Broadway in NYC).
UPDATE: If you are interested in this at all, Jason has opened the topic up for comments.
“Outsourcing” this website
I’m thinking about offloading some features of this site to third-party “web services” (for no other than reason than the fact that I’d like to play around with them).
Photos
The only obvious web application for the sharing of photos is Flickr. They are currently offering a $41.77/year program which allows for unlimited storage, no filesize limit on individual pictures, and shows no advertisements on the display pages. The only problem with this is that if I do decide to use it to store and display my pictures I won’t want to use it just for those pictures that I want to display publicly — I’ll want to put my entire collection on it. This might seem weird to some, but the idea would be that it would become my primary storage medium for photos while my computer and any backups I do locally would be just that, backups.
Moving them over would be pretty seamless given this plugin available for iPhoto that will do all of the uploading while retaining album names and metatags. What is more is that there are plugins available for Movable Type that allow you to integrate your Flickr albums with your CMS.
Bookmarks
The only real option here is del.icio.us. After coming up with a rather quick and efficient way of doing this on my own through Movable Type, I’m a little hesitant to move this feature to a third party, but there are a few upsides, not the least of which is the community aspect of del.icio.us.
Syndication
It had never crossed my mind to move my syndication feeds off-site until I saw a few other people doing it with FeedBurner. The main reason I’m thinking about FeedBurner is that I think I might want to consolidate the two feeds that I have on this site (the main content feed and the bits feed) into one. Though this might be all that I use it for, there are all kinds of other neat things FeedBurner can do (e.g., if I were to move to Flickr, FeedBurner could add the photos I upload to Flickr to the all-in-one feed so that those subscribed would see the pictures in their aggregator as they were uploaded). As much as I like (and am constantly preaching) consolidation, I’m still a little iffy about merging all aspects of this site into one, potentially unwieldily feed (cases in point: Tom Coates and Matt Haughey).
Still Mulling It Over
While I am seriously thinking about all of these things, I’m just not sure I’m ready to make the plunge. Flickr probably has the best chance of receiving my attention (and money), but I’m going to wait a bit more before I make what will surely be a very time-consuming move if followed through.
Soundrangers
If you, like me, are looking for some really neat sounds for your mobile phone (for received SMS messages, e-mails, phone calls, etc), then be sure to check out Soundrangers. I stumbled across these guys about a week ago and I’m still running through all of the sounds they have for sale (it hasn’t really been a priority this week, being that it’s the first week of another semester of law school).
On a related note, I picked up a Motorola MPx220 earlier today and have been very pleased with it so far. Assuming I keep this phone (and I think I will), I’d like to get a decent review up sometime soon (at least to explain the sudden move to Windows Mobile), but I’m not quite sure I’ll have time. That said, if anyone wants to buy a mint-condition Nokia 7610 and save me the usual eBay/Craigslist hassles, let me know.
Arrested Development
OK, I have to get this off my chest: Arrested Development might be the funniest sitcom I’ve ever seen. While I do have a TiVo, I still abstain from watching sitcoms, not necessarily as a rule, but more because I just got so bored with them and the ones I did enjoy I fell out of sync with once law school started. That said, Arrested Development is a complete break from the tired, predictable crap that was Seinfeld, Friends, etc, none of which I ever got into (and yes, I realize everyone and their brother loves those shows).
Like most non-reality shows, I only watch them anymore when I’m back home on break — friends throw the DVD sets at me and I can’t resist. I’m so glad I got to watch this one on DVD because just one a week would have made me crazy — it’s that funny. Every single character is a riot and my favorite seemed to change from show to show. I never thought such humor could be derived from such narcissism, but the “mockumentary” way in which it is shot coupled with the depth of the writing makes you want to “rescue” all of the characters while laughing at the absurdity of their situations. It’s brilliant.
Dreamhost redux
Just thought I’d do a little more advertising for DreamHost now that I’ve had my site there for a few months. I’ve yet to have any real trouble with my account and have been rather pleased with the communication from them when minor problems have presented themselves. If you have been thinking about switching hosts, I strongly encourage you to look at DreamHost; the hosting plan I’m on has changed quite a bit just in the short time that I’ve been with them:
2.5GB7.5GB of storage64GB192GB bandwidth/month- Unlimited MySQL databases
- Access to raw log files
- 75 sub-domains
- …plus all the obligatory usuals like SSH, multiple server-side spam-filtering options, mod_rewrite, etc
All for $20/mo. Can’t beat it.
Top ten of 2004
I almost wanted to extend my top 10 records to 15 or 20 this year; it was difficult nailing it down to 10 given that I listened to nearly 200 new albums this year. Those appearing in the list below are those that I’ve listened to most over the course of the last year.
- My Chemical Romance – Three Cheers For Sweet Revenge
- The Faint – Wet From Birth
- Interpol – Antics
- Wilco – A Ghost is Born
- The Arcade Fire – Funeral
- Surgarcult – Palm Trees and Powerlines
- The Killers – Hot Fuss
- Modest Mouse – Good News For People Who Love Bad News
- Green Day – American Idiot
- Kanye West – College Dropout
Some honorable mentions include The Walkmen’s Bows + Arrows, Velvet Revolver’s Contraband, Snow Patrol’s Final Straw, The Streets’ A Grand Don’t Come For Free, Taking Back Sunday’s Where You Want to Be, DJ Danger Mouse’s The Grey Album, Franz Ferdinand’s Franz Ferdinand, and The Cure’s The Cure.
The movie list was a bit easier to make. A couple of films that I haven’t seen yet and that would have most likely made this list are Sideways and Kinsey.
- Saved
- Napoleon Dynamite
- Ray
- Monster
- The Life Aquatic with Steve Zissou
- The Incredibles
- Miracle
- Harry Potter and the Prisoner of Azkaban
- Friday Night Lights
- Meet the Fockers
Happy now?
I’m constantly told that I don’t have enough (any?) pics of myself on this site, so I figured I’d put one up that I kind of like. I realize it’s a bit dark, but that’s probably why I like it.
Accessible TiVo
This is very, very cool and something I’ll probably setup here (privately of course :P) as soon as I’m back in California and can find some free time.
An eventful year
2004 was a very busy year for me; let me recount some of the more notable events:
- I survived my first year of law school despite some very serious personal obstacles (and despite somewhat disappointing grades, I received a couple of writing awards from the law school)
- I spent my summer doing a legal internship at a great software company (and will be there again this semester)
- I managed to lock down a summer associate position (for next summer) at a well-known intellectual property firm
- I was approached by not one, but two, very large publishers about contributing to, and even writing my own, book on Google-related matters; I ended up contributing to one book and being the technical editor on both
- I welcomed the fifth-year anniversary of this website and watched its audience grow exponentially
- And to top it all off, I’ve finally let myself like someone again, and she’s wonderful






