Feb 02

Raspberry Pi 2

Hey All,

A big announcement came from the Raspberry Pi Foundation today!  They introduced the Raspberry Pi 2!

The biggest change is the CPU has been upgraded from a single core ARMv6 @ 700Mhz to a QUAD CORE ARMv7 @ 900Mhz.  The RAM has also been upgraded from 512MB to 1GB.  The price is going to remain the same as well!  Only $35!

The upgrade from ARMv6 to v7 is pretty big.  v7 can run things like Ubuntu and Android OS.  Most main line software repos are precompiled for v7 first as well.  Microsoft has even mentioned that Windows 10 will be free for the Raspberry Pi (though in an Internet-Of-Things way which may be more like the Intel Galileo than a full desktop environment).

All software should be backwards compatible so PiPlay should work right out of the box, along with a much appreciated speed boost.  I can’t wait to start recompiling the source code to eek out as much power as possible from this new core!

Most of the retail sites are swamped, but here is a list of places to order:

Pi2ModB1GB_-small

Jan 31

Friday Post: PiPlay Sneak Peek

Hey All,

I wanted to give you all a sneak peek on the next version of PiPlay.  The biggest feature is that we are moving from YAML files to a sqlite DB to store a lot of the data.  There are also lots of optimizations and speed improvements.

My two favorite features have to be the ones that Mark implemented:  Favorites, and Game Info.  You can now favorite a game and it will appear in the favorites category.  Alongside the game list, you will also find info available about your game (as long as you have run the scraper.)

The web interface has also been extended to include database editing.  You can now add menu items to frontend via the web interface.

1 2 3 4 5

 

This release should be out in the next week or so.

Have a good weekend everyone!

Jan 23

Friday Post: Javascript for Kids Review & iOS dev needed

Hey All!

So my 31st birthday was great.  Got a Gamecube controller adapter for the Wii U, had some 8 player smash battles, and my wife made me an awesome Pokemon cake!

IMG_4703

PiPlay iOS App

So one of the items I have been working on on the side for PiPlay is a remote controller option.  I have the backend working.  A daemon sits on the Pi as a virtual keyboard (using udev) waiting for a specific HTTP request which is then interpreted and issued a keypress.  It’s really cool to see in action, but ugly as all get out.

This is why I am asking if anyone has any iOS design / dev experience, I would love to chat with you and hopefully work together on this as an open source project.

10935506_10103804677807022_1324185694_o

My not so impressive mockup skills 🙂

Book Review: Javascript for Kids

Javascript For Kids is the next book in the “For Kids” series from No Starch Press.  When they originally sent me the Python For Kids book, I was really excited.  It was my first time reviewing a book, and it was an amazing text in its own right.  So when they told me Javascript For Kids was available, I jumped at the chance to review a copy.

I’m going to say this outright: I like Python For Kids better.

Javascript For Kids takes you from zero programming experience, all the way to programming graphics and mini games using the canvas tag.  Whereas Python For Kids was very easy to read and hard to put down, I find this book to be information dense, and a little overwhelming at parts.  The author knows his stuff, and the information is clear and well written, but I wish the book was paced a little slower.

That said the examples used are lots of fun, and the audience will probably enjoy writing and expanding on the included code.

No Starch landed a 10 / 10 on Python For Kids, which set the bar extremely high.  I’m giving Javascript For Kids a 7.5 out of 10.  It’s deserving of the For Kids title, and I eagerly await the next book in the series.

Have a good weekend all!

-Shea

Jan 17

Friday Post: 31

Hey All,

So I’m 31.  I feel like this year is going to be amazing.  I’ve felt burnt out on a few things, been struggling to find time to do everything I wanted.  But this year I’m going to work on better time management.

I’ve finished the tough part of my book, the writing portion.  The revisions are also done.  All thats left is to proof read the final copy when it’s ready.  This book took a lot out of me.  If I say I’m writing another book after this, punch me.

My goals this year are:

  • PiPlay
  • Finish some of my game backlog
  • Release a Swift app

I’m currently working on a swift based controller that interfaces with PiPlay.  I’m excited about it.  The code is done, but the design is ugly.  If you are good with Xcode / app design, shoot me an email!

