Friday, January 25, 2008

Flickr Limited to 200 Photos? Hello AOL Pictures




So I mozied over to my Flickr account today to add some photos and was taken aback by the above notice. Flickr is now limiting the free accounts to 200 photos! Wow, that's so 1999.

I do like the Flickr mobile and embedding features. But I'm not going to pay for my Flickr account. I guess I'll stick with AOL Pictures. At least with AOL Pictures there is no limit on the number of photos you can upload and share. Sure, the embedding features aren't as nice, but at least I'm not limited to a couple hundred photos.

BTW, one trick I learned with AOL Pictures. You can link directly to the photo by getting the permalink. You can then change the link slightly to get different sized versions of your picture. The link looks something like this.

http://links.pictures.aol.com/pic/cd80...0v4xQp5Fd3Ig=_l.jpg

Note the last part, =l.jpg. You can actually change the letter l (lower case L) to an f, m, s, or t if you want different sizes. F seems to indicate full size, L for large, M for medium, and S for small, etc.

Here are some examples of the same image with different size parameters:

s - small



m - medium



l - large



t - tiny?



f - full size



You can click on any of the above pictures and see the direct link to the image, if you're interested.

Friday, January 18, 2008

Great Book: Prototype and script.aculo.us

Just picked up a copy of Prototype and script.aculo.us from my favorite online book seller, The Pragmatic Programmers. I'm up to chapter 4 so far and loving it.

What's so cool about this book? Well, I'm a Ruby fan (bigot?) and this book shows how to write Javascript in a very Ruby-esque style with the Prototype library. I started working on my Javascript skills recently and found that I needed some inspiration. Just by chance, I received an email from PragProg announcing this book. I couldn't resist.

Prototype goes to great lengths to make JavaScript development feel better. Prototype Core loves Ruby. (Who doesn’t? Honestly, give it a serious try.) That’s why Prototype tries to make JavaScript feel more like Ruby—so that most common tasks become a breeze and are eminently readable. Dealing with collections of items (be it for simple iteration, filtering, transforming, or whatnot), exploring object properties, manipulating strings, or even finally passing methods around without losing their binding along the way—all of this (and much more!) becomes easy as pie when using Prototype. — Chapter 4, Prototype and script.aculo.us

One of the great things about PragProg is that you can buy PDFs of their books. This is wonderful if you're into instant gratification and you live in Vietnam, where receiving goods from overseas is a dubious, open ended process.

Thursday, January 17, 2008

Jungle Disk Plus

The folks over at Jungle Disk have introduced Jungle Disk Plus. As I've mentioned before, Jungle Disk is a program that adds a virtual hard drive to your computer. Jungle Disk uses Amazon's S3 service to actually store the data. It's a pretty cool program and it seems to work fairly well. I like having a cheap infinite hard drive. My main problem with it is that it doesn't work so well over flakey or slow internet connections, like we have here in Vietnam.

One drawback of Jungle Disk is that you need to install the program in order to access your files. With Jungle Disk Plus, they have solved this problem. For an extra fee, they will enable web access to your files. The fees are pretty minimal, $1 per month plus bandwidth.

I played around with it a bit. One of my main gripes is that it's difficult to figure out when things are encrypted and when the are not. After you enable web access, you can log into a special web site and see your files. This web site is missing a 'logout' button. The page seems to be protected by your Jungle Disk login, which is fine. But there should be a way to log out.

Jungle Disk does encrypt your files. However, the encryption options are very confusing. There are encryption and decryption options. There is also your Jungle Disk web login. There are Amazon keys and secret keys. Then there is your Amazon login. All of these just add up to confusion about what to use when. All with the fear that you're leaving your private files out in the open if you don't do things correctly. This could certainly be improved. Imagine you're Apple, Inc. How could you design this so it's simple and secure?

Wednesday, January 9, 2008

Comcast Forces Firmware Upgrades

Our Comcast modem back in California has been down for three months. I know this because my Tivo tells me so. Over the break we had a few days back in the Bay Area so I called Comcast and tried to get them to get it working again. Luckily they were able to schedule a repair visit shortly after our flight landed. The repairman said that everything in the house was fine and that he would call for someone to come out and fix the problem at the pole the next day. Nothing happened and when I called Comcast back they said they had no record of someone scheduled to fix my system at the pole, but they were happy to schedule another repair visit. Which they did for the next day. (They must have a lot of open slots around the holidays.) This time a repairman came and had the same reaction. Everything is fine, must be a problem at the pole. At this point I knew what would happen next: nothing. I've had this exact same experience with Comcast at two locations now. It seems to take three visits and an escalation to get things fixed. Since we only had a few days in town, I decided to give up on Comcast and cancel my service.

