20 Nov 2011, 1:25am
Work:
by

leave a comment

  • Canberra Workcapade 2011

    I went to Canberra this week to attend Open Source Developers Conference 2011 and also to give a talk titled Continuous Delivery Using Jenkins. OSDC ran for 3 days, and was held at Australian National University.

    OSDC 2011 was very well organised, much thanks to the organisers: Evan Leybourn, Gavin Jackson, and the volunteers squad. It was an interesting grass roots conference with lots of passionate open source geeks, definitely learned a lot.

    Slides from my talk:

    Update (24/11/2011): and the video of the talk:

    Canberra was still as quiet as ever…

    13 Aug 2011, 6:46pm
    Work:
    by

    1 comment

  • Node.js Presentations

    I gave two Node.js-related talks within the past week.

    The first one was titled “From Java To Node.js”, at Shine Technologies‘ developers meeting on August 5th, 2011.

    The second one was titled “JavaScript Everywhere From Nose To Tail”, at Melbourne JavaScript usergroup on August 10th, 2011, with Carl Husselbee from Sensis.

    Happy with the positive feedback from the audience of both talks, thanks folks, much appreciated!

    Update (08/09/2011):

    And here’s the video from the second talk…

    JavaScript Everywhere – From Nose To Tail from Benjamin Pearson on Vimeo.

    26 May 2011, 12:26pm
    Work:
    by

    leave a comment

  • Running CouchDB-Lucene On Tomcat

    As of the time of writing, CouchDB-Lucene (v0.6.0) distribution was bundled with Jetty WebServer and runnable from command line. But if you dive a little bit into the code, you’ll find that the run script basically executes com.github.rnewson.couchdb.lucene.Main, which in turn (1) reads the couchdb-lucene.ini config, (2) creates a Jetty Server, and (3) sets up com.github.rnewson.couchdb.lucene.LuceneServlet on the server.

    At work, we had to use Tomcat due to SOE reason, so I spent a bit of time trying to get CouchDB-Lucene running on Tomcat and get it deployed as a .war file. Here’s how we did it, please note that this is the tedious way of doing it, all because I had to integrate CouchDB-Lucene into an existing web app. There’s an easier way to build a .war file mentioned at the end of this post.

    1. Unpack couchdb-lucene-<version>.zip .
    2. Create a standard web app directory structure with WEB-INF dir.
    3. Configure LuceneServlet in your-app/WEB-INF/web.xml .
      <web-app>
      ...
      <servlet>
      <servlet-name>lucene</servlet-name>
      <servlet-class>com.github.rnewson.couchdb.lucene.LuceneServlet</servlet-class>
      </servlet>
      ...
      <servlet-mapping>
      <servlet-name>lucene</servlet-name>
      <url-pattern>/</url-pattern>
      </servlet-mapping>
      ...
      </web-app>
    4. Copy all jars from couchdb-lucene-<version>/lib/ to your-app/WEB-INF/lib/ . The jetty-*.jar files can be excluded.
    5. Copy couchdb-lucene-<version>/conf/couchdb-lucene.ini and couchdb-lucene-<version>/conf/log4j.xml to your-app/WEB-INF/classes/ .
    6. Deploy your-app on Tomcat.
    7. Configure the CouchDB external process hook script with the host name and port number where Tomcat is listening on.

    There was one catch though, LuceneServlet did not have any no-argument constructor for the web.xml configuration, so that’s one of the changes I had to make. The other change was some file reorganisation so that you can use mvn war:war to generate a target/couchdb-lucene-<version>.war file. Too easy!

    I’ll submit a pull request to master later, but in the mean time you can clone my fork to get the patched LuceneServlet and to easily generate the .war file.

    Update (27/05/2011): It’s now part of couchdb-lucene master as of 0081272a30dc679effc1cf1298e365b953f568a5, should be included in v0.7.0 .

    25 Dec 2010, 9:55pm
    Work:
    by

    leave a comment

  • XMas Lego Mindstorms

    Last week we had an early XMas celebration over at Shine Technologies office, geekin’ it with some Lego Mindstorms.

    We had to wire up some logic blocks for the Lego robot to use in a simple maze. The goal was to traverse a path within the maze, the challenge was to pass some obstacles like opening a gate, executing several turns, and opening a door handle.

    Our robot, all kudos to @manishchhabra27 for revving it up.

    The simple maze. This robot was using its light sensor to detect the black line.

    We took a different approach by using the ultrasonic sensor to detect the wall, the reasoning behind it was that traversing the black line was by far a slower process (albeit safer). But we had one problem with our approach, our robot had bad tires that made it drift to the right and then hit the wall anyway. It’s a hardware problem!

    Another team’s robot. Fetch the beer, my precious.

    4 Jul 2010, 11:10pm
    Work:
    by

    leave a comment

  • New Zealand Workcapade 2010

    Workcapade -noun: like an escapade, extra work days on a weekend.

    Last weekend I went to Wellington, New Zealand, to attend CITCON A/NZ 2010. Write ups about the event have been posted on ShineTech blog:

    In summary, the current hotness in CI world is continuous deployment, citing the experiences from IMVU and Flickr.

    I didn’t get much chance to check out Wellington, it was raining for the whole three days I was there. My immediate impression of Wellington was that the CBD resembled Melbourne, while the areas up the hills reminded me of Hobart. It’s also strange how Lambton Quay was empty at 10pm on a weekend, even many of the cafes weren’t open at 11am on a Sunday. No people, no traffic, no worries, no problem.

    I didn’t see any sheep in New Zealand.

    Recent Posts

    Recent Comments

    • Cliffano Subagio: Good to hear about your opportunity to visit Japan, I’m sure you will have a great...
    • Kayla: I’m going to Japan for two week this summer. Our sister city is Tsubame, Japan and my school has an...
    • poseidonfu: thanks,Very effective
    • anonymous: I really enjoyed both the last lecture and the book. I don’t think that theres anyone that I look up...
    • dioni: The thing I hate about HK is how people shove and push in the queue. Can’t they be civilized?!! I kept...

    Most Commented Posts

    Linkroll