Worth bookmarking: refcards.com

Refcards.com is a site where you can get handy reference cards for numerous open source tools and technologies. They can be printed double sided onto card (or paper) and fold into a three-column, easy-to-carry quick reference. Brilliant! The site had apparently disappeared for a while but is now back. Its author Andrew Ford has produced a new refcard for Template Toolkit. He has included some cards on Web technologies (very useful as handouts for my students!) from Benjamin Jung. Thanks to Chris Winters for the heads up.

The Ted Neward Challenge (AOP without the buzzwords)

Adrian Colyer has tried to describe AOP without using the buzzwords. An attempt to answer a challenge thrown down at the last TSS symposium in The Aspects Blog. It boils down to DRY (don’t repeat yourself).

So what we’ve really got in any non-trivial software application is not the ideal 1-to-1 mapping between concept and implementation, but an n:m mapping. No wonder software gets so hard to maintain, and so hard to understand, and so complex. And it’s not your fault. The tools that object-oriented languages give us don’t enable the clean mapping of every design concept into a single implementation construct … and consequently neither do they allow each implementation construct to map cleanly onto a single design concept. This is the problem that aspect-oriented programming attempts to help us solve. It’s about getting as close to a 1-to-1 mapping as we can. AOP addresses the problem by introducing a new construct known as an aspect that is able to capture in one place the implementation of design requirements, such as the view-notification requirement [all views have to be notified if the model changes] in MVC, which OOP cannot.

Not the next big thing! SSS (Small, Simple, Safe) reinvents BlueJ functionality

Daily trawl through the java.blogs feeds picked up a reference to ONJava.com: SSS (Small, Simple, Safe) [May. 26, 2004]. SSS is apparently a simple tool that allows you to instantiate and play with Java objects. It is apparently used and useful in teaching. I simply had to make a comment to the effect that BlueJ has had this feature for ever! Here’s my reponse in full:

BlueJ is a simple Java IDE (avalable from http://www.bluej.org) which also has this sort of behaviour. You can instantiate an object of any class on the classpath by providing the fully qualified name and then selecting any of the class’s constructors. Once the object has been instantiated and a small icon (sort of like a UML object diagram) appears. You can then right-click on the “object” to call any of the object’s methods. Because BlueJ is an IDE and debugger it has privileged access to the JVM, which allows you to also inspect the object to see all its private state.

BlueJ has built up quite a following in the educational arena just lately and there are several “CS101″ text books using it (but none from O’Reilly). See the web site quoted above for more info and access to the lively discussion lists.

It’ll be interesting to see if there is any feedback!