There is a great article over at Ajaxian on programming for the Nintendo Wii. I bought a Wii myself a few weeks back and have been having great fun with Tiger Woods golf. (It is actually my first game console) Up until down the idea of playing a game console alone did not appeal to me but the Nintendo Wii experience is amazing.
The Wii console connects to the controller or Wiimote via bluethooth and uses an accelerometer built into the wiimote to detect the location of the wiimote as well as it’s acceleration. This leads to a really interactive experience for the user.
I have been amazed by responsiveness of the Wiimote and now Dion Almaer and Ben Galbraith over at Ajaxian have developed an Ajax app that uses Wiiusej to interact with the Wiimote. The Wiiusej API is a java wrapper for the C based Wiiuse library.
We then wrote a Java class that acts as a state machine for what the remote is doing. It understands the movements, which buttons are pushed, how fast you are moving the device. With this data we could build a simple darts game. With the state machine Java code, and an Applet wrapper that exposed the information, we were ready to get to the Ajax side of the house.
I came across this great site via DZone. The site provides a great overview of the Gang of Four patterns as well as J2EE patterns with UML diagrams and sample code for each one. Here what the author, Andre Mare wants to get from the blog.
Java Design Concepts will provide information on how to design, implement and deploy system in a high availability enterprise environment. The design concepts include design patterns, and Object Oriented Programming (OO). Java technologies include J2EE, EJB, JAF, JMS, JSP, JSTL, JDBC etc..
As the site is still in development some of the J2EE patterns are not complete yet but this is definitely one for your RSS reader.
In July of 2008 the Irish government intend to change the way it determines the amount of tax to pay to register a car in Ireland. The old model was based on the size of the engine while the new model will be based on the Co2 emissions from the car. The same model will be used to determine the amount of road tax to pay for new vehicles.
I was looking for information on Vehicle Registration Tax and found it hard to find a site that would let me compare the various cars in a band. There are sites out there where I can look for a particular model and see the emissions for that car but no site would compare ‘All cars in emission Band A’ .
I decide to create a site myself. Its very basic at the moment and provides tables for each car type as well as one very large table that contains all of the cars and allows the user to sort by band. I’m using the wp-Table plugin to build each of the tables on the site. This plugin uses a mysql table to store the various rows of each table. It also allows you to upload the data in CSV format which helped a lot.
Google just launched a preview of their app enigne. You can read all about it here.
With Google App Engine, developers can write web applications based on the same building blocks that Google uses, like GFS and Bigtable. Google App Engine packages those building blocks and provides access to scalable infrastructure that we hope will make it easier for developers to scale their applications automatically as they grow. This means they can spend less time dealing with system administration and maintenance, and more time building and improving their applications. (There’s more detail on the new App Engine Blog.)
I tried to sign up but it looks like the first 10,000 have already applied. You can still download the API from here in the mean time if you want.
The logic being that the agency does not want the employer to contact me later on without them involved. While I appreciate the logic behind the practice, and have no problem with submitting a resume without contact details, I take objection to it……
Pasting an agency logo onto my CV without my permission is at the very least undesirable. I do not work through any given recruitment agency before a contract is signed, and do not wish to be represented as such.
As a result Jakub has decided to only distribute his CV in pdf format. I did have my CV in pdf format in the past but changed it back to word format as some agencies would only except this format.
I have never had a problem with agencies removing my contact details from my CV but he makes a very important point about turning up for an interview and seeing a CV representing you badly formated. The post is well worth a read.
I came across this framework during the week via Ajaxian. It provides an end to end solution with all of the plumbing in place for DWR, Dojo, Spring and Hibernate/JPA. This is a great place to start for someone that wants to get up and running fast with inner plumbing in place for these frameworks. Here is what the developer Jose Noheda said he was looking for from the project:
Nonetheless, in my mind what I really needed was a platform that:
Is based on Java
Although supporting Grooy / JRuby is a plus
Helps me to kick start a project
But simplifying the process by giving me the best (and this can be tricky) set of frameworks for each task
Integrates both server and client sides
And it’s lightweight, robust and extensible. Read enterprise quality.
Supports all the common tasks a web app has to handle
I include here: User Management, CRUD operations, i18n support (both framework & data), AJAX and astounding visuals
The project is only at the preview stage so it does come with caveats. When you start up the app you get a sample app showing some of the Dojo widgets in action as well as some screens demonstrating basic CRUD operations.
If you want find out more you can download the project from here or check out Jose’s blog here.
I have used the Checkstyle plugin for a few years now and found it extremely useful. In a nutshell, checkstyle will check your code against coding standards and issue a warning if you code something that is not in the correct format. This has always been a real bone of contention with fellow developers. One developer I worked with in the past felt that everyone should be free to code in whatever style they prefer. I would not agree with this at all. It can lead to code that is very hard to maintain and read.
With a plugin like Checkstyle you don't need "Code Police" checking the code and informing people that they are using the wrong style. If you want to push it one step further you can set up your automatic build (We used Cruisecontrol in the past) to mark a build as broken when it comes across a Checkstyle error. This ensures that a code base is readable and maintainable. Here is an example of bad coding style:
if (testBoolean) myNum++;
Many developers leave out the parenthesis as the compiler will not complain, this can often lead to confusion when you expect a line below to run when the statement is true but of course it won't because the myNum++ is going to run. The correct way to write this would be as follows:
if (testBoolean) { myNum++; }
A new developer that comes across this code will know exactly what statement is run when the if statement is true. It is also possible to change the change the Checkstyle configuration for situations where a company has their own coding convention.
I have not used the other plugins yet but have a look at the article for how to install them. I am interested to see how good the code duplication plugin is. I hate when I come across "Cut and paste" coding because someone is too lazy to abstract the functionality into a base class.
I came across an interesting article by Masayuki Otoshi via Java World that discusses how to execute process definitions on the client side rather than the server side. This can come into play when making AJAX calls. As AJAX is Asynchronous, it is not possible to predict the order that your callback methods will be called in. Masayuki uses J-SOFA (Java/JavaScript Services Orchestration for Actions) to overcome this.
I haven't come across J-SOFA before but it looks like it might be worth looking at for situations where the order of callback methods is important.
…an implementation of XSL-T in JavaScript, intended for use in fat web pages, which are nowadays referred to as AJAX applications.
I'm looking forward to playing around with this. I have being doing a lot of work with XSLT lately so it will be interesting to see how Google have married this with AJAX.