Oct 13

I just got back to Phoenix having spent the past week down in Cabo Mexico and though I generally try to limit posts here to condensed, useful technology-related info, I gotta write about the adventures of the week and some life-changing realizations. It was an epic vacation on so many levels (my apologies to any fullasagoog.com readers- i’ve tried to get them to just syndicate my CF-specific posts). The things I learned this week:

  1. I’ve decided I’m going to sell all my stuff and travel the world working remotely.
  2. I really miss being immersed in a spanish-speaking culture
  3. Phoenix is getting HUGE
  4. Sammy Hagar has it all figured out and might be one of the coolest people alive.
  5. Sudoku puzzles are da bomb

Realization #1 has been brewing for awhile but was crystalized this weekend. Whether it was the collective vibe of the people in Cabo or the realization from talking to a realtor that I could cash out of my house and bank a crapload of money, I realize now that the moons are finally in alignment for this once-in-a-lifetime opportunity to happen and I will kick myself if I fail to do it.
Realization #2 came within a day of being down there. I was raised by bi-lingual parents that met each other in the Peace Corps in Venezuela so I’ve spoken Spanish all my life as naturally as English. I don’t know what it is about chatting with natives, but it’s so great to see the expressions when you are able to step into a conversation with locals and fluidly exchange ideas in their native tongue. I really miss this experience.
Realization #3
came while flying back into PHX and seeing how much concrete there really is in this town compared to a place like Cabo. I’ve lived in Phoenix all my life and have apparently just become habituated to how monsterous this place has gotten- I can remember when you could see the perimeter of the Valley when flying in and now coming into Sky Harbor, I realize the city extends in all directions to the horizon beyond what the eye can see. Kathy Sierra talks about how we must continually strive to put ourselves in situations that purposefully blow our minds in order to stay sharp, creative and passionate. This weekend made it clear to me that I’ve been living on and off in the same city forever and really haven’t done anything to blow my own mind culturally since living down in Ecuador ten years ago and it’s long overdue to make that to happen again.
Realization #4 came as a surprise because I’ve always thought of Sammy as the weaker of the two Van Halen singers. Not so however- he put on some of the best shows I’ve seen this past week and beyond being a talented musician, he’s a really cool guy. I was unaware until now, but there is this enormous subculture of dedicated Hagar fans that visit Cabo every year at this time of year for his birthday bash at the Cabo Wabo. I had the good fortune of traveling with my friend Jeff who owns VanHalenStore.com and knows all the right people at Cabo Wabo and was able to get us in VIP four nights in a row.Sammy’s band plays every other night down here this week leading up to his birthday on October 14th and lemme tell you I have a new respect for him.- Sammy just might be my newest hero having built what I think could be the coolest bar, created one of the best-tasting tequilas anywhere and living the lifestyle he has created for himself in Cabo raising a family and rockin’ out at his bar whenever he feels like it putting on free shows for his fans. Literally hundreds of people slept in the streets to get tickets each night and then waited hours in line again the next night to get into the show. I met some of the most genuine people that had trekked thousands of miles to see Sammy play (one guy with a foot-long goatee had ridden his motorcycle all the way from Texas). I plan to try and make this trip a yearly tradition from now on.
Realization #5
I got hooked on Sudoku puzzles down there printing them out each day and taking one to the beach. WARNING: these things are _highly_ addictive. They’re not number puzzles at all really, they could just as easily be shapes, colors or characters. It’s more logic than anything. I scanned the one I did on Lover’s beach along w/ the contents of my pockets from the plane ride home today:

