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!

Nov 23

Late Friday Post (yeah it’s Sunday): IAAPA! Super Smash Bros!

Hey All,

Sorry for the super late post.  The weather changes here in Florida knocked me on my butt.  I’ve been in bed for the past two days trying to get over this cold.  Going from 40 degrees to 70 to 80 back to 40 just messes with me.  It also didn’t help that I ran myself ragged on Friday.

IAAPA

So Friday was the “members of the public” day at IAAPA.  IAAPA stands for  International Association of Amusement Parks and Attractions, which means that if you ever wanted to see how a ride works, or where to get new arcade machines, or pretty much anything within the amusement / coin op sector, this is the place.  I go every year and it is always a blast.  The biggest noticeable trend this year is how un-3d everything is.  2 years ago every ride and game had a 3D gimmick to it.  Now, pretty much nothing is 3D except for the big ride experiences.

This year some of my coworkers went with me.  They enjoyed themselves.

Super Smash Bros.

Super Smash Bros. for Wii U came out this weekend.  Holy crap it is amazing.  I had friends over on Friday, we played 8 player smash, and it was a riot.  I will have the image of me playing as Samus getting the smash ball and taking out all 7 of the other players in one final smash attack burned into my memory for a very long time.

It’s a beautiful, well made, extensive game.  I have no idea how long it is going to take me to unlock everything.

The game also includes support for Nintendo’s new NFC characters called Amiibos.  Think Skylanders but different.  For now, the way they work is dependant on each game.  For Mario Kart 8, it just unlocks new outfits.  In Smash Bros, they act as a super smart CPU character.  The figures are really well made and look good sitting on display.

IMG_4536

I’m still trying to get some of the NFC info from them.  I’d love to write a program to back up the data, but it’s hard finding info on the MIFARE Ultralight chip it identifies as.

If you have any info please let me know!

Have a good week all,

-Shea

Nov 15

Friday Post: MakeSmith CNC Router

Hey All!  Happy Friday!

This has been a “short” week for me.  Had the day off on Tuesday for Veterans Day, and today campus closed early because our football team is going up against Tulsa.  Go Knights!

PiPlay happenings!  Mark has been working on an advanced database scraper tool.

IMG_20141114_163640

It’s going to be awesome once it’s get a little more polished.  I’ve been working on some more controller stuff.  I’ll have more to say about that soon.

MakeSmith CNC

A few months ago I backed the MakeSmith CNC router kickstarter.  The project was created to design and sell a CNC mill / router that cost less than $200.

cncnew

IMG_4466 IMG_4467 IMG_0147 IMG_0148 IMG_0149

My kit arrived yesterday, and I’ve gotten what appears to be the base put together.  The instructions are in the form of a bunch of YouTube videos, so I’m watching each one a few times, and then attempting the install.  I have forgone using wood glue at the moment, just in case I mess up or need to redo something.  I figure I will just reinforce the joints after everything is attached.

Have a good weekend all!

-Shea

Nov 07

Friday Post: DISPMANX_vnc and Homepass

Hey All,

Happy Friday!  I want to send a Very Happy Birthday to my Father.  This weekend is his birthday and I’m very proud to be his son.

I’ve been very busy these past few weeks,  I’ve been contracted to write a second edition of my Raspberry Pi Gaming book, and it’s taking up a lot of my time.  Even though its a subject I’m very familiar with, i’m finding out tons of new things I can do with the Raspberry Pi that have cropped because of my need to record and capture things coming from the Pi’s framebuffer.

I’ve been using a few tools, mainly ones involving DISPMANX to copy the framebuffer into a png file.  It’s called raspi2png and it works really well.  Sometimes its difficult to trigger raspi2png at the right time though.

One thing I have always wanted was a way to ssh / tunnel into the actual console terminal.  Not a new tty device, and not from XWindows, but the one that displays on /fb0.  Enter dispmanx_vnc.  I had never thought of using VNC to tunnel the framebuffer,  but Hanzelpeter has done just that with dispmanx_vnc

There’s definite input lag, and I can only achieve about 15fps, but it is the best way I’ve found to record and capture straight from the framebuffer right now.  I can ssh into my Pi, run the dispmanx_vnc command, then use a VNC viewer (I used tightvnc) to control the main display.  I’m so excited about this 😀

Other news, if anyone has a 3DS, then you know about StreetPass.  It’s a way to virtually meet others who are around you with their 3DS.  There are a bunch of mini games built into the 3DS that require you to meet people using Street Pass in order to advance. There is also Street Pass Relay, which Nintendo created last year.  This allows those who are connected to a Nintendo Zone wifi access point to StreetPass with others from around the world, who are also connected to a Street Pass Relay. So of course this has been reverse engineered, and you can now turn a Raspberry Pi into a “HomePass” StreetPass relay.

Original instructions here .  There is a premade SD card available here, but I have yet to try it out.

Have a good weekend all!

-Shea