OSD700 0.6 and 0.7

So this will be my first blog post in almost a month, which is pretty bad.  The good news is the last month has been really eventful and I've done a ton of new stuff.  I've been working on getting Butter 0.2 "Ghostbusters" out the door ( another post on it's own ), Popcorn 1.2 done, working on various Firefox bugs, and working on a new side project I've been working on with Greg Wilson called Slide-Drive.  It's been a crazy month and I'm not gonna lie I've burnt myself out a bit, so hopefully this upcoming weekend refreshes me.

I'm going to jump right into the bugs that I've been working on over the last 2 releases and the status of them currently.  I've been working on finishing all of the original tickets that I started and also picked up  a SpiderMonkey ticket as well.

Bug 702161 was the first bug that I took on this semester and I'm glad to say that is finally staged! After my last post regarding this ticket I got a bit of feedback ( mostly regarding a small optimization that could be made ) and was told that after I made the fix I could set the ticket to checkin-needed.  So I made the fix and got Jon to push it up to the try server for me, I figured I was done.  I went to bed and woke up to some bugmail regarding the ticket.  It seems that I failed about 50 tests on various platforms, which resulted in me getting a "checkin-not-just-yet".  The reason I failed so many tests was that I was trying to access a property on an object that no longer existed due to my last fix.  The real reason I failed tho was because I tried to rush through getting this in and neglected one very important step, running the tests.  If I had of run the tests I would have found this out before pushing to the try server and wouldn't have embaressed myself on bugzilla.  In the end I fixed my mistake and got my patch landed, so it was an awesome feeling to finally get something landed.

The other ticket I got landed was 680321 which I blogged about my issues with prior to this post.  The final touches that were needed hear came via some guidance from Chris Pearce on where too look as I was having issues finding out what the source of the problem was.  It ended up being that one of the tests ( the one giving us problems ) was actually wrong.  I wish we had of known this a week in advance or decided to even consider this as a possibility instead of going crazy searching through code but it was a code experience in tracking down an issue in a large code base that I am unfamiliar with.  Working with Chris taught me how valuable IRC and good bugzilla communication is.  Being able to talk out an issue with someone who knows this code like the back of their hand is invaluable and really helped when doing this bug.  The bug itself was really interesting in the aspect that it wasn't easy to find a clear path to what needed to be changed. Since I was working in and around the video's preload states and how we handled video buffering accordingly, I often found myself jumping all over the code.  GDB really came in handy here as I wouldn't have been able to do it without being somewhat confident in using it.  This patch was definitely the most satisfying one I've worked on so far and consumed about a month of my life in the end. Pretty crazy when you think about it.

Currently I am working on finishing up some tests for 708814.  I've gotten positive feedback on my patch Jared Wiens ( aka "Jaws" ) and should have the tests finished shortly.  The tests involve checking to make sure that the controls fade away after the video goes fullscreen, so I'm also writing tests to make sure the video has gone to fullscreen, that the controls are initially shown, and that the controls do in fact disappear after 2 seconds.  After this ticket lands I will finally be ready to begin working on 686370, which was actually the first ticket I got.

The last ticket that I worked on was a SpiderMonkey ticket 722788. The ticket was to make JSON number parsing faster by using int's instead of doubles where possible.  I realized that this ticket was way more than I could handle pretty soon after getting it, tho I kept at it for as long as I could.  The one lesson that I took from this was that I have a ton to learn still, and am no where near done learning about programming.  It really humbles you working on something like this, and gives you a great perspective on what goes into something that web developers use everyday ( JSON number parsing ).  We all like to complain about how browsers have not implemented feature X yet, or how feature Y is so slow, and why is it that it's taking them so long to do this?  The answer is because none of this is simple.  It requires an immense amount of hard work, collaboration, and man hours to get this stuff done just so the web can continue to be awesome and progress at the rate that it is.  I'm glad I attempted this bug as it gave me a new appreciation for browser developers and gave me a bit of a behind the scenes look into Firefox' JavaScript compiler.


I'm going to attempt to not disappear from blogging for the next release and want to blog about all of the cool new features and bug fixes in Butter and Popcorn, so stay tuned!