Luckily my neighbor's wifi is pretty strong at my place and he agreed to let me share it. This is great except the whole reason I want the internet connection was to keep my Tivo and Slingbox going so the kids can watch PBS from Vietnam. Turns out my most of the stuff I want to be online is part of my wired network at home; all the wireless stuff we take with us. This meant I needed a way to get his wireless network connected to my wired network. Naively I figured a trip to Best Buy would be able to fix this. They did have one router that claimed to do this, but it didn't work as advertised. In searching around I ran into Sveasoft which make firmware that you can flash to most commercial consumer routers, giving them advanced features. Unfortunately the router I bought wasn't supported. These guys also seem to be pretty anal about giving away their firmware. You have to register and give them the MAC address for your router. Presumably the firmware checks to make sure you're running it on a router with said MAC address. (They actually generate a custom version of the firmware for you before they let you use it.) This is to keep you from sharing your firmware with the world. Since it's free anyway, I'm not sure why they make you jump through these hoops. A more open alternative is to use the DD-WRT firmware described below.

I printed out the list of supported routers and headed back to Best Buy. I returned the fore mentioned router and bought another one on the supported list. One thing I've learned is that the hardware version number isn't often specified on the outside of the box. When I got to the car I opened the box to find that the hardware version for the WRT54G was a V8, again not supported. I decided to keep it anyway, maybe the WRT54Gv4 firmware would work. (It doesn't.)

After hunting around more I found this post by Bauer that describes how to flash the DD-WRT firmware to a WRT54Gv8. Turns out it's not supported in final form but there is a release candidate that works well enough. This time the firmware flash worked! Good thing I didn't return the router right away.

Next the trick was setting up a wireless bridge with the new router and its fresh firmware. Instructions for this can be found here. This pretty much worked fine for me. I think the instructions may be a bit verbose, and that just setting the network wireless mode to client bridge and having the same SSID and WEP settings would do the trick.

The upshot is that my cable modem has now been replaced with a WRT54Gv8 and the regular visits from the Comcast repair trucks have ceased. They'll just have to sleep on someone else's couch.

Re-hacking My iPhone

On our recent trip back to the US, I signed up for an AT&T prepaid phone number (aka Go Phone) so I could have a local cell number when in the states. BTW, these pre-paid plans are amazing, no monthly fees and reasonable per minute rates. Why more people don't use them? I'm not sure of the data rates though, and I wanted to be able to turn off data roaming on my iPhone so I didn't use up all my prepaid funds when simply browsing Google Maps or downloading email in the background. Originally the iPhone was slammed because of this. Folks were getting huge data roaming bills when traveling outside the US. Ironic that I'm upgrading my iPhone because I'm traveling back to the US.

I've been using my iPhone at it's original 1.0.2 firmware level since I hacked it a few months ago. It turns out that 1.0.2 doesn't allow you to turn off data roaming. So I decided it was time to upgrade to 1.1.1 or 1.1.2. I went back to my notes and decided to use iNdependence again. This is a totally sweet program for the Mac. I highly recommend it. The help menu has been greatly expanded as well. (I used Independence 1.3.1.)

Reading through the help documentation I noticed that iPhones upgraded with early versions of AnySIM would be bricked if upgraded to 1.1.1. I couldn't quite remember what version of AnySIM I had used so I proceeded to brick my phone. Lovely. Turns out you need to re-virginize your phone. The directions on the Independence site didn't seem to work and didn't have any hints as to what to do if things went wrong. It turns out you need to make sure you have the right version of the modem software (03.14.08_G) and the matching secpack. Check out these two blog entries for details: revirginize and secpack.

Ultimately I found the instructions at Unlock.no to be the easiest to follow and much simpler than using the special downgrade/upgrade instructions in the Independence help file. Although iNdpendence is still very useful when diagnosing a phone or kicking it out of recovery mode.

Another very useful document is the iPhone hackers flowchart from Hack that Phone. I couldn't get the software from Hack that Phone to work thought the installer.app though. Maybe his server was having problems when I was trying to use it. In particular the add source step on this page didn't work for me. The URL http://hackthatphone.com/1.xml didn't exist when I was trying to add the source. It seems to be working now though.

One last plug for the AT&T Go Phone. You get free mobile to mobile minutes and you only get charged $1 per day on the days you use the phone. Those months in Asia won't cost me a cent. If you're in the Bay Area, check out the AT&T store in Belmont. Ask for Jorge, he's a rare gem of a mobile phone store employee. Most people working at these stores have extremely limited knowledge of their products. (I've found that I'm generally more knowledgeable than they are after perusing the company web site for 10 minutes.) Jorge is the exception.

Tuesday, January 8, 2008

Look Ma, I'm on TV

My friend Bill Bland is one of my favorite hackers. He invited me to give a talk at Justin TV, where he's very busy building cool software. Here's my take on what's important when doing a startup.

I've grouped the talk into three main areas:

  • The Raise
  • The Build
  • The Exit
Please don't count the number of times I say "um". I do like the moment at minute 36 where some folks from the Truveo team show up. Thanks for coming down!


Watch live video from hackertv on Justin.tv