Working on GameSaver, pt.2

•October 26, 2011 • 1 Comment

Well, after looking through the details provided by dmose at the gamesaver github @, I’ve been doing a lot of reading up on node.js, browserID, JSON, and the myfavouritebeer example.  Even though the use case I’m working on sounds quite simple (user clicks on the restore button and sees the game jump to the save point), the fact that there hasn’t been really any work done on GameSaver poses quite a challenge – I don’t even know where to start!  I’m going to have to have a nice talk with jbuckley or dmose to get some direction.


Working on GameSaver

•October 25, 2011 • Leave a Comment

Okay, it’s been far too long since I blogged – just been far too busy with coursework!  I talked to Jon Buckley to contribute to the paladin project and now I’m working on GameSaver, which is a server to save games as JSON blobs using browserid for identification.  The ticket/story i’m working on is here

got lots to learn again..

0.1 release of oStatus plugin for Popcorn.js

•September 29, 2011 • Leave a Comment

Well, it’s been a rough but enlightening journey so far getting to work on bug #334 for popcorn.js.  After finally getting a basic understanding of how plugins were implemented in popcorn, and how the Status.Net javascript API worked, I was able to flesh out and code a basic oStatus plugin that is able to create the three social widgets that the Status.Net javascript API currently supports.

Unfortunately I have not been able to test my plugin outside of running the popcorn test suite (which it passed, thankfully) as I believe I require a functional, installed instance of Status.Net to do so – I created an account at in hopes of testing my plugin against it, but the Status.Net wiki is cryptic and incomplete at best so I couldn’t figure out how to do so.  The instructions on creating social media widgets are much clearer for a locally installed instance of Status.Net, so I’m currently installing an instance on a server I have and hopefully I can begin writing up some unit tests for my plugin in earnest soon.

I’m also going to double check with the guys at #popcorn (and probably the Status.Net devs at #statusnet on freenode IRC) to make sure I’m on the right track since I’m having difficulty really getting into the Status.Net API.  I expect 0.2 to be tested and to be more aligned with the expectations of the plugin.

The link to 0.1 is at


javascript function scope and closures & plugin progress

•September 28, 2011 • Leave a Comment

I had a really hard time wrapping my head around how javascript handles “scope” (ie its very different from the way I learned about scope say in C, or Java) and also closures.  The textbook I borrowed didn’t explain it all that well to me.  I found an excellent blog post about Javascript closures was absolutely great in explaining closures at a beginner level.

…So here I am grinding away at the popcorn source code, looking at existing plugin source code as a good starting ground for my Status.Net plugin – I’m finally starting to get the idea of how plugins are implemented in popcorn.  Namely, there is a plugin function within popcorn that takes in three parameters: a string containing the name of the plugin, a manifest object containing info about the plugin and configuration options (n the form of an associative array), and lastly the plugin declaration itself.  The declaration takes the form of a function which accepts the options array, and using the options toggled in the options array, does whatever it needs to do to create a new HTML element where all the magic happens.

Now I’m going through the Status.Net API at to see what I need to do to get Status.Net plugins to display in the HTML element, then I need to start working that in to my popcorn plugin.

Re: Second week “readings”

•September 20, 2011 • Leave a Comment

Having just watched the bulk of both videos by Mike Beltzner and Dave Humphries on Open Source-related topics, I find myself more motivated and assured in my path through open source.  The timing of me watching these videos couldn’t be any more perfect: having just volunteered to start working on popcorn.js and seeing the source code for the first time, I nearly exploded my brain trying to understand it all – it was too much and I didn’t know enough javascript to comprehend what was going on in a single module – forget even putting it all together.  I was quite discouraged at that point and I closed my text editor in frustration.

But both speakers in the videos  conveyed how every contributor to open source development has humble beginnings, starts off knowing virtually nothing, but through perseverance can become a powerful contributor.  Dave Humphries was able to summarize this quite well in his presentation:

“…the way im telling you to get involved in open source isnt something you can do in a weekend; it’s something that requires a lot of time, it requires you to make commitment, because what you’re doing is immersion; you’re learning a language by going somewhere else and living there.”

It’s definitely going to take lots of time for me to really get rolling with any semblance of confidence, but I know now that the more I put into this, the more I will get out of it.  I know now that in order for me to learn, i’m going to have to tackle the code head-on and get my ass whooped, but there will always be a community of individuals that will be more than willing to help me learn, understand, and ultimately contribute, because that’s what open source is about.

Jumping into the deep end – Popcorn.js

•September 19, 2011 • Leave a Comment

Finally took the first step, plunged into the world of IRC and boldly declared to the popcorn channel that I wanted to help out. The guys there, cadecairos, rwaldron, jbuck, and humph were very patient, understanding and helpful in getting me set up with everything.  My thanks to them.

I volunteered to work on the oStatus plugin for popcorn. Just finished forking the repo onto my computer…let’s see what happens!

Reactions to first-week readings for DPS909

•September 7, 2011 • Leave a Comment

I read the Microsoft EULA for Windows 7.  One thing in particular really grabbed me:

“LIMITATION ON AND EXCLUSION OF DAMAGES. You can recover from Microsoft and its suppliers only direct damages up to the amount you paid for the software. You cannot recover any other damages, including consequential, lost profits, special, indirect or incidental damages.

This limitation applies to
· anything related to the software, services, content (including code) on third party Internet sites, or third party programs; and
· claims for breach of contract, breach of warranty, guarantee or condition, strict liability, negligence, or other tort to the extent permitted by applicable law.
It also applies even if
· repair, replacement or a refund for the software does not fully compensate you for any losses; or
· Microsoft knew or should have known about the possibility of the damages.

Emphasis mine.  Microsoft can knowingly ship code with major bugs, not give a rats a**, and still get away with it!

Also found this at the very end of the Microsoft EULA:


Also read the MIT EULA.  Loved its compactness, (relative) simplicity.  It shocked me how “open” it really was!

Reading “Cathedral and Bazaar” by Eric Raymond:  Initially I had no idea what the tale was about, but by the end of it I was very impressed and inspired by how open source bazaar-style of development can really succeed and lead to great things that no one can anticipate – but at the same time, it’s not the magic cure to everything, with Mozilla being the leading example.