Lemons on the Trail

Anyone who visits the Cinque Terre quickly realizes that it’s a stunningly beautiful place. While portions of the trail were closed during my visit, I hiked much of the path that runs high above the Mediterranean coastline and connects the five towns. In spite of the clouds that day, I had never experienced such a peaceful and relaxing pace of life shared by locals and even tourists who have the pleasure of visiting.

After passing through the exquisitely picturesque Vernazza, I continued toward Monterrosso. I made my way past villas, farmhouses, and vineyards perched along the coast. Just ahead, I saw some fellow hikers stopped at what appeared to be a rustic-looking lemonade stand. It was covered in vines and had chicken wire stretched across the front. A small section of the mesh had been cut out to allow the exchange of cash for fresh-squeezed lemonade. Pulpy lemon carcasses were scattered on the table in front of the friendly vendor.

An Australian couple had arrived just before me and purchased the last of the lemonade squeezed that day. When I learned this, the proprietor of the stand confirmed that he was out of lemonade, but did have limoncello. In my relaxed, vacation-high state of mind, I said “of course!” I didn’t know what I had just ordered but quickly got the idea when he poured the translucent yellow liquid into a shot glass. The Aussies, still nearby, turned toward me and asked, “You know that has alcohol in it, right?” Going with the flow, I responded with a resounding “Oh yeah, of course!” I didn’t actually know.

I threw back the delicious limoncello and bought a small bottle to take home as a gift. After thanking the lemonade man, I continued on my trek to Monterroso with a fun story under my belt and a little bit of limoncello in my system.

Today, it hit me that my dad is a master at uncovering small life-experience gems like this one. He has a way of delighting people by asking a curious question at the grocery store, at a store in Indiana’s Amish country, or anywhere for that matter. The lesson for me has been that these types of everyday experiences will not pass you by – they’re usually hidden, but there for the taking. However, without a dash of curiosity and sometimes a bit of risk-taking mixed in, you will pass them by.

Epilogue: I went through Rome’s Ciampino airport to head home. The bottle of limoncello was above the 100ml limit permitted in carry-on baggage but I decided to “forget” about it. If it was flagged by security, I’d play the forgetful, dumb American card and, worse case, have to throw it in the trash. I was indeed flagged for a bag check and the friendly Italian security officer asked me to unpack my things. He could sense I was a little nervous and told me to take my time. He even asked where I had traveled and how I had enjoyed Italy. When I produced the good-sized bottle of limoncello, he verified that it was sealed and said “OK – you can keep it, but next time you can’t bring this. Have a good trip!”


Self-Myofascial Release

I never thought I’d be one of those weirdos with a foam roller, but I highly recommend it!


Innovative Way to Sell Wireless Data

Today’s AT&T press release strikes me as a very creative way to sell wireless data.

A sponsoring company can foot the bill for customer data transfers that involve activities such as downloading a sponsored app, viewing a sponsored online video, or browsing a sponsored website. The data utilized for those activities does not count against the subscriber’s normal allotment of data. In essence, certain online activities are treated just like a toll free call – it’s ironic that the former Ma Bell is the first wireless carrier to introduce this concept.

Sounds like a great idea, right? I’d gladly let Warner Brothers pick up the tab for allowing me to watch a movie trailer on my smartphone. What worries me are the potential negative consequences this arrangement could have on Net Neutrality.

The next logical step for AT&T and other carriers is to propose tiered pricing based on traffic priority. If a sponsor pays 10x the price to place their traffic in the top tier, other data transfers will suffer higher latency and more limited bandwidth.

Imagine a sporting event at which cellular service is already poor due to the high volume of wireless customers concentrated in a small area. Also imagine that Coca Cola pays for an online video advertisement and places the shortened URL on signs around the stadium. In this scenario, Coke has also paid AT&T to prioritize their traffic for a premium price. At halftime, when an AT&T customer views the Coca Cola video on their smartphone, it plays flawlessly. When another AT&T customer tries to check a player’s first half statistics on ESPN.com, the page won’t load. Most of the wireless bandwidth has been diverted to customers interacting with the Coca Cola website and, because of that, all other types of content perform poorly.

This arrangement shifts an open and content-neutral Internet to one in which the best access goes to the highest bidder. It’s an unpleasant scenario, but one that may not be too far in the future.

