Touch Sensitive Button Using Conductive Fabric and Velostat

For this experiment I decided to dive deeper into the EE side of things and wanted to get a feel (pun sort of not intended) for how it all worked. My goal was to figure out how to create a pressure sensitive button made out of fabrics, and hook it into an Arduino so I could program around the haptic feedback.

I thought it would be easy to find the parts and videos I needed to get to my goal, but was surprised to find few videos that took the viewer from start to finish. So, I decided to record what I learned along the way so that others may have it easier.

First, let’s start with the materials:

  1. Velostat
  2. Conductive Fabric
  3. 2x Alligators Clips
  4. Multimeter

In short, Velostat is a resistive material and feels like it is cut out of a trash bag. The conductive fabric is a fabric that has conductive material woven into each strand. If you hook up each piece of fabric to a battery and touch those pieces of fabric together you will create a complete circuit. (Be careful, this can cause a fire when the wires spark around the fabric.)

When you place the Velostat between those two pieces of fabric you make it harder for the electricity to flow from one piece of fabric to the next (ergot “resistor”). Since the Velostat is thin and malleable, pressure from your finger onto the sandwiched materials increases or decreases the flow of electricity. This change in electricity is the signal you will interpret in your “pressure gauge”.

This video shows you how you put it all together. If you remember the principles above the rest becomes fairly easy. For example, you must be sure that none of your conductive fabric touches one another, so make sure your Velostat swatch is larger than you fabric swatches.

Now that I got that working I set out to connect the system to an Arduino so I could read the change in resistance on the computer.

Materials:

  1. Same materials in Part 1 (Multimeter not required)
  2. 1N4003 Diode
  3. Arduino UNO
  4. Jumper Cables
  5. Arduino SDK
  6. Computer
  7. USB/Serial Port Connector
touch_sensor
#include <math.h>
int myPin = 0;
int touching = false;
int touchingCount = 0;
void setup() {
Serial.begin(9600);
}
// the loop function runs over and over again forever
void loop() {
int sensorValue = analogRead(myPin);
String amount = "Start Touch";
if (sensorValue > 90) {
touching = true;
touchingCount++;
} else {
touching = false;
touchingCount = 0;
}
if (touching && touchingCount < 20) {
amount = "Tap";
} else if (touching) {
amount = "Hold";
}
if (sensorValue < 90) {
// Serial.println("Not touched");
} else if (sensorValue < 120) {
Serial.println("Light " + amount);
} else if (sensorValue < 160) {
Serial.println("Strong " + amount);
} else if (sensorValue < 190) {
Serial.println("Hard " + amount);
}
}
view raw Advanced Reads hosted with ❤ by GitHub
#include <math.h>
int myPin = 0;
void setup() {
Serial.begin(9600);
}
// the loop function runs over and over again forever
void loop() {
int sensorValue = analogRead(myPin);
Serial.println(sensorValue);
}
view raw Basic hosted with ❤ by GitHub

The Best of Reykjavik Dinning

Did you know Iceland was under prohibition until 1989? Maybe all that time sober is what allowed the chefs in Iceland to master their craft. At first we thought we got lucky when our first meal was insanely good, but every place we went, from cafe’s to grills, put a smile on our bellies.

Our first dinner was a 9-course tasting meal at Grill Market (Grillmarketdurrin). Maybe it was the modern ambiance, or seeing the sun shine past 11PM, or the wonderful aromas we caught from sitting next to the kitchen, but whatever it was, it was one of the best meals we’ve ever had. (Checkout what we ate in the video below).

We were warned that Iceland was “cheap to get to, but expensive to stay”. So we weren’t surprised that the meal above set us back $116USD per person. That being said, the price included all tax and tip, and the quality, freshness, and size of our dishes were top notch. Factoring in the $1USD to $101ISK conversion, and the “all in” price tag, the menu price for that meal in San Francisco would have been $89. Not cheap, but an amazing deal for what we got.

