Devon

/Devon

About Devon

I am an entrepreneur, traveler, speed demon, and so much more

Sovrn Advertising Doesn’t Understand The Word NO!

I get contacted by various advertising companies about running inventory on 10MinuteMail pretty often.  I’m pretty happy with my Google AdWords setup there, and every time I’ve tried another firm I end up losing money and wasting lots of time, so for the last few years, my answer is a polite, but firm, “No thank you.  I am not interested.  Please do not contact me again.”.  Normally that ends it.

However, Sovrn Holdings doesn’t seem to understand.  I’ve had exchanges with 6 of their employees in the past 18 months.  A few were pushy and didn’t want to hear the “no thanks”.

However, yesterday morning I received an email from a Vet Smelko from Sovrn.  I quickly replied with my usual “no thank you”.  Then 3 hours later I received another essentially identical email from Vet.  Which I replied to a bit more emphatically:

I had already replied to your previous email from this morning about three hours ago.
At this point please do not contact me again.
Then I received an email from one of his co-workers, Kevin.  To which I replied, pointing out my previous two emails from Vet that same morning.
Then I got a 3rd email from Vet this morning.  They just don’t listen.  At this point it’s just harassment.
So I recommend AVOIDING Sovrn if at all possible.  If they don’t listen to me now, they won’t listen to you if you’re a client.

Life Without Things

I am in Costa Rica, in the middle of a month-long stay, and I wanted to write a bit about my experience so far with the lack of “stuff” in my life.  I am renting a house on the beach at the very end of a long “road” that runs along the beach.  The house is great, but doesn’t have air conditioning (or heat), window shades, indoor showers, a dish washer, an oven, a disposal, a TV, a stereo, or any of the 10,000 items and appliances that I have at home. It’s a large open concrete and wood structure on top of a small hill, nestled in the jungle, overlooking the ocean.  It’s airy and takes advantage of the incredible ocean front views, and the near-constant breeze.

The kitchen has no measuring cups or teaspoons, and only a couple dull knives and basic pans.  Only three of the of the cook top burners work, and none of them allows much fine control of the heat.  Half of the lights don’t work.  If you close up the house, it becomes unbearably hot.  If you open it to allow the ocean breezes through, you also invite all the local wildlife in.

IMG_5106My workspace has my laptop sitting on top of an upside-down basket (so it’s at eye level), on a wooden table out on the porch, and a decidedly un-ergonomic dining chair to sit in.

I’m not complaining.  In fact just the opposite!  Instead of missing my Xbox and my motorcycles and my perfectly controlled temperature home, I’ve been finding some serious freedom and peace here.

