GhostDriver, 90% and priorities

Last few weeks have been HECTIC to say the least. Work on GhostDriver and related PhantomJS improvements has been very intense. We just shipped PhantomJS 1.7, and work for 1.8 is already started (check out the ghostdriver-dev branch I linked above). GhostDriver has reached almost 90% completion for 1.0, and the code is being hardened, thanks also to the amazing work that Jim Evans is doing at spotting issues and, a lot of times, providing fixes. GhostDriver is getting better and better thanks to you Jim. ...

October 4, 2012 · 2 min · 388 words

Look mummy, I'm 80% done!

Let me give you a quick update about GhostDriver, the PhantomJS WebDriver implementation. Yes, it’s 80% ready for prime time (bugs aside)!!! How did I get from 40% to 80% so quickly? Because I decided that, for version 1.0, the commands that relate to the mobile web driver are out of scope. 1.1 or 1.2 will have them. For details, I suggest you check out the spreadsheet I’m using to track progress closely. ...

August 8, 2012 · 1 min · 82 words

BST traversal without stack or recursion (?)

SPOILER: this article assumes quite a lot of things about your knowledge of binary trees and data structure. I won’t spend much time introducing concepts. Deal with it. Some time ago I had the pleasure to meet with Chris Lord, who introduced me to the concept of Binary Tree Traversal without using neither a stack/queue or recursion. The list of requirements that such algorithm has to fulfil: Constant Space: no extra data structure to do the traversal Non-destructive: once finished, the tree needs to be exactly how it was before the visit Sounded crazy initially, but than I looked into it more deeply and discovered, thanks to some pointers from Luca Colantonio, that there is an algorithm in literature that does just that: Morris In-Order Traversal. ...

August 6, 2012 · 5 min · 964 words

The Stupid Olympics

I’m baffled on how stupid the British officials and politicians are. The entire show, is as bad in practice as it looks good on TV. Business starving for customers in Central London No one has tickets: either because are too expensive or because buying tickets was a Olympic sport on it’s own Empty stations and entire city areas because of TfL end-of-the-world-is-night emails Trains, somehow, still managed to get fucked up and cancelled Was all this on purpose?

August 1, 2012 · 1 min · 78 words

GhostDriver: a quick update

For whom might concern. Development of GhostDriver has been “slowed down” in the past 2/3 weeks for unforeseen heavy work schedule. The project is not dead AT ALL. Actually, important work has been done: I have implemented support for window.open() handling into the current PhantomJS master. This new feature in PhantomJS is KEY to unlock a whole set of functionalities that before we couldn’t implement in GhostDriver. So, while WebDriver Wire Protocol Commands were not added, a key blocker has been removed. ...

July 19, 2012 · 1 min · 112 words

GhostDriver: almost 50%

This post is long overdue. It’s weeks that I HAVE TO write it and yet couldn’t find the time to put it together. Oh well, better late than… Since my talk about GhostDriver at the Selenium Conference 2012 I have received lots of interest from the community about GhostDriver: finally a WebDriver for PhantomJS. If you haven’t followed me so far, a quick catch up: I’m working to implement the WebDriver WireProtocol on the top of PhantomJS, so to leverage our favorite headless browser. The project is proceeding, even though not as fast as I would have liked: you can find details about the current status in the “official” README.md and/or checking out the “Implemented Commands” spreadsheet. ...

June 26, 2012 · 3 min · 540 words

Git rebase: be a mother, not a plastic surgeon

Today I’m going to share a little tip about the use of Git. In contributing to open source projects, it happens sometimes that I have a long running branch; something on which I need to work for more than just few hours. The kind of work that goes on for weeks, sometimes months. **UPDATE: ** Matt suggested a great doc about rebasing. There is lol-cat-picture for every need Working on a branch is great: it let’s you work on a feature, a fix, an extension in total isolation, being sure you don’t disrupt anyone (and don’t embarrass yourself). ...

June 16, 2012 · 4 min · 852 words

Me @ the Selenium Conference 2012

It’s widely spread opinion that at some point of our career we, software people, should start giving speeches and talks. I’m firmly convinced that THAT is not for me, and I want to carve my ears out of my head every time I hear my heavily-accented-english, mixed with my ability to cut words and make the message come across barely understandable. But, this presentation was really important to me: I presented my-work-so-far on building a PhantomJS WebDriver. I call it GhostDriver (provisional name). ...

May 1, 2012 · 2 min · 221 words

A good memory is better than a sad reality

In the past few weeks/months an interesting trend started: game producers want to bring back to life genera that have come and gone. The most famous (has been on the tech-news channels for weeks) is Double Fine Adventure, the same people that have crafted incredible games that have colored my (our?) past: Double Fine Productions Founded in 2000 by industry veteran Tim Schafer (Day of the Tentacle, Full Throttle, Grim Fandango), the San Francisco-based company has established itself as a unique creative force with critically-acclaimed titles such as Psychonauts, Brutal Legend, Costume Quest, Stacking, Iron Brigade, Once Upon a Monster, and Double Fine Happy Action Theater. This year, you’ll be given a front-row seat as they revisit Tim’s design roots and create a brand-new, downloadable “Point-and-Click” graphic adventure game for the modern age. ...

April 29, 2012 · 3 min · 501 words

My current stake in PhantomJS

I have been spending a lot of time on PhantomJS in the last couple of months. But feels like I could have done much more: there are so many interesting issues to work on in the official tracker. ** Hey, why don’t you give us a hand? :) ** Some English expressions still puzzle me… Here is where my stake is. REPL I just finished putting down a new wiki page that explains a bit about the REPL and how it works. Give it a read and let me know if you want more clarification. ...

March 28, 2012 · 2 min · 395 words