Not every meal could be rationalized as “worth it”. While touring the Golden Circle we grabbed some food at a gas station quicky-mart. Our two small sandwiches and two small coffees came out to about $24USD, and a gallon of gas was about $7.50USD. So yes, you will feel the pinch of the higher price tags on the everyday stuff. Nevertheless, when it comes to dinning-out, we still think you come out ahead from the overall experience. Which is likely why Iceland still sees tourists come in droves.

Take our next meal at Messin for example. The “Pan Fish” was fresh, delicious, prepared quickly, and was plentiful in portion. A combination that would be hard to come by in the U.S. where the “menu price” would be about $30.  Again, you pay a premium on crap food and gas, but you win big when you consider the quality of food you get when dinning out.

After a couple days in Iceland it was time to clean some clothes. Conveniently, we read about a cafe down the street from our apartment that offered a laundromat in the basement called The Laundromat Cafe. Since we had laundry, and we were hungry, we took advantage of the combo. We were glad we did! I had the smoked trout with cream cheese on rye. Yum! Even the Chai tea I ordered was one of the better ones I’ve had.

With our clothes freshly cleaned and our whistles in need of wetting, we hopped on over to The Lebowski Bar. Yes, a bar in Iceland is dedicated to the movie The Big Lebowski and offers up 21 different varieties of White Russians. Those that know me know that (A) I’m a fan of the movie and (B) my drink of choice these last few months have been White Russians.

I wouldn’t go as far as to say these were the best drinks in the world, but they were good and it was fun to try a few versions of the after-dinner cocktail (about $20-$30 a pop).  The scene was fun and carried a big crowd, all enjoying the 80s music that you could hear from across the street.

The next morning we hopped over to the Bonus grocery store and got a pint of Skyr, Iceland’s traditional breakfast food. It’s basically a very thick yogurt, and goes great with berries. Although tasty, I wouldn’t say it is as unique as it is made out to be. Imagine a thick greek yogurt with a slightly more sour taste.

For our final restaurant we wanted to taste some Icelandic home cooked, traditional, comfort food. For that we found Salka & Valka (Fish and More). There we ordered the fish soup and traditional fish stew made with mashed potatoes, white fish and green onions. The dish was soft, creamy, and very comforting;  just what we were looking for!

We were on such a roll with food, that when the sign on the table said “You must try our rhubarb pie” we couldn’t resist. Sadly, the dry, underwhelming dessert was the only fail of the week. Don’t worry Iceland, we still love you!

Facebook’s Yarn is the shiznit

TL;DR

As the saying goes: You don’t know the extent of the pain you have suffered until you have found some relief. Okay, well, that may not be a saying at all, but it will be the feeling you have when you make the switch from npm to Yarn.

The Problem

npm is slow, non-deterministic AND has been the best way to manage your node.js package installations until now.

How Yarn Came to Be

Facebook decided that the bandaids and workarounds they employed to make npm scale to their needs had gone far enough. They decided to build their own tool that cleaned up the package install workflow. You can read more about it on Facebook’s Yarn site, but I’ll save you the time: Use Yarn!

Reasons to Switch

  1. Yarn uses the same package.json configs you have setup in your repo
  2. Once Yarn is installed (with some irony — using npm), replace your “npm install” with “yarn” and you’re done
  3.  The install time is 15x faster. I tested Yarn out on a simple React environment I’ve been using. Using npm, the installation took about 5 minutes (usually ran during a bathroom break). Yarn took about 20 seconds. Nuff said.

Making the Switch

In your project’s root directory, where package.json is located (or where you usually run “npm install”):

#> npm install -g yarn

#> yarn

So, wow, right?! Why the hell have I been wasting time with npm? No longer.

The real question is – why are you?

 

Update: Yarn is having an upgrade issue. To resolve follow instructions here: https://github.com/yarnpkg/yarn/issues/1139#issuecomment-285935082

