Wednesday, February 29, 2012

Nice switch, poor printed documentation.

So I ordered a Dell PowerConnect switch for my home lab setup - the specs were pretty sweet, and the push button web console made it sounds like it'd be a nice plug-n-play network for my development and testing work... then the cold reality of poor end user documentation bit me :( 
All I wanted to do with the machine was plug it into three of my laptops, and configure it to provide a private network on 192.168.3.x (I already have a 2.x network which the machine is defaulted to use), then be able to log into the switch's built in monitoring tools to observe network traffic as I play around with configurations of my software and of the network stack itself.  This is where the tricky problem started. The included "Getting Started Guide" omits some rather necessary information to those whom may not be familiar with configuring one of their switches, so here is how you can login the web console to set the switch's network:

  1. Press the "Managed Mode" pin hole button (use a paper clip). You'll see the managed mode light flicker on.
  2. Configure your PC to use as it's IP address.
  3. Login into and use 'admin' with no password to access the system (guide says admin/admin).
  4. On the web console select System > IP Interface Parameters.
  5. In the presented form enter "" with "" as the mask, then click apply.
  6. To continue using the web console you now need to change your PC's IP address to
  7. Once the switch has picked up that your PC's adapter is on you'll be able to log in again to the web console. Continue configuring as required, subsequent logins can happen from any machine on the 3.x network.

The above procedure was gleamed from reading forum posts around the web, and has been reflected into  Dell's online docs for the switch. To be clear, now that the switch is configured properly it purrs like a kitten (Jumbo frames, 1Mbit packet buffer memory, priority queues, etc, etc) - I'm nerding out now playing with settings. I'm still happy with the switch, I just would have liked the printed documentation to make it a little clearer how to set up via the web console instead of searching the webs for solutions.

Sunday, February 26, 2012

Live music and Apache Karaf 2.2.5

I guess I'm well into a new tradition... During the build up to Apache Karaf 2.2.5 I was listening to City and Colour albums while sipping on Maison Sichel Bordeaux 2009. Last night I had the opportunity to see City and Colour live here in St John's at MileOne Stadium.

The show was absolutely awesome in spite of their air line carrier misplacing their usual instruments :S

So getting back to the idea of new traditions; I like the idea of pairing wine and music to Karaf releases, I now I've expanded it to trying to see the band/performer perform live too. So for those of you following my Karaf music posts you'll know I have two live performances down.

I wonder what do other release mangers do along these lines? Any traditions, challenges, or other fun things you do to mark your project release milestones? I'd like to hear about them in the comments section below.

In the mean time, I've copied below some photo I took during the concert:
On a related subject, I stopped by a wine show over the weekend - found a hand full of bottles that needed a good home (as you can imagine all I see at a wine show are pending releases).
I see delicious Apache Karaf releases in waiting.

Sunday, February 19, 2012

Mun CS Games Winter 2012 Team (Doubles) Competition!

Following up on our Singles competition last month, we're gearing up for our team games on March 9, 2012. Each team will consist of two students - so start finding a partner soon!

The Prizes!

Third place shall receive: A Mun market bag, 6pk of Ms Vickie's chips, a USB memory card reader, a small disc binder, a tin of compressed air, and a Nexxtech LCD/LED screen cleaning kit.

The second place prize pack includes: A Mun market bag, a large disc binder, a tin of compressed air, a copy of Maximum PC magazine, a USB mini-vacuum, and a Nexxtech LCD/LED screen cleaning kit.

Finally, our first place prize pack consists of: A Mun market bag, a tin of compressed air, a USB mouse with interchangeable covers, a variety pack of green teas, a box of hot chocolate mix, and a copy of O'Reilly C Pocket Reference.

The Winter 2012 CS Games Teams (Doubles) are tentatively scheduled for Friday March 9th, 2011, in room EN-2036 at 5pm to 7:30pm. There is a sign up sheet in the CS department head office, please contact them if you are interested in competing - seat are limited (CS students only).

Best luck to all the competitors and see you there!

Thursday, February 16, 2012

IGDA NL Chapter meeting on February 21, 2012!

As I've been asked to relay any information on the next local Video Game Developer meeting, I happily pass along the below note:

"The next meeting of the Newfoundland Chapter of the International Game Developer Association will be on February 21st, 2012 at the Memorial University  Computer Science seminar room (EN-2022) at 7pm. Among the topics of discussion will be an up coming Game Jam!" -- IGDA NL

Tuesday, February 14, 2012

My CS3718 Programming in the Small Guest Lecture experience :)

