Independent Music at Gen Con 50

I had a huge surprise this year at Gen Con 50. Often, there are bands and musicians playing music in the hallways of the Indianapolis Convention Center, host of the Gen Con gaming convention. I stopped to watch one band from Nashville wearing crowns and cat ears. I was already a few minutes late for my next game since I stopped for coffee. I ended up watching the whole set of an independent band from Nashville, called… Big Chance / Canyon Spells / Daniel and the Lion.

From what I learned from the Google box, Canyon Spells is Jimmie Linville and Daniel Pingrey who have been making music since high school. Their collaboration is tight and has produced a lot of great music across many genres. Their set at Gen Con was tight, fun, and really entertaining. I have not heard a great new band in a long, long time, and this was a pleasant surprise at Gen Con, of all places. I am not sure where they are going or if they will get stuck with an identity crisis, but they have great song writing and performing chops. YouTube has many videos of their band performing A LOT, which is a sign of a great band. Bands need to perform as much as they can, book gigs, and travel to obscure gaming conventions to strengthen their craft. I hope they find their way into the mainstream. They deserve a shot.

Billy West at Boston Comic Con!

I got to meet Billy West at the Boston Comic Con 2017! If you don’t his name, you probably know his voice. He has voiced a lot of characters from some of my favorite cartoons, everything from The Ren & Stimpy Show to Futurama.

I have always been fascinated watching Billy West in action. Check out his segment on Penn’s Sunday School to get a sense of his extreme versatility and voice talent.

 

 

The Paradox of Choice (Applied to Game Design)

I am developing a board game design workshop here in Boston that starts in September. I am really looking forward to facilitating the workshop and learning from the participants. In preparing the course materials, I came across my notes from a board game seminar that I took at Gen Con a few years back. The seminar was hosted by Jeff Tidball. Jeff is a creative executive and award-winning game designer. His class made a lot of great points, but he made one pint really clear to me. Game design is about doing the work. You have to have a lot of “butt-in-chair” time.

How much time have you wasted trying to choose the best salad dressing?

Jeff also mentioned the paradox of choice. He recommended that we watch a TED Talk from Barry Schwartz on the subject of choice and try to apply it to game design. Barry does not talk about game design in his TED Talk, but his message about choice can easily apply. A game with no choice is not fun. A game with too many choices is also not fun. You need to find a balance and do not overwhelm your players with too many options. Choice is central to the art of game design. You need to decide which choices to present to players and which ones that can be removed from your game.

I recommend that you watch Barry Schwartz’s TED Talk, The Paradox of Choice, to get the full context and see how you can apply it to game design.

 

How to Reset the Arduino MKR1000

I am working on a project that uses the Arduino MKR1000 with ThingSpeak. While working on my code, I uploaded a bad sketch to the MKR1000. Every time that the board powers up, it starts running my bad code over and over and appears to be stuck in an infinite loop. I tried pressing the reset button, unplugging the USB cable, reboot my computer, reinstalling drivers, and unplugging the USB cable (for good measure). Nothing made the board responsive again. I found a forum post talking about the bootloader. The user mentioned that quickly pressing the reset button twice put the device into a good state by loading the bootloader. Success!

Tracking My Baby’s Progress on Our Software Team’s Kanban Board

My team at work uses a Kanban board to track our software development process. We use Kanban to track tasks and pull new tasks to our respective swim lanes. We use sticky notes to indicate our tasks and move them around to indicate their status, such as “To Develop”, “To Test”, or “Completed”.

Kanban is a method for managing knowledge work which balances demands for work with the available capacity for new work. Work items are visualized to give participants a view of progress and process, from task definition to customer delivery. Team members “pull” work as capacity permits, rather than work being “pushed” into the process when requested.

In software development, for example, Kanban provides a visual process-management system which aids decision-making about what, when and how much to produce. Although the method (inspired by the Toyota Production System and lean manufacturing) originated in software development and IT, it may be applied to any professional service whose work outcome is intangible rather than physical.

Wikipedia

For fun, I added my baby as a task. And, tracked the sticky all the way to completion… He’s our best feature yet!

 

CheerLights Robot for Your Nursery

I shared my latest project over on my Nursery Hacks website. It combines some of my favorite things… IoT, CheerLights, ThingSpeak, Particle, and building things for my soon-to-be-here son’s nursery.  I didn’t want a bright light in the nursery, but I did want to build a little CheerLights display for something in the background.

I found a Robot Nightlight on Amazon and purchased it. This little robot is a great night-light and you can change the color using the included infrared remote control. To connect this light to CheerLights, I built an IR controller that is internet-connected using the Particle Photon. The Photon subscribes to the latest CheerLights color on ThingSpeak and transmits the IR code as if the button was pressed on the remote control.

To build your own CheerLights Robot, visit Nursery Hacks for the parts and code.

Brain Candy Live!

Brain Candy Live is a touring show featuring Adam Savage and Michael Stevens (Vsauce). My mind is blown think about these two guys together and seeing them live. I am addicted to their YouTube channels. I regularly watch Adam’s one day builds on Tested and Michael’s Vsauce. It’s got what brains crave.

Becky and I are excited to see the show in Worcester, MA this weekend. It is going to be epic.

