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…

    6 Nov 2011, 11:59am
    Projects:
    by

    leave a comment

  • Use Jenkins On Firefox By Talking To Your Mac

    I was watching I, Robot the other day, and thought how great it would be to use voice to control Jenkins.

    So last night I did a quick read, and then recorded this video.
    This used Mac Speech Recognition, so in theory I talked to my Mac, which then opened Jenkins pages on Firefox. Here are the commands:

    1. ‘Open Jenkins’: opens Jenkins home page (dashboard)
    2. ‘Build Bob’: builds a project called Bob
    3. ‘Configure system’: opens Jenkins configuration page

    I had to repeat each command 2-3 times because I speak Indonesian-accented English.

    Note: I scrolled the page up and down using the trackpad, it could be voice-controlled too actually.

    It’s easy to add a command:

    1. Create a new file in /Users/<username>/Library/Speech/Speakable Items/Application Speakable Items/firefox directory containing:
      <?xml version="1.0" encoding="UTF-8"?>
      <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
      <plist version="1.0">
      <dict>
      <key>URL</key>
      <string>http://jenkins-host:8080</string>
      </dict>
      </plist>
      

      This format is Mac OS X Property List.

    2. Save this file as <command>, e.g. Open Jenkins (yes, with the space).
    3. Open System Preferences -> Speech, and switch Speakable Items on.
    4. Configure the Listening Method. I set it to Listen continuously with keyword, and keyword is Required before each command. My keyword is VIKI, you know, Virtual Interactive Kinetic Intelligence, from the movie.

    I haven’t investigated how much programming can be done on the command file, but this opens up the possibility of mapping Jenkins HTTP API to commands, and we will be able to fully interact with Jenkins using voice.

    Then the only thing left to do is… develop an American accent.

    23 Oct 2011, 3:28am
    Life:
    by

    1 comment

  • Hong Kong & Macau Trip 2011

    Went for a 2 weeks trip earlier this month, 6 flights, 5 cities, and a series of nasty digestive issues during the whole trip, but I survived anyway. Lesson learnt: you can loose 6 kg in 10 days by mostly eating chocolate croissants.

    Another lesson learnt: never go to Hong Kong or Macau during China’s National Day holiday period. It was extremely crowded, long queue at each tourist attraction, and the worst was when people started pushing and shoving in the crowd, or attempted to cut the queue, that annoyed me to hell.

    The best food? Found a small noodle place at Sheung Wan. Latte Girl approved the delicious food, while I was just happy to not get my stomach upset that time, so that was two thumbs up. That noodle place caught our attention because they put up a picture of Chua Lam visiting the restaurant, Chua Lam is a food critic who made several appearances on Iron Chef, one of my favourite TV shows.

    It was also the first time we experienced typhoon warnings, nothing too severe, but it still wasn’t fun when you had to queue for an hour in a strong wind. On the other hand, Hong Kong was actually a great place to walk around and explore when it wasn’t windy, specially at night.

    Some Hong Kong pictures…

    And Macau… with its interesting Portuguese architecture.

    22 Oct 2011, 11:20pm
    Projects:
    by

    leave a comment

  • Nestor – A Faster And Simpler CLI For Jenkins

    It all started because at one point I was using a rather resource-challenged machine running Windows and an Ubuntu VM at the same time, and Firefox froze every so often, rendering Jenkins BuildMonitor and Jenkins web interface useless most of the time. So I looked for an alternative and gave Jenkins CLI a go.

    Like most Java applications, Jenkins built-in CLI also suffers from slow start up time (flame suit: ON) due to core Java libraries loading (Kohsuke later told me on #jenkins that there’s also a handshaking process involved). This led me to try Jenkins Remote Access API with curl, which performed significantly faster than Jenkins CLI.

    So that’s great, but I have another issue with the fact that Jenkins CLI’s commands start with “java -jar jenkins-cli.jar …”, that’s a finger twister right there, and lengthy curl + URL obviously doesn’t help.

    Enter Nestor, a Jenkins CLI written in Node.js that aims to be a faster and simpler alternative to the existing solutions. The catch? Node.js and npm support on Windows is not there yet, so if you managed to run Nestor on Windows please let me know about it. Nestor has been tested and used daily on OS X and Linux.

    Simple setup

    Install Nestor using npm install -g nestor

    Configure the Jenkins instance you want to use using export JENKINS_URL=http://user:pass@host:port/path

    Simple usage

    Nestor commands are simple, it’s always nestor <action> <param>

    To trigger a build

    > nestor build studio-bob
    Job was started successfully

    To view a job status

    > nestor job studio-bob
    Status: OK
    No xml report files found for checkstyle
    Build stability: 3 out of the last 5 builds failed.

    To list the executors

    > nestor executor
    * master
    idle
    39%	studio-bob

    To view the queue

    > nestor queue
    Queue is empty

    To view all jobs status on the dashboard

    > nestor dashboard
    WARN	blojsom-bloojm
    OK	jenkins-buildmonitor
    FAIL	studio-ae86
    OK	studio-bob

    Check out Nestor’s GitHub README page for more commands available.

    Hopefully that’s simple enough.

    Note: The name Nestor was inspired by Captain Haddock’s butler at Marlinspike Hall, not the Argonaut one.

    18 Oct 2011, 8:12pm
    Etc:
    by

    1 comment

  • Muji Recycled Paper Note

    The only thing I bought during my last travel, A Muji Recycled Paper Note – Double Ring A5 – Plain 80 at Hong Kong International Airport.

    I’m just a total sucker when it comes to Muji products, looking forward to their first shop in Melbourne, Australia, someday.

    Note: The ring is important so that whichever page I last worked on can be the first page the next time I use it.

    Recent Posts

    Recent Comments

    • SIMAR PAUL SINGH: Define :global_known_hosts_file :user_known_hosts_file options with a list of valid host_file...
    • Penny: I received this book from my Grandmother 6 months before she died. She INSISTED I read it…and I kept...
    • Nicholas Orr: Hilarious ;) No need to put true, keep’em guessing. Thanks for posting this am going to have to...
    • Amy: Truly awesome! I will share it with my boys who lost their father at 4&5 they are 8&9 now. What a gift...
    • Michael Sharkey: Let the propaganda continue!

    Most Commented Posts

    Linkroll