We pulled 750 lbs of Blue Marlin out of the Pacific yesterday. It was myself and my friend David and these five girls we met on the beach and the captain of the Edith II said in his thirty years of fishing he’s seen people come down five years in a row and fish all week and never even get one- we hooked TWO within 30secs of each other and one of them was 450lbs!! "Nunca he visto tan suerte!" he said. It took us about 40minutes to real them in and we ended up setting the big one free, unfortunately the smaller one we were unable to release because it had been hooked badly and died of stress. Other cool stuff we did- water taxi to Lover’s Beach at Land’s End, jamming on these Mariachi’s guitars at a little hidden tiki bar we found with some other americans we met, days spent on the beach at an outdoor bar called "The Office," dinner at this insanely-beautiful restaurant called "Da Giorgio" up on a cliff and hours of salsa dancing in various clubs. It was the ideal vacation in every respect.

This summer was an emotional roller coaster for me. I came out of a year-and-a-half-long serious relationship with Kristy and then immediately met another incredible girl named Tracy and had a brief but intensely-cool time with her. Aside from being supermodel-gorgeous, this girl was classy, funny and just an all around cool person to be around. Apparently I didn’t have quite the same impact on her and got scrambled in an unfortunate string of events that left me all mentally-twisted up. This Cabo trip was precisely what I needed to straighten my head out and re-prioritize things. I’ll be busting ass the next few months to get my house ready to sell and get the Grid7 infrastructure in place to support the remote collaboration of different developers on the projects I plan to seed the co-op with.

So back on realization #1 though… this is just a stream-of-consciousness ramble here but in thinking about what will be involved in plotting this international "working roadtrip," I’ve decided the goals are simple:

  1. Re-establish communication with old friends and international acquaintances and meet up with as many people as possible
  2. Travel for first within the US and then around the globe in one direction with no set plans beyond more than a few weeks
  3. Document the entire journey online and make it easy for my friends to get in touch and check where I’m at
  4. Never let the camera lense or the journaling obscure the experience itself – when in doubt, opt for soaking in the moment instead
  5. Establish Grid7 and manage development projects from the road
  6. Do the whole trip on one pair of flip-flops and come back in a year or whenever the money runs out

Things that come to mind that will need to be resolved-

  1. "Roving" offsite backups – I will definitely need to have a way to deal with the worst case scenario of my laptop being either stolen or broken on the road. In talking it over with my friend Benny we came up with the concept of running mobile offsite backups by doing an incremental to 2 firewire drives and rotating FedEx’ing one of them ahead to the next destination so at any given point there’s always an "offsite" backup traveling with you not too far away and it’s relatively easy to get back in business in the event of a theft or other data catastrophe. Code will already be stored remotely on the server in source control so it’s really more for ensuring that I can get a pristine development environment back in place quickly. Unfortunately I think services like LiveVault would be too slow and bandwidth-intensive to be useful.
  2. Making myself traceable – you want to hope for the best but plan for the worst. In the event that I were to turn up missing in some obscure foreign town, I would want to have an Onstar (or a "SeanStar" as the case may be). The method I’ve come up with is to use the Absolute.com laptop tracking software which dials in daily and give my family instructions on how they can find the last IP address it called in from in the event that something happens. I recently wrote an article for Law Office Computing on this software and it works really well. At least that would provide a physical address from which to commence a search in the event that something bad were to happen.
  3. Locating hotspots – I just got my Canary Wireless Hotspot Detector in the mail and sadly, it just does not work as reported in all the great reviews. Hotspots are so prevalent now that it probably won’t be that big of an issue to find one but I like the idea of being able to stroll down the street and casually scan for one. Internet Cafes are very prevalent in most European and Asian and South American towns and I had no trouble getting a good connection down in Mexico. The one I used each day was a freebie to get people to eat at this restaurant and it definitely kept me coming back. There are other methods like WifiMaps and Wigle so I’m not that worried. Benny says his PSP makes a great wifi detector so that’s an option (not to mention it would be a write-off too at that point).
  4. Phone connectivity – my Treo has the removable SIM card so I’m assuming I can swap out with one that works on the European cell network. I have no idea on the other locations but for areas where phone connectivity is non-existent I’ll probably use the Skype-forwarding method as it seemed to work pretty well this past week.
  5. Health Insurance- I already buy my own that covers major medical but I don’t know whether it works abroad. Will need to figure something out.
  6. Plotting location by date and overlaying locations of friends- I will probably need to develop a little web app that makes an easy way to plan all the waypoints. Yahoo just bought Upcoming.org and it seems these type of calendar/geographic mash-up apps are all the rage right now so maybe the tool I develop will even have some value beyond being helpful to me. Oddly enough I just checked on getting the domain WhereIsSean.com and unbelievably some other Sean is already doing exactly the same thing!! He’s even in Ecuador right now…how random is that?