GoGong: An open-source, non-SaaS, screen capture & share platform

There are many awesome Saas-based screen capture & share services in the market today. Typically they offer a client-app that, when installed, listens in the background for all your screen captures. Once a screen capture is taken, the app seamlessly uploads the image to the cloud and provides the user with a URL (added to their clipboard) that they can easily share with others. (For example, you can checkout two captures I’ve taken with Sketch and CloudApp.)

I love those apps! 99% of the time they fill my use cases perfectly. However, recently I was working on an intranet with hundreds of users and no access to a public internet. Of all the capture & share services I knew of, none could accommodate a closed network system. Do to that environment, I was forced to manually upload my screenshots as attachments when massaging my peers – which was a real PIA!

Enter GoGong.

I created GoGong as an open-source project to provide those working on a closed network access to a screen captire & share system; without concern of having any copied material exposed to the outside world. You can read more about the project, download the server and mac DMG, and contribute to the effort here:

https://sshadmand.github.io/GoGong/

In short, GoGong provides:

  • An installable DMG OSX client
  • A server to receive and host your uploaded captures
  • A completly open-sourced project
  • A platform that do not require a public internet connection

Hope you find it useful!

Docker for Dummies

Updated 7/12/2016: Applying a web server, See end of the post.

Updated 9/29/2016: Mounting Docker so you can edit container using IDE

This week I decided it was high time I learned docker. Below is how I wish a “getting started page” was laid out for me in retrospect; would have saved a lot of time….

At a high-level, Docker is a VM  that is more light-weight and easier to install, manage, and customize than others. It is a great way to ensure everyone is deploying their project in the exact same way, and in the exact same environment. (The non-high-level version.)

Until now docker machines were needed to run Docker on a mac. Now you can just install the docker OS X app and run it the “Quick Start Terminal” to have your environment started properly (Update: The latest mac version runs in the background and adds a docker icon to your Mac menu bar). In short, if you don’t use docker-machine nor the Quick Start Terminal then you will get a “Cannot connect to the Docker daemon. Is the docker daemon running on this host?” error.

First off, here are some very useful commands that keep you aware of the state of Docker’s containers …

#> docker ps

#> docker ps -a

and images…

#> docker images

Now, let’s create some containers! A container is an instance of an image that is either in a running or stopped state.

To create a running container that is based on a standard Ubuntu image:

#> docker run -it –name my-container ubuntu

This command will pull the image (if needed) and run the docker container. Once the container is built it will be named “my-container” (based on the –name parameter) and viewable using:

#> docker ps

(Shows all running containers.)

#> docker ps -a

(Shows all containers whether they are running or not.)

If you ever want to interact with your Docker container in Shell you will need to include the “-t” param. It ensures you have TTY setup for interaction. In order to detach from a container, while keeping it running, hit CTRL+Q then CTRL+P. Otherwise the container will stop upon exit.

The -i parameter starts the container “attached”. This means you will immediately be able to use terminal from within the running container. If you do not include the “-t” with the “-i” you will not be able to interact with the attached container in shell.

 Alternatively, if you use the -d parameter instead of the -i parameter, your container will be created in “detached” mode. Meaning it will be running in the background. As long as you include “-t” in your “run” command you will be able to attach to your container’s terminal at any time.

An example of running  a container in detached mode:

#> docker run -td –name my-container-2 ubuntu

Next, let’s see how container react to a stop command.

Create both containers above and run the “docker ps” and “docker ps -a” commands to see the running containers. Then, stop one of the containers using:

#> docker stop [conatiner id]

… and then run “docker ps” and “docker ps -a” again. Do this over various permutation of the above run commands and parameters; you’ll get the hang of it.

Now that you have a container created based on a standard ubuntu image, let’s see if you can create a custom Image of your own.

A Dockerfile is used to define how the image should be pre-configured once built. Here you can make sure you have all your required packages and structure set up – like a light-weight puppet file. The most simple example of a Dockerfile contents is a single line like this:

FROM ubuntu:latest

Which says build my custom image with the latest ubuntu image. Save that one-liner Dockerfile in a file in your Present Working Directory and call it “Dockerfile”.

That Dockerfile will get the latest Ubuntu image as its only configuration requirement.

To create our custom image based on that Dockerfile:

#> docker build -t my-image .

Here we are asking docker to build an image and give it a name (using the -t parameter) “my-image”. The last parameter “.” tells Docker where the Dockerfile is located – in this case the PWD.

Now you can run …

#> docker images

… to see all the images which should now include “ubuntu” and your newly created “my-image”.

Just as we used Ubuntu as the base image in the beginning of this tutorial, we can now use our custom “my-image” image to to create our new running containers.

For example:

#> docker run -it –name my-container-3 my-image

 UPDATE: Applying a Web Server

When learning on your own, finding an answer has more to do with knowing the right question than anything else. For a while I kept looking up ways to connect my server’s apache config to the running docker container. I readily found info on mapping ports (for example, “-p 8080:80”), but wanted to know how to point my server’s inbound traffic of 8080 to the container’s localhost port 80’s traffic.  This was entirely the wrong way of looking at it.

Docker creates a sort of IP tunnel between your server and the container. There is no need to create any hosts (or vhosts) on your server, or to even setup apache on your server for that matter, to establish the connection to your running container.

That may have seemed obvious to everyone else, but it finally clicked for me today.

This step-by-step tutorial finally nailed it for me:

https://deis.com/blog/2016/connecting-docker-containers-1/

In short, you will create a container, install apache2 within that container, run apache2 within that container (by mapping your server inbound port to the containers inbound port), and voila – done!

Note: Be sure to use “EXPOSE” in your Dockerfile to open up the port you will be using in your run command. WIthout it you will have connection issues. For example, in your Dockerfile, include:

EXPOSE 8000

And then in your run command use:

#> docker run -it -p 8000:8000

Yet another important note: If you decide to run your web server in dev mode, make sure that you bind you container IP as well as your port. Some dev web servers (like django) spin up their web server under port 127.0.0.0, when docker listens on 0.0.0.0. So, in the case of spinning up a django dev server in your conainter, be sure to specify:

#> ./manage.py runserver 0.0.0.0:8000

UPDATE: Mounting Docker to Host to edit Container using IDE

Having to build your docker container every time you want to deploy locally is a PIA. I just learned today that you can mount your local host folders to a mounted volume inside of your docker container. Once you have built your image simply run your docker container using the -v param like so:

#> docker run -it -v /Users/myuser/repos/my-project:/tmp [image-name] /bin/bash

Where “/Users/myuser/repos/my-project” is the folder on your local machine you want to be available inside of your container, and “/tmp” being the directory you can access your volume from within the running container.

Once that is done, just edit the files locally in “/Users/myuser/repos/my-project” and it will be in perfect sync with your docker code!

 

New FB Messenger Bot Port to Python Based on Quickstart Guide

FB Messenger Python Port on StackOverflow

The current Quickstart guide for the new FB Messenger Chatbot is in Node.JS. I am currently working on a project in Python and couldn’t find any Copy & Paste-able Python webhooks. So, I created one myself. Hope this is helpful to someone else 🙂

FB Chatbot Code Snippet on Gisthttps://gist.github.com/sshadmand/304a77371c9e207a5fa42a6b874017d5.js

Attention Deficit or Boredom Adverse

“Back when I was a kid we had far greater attention spans!” Well, whoopy-doo for you.

Youtube, TV, Commercials, Audio books and Facebook. The list of products that drive us into a pattern of ingesting only short-blips of information goes on and on. Some believe the consequence is a loss in our ability to pay attention to any lengthy (more traditional) format, and in their mind, anything of real value.

