All posts by todd

Permalinks with WordPress and lighttpd

It’s really simple to get great permalinks with WordPress and lighttpd.

The default permalink format leaves you with URLs like This isn’t great for SEO (showing up as high as possible in Google’s search rankings).

Instead, you want your URL to contain something about the content of your post. We’ll use the title.

Google also favors information closer to the domain name, so is better than

In WordPress, go to Options -> Permalinks and select “Custom.” Enter this.


In your /etc/lighttpd/lighttpd.conf, here’s the section for your blog host. The url.rewrite and server.error-handler-404 sections are the important ones.

$HTTP["host"] =~ "myblog\.com$" {
$HTTP["host"] !~ "^www\.myblog\.com$" {
url.redirect = ("^/(.*)$" => "$1")
url.rewrite = ("\.html$" => "/index.php")
server.document-root = "/web/myblog/public_html/"
server.error-handler-404 = "/index.php?error=404"

This way, your permalinks end in “.html” so they’re right off your domain and they look like static content. Then your lighttpd.conf takes anything ending in “.html” and routes it to WordPress.

And now this blog is rolling…

Lighttpd 1.5 and PHP (Uber-Uploader too)

Lighttpd is awesome, but 1.4.18 broke the upload progress bar on my file-sending site. After extensive research, I figured out that moving to the unreleased 1.5 version was the solution.

There’s no centralized documentation for getting PHP working with 1.5, so read below to find out how to do it. I’ll also include my experience with Uber-Uploader.

Apache played nicely with UU, but it chokes (hits MaxClients and stops responding) on huge file downloads sent by PHP. Lighttpd solves my problem in two places — it doesn’t choke and it comes with a very smart way to send downloads from scripts.

Unfortunately, since it uses fcgi, it breaks Uber-Uploader. UU’s perl upload script accepts the file in chunks and writes to a status file, which is read by an AJAX-y progress bar. Lighttpd waits for the entire file before passing any to UU.

I figured I’d proxy to Apache for the perl script, then when that didn’t work I tried running everything through Apache and proxying the downloads to lighttpd. Don’t bother. Very frustrating.

So, setting up 1.5 with PHP…

The example lighttpd.conf file included with the source uses a deprecated key that will give you an error on startup.

Here’s how the fastcgi section of your /etc/lighttpd/lighttpd.conf should look.

#### fastcgi module
## read fastcgi.txt for more info
## for PHP don't forget to set cgi.fix_pathinfo = 1 in the php.ini
$PHYSICAL["existing-path"] =~ "\.php$" {
proxy-core.balancer = "round-robin"
proxy-core.allow-x-sendfile = "enable"
# proxy-core.check-local = "enable"
proxy-core.protocol = "fastcgi"
proxy-core.backends = ( "unix:/tmp/php-fastcgi.sock" )
proxy-core.max-pool-size = 16
# proxy-core.rewrite-request = (
# "_pathinfo" => ( "\.php(/.*)" => "$1" )
# )

The “check-local” line gives me an error when uncommented. The rewrite-request line is presumably to ensure that GET requests work, but everything works for me with these lines commented.

And like they say in the comment there, don’t forget to add the cgi.fix_pathinfo key to your php.ini.

Here’s the big one. No one tells you to set up fcgi-spawn. You have to run this command before you start lighttpd.

# /usr/bin/spawn-fcgi -s /tmp/php-fastcgi.sock -f /usr/bin/php-cgi -u lighttpd -g lighttpd -C 5 -P /var/run/

You can do it manually to try it out, or modify your /etc/init.d/lighttpd like this.

start() {
echo -n $"Starting $prog: "
daemon $lighttpd -f $LIGHTTPD_CONF_PATH
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog
/usr/bin/spawn-fcgi -s /tmp/php-fastcgi.sock -f /usr/bin/php-cgi -u lighttpd -g lighttpd -C 5 -P /var/run/
return $RETVAL
stop() {
echo -n $"Stopping $prog: "
killproc $lighttpd
killproc php-cgi
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog
[ -f /tmp/php-fastcgi.sock ] && /bin/rm -f /tmp/php-fastcgi.sock || :
[ -f /var/run/ ] && /bin/rm -f /var/run/ || :
return $RETVAL

Maybe because I’m running CentOS, spawn-fcgi is in /usr/local/bin/spawn-fcgi. If you’re getting an error, try typing “which spawn-fcgi” to see where it is on your server. Check for Ubuntu, Red Hat, Debian, Gentoo, etc.

To get Uber-Uploader working again, just add this to your /etc/lighttpd/lighttpd.conf. = "writev"

As for the super-smart way to send downloads…

Running a file-hosting site, you can’t just use direct links. Then any popular file could bankrupt you. However tight or loose, you need control over the downloads.

I had a PHP script that would load the file and send it to a user authorized to download. It was presumably memory-efficient, sending the file in chunks, but in reality it killed Apache. That’s because each prefork process can serve a huge PHP request and get bloated, then serve a tiny image while another process serves a monster PHP request and gets bloated. Rinse and repeat.

Instead, you can have PHP send a header with the local filename and user-facing filename that will be intercepted by lighttpd. Then, as long as it can access the file, it’ll send it. As they put it, why use PHP to send static files when that’s lighttpd’s specialty? It’s called X-Sendfile.

Hope you find this useful. I struggled for a few hours to find all this info, but it’s worth it.

Lighttpd slaughters Apache for my purposes, and probably for yours.

Uber-Uploader forum thread on lighttpd
Lighttpd download headers: X-Sendfile

How to get there when you can’t read the map

I take location for granted. MapQuest predates my driver’s license, so getting from point A to point B has NEVER involved getting out a map. These days, I don’t even think about directions until I’m already in the car, where I fire up Google Maps on my phone.

Panama slowed me down a bit. Though you can find whole streets easily, plugging in an address doesn’t yield any kind of useful result. And with addresses like ours — “España Way, next to Hotel Via España” — what more could you expect?

Now we’re in Japan. Why didn’t I anticipate this?!

Google Maps - Japanese

Though in retrospect it seems pretty silly to think we’d get English over here, every mapping tool I’d ever come across used the Latin alphabet, so I just assumed…

It turns out there’s NO decent Japanese map labeled in English. Even if we’re able to pull a restaurant up on Google Maps, we can’t read the street names or tell which subway stations are nearby.

But we CAN get latitude and longitude coordinates.

Google Maps - lat-long

We bought our GPS watches with this very situation in mind. We’ve used them tracking down restaurants, going to grocery stores, and finding our way home.

Today we’re just the exception, but GPS is fast becoming the rule. Remember back when a camera phone was a big deal?

We’re about to see a consumer GPS explosion as everyone scrambles to include it. In fact, we’re already well on the way.

Thanks to the FCC, every single Verizon and Sprint phone sold since 2005 has it, and as AT&T and T-Mobile modernize their networks they’ll have to include it too. Nokia says they’ll offer “tens” of GPS-enabled handsets by the end of 2008, and they’re domainating the scene with a 40% global market share.

Not only is the system is so simple Tynan can master it, but it’s ideally suited for international use.

All you need are two data points, and they just happen to be in Arabic numerals, the most universally-recognized format on earth. That’s why so many Asian sites use numeric domains.

Numeric domains

What does this mean for you? Expect to see GPS coordinates making their way into everyday navigation tools.

Destinations will provide latitude and longitude in addition to street addresses. Fitness sites will include downloadable waypoints for running and biking routes. Friends meeting up will be able to share their exact locations.

It won’t be long before you see Lonely Planet supplementing their listing for Brown Rice Cafe with 35.665863, 139.710058.

Online mapping took over because it’s SIMPLER. Now we’re going a step further. Google Maps shows you which streets to take, but GPS eliminates your dependency on street signs.

Soon, using only the phone in your pocket, you’ll be able to navigate to any location on the planet with only two numbers. That’s pretty powerful.

If you’re in Tokyo, come visit us at 35.656, 139.699. 🙂

Carnaval in Las Tablas

Jorge, who we’re pretty sure is all but deaf, handed Ty a piece of paper. We’ve been eating at Mireya’s every day for a month now, and since he’s there just as often, we end up exchanging a lot of gestures and platitudes.

Nothing’s ever been important enough to write down, so we read it eagerly.

Jorge’s note

Back home we have Mardi Gras. The rest of the Americas have Carnaval. Since fun is strictly prohibited during Lent, quick-thinking folk all over the planet have arrived at the same solution… have an all-you-can-eat sin buffet in the 5 days preceding!

We read that Panama City’s celebration was one of the best in the world, right behind Rio de Janeiro and Gualeguaychú. No one mentioned Las Tablas.

But if it’s worth Jorge’s effort to let us in on it, we thought, it’s probably worth ours too. “Let’s rent a car and head down there.”   “Yep.”   Done.

Alex Shalman came in for the weekend too, and he was just as excited to see Panama outside the city limits.

I reserved the last car I’ll ever rent with an under-25 surcharge, but I must have been looking good when I went to pick it up. They surprised me with an upgrade to this stately chariot!

Panama rental car

Actually, I was pretty stoked about it. This looks like the average Panamanian car, not the average gringo rental.

After a month without driving, it only took a few seconds behind the wheel to realize why people equate driving to freedom. It’s power! The only thing keeping you from anywhere you want to be is gas money. Good to have the feeling back.

So we plotted our course and drove in circles for a minute, then found our way to the Bridge of the Americas and Highway 1. Aside from the odd watermelon stand or beach/condo development, the area around the highway is pretty raw.

Bridge of the Americas

The road is pretty good, and you can get away with 120 Km/h (75 mph) pretty easily. When you come into populated areas, police like to sit under the walking bridges that cross the highway. With a good radar detector you could go as quickly as you wanted.

About an hour from Las Tablas, we stopped for lunch in Chitre’s town square.

Everyone that passed by our table was completely soaked, less than sober, and carrying a water gun or cooler (or both). A guy who recognized us from karaoke in Panama City also stopped by to say hi!

Hmm… they were all coming from the direction we’d head to continue to Las Tablas.

We hopped in the car and worked our way upstream to get the first taste of crazy. One of the smallest streets in the town was jam-packed with H2O-armed revelers singing, dancing, and harrassing every car that edged its way through the crowd. We got lots of smiles, laughs, and chanting.

With plenty of time before the parades started, we took a little detour to hit our first beach in Panama. Playa Rompio was definitely not a tourist destination… huge, almost empty, and absolutely beautiful.

Playa Rompio

Of course we had to get a little Crossfit in, so we ran on the beach as the sun set.

We arrived in Las Tablas to two groups dancing around the town square with flags and drummers.

Las Tablas’ Carnaval setup is pretty genius. The town has two main streets that compete with each other on every level — festival queens, parades, floats, and fireworks displays. Beef works wonders for rappers — promoting this competition is just as smart.

A few from each group would take turns bearing the flag and leading the procession while the others followed, so naturally Alex suggested Ty take the flag and direct the party. After a little debate as to whether a non-Panamanian could lead, he was in!

Then all of a sudden, all of Panama’s national police force drew their guns and started shooting into the sky! Nah, not really.. but it sounded just like it!

They put 20+ foot strands of thousands of Black Cat-type firecrackers into the street and let ‘er rip. The sound of explosion would be constant for a minute or two! We made the mistake of being downwind once and ended up covered in a fine black dust.

This was closely followed by an aerial assault. Panama must spend an amount somewhere close to its entire GDP on fireworks. In the city, tons of fireworks. In a small town, tons more fireworks! These displays bested what you’d see in an American city for 4th of July, in both quality and quantity.

I felt a hand on my shoulder as I walked back after filming some of the action.

“Hey man, I know you!”


“I’ve seen the video of you in the airport doing Crossfit, and I’ve seen your website!”

We’re 3.5 hours away from Panama City, in the middle of a thousands-strong crowd, one month into the first stop of our world tour, and we just got picked out by someone who saw LIFE NOMADIC! What a small world!

Las Tablas friends

We couldn’t have chosen cooler people than Oyden and his friend Oriel. Though their families are from Las Tablas, they live in Panama City and they do Crossfit too. We’re going to get together with them for a workout sometime.

The parade started and we were fortunate to get a bird’s-eye view from the DJ area. The floats were pulled by tractors, but decorated as lavishly as anything you’d see in the US — elaborate sculpture, rich fabrics and gold, young women and girls dancing to the music (the waving dance thing is pretty weird, but anyway).

People followed the floats, especially the ones with bands, dancing and singing. Very cool that you can get up close and participate, vs back home where the police state Homeland Security squad would be ready to pounce if you got within 15 feet.

It seemed like EVERYONE was having a blast all the way until 2:30am — parents, kids, grandparents, everyone! We watched the parade for an hour or two then started making our way back to Panama City.

Jorge was right. Las Tablas was the perfect place to celebrate Carnaval.

The Typography of Panama City

Design is pretty advanced in the US. It’s hard to imagine that fifty years ago, brush scripts and cheesy Norman Rockwell-esque illustrations were the rage. Typefaces looped and swooped in an effort to make you feel warm fuzzies about the products they pushed.

But think of the fonts we see today in the logos of the largest companies in the US: Wal-Mart, Exxon Mobil, General Motors, Chevron, and ConocoPhillips. They’re all the same style — clean, professional, and, well… cold.

Photo logos

I never expected a typographic time machine when we hopped on a Diablo Rojo to check out the main bus terminal here in Panama City, but that’s exactly what we got.

Cruising through Calidonia, we couldn’t help but marvel at the hand-painted scripts and western-style faces that decorated shop after shop. Brightly-colored kiosks lined the streets advertising phone and shoe repair in fonts you might expect from a House/Poppl (type designers) lovechild.

So today I wandered down Via Central and up Avenida Peru to capture some of the things we saw.

One quick mention before the photos… yet another example of how awesome the people of Panama are. North of Via Central isn’t a great neighborhood, and when something caught my eye and I ventured that way, I had six people warn me to turn around before I’d gone one block.

Not just bystanders, but people who lived there! I’ve never had so many strangers concerned for my well-being before.

Anyway, hope there are others out there who appreciate typography porn. 🙂 Let’s start with our favorite…


Click to see the larger size.




































Have you found some interesting type or design away from home? I’d love to hear about it.

Stay tuned for the typography of Japan in March!

ps. If you like type, check out the excellent Ace Jet 170.

El Pibe

I have a confession to make. I can’t hide it any longer.

It seems like everyone here in Panama City already knows. On the streets, in the restaurants, at the clubs… no matter where I go, I can’t escape.

Last night, Tynan and I were doing a 5k on the way to get some dinner, and people screamed it from balconies and car windows. We kept running, but today I have to be honest with you and, more importantly, with myself.

Apparently, I am El Pibe.

El Pibe

Carlos “El Pibe” Valderrama is the most celebrated Colombian soccer (football) player of all time. What an incredible compliment!

He’s also recognized for his “enormous dyed blondish-orange bush of hair.” Here’s how we looked on International Superstar Soccer ’98 for N64.

El Pibes - video game

There hasn’t been a day in Panama City I haven’t been called “El Pibe.” I don’t mind it at all. In fact, it’s pretty nice not having people call me Will Ferrell.

Most people try (without success) to blend in when they’re traveling, but looking different is pretty useful. People are interested in the unfamiliar, and more interest equals more opportunity to create relationships.

Plus, if you don’t look like a local you get a little leeway to do things that aren’t normally done. It also gives people a great excuse to reach out to you.

Wonder who I’ll be in Japan!

How to be an International Phone Nomad

So you’ve shed your earthly possessions, found a location-independent way to make a little money, and freed up your schedule to cross some borders.

Now how do you stay in touch?

We’ve come a long way since Martin Cooper fired up the first cellphone in 1973, and if you think an international calling card is going to cut it, you’re still behind the times. Luckily we’ve figured it all out for you.

  •  Get all your calls, all the time
  •  Pay almost nothing — no huge roaming and long distance bills
  •  Get one number that will redirect to you wherever you go
  •  Check your voicemail from any computer connected to the Internet

With the right phone and service, you can be as accessible as you are at home from ANYWHERE IN THE WORLD.

1. Get an international phone

If you live outside North America, chances are you’re already using an international phone. In the US, AT&T and T-Mobile use GSM like the rest of the world while Verizon and Sprint use CDMA, which is superior in many ways but makes your phone a paperweight when you’re globetrotting.

You want a quad-band phone with Wi-Fi and VOIP capability. US GSM phones operate on the 850/1900 MHz frequencies and Europe’s are 900/1800 MHz, so you need all four to be a proper nomad.

With Wi-Fi and VOIP, you can connect to wireless networks and route your calls through the Internet very cheaply. No worries if your phone doesn’t have VOIP, it’ll just cost a little more.

I suggest Nokia’s fantastic E series. Their latest models are perfect for our purposes. They have SIP (the most popular VOIP protocol) clients built-in so you can make and receive Internet calls exactly as you would with your everyday cell service.

Tynan uses the E90, which is more of a compact computer. It has a huge screen and keyboard and everything you could possibly want in a phone. It also looks like Nokia used a leftover design from 2002 inspired by Zach Morris’s Motorola.

E90 evolution

The E61i is my phone of choice. Smaller screen and no GPS, but incredible battery life. And I have a GPS watch, so I’m not exactly doing without. My phone’s lineage also happens to be a little easier to trace.

E61i evolution

If buying a new phone just to travel seems like a hassle I doubt you’ll follow through with the rest, but there are a bunch of companies that rent them. American Express can arrange this for you too.

2. Get local prepaid service

Virtually every carrier offers prepaid service. Just go into a retail location with your superphone in hand and they’ll get you up and running.

Here in Panama it’s around 25 cents a minute to make calls. But RECEIVING CALLS IS FREE!

The US is unique in that minutes are billed to both the originator and recipient of a mobile call, but in most other countries only the originating party pays. Makes more sense, doesn’t it? Why should you have to pay if a telemarketer calls you outside of night & weekend minutes?

We can take advantage of this — let’s minimize our outbound calling.

3. Set up an account with CallWithUs

CallWithUs is an awesome VOIP service. They route data over the Internet instead of through conventional voice networks, so it’s less expensive and allows for more ways to get your calls.

It’s got all the features we need and it’s way less expensive than its competitors. Let’s compare prices in our plane ticket countries.

VOIP rates by provider

CallWithUs wins in EVERY SINGLE COUNTRY I’ve ever looked up.

Their website is pretty Spartan but everything we need is easily accessed. For some reason they don’t allow webmail addresses, so don’t use a Hotmail, Yahoo, or Gmail account. Search for “free email forwarding” if this is a problem.

Sign in to your account and you’ll see a Google Checkout link at the bottom of the screen. Buy $20 of calling credit — this will be enough to buy a number and make calls. It may take a few minutes for your credit to show up.

Now we’ll get an incoming phone number in your home country so people can call you without paying international rates.

(You can have as many DIDs as you want, so if you had customers in Guatemala and wanted to give them a local number, no problem!)

Click DID and Add a DID. Direct Inward Dialing (for our purposes) is just a number connected to the regular phone networks. CallWithUs accesses third-party vendors’ inventories to allow you to select a number.

Select a country, area code, rate center (if this option is given) and phone number. Play around with the area codes and rate centers until you find a number you like that comes with free incoming minutes. You’ll be surprised at how many good numbers are available!

Most DIDs cost $3-6 for setup and monthly fee. This is nothing compared to what you’ll save yourself and those calling you.

  1. To add your local cell number to your account, click DID again.
  2. Select the DID you just purchased.
  3. Select no for VOIP call.
  4. Enter your local phone number including the country code.
  5. Click the button to Add destination to DID.
  6. Click Edit next to the destination you just added.
  7. Change Priority to 2 and confirm.

If your destination is a US number, make sure you included the 1 before the area code.

When someone calls your DID, CallWithUs will check whether your phone is connected to the Internet, and if not it’ll route calls to your local cell number.

Have a local landline too? No problem, just add it as another destination with priority 2 and your cell and landline will ring simultaneously. Just pick up whichever you’d like to use (though landline is often cheaper).

Now let’s set up your phone to receive Internet calls.

4. Configuring your phone for VOIP

SIP is the most popular protocol for Internet calls, and as I mentioned before, the Nokias I recommended come with clients built in to the phone’s firmware.

In your CallWithUs account, click VOIP accounts. Use the username and password as listed on this page for the following settings.

Go to the menu on your Nokia.

Tools » Settings » Connection » SIP settings
Options » Add new » Use default profile

Profile name: CallWithUs
Service profile: IETF
Default access point: Your WiFi access point
Public user name: (username)
Use compression: No
Registration: Always on
Use security: No

Don’t go into Proxy server. Go for Registrar server.

Registrar server address:
Username: (username)
Password: (password)
Transport type: Auto
Port: 5060

Back » Back » Internet tel. settings » Options » New profile

Name: CallWithUs
SIP profiles: CallWithUs

Back » Back » Call and change these settings:

Internet call waiting: Activated
Internet call alert: On
Default call type: Internet

Now when you’re connected to your access point, your calls will be routed through the Internet by default. Obviously you can set the default to “cellular” if you use the cellular network more often.

If you have WLAN scanning on, you’ll notice that whenever you come within range of your WiFi, your phone will automatically connect to your CallWithUs account!

Now getting your calls as economically as possible is TOTALLY AUTOMATIC.

If you’re having trouble or you’re using another VOIP provider, try downloading Fring. It’s a fantastic program for Nokias that has a SIP client and a really simple configuration screen that always seems to work when others don’t.

5. Voicemail

CallWithUs offers voicemail for $1 a month. They activate this manually, so click Contact Us to send them a request. I haven’t activated mine so I don’t know whether messages are accessible online, emailed to you, or any fun stuff like that.

Grandcentral also offers online voicemail free. It comes with some caveats and I don’t recommend it, but it may be suitable for some so I’ll mention it here.

It’s not available outside the US and your calls will be going through their system too, so call quality will be marginally lower. They also have a really annoying “feature” that requires you to press 1 after picking up to accept a call.

You select a DID with them (free) and they direct all calls from this number to any US numbers or Gizmo accounts you register with them. They all ring simultaneously and go to one central voicemail if no one picks up.

You can block numbers and at one point could even play a number disconnected message. Perfect for your ex!

Anyway, I say don’t mess with it. CallWithUs is more configurable and we’d rather keep our calls’ routing as simple as possible.

6. Tips for using your nomad-enabled phone

  • To make a call over a network other than your default (for example, calling your local voicemail when Internet calling is your default), dial the voicemail number then hit the selection button (the middle of the phone’s directional navigation pad). Under Call you can select Voice call.
  • When you’re entering contacts, enter a plus and the country code so you can call them from any network in the world.

    If you want to yell at Bush, entering (202) 456-1414 won’t get you to the White House switchboard unless you’re in the US. Instead use +12024561414. That way you won’t have to modify your numbers when you’re abroad.

    Don’t forget the plus sign, as this is equivalent to 00 and indicates you’re using the country code.

  • If you keep getting the wrong number, make sure you’re dialing the country code. In the US the 1 is required.
  • Call quality has always been great for me, but if you’re having trouble you can dial *32 before the number to use a premium route.

Now there’s one less thing keeping you from your travel dreams. Soon you’ll run out of excuses. 🙂

I’m sure you have some secrets of staying connected. Share them in the comments and let me know if you have any questions!

Tynan also found a service called InternetCalls that offers free calling to many countries, US included. In non-free countries, their rates are comparable to Gizmo and Skype.

There are a few limitations but nothing we’d ever hit. For most countries other than the US, calls to landlines are the only free ones. You also have to install a program on your computer to set up or modify your account.

I prefer CallWithUs because it’s more configurable and any calls that were free with InternetCalls are dirt cheap anyway. You might save a couple bucks a month if you’re only calling the US.

Plus he can’t get it working on his brick phone. Ha!

Crossfit in the Airport

Maintaining a healthy lifestyle is pretty difficult when you’re traveling. You’re trying to catch flights, so it seems perfectly justifiable to cram whatever’s available in your feed hole and skip your 15-minute power walk.

Just recline your seat after takeoff, enjoy last summer’s blockbuster and some Everybody Loves Raymond, and wait for the hot beef or chicken entree.

Or you could try exercising in the airport.

We enjoy breaking social convention and doing unusual things in general, so it only took a few seconds to go from everyday travelers to the founding members of the Terminal E Fitness Club.

“Check it out, they have showers in this one!”
“Man, perfect! We can do Crossfit while we wait for our next flight!”

It doesn’t help that burpees could be mistaken for the most extreme way to praise Allah before hijacking an airliner. Which is one of the reasons we were so eager to leave the US. How silly is it that in “the land of the free” we have to worry about perfectly legitimate activities arousing suspicion enough to prevent us from traveling?

We did a workout called a “deck of cards.” The idea is that you assign each suit an exercise and each card corresponds to a number of repetitions of that exercise (so the Ace of Hearts would be 14 burpees).

Usually you draw all 52 cards one by one, doing what each one prescribes, but without a physical deck of cards we just work backwards from 14. Burpees, body weight squats, V-ups or sit-ups, and push-ups. If you think it sounds easy, give it a whirl.

Crossfit is ideal for people who want to be all-around fit and get there as efficiently as possible. The workouts are always different but short, intense, and comprehensive.

President’s Club

It’s totally scalable for anyone from old ladies to Hulk Hogan and it’s designed to target every aspect of fitness (e.g. strength, agility, stamina). They put daily workouts online that take all your muscle groups into account over time.

After four months I’m pretty proud when I catch a glimpse of myself coming out of the shower. I’m definitely in the best shape of my life.

We’ll miss Adam, Katie, and the afternoon class at Crossfit Austin. We’re heading out to do the workout of the day on the Avenida Balboa: three rounds of an 800m run, 50 back extensions, and 50 sit-ups.

If you have 30-45 minutes to spare — and I know you do — you should do the same.