IoT: Internet of Things

Lately I’ve been playing with Internet of Things type technologies. Started with Raspberry PI’s but got turned onto ESP8266 microprocessors. They can run a lite-weight version of python called micropython. Basically it lets me run a cheap sensor platform anywhere I can get power for about $20. I’ve got the code for the pi and the esp8266 in this repo. Most of the esp8266 chips come with at least one LED on the board you can blink, so I wrote a library to blink morse code.

Docker

Doing a lot with Docker at work, I’ve decided I need to bone up on the skills on the side projects. This tutorial was extremely simple and if you understand what’s going on under the covers – it’s pretty amazing. You’re basically spinning up two fully functional virtual servers and running a complete web application on them.

I’m hoping it’ll speed up some of the plans I have for RateWings.com and allow me to be a little more “dangerous” with the things I’m trying – while being able to get back to stability and also potentially have someone other than myself work on the site. There’s an API in my future.

Drone

I picked up an electric helicopter at the Bow RC auction for about $50 that spent less than 10min in the air before destroying itself. Turned me off to RC for while until the MFW got me a Phantom Quad that is completely different than any RC vehicle I’ve ever flown.

I pretty much took it out of the box, charged the battery (potentially unnecessary) and launched it. I let it rise 10 ft and I let go of the controls and it stayed where it was.

My first RC plane was a 6ft wing span affair with a gas motor, dabs of superglue and no concept of gravity beyond what I controlled it to do. It eventually split in half and put a small dent in a railroad track after about 5 hrs of flight time. Totally worth it.

The drone is so far a different game. The video it takes from high altitude is like a new tripod with abilities I didn’t imagine before I started practicing with it.

Kindle on Android screen sleep timeout

I can’t prove it, but I think the latest version of the Kindle app on Android changes the way the screen sleep timing works. It presented to me on my android moto-x with a recent update to Kindle, v4.3.0.44 and if I didn’t read fast enough the screen would dim in anticipation of going to sleep. It was annoying because it would do it right as I was getting to the end of the page, and I couldn’t find a setting in the app itself to prevent this. There is an android permission android.permission.WAKE_LOCK that allows an app to stop a screen from going to sleep – and I suspect the Kindle app had this previously but the developers decided to remove it. The solution was to update the android settings-> display -> sleep setting to something higher (5min in my case.)

Bitcoin Swear Jar

The latest (of many) bitcoin popularity waves got me to finally get some. Spent a little at BitcoinVegas minecraft – which I have to say was fun, but it also got me thinking what else could be done with them – and the main thing that kept coming to mind was the whole “tiny donation” problem – i.e. it’s tough for me to give a dollar to a website/technology that I use. Around the same time I had to create a swear jar for our house. Mostly to get me to stop swearing in front of the kids – but also to give them some simple repercussions for swearing.

That led me to realize I could set up a website and collect $0.25 online with VERY simple code and no 3rd party relationships.

And so was born the Bitcoin Swear Jar

Some kewl parts of the project:

  • Bitcoin! Wanted to get more comfortable in the use of them
  • QR Codes: The site uses 100% client side javascript to generate a bitcoin QR code donation that dynamically updates as you type
  • GitHub: As this was a “charity” type endeavor I opened it up on git hub with a banner to fork
  • Reddit functionality help: Posted the alpha/beta on /r/bitcoin for feedback/critique and was suprised at how few trolls poked at it (links to posts on site)

Minecraft Server

The kids are BIG into Minecraft – and I don’t blame them. From what I over hear they have problems finding a good server to play on. Most noteably are problems getting banned and what sounds like petty fights with friends that live in our town.

So I launched a server on an old mac lappy and just playing with each other in a world free of strangers has cause both kids to thank me personally and genuinely.

They want me to open the server up (i.e. port forward so people not on our LAN can get to it) to neighbors and cousines etc. and I’m not sure about this.

On the one hand – I can shut the server down when I want them OFF (i.e. bedtime, bus time, etc) but on the other hand – Do I want other children on a server I control and that my kids might ask me to ban etc. It’s sort of like being a baseball coach, in that parents expect me to know the rules of the game and to teach their kids not just the game – but what the game is supposed to teach kids.  Things like respect and dignity and kindness.

Originally I wanted to get a server up and running so I can teach the kids programming stuff and IT crap like backups and networking… but I’m now thinking I’ve opened a pandora box that can’t be closed.

Actually – it’s running on a crappy old MacBook and if you close the lid the server dies.  So if they fight too loud I can announced, “I’m closing the box!”

RDC to Win 2008

When trying to RDC (i.e. terminal services connection) to a server I started getting the error:

The remote computer disconnected the session because of an error in licensing protocol

Spent a while figuring out exactly what I had to turn ON to get it working when in fact it was something I had to turn OFF.

The problem was I had installed the “Remote Desktop Services” role thinking it would enable RDC connections, when in fact this is a much more complicated beast that I think wants to enable the server to serve up tons of desktop sessions to many users vs. the single connection administration activity I needed. This new functionality comes with yet another licensing scheme from Microsoft and googling for a solution sent me down this path many times.

The solution: Remove the “Remote Desktop Services” role, and go to Start ->Control Panel->System and Security->Allow remote access . Doing this you find the familiar Remote Desktop settings and things work like I expected.

Design Principals: ECBARF

Attended a design presentation at Manchester Barcamp 6 this weekend and heard the term ECBARF for the first time.  It was during a reply to a question I asked, “How do you learn design?”

ECBARF is an acronym for the six basic design principals:

  • Emphasis
  • Contrast
  • Balance
  • Alignment
  • Repetition
  • Flow
I’ve found a few references to it online – but not many.  The people in the scrap booking world seem very aware of it, and I found a series of blog posts discussing it.  I’m pretty sure it’s use as described to scrap booking will also ring true for mobile app and web app design.

Podcast listening

Since getting the mount for my phone working and finally finding a podcast listening application I like (see this post) I am now listening to podcasts on the drive to and from work.  I’m wondering where people go to discover podcasts however.  I’m a big fan of Leo Laporte and his podcast empire, listening to This Week in Tech pretty much complete every week.  He’s got a few others like Security Now that I try to listen to, but don’t always.

I also recently got turned onto Nerdist Podcast via an article in Wired magazine.  Lots of bad language in this one, so can’t listen when kids are in the car.

I’d love to hear from anyone regarding what podcasts you listen to and recommend.