Sharing 3G Internet Via Mesh Networking

As you probably know, my family and I are in Mexico for a few weeks. Because we’re here for close to a month, I’m working full-time for part of our trip while my wife and kids enjoy the goodness that is the all-inclusive Sandos Playacar (we’ll be moving in a villa for the last 2 weeks on the 24th). This lead me to acquire a TelCel Amigo 3G USB stick (comes with 3GB of monthly bandwidth).

Since this is the only constant internet connection we’ll have throughout our stay, I wanted to be able to share the connection so that I can also connect via wifi for our iPhones (unlocked, also set with simple pay-as-you-go local SIMs, but no data) and my son’s netbook.

If you happen to be on OSX, doing so is absolutely dead-easy.

  1. Connect to the internet via your 3G connection
  2. Make sure Airport (wifi) is on
  3. Go to Systems Preferences → Sharing
  4. Select Internet Sharing
  5. Select your USB stick’s hardware from the list of ports in the “Share your connection from” section (see screenshot below)
  6. Check the “Airport” checkbox
  7. Set a network name and WEP password using the “Airport Options…” button

Tada! You should be all set and now be able to see your mac-as-an-access-point from any wifi-compatible devices. Enjoy! :)

Update: Had forgotten to attach the screenshot I mentioned. See below.

Laptop/Tablet Hybrid Design Patent from Apple

I have to admit that when I first saw the new Dell Inspiron Duo (pictured below, US$549.99), my first thought was “this should have been an Apple first”…

Others have had their own forays into the hybrid market, but to be honest, the thought of running Windows and the usual flimsy construction or poor implementation has so far kept me away from making the move, despite loving the concept. And Linux distros like Ubunto for Netbook haven’t done a much better job at wooing me either (though we run it on the household/kids’ netbook).

But now, Apple has patented a new design which might indicate their entry in the market, hopefully in the near future. I can’t wait, if so.

To be noted: I’m not sure how comfortable those side rails would be though….

Retiring my 1st-Gen iPhone


I’m about to retire my original iPhone. My now friend, Matt, had bought it for me back in October 2007, when Alex, Doug and I won an improvised WordPress/iPhone competition. So many things have happened since then, such as my now working with Automattic, this device is actually emotions laden.

The 1st-gen iPhone was never available in Canada, so I’ve had to stay on top of all things jailbreak/unlock so we could even use it. So far, it’s gone through myself until around April 2009, then my wife until about August 2010 when she got her iPhone 4, and finally my oldest son until a few days ago when I received my iPhone 4 and gave him my 3GS.

It’s in perfect working order, but is now unfortunately stuck in the past as it does not support iOS 4 and later.

Our 9 year-old has an iPod Touch and is too young for a phone with voice/text/data. Our 4 year old is just plain too young for it. So it’ll go to sleep for a while, until our youngests are ready for it. If nothing else, it makes for a great iPod, when jailbroken (so it doesn’t require a functional SIM card).

Until then, sleep tight good friend. We shall see each other soon, when you make your inescapable come back, star that you are. :)

IM/IRC/Skype Statuses Applescript Helper

Largely inspired by Beau’s equivalent setup, I rolled out a small Applescript to set my miscellaneous IM/IRC/Skype statues as away or available in one click.

set myStatus to display dialog "Select your IM Status:" buttons {"Away", "Available"} default button 1

-- Adium: Multiple IM and single IRC account statuses
if appIsRunning("Adium") then
	tell application "Adium"
		if the button returned of myStatus is "Away" then
			send the first chat of the first chat window message "/nick stephdau|away"
			go away
		else
			send the first chat of the first chat window message "/nick stephdau"
			go available
		end if
	end tell
end if

-- Skype status
if appIsRunning("Skype") then
	tell application "Skype"
		if the button returned of myStatus is "Away" then
			send command "SET USERSTATUS AWAY" script name "My Script"
		else
			send command "SET USERSTATUS ONLINE" script name "My Script"
		end if
	end tell
end if

-- iTunes
if appIsRunning("iTunes") then
	tell application "iTunes"
		if the button returned of myStatus is "Away" then
			pause
		else
			play
		end if
	end tell
end if

-- Helper
on appIsRunning(appName)
	tell application "System Events" to (name of processes) contains appName
end appIsRunning

Note on Adium handling: because of my account order and the fact that I connect to IRC via ZNC, the first chat of the first chat window is always an IRC room in my context.

I haven’t yet, but I could adapt this script to also take parameters to get the button status equivalent, then couple it with SleepWatcher or ScriptSaver to have the script triggered on sleep/wake on my MacBook Pro or when the screensaver activates/deactivates on my iMac.