Anyways, what a week it was. I wanna end this rambling post with a cool moment I had in my mad-dash to the airport in Cabo. I missed the first shuttle (which is about an hour from town), the next one was going to put me there within 10min of when my flight left but the attitude of the shuttle ticket-taker was "ehh, tranquilo amigo- you’ll make it and if you don’t, no worries." So I forced myself to let go and be cool with the idea of missing my plane. On the way to the airport I chatted a bit with the shuttle driver and told him of my time crunch – indeed we arrived at the airport 15min before my plane was leaving (and I managed to just make it). But in exiting the taxi, the driver looked at me with a big grin and said "muy buen tiempo, si?" Now I don’t know whether he chose this ambiguous phrase purposefully or not but in Spanish this can be interpreted in three ways: a) "we made good time just now, didn’t we?" b)"did you have a good time this trip?" c)"nice weather we’re having today, eh?" I just smiled back high-fived him and said, "Si."

If you live in an interesting city somewhere and would be interested in putting up a world-traveler for a few days in the coming months, hit me back on email- legaltech at gmail.com or post a comment here.

sean

© 2005 Lights Out Production – All Rights Reserved Worldwide

Oct 07

So on my never-ending quest for total mobility and agility as an independent consultant, I’ve figured out how to cut the phone tether for working down in Mexico. Thanks to Skype’s phone bridge service, I’m in Cabo San Lucas right now conducting business as usual, taking phone calls and checking voicemail over a wifi connection on my laptop. The connection here is surprisingly quick and reliable (75kb/sec). Basically, I had some frequent flyer miles saved up and an offer from a buddy to stay at his hotel for $20/night. My laptop has a fully self-contained development environment via Virtual PC and I’ve got all the materials I need to build the extranet for AZ Behavioral Health and all the physical meetings archived as voicememos on my iPod. For a total cost of $50 a day to be able to work from a palapa, I figured I’d be an idiot not to go.

The phone setup is pretty sweet- Skype is voice chat service recently acquired by ebay and it let’s you talk to other people free over the internet. They have a service you can pay for that bridges their system to the public switched telephone network and let’s you handle inbound and outbound phonecalls. I purchased 600min of the skypein/skypeout service for $13 and I now have my Cingular Treo 650 forwarding all my calls to my skype number (a very simple thing to change yourself if you happen to have cingular). If I’m online, the phone rings through skype, I answer it and (other than a minor latency which you’d probably experience anyways on an international call) the caller has no idea I’m talking via my laptop. The call quality is excellent and what’s nice is voicemails show up as timestamped events in skype and you listen to them and can even save them as mp3’s. I did hear a rumor that it’s illegal in Mexico to circumvent their telecommunications system for voice traffic – I have no idea if there’s any truth to that and I’m sure as heck not going to ask a Federale. I could see this phone forwarding technique affording one the ability to backpack around Europe and work just as effectively from the road. Hrmm….

© 2005 Lights Out Production – All Rights Reserved Worldwide

Oct 03