I take issue with that belief entirely. I’d rather ask this: Why is there a requirement to be able to pay attention to long-duration formated info in the first place, and what makes that info so much more valuable? Isn’t the goal of listening, reading, or watching information to comprehend it? Where does “length” and “staying still” play into that requirement?


As a kid people thought I had attention problems. I had tons of energy and not enough places to put it all, especially during school hours. Reading one long-ass book (that I had no interest in) for a class (I didn’t care much about) was not very motivating; I perceived writing in much the same way. Needless to say, I didn’t accel in those areas much.

For me, learning was just that — learning. It wasn’t a proof of my ability to sit still and do nothing for a long period of time, or to impress a teacher. Learning was all about answering questions, digging into things that interested me, and unraveling things that confused me. When the internet became “a thing”, I found myself ingesting tons of information daily, and it allowed me to pursue those questions with ease.

Fast forward a couple decades and I’m sitting here auditing an edX class at 2x-speed. I’ve skipped over a few sections that do nothing more than set the audience up for what’s coming (e.g. Boring. I get it. Let’s move on). And you know what? I love it — I love taking classes! As for reading, In this new environment of self-paced, kindle-based, materials I’ve found myself reading more books than I ever had in highschool. Even writing has become interesting to me. I started a blog 7-years ago to become a better writer, and, over 200 posts later, I’d like to think I have improved quite a bit. With all this interest in taking classes, reading, and writing, I have to ask myself: do I have an attention problem, or am I just terribly adverse to boredom (and the old, slow-moving, teaching styles)? Which led me to ask, why the hell would anyone want to be great at being bored in the first place?!

As our technology pushes us into a new format of learning, maybe it is less about “shut up and sit still”, and more about, “here is the world — have at it!”

It’s easy to think the world is getting dumber. We see “views” on YouTube of someone getting hit in the nuts soar into the millions, and people with obnoxious (or useless) things to say use social platforms to say them at scale. It is important to remember that with or without these new mediums people have been dumb for a long time. It is also important to keep in mind that the speed of advancements in technology are increasing exponentially. Those advancements push social media, but they also cut the time it takes to roast a turkey, pop popcorn, and provide classes to people like me that can now learn more efficiently than they ever have before.

I think learning was built on an extremely inefficient foundation because we didn’t have any other way to do it. Now, we are finally trimming the fat. The problem is, our kids are now able to eat lean beef but we are insisting that they still must chew the lard first. Why?

I say, take those little bits of data, re-arrange them, pause them, and fast-forward them as you wish. Let your curiosity for answers be the guide, not a demonstration in formalities.

We aren’t losing the art of education, we are deconstructing it and reassembling it through the gift of technology. The world has started to suit everyone’s individual pace, interest, and schedule. All the lost hours of dramatic pauses, introductions, segues or fluff are gained in the hours we can instead paint, exercise — or better yet — learn something entirely different.

Sure, it may mean that listening to a 1-hour speech at work will be more difficult for a person that is used to this newer, more efficient medium — but who’s fault is that? Why the hell are people talking for an hour anyway?! Is it necessary to achieve their objective? Are we simply committed to a style of interaction in the real world for no other reason than our attachment to tradition? Are we simply not yet ready to embrace a more efficient style of information-sharing that the digital world has built from the ground up? If you are looking for art and style, maybe you should go see a play.

As we move away from requiring our audience to sit down and shut up for an extended periods of time, let’s keep our goals in mind. We are not here to prove to others that we can sit through something that does not excite us, but to find out what does. It is not to prove we can endure boredom, but to break the shackles that required us to be bored in order to learn. It is time that we agreed to fight boredom, and recognize it as an old, outdated, emotion.

Creating your deck: 5 tips to avoid common pitfalls

A deck is often the first impression a VC, Angel or potential customer will have of your product or company. How can you make sure it is a great one?

First off, I get that there is much to love about your business, and I assume you’ve worked really hard to get it to where it is today. It isn’t surprising you’d want to share those experiences with others to impress upon them your level of commitment and demonstrate your ability to overcome obstacles.