I wake up around 5-5:30 AM, when the sun comes in the open sliding doors of my bedroom and the temperature starts to climb.  I walk down and swim in the ocean.  Then I shower outside on my deck overlooking the jungle.  I eat a small breakfast of soy milk and granola every day.  I’ll drink some watered down iced tea that I made hot the day before, and then put in the fridge overnight to chill.  I work best while it’s still reasonable cool (less than 90 degrees), from 6 AM until 2 or 3 PM.  The internet has been upgraded since I arrived and is now only 60 times slower than my connection at home, instead of the 1,000 times slower it was initially.  I’m still able to work, and even do some video calls with my team, but it means no downloading big installers or streaming Netflix or Hulu.  Everything I do online just has a little more care taken about how much bandwidth it will use.  In the heat of the afternoon I’ll usually take another dip in the ocean (although at that point the ocean feels about as hot as the air (90-95 degrees).  I’ll either work (slowly as my brain feels pretty cooked from the heat) or read in the shade.  Then I’ll usually try to go to a yoga class in town, cook dinner, and either work a little in the evening (usually on personal projects) or just read. I’m usually in bed by 8 or 9 PM and sleeping shortly after.

IMG_5154I do all my cooking with a cast iron frying pan, a pot, and a metal spatula.  At night all food stuffs have to be in the fridge or put in a cooking pot and locked in the cleaning closet.  Otherwise raccoons come and take them, usually leaving a mess.  It’s the jungle so insects are everywhere.  I’ve stopped caring about mosquitos, flies, bees, or ants.  Scorpions and LARGE spiders are the only roommates I try to evict.

I normally listen to music all the time.  I have Sonos at home, great headphones at the office, a killer sound system in my car, a nice turntable in my library, and usually there’s music around me any time that I’m awake.  Heck, my bathtub has speakers in it.  But here, while I have listened to music on my laptop a couple times, the vast majority of the time it’s just me, the ocean surf, and the howler monkeys.

Honestly I could have brought less stuff.  I have two pairs of sneakers, but I’m almost always barefoot or wearing flip flops.  I don’t need any long sleeves, or jeans.  If I could give up on shaving and beard management, like so many local ex-pats have, I could cut my toiletry kit in half (but I can’t seem to let it go).  I don’t need my GoPro, as I only went diving once and the visibility was quite poor.  There’s nothing to see snorkeling really so I could have left my mask and snorkel.  I think if I was re-packing for this trip I could probably be living out of my backpack and my camera bag.

With less stuff, and less options, life is simpler.  There are far fewer choices to make.  I’m spending a lot less time being entertained, and a lot more time thinking and soaking up my natural surroundings.  My sleep schedule is governed entirely by the sunrise and how tired I am.

Don’t get me wrong, when I get home I’m sure I will be THRILLED to make use of my fully stocked kitchen, drive my car (which I love), take a hot bath, turn on the air conditioning, watch a movie, and all that.  Those things are still nice and have value to me.

But it’s nice to know that I don’t need them, and that honestly life without all the luxuries and accessories can have its advantages.

 IMG_5119     IMG_5202

 

Control Nest Thermostat From the Command Line

I have a Nest thermostat, which is a wonderful piece of technology, however that meant that I had to get my phone out of my pocket, unlock it, launch the Nest app, wait for it to connect, and then adjust the temperature.  I wondered if it was possible to control my Nest from the command line on my laptop, which I am always working in anyhow.  The answer is YES, and this is HOW:

 

Step 1 – Create a Nest Developer Product

Nest Developer Product ScreenYou need to create a Nest Developer account and product to get the API access you need to control your thermostat.
Create a Nest Developer account here – https://developer.nest.com/

Then create a Product.  Mine is called “Devons Command Line Interface”.  Make sure you grant read/write permissions for the Thermostat and Away.

Copy down the Product ID and Product Secret values.  You will need them later.  You will also need the Authorization URL in the next step so don’t close this window!

 

Step 2 – Get your PIN Code for your Nest Thermostat

Nest Thermostat Authorization ScreenCopy the Authorization URL shown on the right side of the Nest Developer Product Details page and paste it into a new browser window.  It should prompt you to allow your Product to connect to your personal Nest account.  Click on Continue.

It should then give you a PIN Code.  Copy this down carefully!!!

 

 

Step 3 – Get your Access Code

Now that you have a PIN Code, you need to generate an API Access Code using your PIN Code and the Product ID and Product Secret from your Nest Developer Product Details Page.

curl -X POST "https://api.home.nest.com/oauth2/access_token?client_id=%YOUR_PRODUCT_ID%&code=%YOUR_PIN_CODE%&client_secret=%YOUR_PRODUCT_SECRET%&grant_type=authorization_code"

Replace the %YOUR_*% values with the correct values for your application the Nest PIN. And replace & with &.  Then execute this in your command line.  You should get back a long access token that starts with a “c.”.  This long string is your Access Token and will be used for authorization for API calls.

 

Step 4 – Get Your Nest Thermostat and Structure IDs

Now that you have your Access Token you can retrieve the IDs for your Thermostat and Structure (Home) which you’ll need to setup the command line API aliases.

curl -L https://developer-api.nest.com/devices/thermostats\?auth\=%YOUR_ACCESS_TOKEN%

This command will return a big block of JSON data.  What you are looking for in there are two values: the device_id and the structure_id.  Copy those values, you will need them soon.

 

Step 5 – Create the Command Line Aliases

Now you have everything you need!  I use ZSH, but this should work just the same in BASH or the shell of your choice.  I created four aliases in my .zshrc (use your .bashrc or preferred file).  Each command will need your Access Token, and either your Device ID or your Structure ID.

nestset() {
curl -L -X PUT "https://developer-api.nest.com/devices/thermostats/%YOUR_DEVICE_ID%/target_temperature_f?auth=%YOUR_ACCESS_TOKEN%" -H "Content-Type: application/json" -d "$1"
}

nestget() {
curl -L https://developer-api.nest.com/devices/thermostats/%YOUR_DEVICE_ID%/target_temperature_f\?auth\=%YOUR_ACCESS_TOKEN%
}

nestaway() {
curl -L -X PUT "https://developer-api.nest.com/structures/%YOUR_STRUCTURE_ID%/away?auth=%YOUR_ACCESS_TOKEN%" -H "Content-Type: application/json" -d '"away"'
}

nesthome() {
curl -L -X PUT "https://developer-api.nest.com/structures/%YOUR_STRUCTURE_ID%/away?auth=%YOUR_ACCESS_TOKEN%" -H "Content-Type: application/json" -d '"home"'
}

 

Step 6 – Control Your Nest Thermostat From the Command Line!

Now that you’ve defined those aliases you are ready to use them!

nestget returns the current target temperature your Nest is set to:

[devon:~]$ nestget
71%

nestset takes a single argument which is the new target temperature in Fahrenheit:
[devon:~]$ nestset 72
72%

nestaway sets your Nest into Away mode:
[devon:~]$ nestaway
"away"%

nesthome sets your Nest into Home mode:
[devon:~]$ nesthome
"home"%

 

 

 

Translation into Portuguese for https://www.homeyou.com/~edu/

Updated JIRA to Omnifocus Integration

Updates to my JIRA Omnifocus Integration

I have made some long over-due updates to the Jira OmniFocus integration I wrote a year ago.  Sean Kane provided a great pull request earlier this year where he’d made some massive improvements to the packaging and installation of the tool.  I just fixed a couple minor bugs, added support for syncing the Due Date of a Jira ticket to an OmniFocus task.  I also found a very inefficient scan of existing OmniFocus tasks, which I was able to improve.  For me this led to the script going from taking ~50 seconds, to now completing in about 2 seconds.  Not bad for modifying one line!

 

Where to get it

Find the latest Jira Omnifocus Integration code and install instructions here:  https://github.com/devondragon/jira-omnifocus

Please log any issues you find at GitHub issues and I will try to provide more timely support and enhancements as I am able.

Thanks!

–Devon

Modern TV is Killing the Dream of Justice

Game-of-thrones-mobile-wallpaper

Let me get on my old-man pants and wave my cane angrily from my porch for a minute….

Lately it seems the trend in television shows is to either not have any likable characters, or to continually bludgeon the good guys down, episode after episode.
The Walking Dead went down the first track.  A well written, well acted show, which balanced inter-personal drama with zombie attacks – what’s not to like?  But then quickly every character became 90% flawed, and I quickly stopped caring about any of them.  Everyone became so annoying or stupid, that you began hoping the zombies would get them.  Time to stop watching.
One of my favorite current Sci-Fi shows, Falling Skies, seems to be heading down the latter path.  After fighting the aliens, taking huge losses, suffering massively, at the end of last season it finally seemed like the humans might be making some forward progress with the help of their new allies.  Maybe they could start winning some fights and work on rebuilding humanity?  Nope, this season starts off with the alien allies all gone, and all the main characters killed, in jail, or in Nazi-styled indoctrination camps.  Awesome.  Several seasons of hardship, sacrifice, and always trying to do the right thing, and what do you get?  Right back where you started.  Like running on a treadmill.
And my current most egregious offender: Game of Thrones.  (FWIW: I’ve read all of the books).  They kill Ned Stark, who is essentially the most kind, just, and noble man in the realm.  His daughters then suffer innumerable hardships, mental and physical abuse, etc… at the hands of the scores of psychopaths, sociopaths, and generally evil people who seem to make up 90% of the world.  Then the infamous Red Wedding kills off about 80% of the people left who you could root for.  Having just wrapped up the latest book, let me tell you: don’t get too attached to the remaining few good people left, and don’t assume for a second that any of their minor victories won’t be immediately snatched away from them, while evil cackles from positions of wealth and power.  I love the writing style, the deep characters, the complex machinations, but I hate how the people who are trying to do right keep getting killed/punished/tortured, and the people who are mostly doing evil seem to keep coming out on top.
George Martin:   “I killed Ned because everybody thinks he’s the hero and that, sure, he’s going to get into trouble, but then he’ll somehow get out of it. The next predictable thing is to think his eldest son is going to rise up and avenge his father. And everybody is going to expect that. So immediately
[killing Robb] became the next thing I had to do.
 
Since Song of Ice and Fire so often subverts reader expectations and avoids traditional fantasy storytelling structures, should fans have any real hope that this tale will have a happy ending? As The Boy recently said on Thrones, “If you think this has a happy ending, you haven’t been paying attention.”
When I watch TV or a movie I am looking for entertainment, a bit of escape. I like action, I like good guys to win, bad guys to lose.  Justice to triumph.  But it’s also a bit deeper than that.  I want the idea that acting with honor, justice, mercy, and goodness WILL make the world a better place, and WILL have positive repercussions in my own life, to be echoed and strengthened.  While I’m not looking to TV to determine my own moral code of conduct, it’s nice when that concept doesn’t get kicked in the face once a week…
Also, I don’t remember this from the TV I watched 10 or 20 years ago.  Occasionally the good guys would take one on the chin, but the next week they’d be fighting their way back on top, justice triumphant!  So this feels like a new thing to me…