For anyone who uses a software lifecycle process like FLiP to make clickable prototypes and hash out web applications with their clients, I ran into an interesting and frustrating problem today that you might be interested in. I have been using FLiP and specifically Adalon to generate a wireframe and ultimately a clickable prototype of a monsterous extranet application I’m building for Arizona Behavioral Health Corporation. FLiP involves more work up front but it’s really paying dividends in terms of helping us to unearth requirements that we missed in the brainstorm and wireframe phases. I made a mock application that consisted of static HTML pages that will look exactly how the screens appear in the app itself, only all the form controls are dummy controls simply linked to other static pages and don’t actually send any dyamic data. I did this by just href’ing the buttons to the target result pages and it worked great in both IE and Firefox when browsing the files on my laptop’s filesystem (not on a webserver), however when I posted the mock to my production server to demo to the client, I failed to retest the prototype in both IE and FF and only checked FF. Since it had already worked in both on my laptop it seemed like a fair assumption that just checking in one was adequate on the webserver. Apparently IIS 6.0 has this great ummmm error checking feature (ahem, annoyance) that disallows sending form data to staic pages and instead throws the following error:

HTTP Error 405 – The HTTP verb used to access this page is not allowed

The confusing thing is that it only throws this error for IE. I would think an error generated on the server-side would display regardless of the browser and I have no idea why Firefox works fine and IE doesn’t. If it were a real live application I would welcome this type of error since obviously it does no good to send form data to a static page. But for the purposes of my prototype this caused major pain today. It would be nice if there were a setting I could choose in IIS to the effect of “thanks for your concern IIS, but really, just serve my pages and don’t tell me how to write them” but alas, IIS insists on enforcing this error checking. I do know that this is the workaround that finally solved the problem: I had to manually go through each page that had a form on it and do two things:

  1. Change all method=”post” tags to method=”get”
  2. Specify the desired linked page under the form action tag as action=”blahBlahResults.htm”

Unfortunately I had arrived today at ABC to meet with the entire staff and get feedback on the prototype. After I went through it in FF with the CEO, he sent out a staff email and told everyone to check it out. Of course everyone else was on IE and the phone started ringing off the hook with people who couldn’t get in and it took me an hour battling this issue along with learning how to rollback revisions in the Subversion repository using the “reverse merge” technique. Once I wiped the egg off my face though, we made some great progress today and got a lot of good feedback from the actual people that will be using the app. I definitely see the advantage now of using a software lifecycle process like FLiP to uncover features and usability issues before ever writing a line of application code or modeling a database.

© 2005 Lights Out Production – All Rights Reserved Worldwide

Tagged with:
Sep 27

Here’s a quick way to enumerate all the sites hosted from a specific IP address. You are probably aware of the reverse phone lookup which allows you to look up the address associated with a phone number (scary I know, try it on your home line). Well the same type of reverse lookup exists for domain names and IP addresses and it’s called Reverse IP Lookup. It’s generally run from the command line but there are sites that offer a web interface to run the same query.. Using a free service like this one recently mentioned on AZIPA you can feed in a domain name and find the IP and other sites hosted from that same IP. As a complete tangent- before the web-based reverse phone lookup service existed, we would use Pizza Hut of all sources to get an address from a phone number. Believe it or not when you gave them your number in ordering a pizza they would read back your address to verify it! I have no idea if they still do this, but I digress…

A cool trick you can use along with this to simplify a common search such as a whois lookup if you happen to be using the Firefox web browser: add it as a quicksearch. NOTE: the search must work by putting the search terms in the querystring in order for this to work. There are a handful of search services I use regularly and I generally add them to the quicksearches bookmarks folder in Firefox. This saves you the step of actually going to the site to execute the search. These are the steps:

  1. Run a search query
  2. Bookmark the results page (you should see the search terms in the URL)
  3. In Firefox under Bookmarks -> Manage Bookmarks – Drag your bookmarked page to the QuickSearches folder
  4. Right-click on it and do Properties
  5. This is the magic : in the Location field, replace the querystring with the search terms with “%s” and choose a keyword that you can use to trigger this search
  6. Close the bookmark manager and try running your search. I chose the keyword “whois” for this one so in the FF address bar I type “whois 140.99.14.114” and I get back a listing of all my domains. Pretty sweet.