That being said, nothing conveys your understanding of a problem, its solutions and its potential obstacles more than your ability to clearly deliver a compelling message. The goal of a deck is to do just that.

Here are some tips to help make it happen:

Tip #1 – Less is More.

Your deck is an intro to your business. It tells the reader concisely what the problem is,  how you’re solving it and that they too can benefit from your success. Everything else is a peripheral to those points and are better located in an appendix or follow up.

If you don’t think you can convey your problem and solution clearly, or you feel you need to say a lot to convey your value, then take a step back and try to find ways to trim down and prioritize your message. It is imperative that you can do more with less.

Worried your reader will miss out of some great nuggets? Try thinking of it this way: if you’ve grabbed someone’s attention in your deck then rest assured, they will have follow up questions. All that extra data you are eager to show off will find its way to the surface eventually, and at a time where it will make a greater impact.

An adage that hopefully drives the point home: “if everything is important then nothing is”.

Tip #2: No, You Will Not Just “Get Through All the Slides Quickly.”

A common rebuttal to #1 is, “Yes, there is a lot of information but it’s necessary. We will get through them quickly.” Heck, I use to say that too when working on my decks. The truth is, you’re wrong in more ways than one.

Ask yourself, when have I ever found any points impactful and important when I am rushed through them? Could you imagine the climax of your favorite movie in fast-forward? If anything, “let’s get through it quickly” is a clear sign that someone has other more important things to do.

If your points are important then give them due justice. Be sure to convey them impactfully. Pauses in speech can create that, and leveraging a few, carefully selected words and images do too.

Think about the mixed signals you are sending if your plan of attack is to rush through slides. For example, you may be saying, “I want you to see these slides because they are important, but not important enough to allow you to take the time to understand them.” or  “I want to make an impact on this point, but I also think my time is better spent elsewhere.”

Trust me, I get that you have 15-30 minutes to make your pitch, maybe less. What I am trying to impress upon you is that speed is not your saviour. Prioritization of your key points and trimming the rest are.

Tip #3: Follow Guy Kawasaki’s 10/20/30 rule

Guy Kawasaki has a great rule of thumb for creating a slides:

10 Slides

20 Minutes

30 point font

You can diver deeper into his 10/20/30 rule here: http://guykawasaki.com/the_102030_rule/

Tip #4: If the information you present doesn’t impress the reader move on or change the information

You will not change someone’s mind by adding more information. If they like your angle they will be in touch to learn more. If they like what you have had to say they will ask questions. If they are having trouble making them time to take in everything you have to say then it’s over before it started.

What are some reasons people may pass on your deck?

  1. They are not interested in your space or industry
  2. They don’t understand what you are doing
  3. There is a conflict of interest
  4. They are not in a position to take action

It is hard to change the results for #1, #3 or #4 with your deck, it may be best to move on and find someone better suited for you. As for #2, you will likely need to step back and refine your messaging. Even if the reader is the wrong audience for you, the ability for them to understand may help push your deck to someone that is a better fit.

Tip #5: Be Critical.

Assume you received your deck in an email on a busy day. Would you take the time to dive into each of its 30 slides filled with hefty bullet-point lists?

The more critical you can be with yourself the more time you will save with advisors, customers, and investors. Hopefully the tip above can help make that happen.

 

 

Why you want hard problems and not difficult ones

Who doesn’t like a good challenge? I sure do. I love immersing myself in a problem and working hard to tunnel through its complexities to find a solution.

But, what makes a problem a good one to solve? Which problems should you avoid wasting time with, and which are worth jumping into to start your next wild ride?

Over the years I’ve compartmentalized problems into two categories that have helped guide me: “difficult” ones and “hard” ones.

Difficult Problems

A difficult problem is a problem that drains your mind and body. Everyone involved in these type of problems are spinning their wheels in circles, and are able to squeeze only a tiny of drop of value from each pass. Difficult problems are demotivating, repetitive and often fueled by dark clouds. Difficult problems are overcome, not solved, and one is driven to overcome them as a search for relief.

