My Initial Musings on Node.js
Due to all of the buzz around Node.js lately I thought that I would take it for a test drive. I tend to be very skeptical about frameworks with such hype around them as they tend to just be a passing fad that can not really be used in production environments.
What really got my attention was the fact that you use javascript to write node applications. This to me really opens up server side development to a much wider audience, an audience that tends to understand what happens in the browser very well. This in my opinion can be a great thing. I think we will see some very interesting applications appearing in the future and the amount of available modules for common tasks seems to be growing at a good rate.
I have been looking specifically at node's support for developing REST API's using express. Developing a REST server is very straight forward using express. The fact that applications are written using Javascript a JSON payload is very simple and natural to work with but since Node is basically designed around building highly scalable network applications there are loads of other cool things that you could do with it.
With the popularity of mobile applications these days, which often need to chat back to a server, I think that node could be very well placed to develop standards based, highly scalable backends very quickly to complement your mobile app. If this is something that interests you I would recommend that you head over to Node Tuts for a peek at some of the great videos there.
Simplify Git Repository Management Using Redmine
I have been using both Git and Redmine for a while now as a replacement for SVN and Trac. I'm very happy with the move but Git repository management using gitosis can be a bit of a pain having to manage ssh keys and different groups and permissions.
Since I'm using Redmine to manage users for projects already, I decided to have a look at the Redmine Gitosis plugin. This plugin enables users to attach their own public key to their account in Redmine. The plugin then uses the users project membership permissions and associated keys to manage the gitosis configuration for you. It's early days yet but it seems to be working well so far and makes it very simple to spawn up new projects and assign developers' commit rights to different projects without having to go near any config files.
Note: There is one small gotcha to watch out for regarding ssh keys. If you add a key via Redmine and an identical key already existed but under a different file name that user will be locked out of logging in via ssh until you remove one of the keys form the .ssh/authorized_keys of the user that gitosis is running under.
ITunes 8.1.1, Buffalo Linkstation and Zyxel Prestige 660HW
I picked myself up a nice new unibody Macbook a couple of weeks ago and today thought I'd enable the itunes server feature on my Buffalo Linkstation Live so that I could stream my music from it instead of mounting a share as I usually do. After enabling the media server feature itunes still didn't pick up the nas as a shared library so I decided that I'd update the firmware on the Linkstation as there seemed to be some media server related fixes in the latest version. This all went fine but still no media server being picked up by itunes. I did the usual try and clean out the media server database cache to ensure no stale settings where left after the flash. Nope still nothing... After a bit of talking nicely to google it seemed I needed to enable multicasting on my router. So grand I enable that check box but still nothing. The problem did turn out to be related to multicasting but it was being caught by the packet filter on the Zyxel router. I telnetted into the router and managed to disable the rule from there as I couldn't find anything related to it in the web console. Then magically itunes auto discovers the Linkstation. Hopefully this might save someone a bit of time and a lot of hassle
Maven2 and GWT
I was doing some playing with GWT over the weekend and had a few issues generating some nice javascript based GUI's using maven2. Below you'll find the pom that ended up doing the job for me
<project> <modelVersion>4.0.0</modelVersion> <artifactId>gwt-test</artifactId> <name>gwt-test</name> <groupId>eu.javadeveloper.gwt-test</groupId> <version>0.1</version> <packaging>war</packaging> <properties> <maven.test.skip>true</maven.test.skip> <gwt.version>1.4.61</gwt.version> </properties> <dependencies> <dependency> <groupId>com.google.gwt</groupId> <artifactId>gwt-user</artifactId> <version>${gwt.version}</version> <scope>provided</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>com.totsp.gwt</groupId> <artifactId>maven-googlewebtoolkit2-plugin</artifactId> <configuration> <gwtVersion>${gwt.version}</gwtVersion> <logLevel>ERROR</logLevel> <runTarget>gwt.Test.html</runTarget> <compileTargets> <value>eu.javadeveloper.gwt.GWTTest</value> </compileTargets> <sourceDirectories> <param>${basedir}/src/main/java</param> </sourceDirectories> <output>${basedir}/target/gwt-test</output> </configuration> <executions> <execution> <id>setup-gwt</id> <goals> <goal>setup</goal> <goal>extractGwt</goal> </goals> </execution> <execution> <id>compile-gwt</id> <phase>process-classes</phase> <goals> <goal>compile</goal> </goals> </execution> </executions> </plugin> </plugins> </build> <repositories> <repository> <id>gwt-maven</id> <url> http://gwt-maven.googlecode.com/svn/trunk/mavenrepo/ </url> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>gwt-maven</id> <url> http://gwt-maven.googlecode.com/svn/trunk/mavenrepo/ </url> </pluginRepository> </pluginRepositories> </project>
Useful Tip: Running 32-bit linux apps on (K)Ubuntu 64
This can be a very useful tip for using applications that only ship 32-bit binaries such as Skype. First install linux32 and ia32 libs:
$ sudo apt-get install ia32-libs ia32-libs-gtk gsfonts gsfonts-x11 linux32 ia32-libs-kde
Then simply run the application through linux32. For example to run Skype simply execute:
$ linux32 /path/to/skype/skype
Another handy tip is to then add a shortcut to either your KDE or GNOME menus with the same command to save you having to always run it from a terminal.
Giant Douche Vs Turd Sandwich – Here We Go Again
With the population of Ireland going to the polls last Thursday we were faced yet again by the big question "Do I vote for a giant douche or a turd sandwich?". In fairness to the previous government they did keep the Irish economy stable but I just keep asking myself what did they actually change for the good. House prices are way to high, the cost of living in Ireland matches the house prices, the countries infrastructure is a disgrace, the health service is in shambles and certain parts of the country don't even have clean water. The answer "not alot" always springs to mind. When I look back specifically at the communications manifesto of the two largest irish political parties it is very evident why Ireland always comes up close to the bottom of the E.U. communications tables. With both the Green Party and the Labour Party offering very viable alternatives i'm very surprised that they did not perform better at the polls. One attitude that I did find with quite a few people was that they did like what some of the smaller parties were offering but would only view them as a second option as the two main parties are so big that for their vote to count they must first support one of larger parties. With attitudes like this we'll always be faced by the age old question "Do I vote for a giant douche or a turd sandwich?". This is why for the country to change for the good we must first ask ourselves "What did I do personally to foster an attitude towards change for the good?".
3Ireland shakes up the broadband market yet again
For the second time this year 3Ireland has shaken up the Irish broadband market. This time they are offering HSDPA internet access through a usb modem manufactured by Huawei. The package includes 10Gb of monthly transfer at theoretical speeds of 3.6Mb/s for 19.99euro. The modem can be purchased from three for 129euro. Considering three's current 3G coverage and their pricing it's set to be an interesting few months in the Irish broadband arena.


