I rarely bookmark any webpages I visit. The awesomebar has cleverly replaced the traditional paradigm of what bookmarks were. If I need anything, the awesomebar handles it. HOWEVER, one thing that it doesn’t do is remind me. The only time I use bookmarks is when I know I’ll never visit the site unless something reminds me to visit. For example, I just made a comment on a blog, and I want to see other comments or if the blogger replied to me. This particular blog doesn’t email me when people reply. It does have an RSS feed for comments, but nothing I want to go through the trouble of having to subscribe to it. So I choose to check manually. I would never remember to do so, so I bookmarked it.
At the very least, I would have a record that I should have checked it. Hmm, maybe something should automate this for me? ;)
Something very unfortunate happened last Friday. Do to some lack of intern foresight, we actually lost a good to great intern perk. I think all the interns came out of that meeting shaken up a bit, maybe even a bit angry for losing something that they weren’t responsible for.
But that got me thinking about all the perks that Mozilla does gives. Indeed, they don’t have to supply interns with an apartment for the summer. They don’t have to give us transportation to take us to and from work, and let us drive it where ever on the weekends. And they don’t have to stock the place with free beverages and snacks, and a wii console and a ping pong table. But they do, and it’s often easy to take for granted something that is a privilege.
For a good moment, I forgot what this internship means to me, and how lucky I am to be back. While I don’t think any of my mentors will start a start-up with me, it’s great to witness part of the process which makes a great company. So while the lost intern perk was unfortunate, it’s a very small price to pay considering what we’re still getting in return.
So I have been spending a few hours here and there since starting my internship doing this side project. It’s an extension that watches the tinderbox tree and reports back what is burning, and the status of certain tinderbox’n that your interested in.
There were a few goals I had in this release. The main objective however, is to help avoid making trips to the tinderbox page (because it’s large, and slow). For me at least, I am only concerned about Linux tinderboxes being red so I can checkout :). But others might have different needs. So I generally tried to include everything I can. But I could have made a mess of things.
I should mention that you should have a reasonably fast connection (ie. not 56K modem). Even GoogleWiFi was able to reasonably download the json and bonsai xml files that I needed to get things working. Most developers should be fine.
I mainly tried to squeeze as much information as possible into two popup menus, making use of the tooltip to show more information then would be otherwise possible. I also show what menuitems are links by giving them an icon. But it has been a bit overdone.
Anyways, here are some images to show you what you can expect.
When loading, you’ll be amused by the animated png throbber that shows up on the statusbar

Before it can be useful, you have to set it up

The options menu shows you what tinderboxes are available to be watch. For now, you will only see Firefox tinderbox. This was mostly because I was less interested in the other trees. Timeout refers to how long the extension should wait before updating. You want to keep this value to be reasonable.

The statusbar icon will show you the worst state of any of your chosen tinderbox trees.

A left click shows tinderboxes and their status

A right click shows bonsai information. From bottom to top, it shows most recent check-ins. Hovering over menuitems gives you the time/date of check-in as well the check-in message.

Sub menus show a component::file display. The reason for this was because showing the full path took too much room, so I wanted to show what I thought would give you enough information so you can reasonably take an educated guess as to what was being changed. Hovering, of course, shows you the full path and new version.