2013 Reads

Books I enjoyed, in no particular order:

Unbroken: A World War II Story of Survival, Resilience, and Redemption (Laura Hillenbrand)

Paris to the Pyrenees: A Skeptic Pilgrim Walks the Way of Saint James (David Downie)

The Circle (Dave Eggers)

Detroit: An American Autopsy (Charlie LeDuff)

Zen and the Art of Motorcycle Maintenance: An Inquiry into Values (Robert Pirsig)

Life of Pi (Yann Martel)

Finding the Game: Three Years, Twenty-five Countries, and the Search for Pickup Soccer (Gwendolyn Oxenham)

Travel Hacking Basics

I spoke with a friend recently who wanted to get into travel hacking. Since I travel quite a bit for my job, I thought I’d jot down a few notes about the topic. Some might say it’s an obscure, bizarre game that people play (I wouldn’t disagree), but I’ve found it to be a fun challenge with some excellent rewards – you get to travel to cool places!

Most of my experience is with products from United, Southwest, Marriott, and Chase so I’ll be focusing on those companies, but the industry does similar things across the board.

The Foundation

You’re going to obtain most of your points and miles from credit card offers and from the regular, daily use of the card. I put most every one of my purchases on my credit card just to get the extra points. If you have trouble with credit card debt, please do not attempt this.

Many cards offer large bonuses just for spending a certain amount in the first few months after you’re approved. I started with the United MileagePlus Explorer Card which came with a 50,000 mile bonus. If you book a “Saver” travel award on United (usually only available several months in advance), you can get a round-trip ticket to most European destinations for 60,000 miles (plus taxes and fees, which are always extra). The card carries a $95 annual fee, so right off the bat you’ve saved hundreds of dollars on a flight to Europe! See? That wasn’t so hard.

With many cards, the annual fee is waived for the first year. When I decided that the Chase Sapphire Preferred card was a better fit for me, I called Chase to cancel the United card. Since I had the United card for just over a year, they refunded the $95 I had been charged for the coming year. Bottom line: I got 50,000 miles + the miles earned from my spending for no fee at all!

Many travel hackers like to “churn” credit cards – meaning they’ll spend the minimum amount to obtain the bonus points or miles, cancel the card, and move on to the next offer. I’m happy with the Sapphire card, but we’ll see if a better offer comes along. My personal preference is to earn airline miles since there’s a good chance, on personal trips, that I’ll be staying with friends or family and won’t need a hotel room.

Make the most of your miles: Use “Saver Awards” and book early

To get the most out of your miles or points, book early. As I mentioned above, you can take a round-trip flight to Europe for 60,000 miles if you book early enough. I recently booked a domestic round-trip on Southwest for under 14,000 points, but of course I had to do it a few months in advance. The same applies with hotel rooms.

Keep an eye out for new offers

Marriott does a quarterly promotion where they offer bonus points for staying a certain number of nights in that quarter. I subscribe to all the United and Marriott rewards program emails – yes, it’s a lot of junk mail, but it helps you monitor all the new program offerings such as mileage bonuses for dining at certain restaurants.

Marriott and United have just launched a program in which members with a certain level of status automatically receive status with the other partner. Other airlines and hotel chains do similar deals, so I keep an eye on sites like www.flyertalk.com to get the latest news.

One recent offer gave points on Southwest and United for buying Marriott gift cards. It’s a no-brainer if you don’t mind carrying several hundred dollars worth of gift cards on your credit card for the month. I purchase the cards for myself, use them to pay for reimbursable work travel, and take the bonus points. The gift cards don’t expire, so you can always use them in the future.

Airline routing can be your friend

I recently booked a trip to South America that cost about 55,000 miles in business class. That sounds like a great deal for a round-trip ticket in business, but I was also able to tack on some extra travel. This is because the airlines sometimes allow extra hops in your itinerary as a part of the routing rules. During the trip, I was able to build in 3 extra segments of travel within South America.

Devaluation of points is a concern

As of now, it’s still worth it to me to play the game. However, travel companies tend to devalue their rewards and reduce the program benefits over time. For example, Marriott recently upped the hotel “category” rating for most of their properties. While the rewards program stayed the same, it now requires more points to book a hotel room that was previously part of a lesser category.