This weekend is Otronicon at the Orlando Science Center.  It’s a convention filled with Digital Media, Gaming, and Simulation.  If you are in Orlando you should check it out.

Have a great weekend!

-Shea

Jan 10

Friday Post: Django, AWS, and oAuth

Hey All,

So the semester begins on Monday, meaning this whole week our department has been dealing with semester startup.  Making sure all our apps are tested, available, and production ready.  One of my apps has become the guinea pig for moving our infrastructure into the cloud.  This has been a really fun experience like rewriting parts to save to S3 instead of the filesystem, etc.  Except when it hasn’t been fun.  Like dealing with oAuth behind a load balancer.

Long story short, if you use Django, AWS, and oAuth or LTIs (and SSL), add this to your config file:

USE_X_FORWARDED_HOST = True
SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')

Basically, we have our website serving HTTPS through a load balancer, and due to some other infrastructure setup, our oAuth URL was being changed during the signature check.  This caused it to become invalid.  Adding the two lines above fix the whole issue.

Have a good weekend!

-Shea

Jan 02

Friday Post: 2015!!!!

Hey All,

Happy New Year!!! 2014 was an amazing year for me:

  • Got contracted to write a second book (almost done)
  • Ran a successful Kickstarter
  • Had YTD 64,000 downloads of PiPlay
  • Spoke at PyCon, Computers in Libraries, and EDUCAUSE conferences
  • Participated in Orlando Maker Faire
  • Was able to hire the very talented Elizabeth Williams to be part of my team at work
  • Developed software that is helping 60,000 students
  • Added a very cute and very annoying kitten to our family
  • Learned a few new technologies that I had been putting off
  • Watched my wife get a great new job
  • Watching my friends start families
  • Made some new friends

Not to say everything has been great, but the good has totally outweighed the bad.  I have to thank all of my readers as well.  I couldn’t have done without you all.  Thank you!

Amiibos

So I’ve been hit by the Amiibo bug.  I started cutting out these stands for my collection.

IMG_4653 IMG_4654 IMG_4655 IMG_4656 IMG_4657 IMG_4658 IMG_4659 IMG_4660 IMG_4661 IMG_4662 IMG_4652I may have gone a little overboard.

PiPlay

The next version of PiPlay is really coming along.

snapshot

You can see our game listing screen now shows a lot more info.  We are also moving a lot of our configs into SQLite DB files for faster retrieval.  This is going to be an awesome release!

Happy 2015 everyone!

 

Dec 21

Sunday Post (Can I pretend it’s still Friday?): Pycon 2015

Hey All,

I can’t believe it’s getting to the end of 2014. What an amazing year this has been!

I just found out that my coworker and I have had our poster submission accepted into Pycon 2015’s poster presentation session.

I’m really excited that I get to again showcase my work in front of the Python community.

I hope everyone has a really great holiday! I look forward to writing my last blog post of 2014 next Friday.

Enjoy!

-Shea

Dec 12

Friday Post: Time Drift Sucks

Hey All,

I’ve been plagued by a bug at work for the past 6 months. Every so often, my oAuth library would fail out of the blue, causing some of my apps to die. It never occurred in production, only in our development environments. If I made the oAuth token by hand, or used the console, it worked fine. If I waited a few minutes, it would authenticate, and everything worked. Totally random, no rhyme or reason.

It wasn’t until this week when I was trying to use a library and upload some test files to an AWS S3 bucket that I got an error. My request time signature was 19 minutes behind the Amazon server. AWS (and my oAuth lib) have a 15 minute time window. But why was this happening? My clock was synced using NTP. I went to check my app and it had also failed. Then it hit me. I hadn’t rebooted my machine in a week. Our dev environments use vagrant, which runs a small virtual machine that containerizes our software. The virtual machine has its own clock, which gets synced on reboot. Over the week, it’s clock slowly drifted just enough that my timestamps failed for Amazon, and then for oAuth. Every so often it will resync, but not fast enough.

In 2014, I thought Time Drift was a thing of past, a relic of dying CMOS batteries, but it still exists today. So if you are ever using vagrant to develop your applications, setup an NTP daemon on the virtual machine, or just vagrant halt / vagrant up every so often 🙂

Happy Friday!