Here’s a screenshot of my quicksearches to show you what it looks like:

© 2005 Lights Out Production – All Rights Reserved Worldwide

Sep 14

I guess I just took this tactic for granted: you lose your car in the parking garage but you know you’re within 50yards horizontally or vertically where you parked- hit your panic button on your remote and follow the alarm sound. I thought everyone used this method when they lose their car but yesterday a frantic lady approached me in a parking garage. She was beside herself because she had lost her car, didn’t know what to do and wanted me to help her track it down. I took her remote, hit the button and pointed upwards. Sure enough she was off by one level and she thanked me profusely awestruck by such a simple, readily-available method to locate her car. It’s even more effective at night in big parking lots because the flashing lights allow you to immediately spot it.

As a little bonus tidbit- you can extend your range on your remote by holding it to your chin. The human body is about 70% water and becomes an enormous antenna for the radio signal when you do this. Try it next time when you’re approaching your car, find the range at which you’re just beyond where your remote will work and then try again holding it to your chin. I guarantee you get better range using the chin method. And, no, I’m not sure why it works with your chin and not by virtue of the fact you’re holding it with your hand… that’s a Mr. Wizard question right there.

© 2005 Lights Out Production – All Rights Reserved Worldwide

Aug 31

I’ve looked through a lot of flash detection scripts and have found none that allow you to do inline flash detection (ie. test the browser and display either a piece of flash or a substitute graphic on the same page without redirecting the user). Flash 8 will supposedly come bundled with scripts to do this but in the meantime I found some javascript code that did the trick. I’ve finally got around to cleaning it up and wrapping the whole thing in a simple custom tag I call FlashIfYouCan. If you want to see it in action you can check my company homepage here (note that it only plays on the first visit and you’ll have to use the replay button after that). Unfortunately I don’t remember where I got the original javascript from or who the author was (it looks like it might have been generated from Dreamweaver because it uses the “MM_” prefix). There were no copyright notices so hopefully it’s cool to pass it along. Big thanks to whoever it was the created the original source. This is the syntax for calling the custom tag:

<cfmodule template=“FlashIfYouCan.cfm”
pathToNonFlashFile=“/images/headerHome_nonFlash.jpg”
pathToFlashFile=“/images/fishheader.swf”
AltTag=“When searching for a technology consultant, you’ll find there are a ton of fish in the sea.”
width=“785”
height=“183”
bgcolor=“##AFAFAF”
usemap=“##imagemap”
flashVersion=“7”>

It lets you specify the minimum version of Flash you require and will allow you to have an imagemap on the static graphic to emulate the flash controls. The only problem I can see with using this method w/ js is that in the unlikely event that the viewer has flash but has disabled javascript, this tag will display a placeholder graphic instead of the swf which the user COULD play. The likeliehood of this scenario seems pretty rare to me though and the value of not having to do the wacky redirect technique outweighs the downside of having a few people that will falsely fail the flash detection.

On another note, the Arizona CFUG had Greg Rewis from Macromedia at Monday’s meeting talking about Studio 8. We had about 75 people attend in person and another 50 via breeze. The archived meeting is here if you missed it- it was a three hour tour of the features in the new Studio. Flash 8 looks promising, they really improved the video codec and the enhancements for doing encoding from within Flash are nice. Honestly, I don’t get very excited about the alphachannels, live dropshadows via actionscript, and designer-centric enhancements. The most powerful addition to me seems like the CSS support in Dreamweaver. Supposedly MACR had a dedicated team working just to ensure that CSS renders correctly in all browsers and in Dreamweaver and the demo proved that they nailed it. I just hope that team got a fat Maui vacation at the end of that process because that sounds like gruelling work. Apparently MACR is en fuego sales-wise w/ Studio 8- they beat their stated goal within 4 days of accepting preorders. Way to go out w/ bang guys!

© 2005 Lights Out Production – All Rights Reserved Worldwide

Tagged with:
preload preload preload