All in all, travel hacking takes a little maintenance and monitoring to pull off, but it’s worth it when you earn the freedom to travel!

iPhone vs. Android

I intentionally waited several weeks after the Steve Jobs patented Post-iPhone-Purchase-Euphoriaâ„¢ wore off to post this.

In short, I really like the iPhone 5 and realized immediately why these devices are so popular (yeah, yeah, 5 years behind everyone else). They just work.

What I like: The speed of the device, the simplicity of the interface, iMessage (I no longer ignore group messages that used to come in as separate MMS on my Android), Facetime.

To be fair, I came from an older model Android phone and I know the platform has improved greatly since then. I carried a Droid Incredible 2 with CyanogenMod 7 installed. While not it’s not an app, CyanogenMod received the CeBIT 2013 “Best Open Source Mobile App for Inclusion and Accessibility”. It adds a lot of custom functionality that allows you to tweak the heck out of your Android phone – exactly the opposite of the iPhone. However, I’ve found that the benefits and performance of the iPhone hardware and software outweigh those things that I miss about my old Android.

What I miss: The back button – no matter what app or menu I was in, the Android back button would take me…well, back to where I was! I miss the top status bar with icons waiting to be acted upon – the iPhone requires you to pull down the top status bar for this same type of functionality, so it’s not usable “at a glance.” I miss having the centralized panel in Android to turn on/off my Wifi, airplane mode, etc. The iPhone requires you to go into settings to do these things. The Android’s default alarm clock would pop up a notification “Alarm is set 45 minutes from now.” This was helpful as an additional safeguard to make sure that you didn’t mix up AM/PM when you set the alarm – the default iPhone alarm doesn’t have that. Maybe I’m doing this wrong, but I can’t seem to “dismiss” a meeting like I could in Android. That or the meeting doesn’t reflect what I’ve already chosen in my Outlook client like Android did. It wants me to send another acceptance even though I’ve already responded to the meeting request.

All in all, I’m a satisfied iPhone 5 owner, but I’m glad I’ve tried phones on both sides of the Google/Apple chasm.

Part 3: Arduino Home Security

Once it was all hooked up, it was time to write the code to run the security system!

I noticed that when a door or window was opened, the analog input was typically reporting a reading of less than 1000. However, these values seemed pretty unstable and would sometimes fluctuate wildly. I’m not sure if this was due to my wiring job, the wiring inside the walls, or some kind of interference.

In an attempt to solve this, I tried hooking the shared lead from the sensors to the Arduino’s ground port. The readings seemed to be more stable – when there was no alarm condition, the analog inputs reported readings less than 20 and around 30-100 when a sensor was tripped. To be honest, I’m not exactly sure why this works, but I suspect the sensors are inducing a very small voltage in the line when they’re tripped.

