Citysearch.com.au On Nintendo DS
This is my first attempt at using Opera on my Nintendo DS, recorded using Panasonic Lumix. The video was edited using Kino with sound effects from The Freesound Project. For the record, I did my best Indonesian accent, notice the ‘rrr’, the ’sss’, and the ‘d’ replacing the ‘th’.
I had a go at browsing Citysearch.com.au to see how it looks like on a handheld device. I think the site is still quite usable, the default CSS works fine. Business Finder HTML chunk need to be moved further down so verticals content is served first. Spoiler: starting from 5:00, I was trying to figure out how to click a link using the stylus and it took too long after 2.5 minutes, so I stopped the video. If you got bored, fast forward to the end where I gave myself an applause. Spoiler 2: at around 2:40, my brother made a voice cameo appearance by asking for the bus timetable.
Projects: buildmonitor firefox hudson jcaptcha kaptcha
by Cliffano Subagio
3 comments
Kaptcha v2.3 And BuildMonitor v0.7
Jon released Kaptcha 2.3 which includes a patch I submitted about 2 months ago. This patch replaced imaging library with pixels. If you look closely at the new kaptcha image…
you will notice that the water effect (at the centre of the image) is now visible with pixels, whereas it wasn’t at all with imaging library in the original simplecaptcha implementation. I tested various settings of the water effect, and opted to minimise the effect so lowercase letters on a small font size are still easy on human eyes. Another change with 2.3 is the ripple effect on the characters. It’s not too obvious on the above image, but it’s more visible on uppercase letters with larger font size.
All in all, I think Kaptcha is a nice simple library that does the job. I started using it with Blojsom SCode Plugin, and contributed some improvements back to Kaptcha. Another (more popular) java-based captcha library is JCaptcha, which is also used by SCode Plugin. I’m not a big fan of JCaptcha for the simple reason that their generated captchas are hard to read. It’s interesting that similar comments were made on Hudson mailing list.
Now, on to Hudson Build Monitor. I just released BuildMonitor 0.7 last night. This version is compatible with the recently released Firefox 3.0.1, and it includes id-ID l10n as the first translation. Next version will have build executors monitoring. I’ve started working on the UI, but the data feed is yet to be added to Hudson core.
As you can see from the add-on page over at mozilla.org, this add-on still hasn’t received an approval for public access. I understand that the AMO editors (which all/mostly are volunteers) have been working hard with the crazy number of submissions per day since Firefox 3 release, but I believe that the current approval process will keep facing the same problem every time there’s a sudden jump in the number of add-on reviews, unless Mozilla allocates additional editors to help out. This is not a rant or gripe towards the editors, on the contrary, kudos to them for the work that they’ve been doing.
If I can suggest a change to the approval review process, I think it’s better to distribute the review tasks to the submitters by specifying a detailed list of tests that must be done by those submitters, and keep the tasks that the editors must do as minimal as possible. For example, if AMO provided me with 50 things to test, then I would go through the list, record the tests as a video, and put them on youtube. The reviewers can then just review the video, and still perform only the really really necessary checks, like scanning the source code for any obvious security issues.
So, Hudson users, please be patient, you have to keep logging in to add-ons.mozilla.org to download the add-on for now :).
Ten Years In Melbourne
On this day, ten years ago, I arrived in Melbourne as a teenager to attend university. I never thought that I would still be here, ten years later, working at a company located about 2 blocks away from the university.
This picture was taken earlier this evening. The intersection of Swanston St and La Trobe St, right at the heart of Melbourne CBD.
Melbourne’s weather may not be the best in the world, but it is home :).
We’re Catching Up To Singapore
Spotted this sign at Safeway’s parking lot in Carnegie. It was the first time I saw such a ridiculous amount of fine displayed on a public sign in Melbourne.
With $4,000 littering fine, we’re catching up to Singapore jussst fine. Ok, sarcasm aside, I wonder what the council was thinking, do we Melburnians need to be threatened with fines?
Don’t drop any banana skin. It might cost you $2,831.
BuildMonitor Development Notes
Usage Scenario
When I first developed BuildMonitor, I thought that the typical users would be something like a team of 5-10 developers working on a project, and they would be located in the same building.
After v0.1 was released and feedback started coming in, I learned that some users want to monitor 10-20 projects on the same Hudson instance, there are projects with developers scattered across different time zones, and there was someone who asked for non-English translations since Hudson itself has been translated to 7 languages.
Feed Processing
On v0.1 BuildMonitor attempted to parse a complete Atom feed using jFeed & jQuery, which was ok on my tiny test feed, but failed misserably on real projects with lots of builds resulting in large feed. The full Atom feed parsing slowed Firefox for several seconds and froze the user interface, specially on low-spec machines.
This had since been fixed by parsing only the minimum required elements and by limiting the number of builds to parse. I also decided to use plain DOMParser instead of jFeed.
Testing
Javascript and XUL coding was the fun part of the add-on development, testing was the annoying part. I haven’t found any way to automate Firefox Add-on testing, and as everyone knows, manual UI testing sucks.
Mozilla Add-ons Policy
Mozilla has been doing a great job with ensuring the quality of the add-ons with their policy which protects Firefox users from malicious add-ons. The policy requires user reviews for public access nomination, but at the same time the site requires user registrations / login to download a sandboxed add-on, something that most people like to avoid.
This introduces a chicken or egg situation. Add-on needs users to test and review the site, but the potential users and reviewers are chased away by the requirement to login. This is even worse for BuildMonitor because the intended audience is targeted to Hudson users, a much smaller portion of Firefox users.
L10N
New translation can easily be added to BuildMonitor by adding new locale files to /trunk/hudson/extras/firefox-extension/buildmonitor/src/chrome/locale/ .
As someone who is quite fluent in Indonesian, I attempted to translate BuildMonitor to Bahasa Indonesia (id-ID locale). And it turned out that translating IT terms to Indonesian wasn’t easy, even with the use of Glosarium. I left Indonesia before the era of Internet, and by now there are tons of Indonesian technical terms that I’ve never heard of before.
What’s Next
Figure out a way to implement automated unit testing, at least for the javascript code, consider using JSMock and JsUnit. Try using Maven to build BuildMonitor, to make it consistent with the rest of Hudson.