Their challenges are often emotional ones; often testing patience, not intelligence, persistence, or ideas. Most importantly, when a difficult problem is overcome the end results often places everyone in about the same place they started. A solution is a derivative of your current state at best, and incurs a great deal of wasted time and money. People tend to beat their head against the wall with difficult problems.

For example, problems that arise from convincing someone to want to be a better person, or to want to make better things, are difficult problems.

Hard Problems

Hard problems are a joy, but not at the least bit easy. They are motivated by “why”, “why not” and “how can we make it possible?” Much like difficult problems, they are filled with long nights, and little sleep. Unlike difficult problems (where a relief from the pain endured is what drives you), the pain you endure from hard problems are a bi-product of your insesent need to find a solution; you push-on in spite of the pain.

Hard problems are motivating, inspiring, and complex. They may never find a solution, or its solution is hiding right around the corner; neither of which changes your resolve . Working on a hard problem can feel like chewing on glass while staring into an abyss, but you chew with vigor and you stare like a hawk.

Hard problems create competition, new ideas and challenges with others or within yourself (e.g. “I can do better than that”). Rarely will you see competition arise from a difficult problem.

You know you’ve solved a hard problem when you end up in a place you haven’t been before, with a new perspective and new insight and a new direction to follow forthwith. With hard problems, you are not only avoiding going in circles, you have taken a rocket ship leap to a new planet. The harder the problem, the farther you will fly.  If only you can – just – get -to – the – next – solution! A hard problem requires focus. Neh! A hard problem fuels focus! A difficult one: a distraction.

For example, problems that arise from discussing how  to be a better person, or how  to make better things, are hard problems.

Final Thoughts

Avoid difficult problems if you can. Sometimes dealing with them is necessary, but recognize the difference; don’t let people (or yourself) mask one for the other. It can help both mentally and emotionally. Seek out hard problems by imagining what the world would be like if you solved them.  If you find yourself in a difficult problem see if you can’t upgrade it to a hard one.  How can you change “how come” into “why not”, or “no” into “let’s try and see what happens”?

Best of luck, and may your life be hard but not very difficult! 😉

[Video Excerpt] Vagabonding: An Uncommon Guide to the Art of Long-Term World Travel by Rolph Plots

I heard about this book from Tim Ferriss’ podcast. In it, Tim dedicated an entire show to the author’s reading of this book. It got me hooked.

Usually with books I review I’ll append all the excerpts I’ve highlighted from my Kindle into the my blog post. For this book however, I found myself highlighting almost every sentence. He really nails the philosophy of long term travel including the feelings, challenges and rewards that come with . I’ve thought about writing my own philosophical experiences down, but why build when you can buy, right?!

This guy is like the Confucius of travel.

Here is a short 4-minute excerpt from Tim’s podcast, and here is the book on Audible and Amazon if you end up getting hooked too.

Long-term travel doesn’t require a massive “bundle of cash”; it only requires that we walk through the world in a more deliberate way.

This deliberate way of walking through the world has always been intrinsic to a time-honored, quietly available travel tradition known as “vagabonding”.

Vagabonding involves taking an extended time-out from your normal life — six weeks, four months, two years — to travel the world on your own terms.

But beyond travel, vagabonding is an outlook on life. Vagabonding is about using the prosperity and possibility of the information age to increase your personal options instead of your personal possessions. Vagabonding is about looking for adventure in normal life, and normal life within adventure. Vagabonding is an attitude — a friendly interest in people, places and things that makes a person an explorer in the truest, most vivid sense of the word.

Vagabonding is not a lifestyle, nor is it a trend. It’s just an uncommon way of looking at life — a value adjustment from which action naturally follows.

And, as much as anything, vagabonding is about time — our only real commodity — and how we choose to use it.