Dept of Computer Science
I had the opportunity to talk to CS3718 Programming in the Small students at Memorial University earlier this morning. The topic of discussion was an Introduction to Modular Programming using Java OSGi.
To present the concepts of modular programming using OSGi I started with a brief outline of what we mean by "modular programming", then presented a simple three tier architecture application that we could convert into an OSGi design while learning about the OSGi Framework.
The sample system was designed using packages and interface based design principles, so it would be easy to translate into OSGi Framework concepts.
Bundle Wiring Diagram.
After describing the sample system I then discussed some of the pit falls that such designs experience: code visibility control, classpath errors, and limited deployment & management support. With these ills described I then introduced the OSGi framework.
The OSGi framework is composed of three layers; module, life cycle, and service. Introducing each layer we were able to modify the original sample application to make use of the OSGi framework features.
The re-designed application eventually emerged, looking quite similar to the original design, however the new implementation could take advantage of dynamic services, move away from brittle class paths, and enjoy easier administration tasks.
It was a lot of ground to cover in a one hour lecture, I believe that a full semester course could be designed around teaching modular programming techniques and practices (perhaps we could call the course "Programming in the Large"), which would compliment their current set of software development classes nicely.
I hope the students enjoyed my talk, perhaps I'll get an invite to lecture again next semester :)

Monday, February 13, 2012

Finally updated the Macbook

After nearly five years of faithful service I've finally bit the bullet and upgraded my old 2007 rev b macbook GiR. Just starting to setup and configure its replacement, Pintsize.
GiR kind of lived up to his name sake's reputation for strangeness, wondering how Pintsize will turn out. Ok, enough hardware geek time, back to code :)

Saturday, February 11, 2012

More Snow Clearing!

Some more photos of this winters' snow clearing activities.
The fun part not shown here was removing a good 35 cm of slush from our side of the driveway :S

Tuesday, February 7, 2012

Departmental Seminar @ Memorial University: Symbiosis, Complexification and Generalization: A case study in temporal sequence learning

Another seminar upcoming for the Department of Computer Science at Memorial University of Newfoundland.

Dr. Malcolm Heywood
Department of Computer Science
Dalhousie University

Symbiosis, Complexification and Generalization: A case study in temporal
sequence learning
Department of Computer Science
Thursday, February 9, 2012, 1:00 p.m., Room EN-2022


 Hierarchical reinforcement learning traditionally represents a framework in which a machine learning algorithm is applied to build solutions to temporal sequence style problems under the guidance of a priori identified sub-tasks. Once learning relative to one set of subtasks is complete, these can then be reused to build more complex behaviours. The principal caveat is that appropriate subtasks can be identified, preferably without requiring a priori knowledge. This work proposes a generic architecture for evolving hierarchical policies through symbiosis. Specifically, symbionts define an action and an evolved context, whereas each host identifies a subset of symbionts. Symbionts effectively coevolve within a host. Natural selection operates on the hosts, with symbiont existence a function of host performance. It is now possible to support hierarchical policies as a symbiotic process by letting hosts evolved in an earlier population become the symbiont actions at the next.
 Two benchmarking studies are performed to illustrate the approach. An initial tutorial is conducted using a truck reversal domain in which the benefits of evolving a hierarchical solution over non-hierarchical solutions is clearly demonstrated. A second benchmarking study is then performed using the Acrobot handstand task. Solutions to date from reinforcement learning have not been able to approach those established 13 years ago using an “A*” search and a priori knowledge regarding the Acrobot energy equations. The proposed symbiotic approach is able to match and, for the first time, better these results. Moreover, unlike previous works, solutions are tested under a broad range of Acrobot initial conditions, with hierarchical solutions providing significantly better generalization performance.

Thursday, February 2, 2012

My CS3716 Software Methodologies Guest Lecture experience :)

Dept. of Computer Science
I had the opportunity to talk to CS3716 Software Methodologies students at Memorial University earlier this morning. My chat covered some of my industry experiences, views on technology, and discussions about the courses I took at Memorial as an undergrad so many years ago. Following this core discussion I moved on to briefly discuss the Apache Way, and Release Management Essentials.
Class starting to fill up.
This was my first time to present a talk specifically covering some of the best practices I've learned from performing the Apache Karaf release manager role over the last few years. I've covered some of those best practices in my prior posts about release management, which really condenses down to ensuring that releases are done in a clear, concise, orderly fashion that can be reproduced, and that at each step along the way information is communicated allowing contributors and users to know what is happening.

I hope that the students found the talk engaging. I really enjoyed answering questions one on one afterward - I can't wait to deliver my next lecture for CS3718 Programming in Small where I'll introduce modular programming using OSGi :)

Wednesday, February 1, 2012

Everyday I'm shoveling :S

"10 cm snow fall"
I haven't been as active on IRC the last few days as I prefer to be. I've been spending a bit of time outside snow clearing. Thought I'd share a pic of the fun.