Bwahaha, the extension lives here in this insecure site until I get it up on AMO. You can also fetch the source from repository.cesaroliveira.net. Any criticisms (hopefully constructive) can be emailed. In the meantime, enjoy this most beta software :)
I’ve spent a few hours working with, and trying to figure out how to best incorporate some of the bonsai features into the json output of tinderbox. Bonsai output seems to be restricted to HTML only, at least initially. Searching devmo proved fruitless, so I asked in #developers where Mossop had a program he made a while back that parsed the HTML and found what he needed. While talking, someone (I can’t recall, and I apologize) mentioned that bonsai has XML output and pointed to a buildbot script, and after some analyzing came to the part I was looking for. It seems that that any bonsai query can output to XML by adding “&xml=1″ to the end of the url string.
Rock’n. I got a few more things out of the way, and hopefully have something out soon!
You probably guessed by my last post what I was working on. Well, here is a screenshot of what it’s starting to look like (this is an old tinderbox log, and options obviously isn’t yet synced with the UI just yet.
There is already an extension that does something similar, hidden within the tinderbox page. But I’m still happier with this result, since anything that saves a trip to the tinderbox page is a nice thing to have!
I have also been debating between the license I want to give this program. I am basically limited to around three choices, MIT/GPLv2/{Beer|Donation|Charity}ware. Each with its own unique traits. I can’t really see anyone commercializing this or putting into some sort of binary extension, so I don’t think the GPL would really benefit me. Nothing is set in stone. There is still time to make that decision.
This weekend, some of the interns (Gary and Armen) did sightseeing throughout the California area and clocked in almost 170miles. Almost all the places I went to I already went last year, except Watsonville which is some obscure town south of Santa Cruz. We passed pigeon point lighthouse again, but didn’t stop by. Here is the route we took for some beautiful scenery on Saturday :
View Larger Map
iPod much beloved once you get on the road near the trees/mountains and the reception gets very poor to listen to anything other than hee-haw music. When we arrived in Half Moon Bay, we stopped at a beach for a bit and Armen went for a dip in the freezing Pacific water. Gary managed to get a shot of Armen’s “Baywatch moment”. I was cold with a light jacket on, I can’t imagine how bad it must have been for him.
We also made a stop at a vista point to look over the landscape and seascape. It was actually quite beautiful. A few of bugs hit our windshield and made a squishy sound.
Today, on Sunday, we met with Anthony and did some San Francisco sightseeing. The route we took can’t be plotted on google maps properly because of one-way streets. But here is the best I could do :
View Larger Map
We walked around, a lot. To the point where it was shorter for Anthony to walk home rather than go back to the van with us. The trip back was long when you have to climb steep hills. We also passed the crooked road that SF seems to be famous for. We were going to go down, but the lineup of cars was huge and didn’t seem worth it.
I have pictures of both adventures. I just want to upload them to the website. Stayed tuned for pics.
Both trips were a lot of fun, but very exhausting. The exhausting part doesn’t make it feel like a weekend. We’re already planning the next weekend! So I guess I’ll have to rest on the weekdays ;)
Update 1: I upload our San Francisco pictures.
I’ve been writing an extension that uses part of Tinderbox’s (56K warning) json.js file. It’s an interesting experience, since I haven’t done much work with JSON before.
At over a meg, this json file takes quite a while to load. While parsing it and playing around with it for my own purposes, I noticed a few things that I would like to see :
- A JSON formatter refuses to touch json.js because it is too big. So I had to do one of my own (need to upload it once I pretty it up).
- JavaScript reportedly can load compressed javascript files. It would be mighty dandy for it to load compressed json (shrinking it down to a much smaller 84KB). Maybe it can! I have not been very successful
- Tinderboxe’s JSON output isn’t real JSON, but that has been noted and filed in bugzilla. Hmm, I wondered why an error message was being written to my console ;)
- I haven’t yet found a (simple) way to associate a check-in with a time/person, so I can’t “blame” a burning build on anyone. It’s got to the point where I was just about to comment asking them to reopen the bug, but loading in a new json.js file I noted some things that were not in the previous file. Mainly, the last json.js file I downloaded all had ‘undef’ in one section, and this one has a few names and id so I can sorta match when they checked in.
- There are files littered in tinderbox to a bunch of this data that json.js is supposed to replace (See Tinderbox’s README file, Other Files section). When I just started using JSON, the almost CSV file was both direct to the point and pretty much what I wanted out of the JSON file anyways. But it was still missing some things, like who checked in, the log file, the stats. And another file sorta had that information. So it was spread out. I am really hoping that json.js consolidates and really fixes this problem. But at the same time, it is also fairly complex.
Anyways, it will be all fun and worth it when this is done. At least, I’ll be using it :)
So while I await the final marks for my courses, it has finally given me some time to relax without having something in the back of my mind bothering me. I got the playstation back in my room and played a few games of Warcraft on my Wintendo box. Unfortunately, I have got a bit ill during exam week with a sore throat and fever. It seems to have picked up after exams (of course) accompanied with coughing.
I finally set up my website. I plan to put up a bunch of stuff here, but wordpress would have to do for now.
There is still plenty of stuff that has to be done for the next few weeks. The only thing that’s going to keep this blog working is if I keep busy.