My code samples the Arduino’s analog inputs once every 100 milliseconds and looks for a reading above the threshold (currently 20). If it finds a high reading, it increments a “breach” counter. Once the threshold is breached 10 times, the alarm is activated and I receive a text message. This is done via a call by the Arduino to a webpage where I’ve set up a PHP script to send the text notification. If the alarm condition disappears (i.e. the sensor reading drops back below 20), the breach count is decremented until it reaches 0. At that point, another text is sent out indicating that the alarm has been cleared. Here’s a sample of the logic (this one is for the analog input #4 which is connected to the door sensor):

  if (val4 > threshold4)
    Serial.print("frontDoor: ");
    if (alarm4)
      if (breach4 < 10)
      if (breach4 > 9)
        alarm4 = 1;
    if (alarm4)
      if (breach4 > 0)
        alarm4 = 0;
      if (breach4 > 0)


Here’s the full Arduino code, as well as the PHP code that sends the proper alert. The code doesn’t yet have error checking and all the security features implemented yet, but it’s a work in progress. Enjoy!

Arduino Security System Code
PHP Code to Send Text Alerts

Part 2: Arduino Home Security

Security sensors are usually wired with 22 gauge solid-conductor wire but the Home Depot near me didn’t have any in stock. I grabbed 50′ of Category 3 instead. Cat 3 wire is meant for phone installations, has twisted pairs, and is 24 gauge, so I figured that would be good enough to get me started and I could upgrade the wiring later.

My first test was to hook up the door sensor only and see if I could get a reading on the Arduino.

I hooked one lead of the door sensor to one of the Arduino’s analog inputs and the other lead to the board’s 5V output. The analog input produces a reading between 0 and 1023 depending on the voltage. When the door was closed, I got a reading of 1023 and, when it was opened, the reading dropped down into the 900 range. Success!

I chose to place the Arduino near my cable modem and router and plug it in to my UPS so that in the event of a power outage the security system would still work. To get all of the alarm leads over to where the Arduino would be placed, I used a breadboard and the Cat 3 cable to extend the wiring from the main security system panel. The sensors share a common wire that goes to the 5V output so that is also extended to the Arduino. Not the most elegant wiring job but I plan to make it more permanent later:

The different sensor leads go into the different analog inputs, and the Arduino’s USB port hooks to an old USB phone charger to provide power. The Ethernet cable is not shown in this picture:

Part 1: Arduino Home Security

I just moved into a new apartment that was pre-wired for a standard home security system. There’s a motion sensor in the living room and open-sensors on the front door and on each window. The building owner doesn’t pay for monitoring and the system was just sitting there unplugged.

After doing some quick research online, I decided that I could hook up an Arduino to the leads from the different sensors, add an Arduino Ethernet Shield, have the system monitor each sensor, and take action if there was a security breach. This is only Part 1 but I’ll go ahead and spill the beans – it worked (and still works)!

My goals for the project:

1. Have fun
2. Learn how to program the Arduino since I’ve never worked with one before
3. Spend < $100 for an end product that performs reasonably well My first step was to learn how everything was wired up. I hooked up the power to the existing system and grabbed a multimeter. I touched the leads to the door sensor while the door was closed, and the reading was 0 volts. When I opened the door, the reading immediately jumped to ~5 volts.

This told me that my sensors were likely wired as “Normally Open” (NO) rather than “Normally Closed” (NC). This means that the circuit is open and not completed (i.e. 0 volts) unless the sensor is tripped. With an NO sensor, there are two possible reasons for the circuit to be closed: either by the door/window being opened or by someone cutting the wire.

Door sensor:

Main panel wiring:

The main panel has inputs for 6 different sensors, but it appeared that only 5 were connected. A note in the control panel showed that the installer had skipped zone #6 and put the door sensor as #7:

Removing the control panel:

I soon found out that the door sensor was wired straight to the control panel near the doorway which is then connected to the main panel:

After removing the control panel from the wall I found that the other 5 sensor inputs shared a single lead back to the negative power terminal on the control panel. The various sensor connections all terminated in the wall behind the control panel and rode a single 8-wire cable over to the main panel.

Next step: hook it all up!

Zen and the Art of iDevices

I’m reading Zen and the Art of Motorcycle Maintenance by Robert Pirsig and a passage caught my eye in light of the late Steve Jobs’ vision for Apple.

Throughout the Steve Jobs biography, Walter Isaacson mentions again and again how Jobs’ vision was to unite technology with the humanities. I found that same sentiment echoed by Pirsig in the following passage about how some find modern technology to be “ugly.” Luckily, it doesn’t have to be that way, and Jobs certainly proved that again and again. His products not only looked beautiful on the outside but also provided an interface and design that formed a seamless bond between us and technology.

The real ugliness is not the result of any objects of technology. Nor is it, if one follows Phaedrus’ metaphysics, the result of any subjects of technology, the people who produce it or the people who use it. Quality, or its absence, doesn’t reside in either the subject or the object. The real ugliness lies in the relationship between the people who produce the technology and the things they produce, which results in a similar relationship between the people who use the technology and the things they use.

The way to solve the conflict between human values and technological needs is not to run away from technology. That’s impossible. The way to resolve the conflict is to break down the barriers of dualistic thought that prevent a real understanding of what technology is – not an exploitation of nature, but a fusion of nature and the human spirit into a new kind of creation that transcends both. When this transcendence occurs in such events as the first airplane flight over the ocean or the first footstep on the moon, a kind of public recognition of the transcendent nature of technology occurs. But this transcendence should also occur at the individual level, on a personal basis, in one’s own life, in a less dramatic way.

Zen and the Art of Motorcycle Maintenance, pp. 290-291