Building Successful Online Communities

I am fascinated by how communities form. I fell into community building over 15 years ago when I had a comment thread on my website go crazy. Many people started commenting and replying to others and before I knew there were hundreds of comments. I installed forum and wiki software on my server and the conversation continued and more people joined in. A community formed – it grew, moderators took over, and people slowly left as interest in the topic waned.

I recommend the book Building Successful Online Communities. Communities are complex, but they lead to interesting discussions and discoveries.

Online communities are among the most popular destinations on the Internet, but not all online communities are equally successful. For every flourishing Facebook, there is a moribund Friendster — not to mention the scores of smaller social networking sites that never attracted enough members to be viable. This book offers lessons from theory and empirical research in the social sciences that can help improve the design of online communities.

What is the Use of Nonlinear Over Time?

I like the word nonlinear.

“In physical sciences, a nonlinear system is a system in which the output is not directly proportional to the input. Nonlinear problems are of interest to engineers, physicists and mathematicians and many other scientists because most systems are inherently nonlinear in nature. Nonlinear systems may appear chaotic, unpredictable or counterintuitive, contrasting with the much simpler linear systems.”

Wikipedia

I wondered what the use of the word nonlinear over time was. I found Google Books and they track such things with their Ngram Viewer.

Use of nonlinear over time

The use of the word nonlinear in books is decidedly nonlinear.

Measure Wi-Fi Signal Levels with the ESP8266 and ThingSpeak

Oh, my. I am sure you have been hearing about the Internet of Things… The IoT! You might be wondering how to get started with i(o)t. There are many places to start. You might be interested in the data that devices collect and analyzing it or you might be interested in how to deploy thousands of sensors around a factory floor to better understand how efficient things are. You might just want to tinker. Be the cool person at the party talking about Arduino, Raspberry Pi, and Maroon 5. If you want to try out a “thing” – a small, connected device – that can measure data, I will help you get started with a quick tutorial using the ESP8266 “thing”.

Parts

First, you need to go by a thing on Amazon. I recommend for this project an ESP8266 compatible device like the NodeMCU. Don’t be scared. Add it to your Amazon shopping list or ask Alexa to buy you one. It’s $8.

ESP8266 NodeMCU

Other parts that you will need:

  • Laptop
  • Micro USB cable

ThingSpeak

While you are waiting for your Amazon stuff to arrive, you can learn about ThingSpeak.

ThingSpeak IoT Platform

ThingSpeak is where we are going to store the data collected by our thing and where we can see the data that we collected. Visit ThingSpeak.com and Sign Up for an account. This will just take a minute and user accounts are free. Once you have a user account, you need to create a channel. ThingSpeak channels are where data gets stored. Create a new channel by selecting Channels, My Channels, and then New Channel. Name the channel, “ESP8266 Signal Strength” and name Field 1, “RSSI”. Click “Save Channel” at the bottom to finish the process.

Channel_Settings

Setup

Once the ESP8266 comes in the mail in a couple of days you need to gather a few more things to be able to program this thing. You will need a laptop and a micro USB cable (like the one that you charge a phone with). On the laptop, we need to install some software to be able to program the ESP8266. Visit Arduino.cc and install the Arduino IDE.

Arduino IDE

Once the Arduino IDE is installed, open the program so we can do a couple of setup steps to get it ready to program ESP8266 devices. Under File, Preferences, and Additional Boards Manager URLs, add this link: http://arduino.esp8266.com/stable/package_esp8266com_index.json – this will allow the Arduino IDE to manage ESP8266 compatiable boards.

Arduino Preferences for ESP8266 programming

The thing that you bought from Amazon uses the CP2102 USB driver. You might have to install a USB driver from Silicon Labs for this to work with your computer. Connect the ESP8266 to your laptop with the micro USB cable.

USB Driver for the ESP8266 CP2102

Back on the Arduino IDE, under tools, configure the following settings:
Arduino Board Settings for NodeMCU

Whew. We got through the setup. Now we can program this device or any ESP8266 compatible device and shouldn’t have to do that again.

Programming

The code that the Arduino IDE uses is called a “sketch” – this is just a short program that the device runs over and over. In our project, we are going to have the code measure the signal strength of the Wi-Fi connection and upload the data to ThingSpeak, wait, and repeat. Over time we can see the signal strength of our Wi-Fi connection. Copy the example code to your Arduino IDE and change some of the defaults to match your Wi-Fi network and ThingSpeak settings.

Once everything is set, click Sketch and then Upload. This will take the code and program the ESP8266 with it. It takes a minute so be patient. If anything goes wrong, make sure that you have the right board settings and that your “Port” matches what your laptop thinks the port is.

Back on ThingSpeak, you should see data start to come in. You are looking for the Private View of your channel and a chart that is updating. As new dsata comes in, the chart shows the latest value. If you carry the ESP8266 around the house, you might notice the signal strength changing.

ThingSpeak_Channel

Next Steps

To take the project further, you can use MATLAB on ThingSpeak to do some data analysis. I will post about IoT data analytics on another day. The ESP8266 source code for sending data to ThingSpeak is available on GitHub.

Welcome to the Internet of Things. Let me know if you try this out and let me know if you take this project further and build something cool.