Items below here are my previous (2002-2011) blog posting. I've updated the software serving this site to github-pages and URLs will be different going forward.
Github as a CMS to end CMSes
Github can be used as a site serving tool. It is actually a pretty usable CMS even for non-technical folks. With some more tweaks it could be a killer platform for content with all the wonderful potential from forking and pull requests, thereby changing the industry even more than it has done.
Sun, May 08, 2011
Binary Diffing for Increased Release Confidence
This blog entry is about enterprise release teams regularly declaring a
code freeze in the run up to go live for a release, and why that need
not be so mechanical. Lets assume an intended trunk model like so:

We will also assume you've read my Branch
by Abstraction blog entry and Martin's FeatureBranches,
and FeatureToggles.
You may even have read Jez's Continuous
Delivery book.
Now for major releases, of course you're going to stabilize somehow
before you push a release out. But the question is what
techniques to
you use to effect that. There's a classic code-freeze way, but is
there a a way of using tools and techniques to gain assurance without
code-freeze per se ?
Mon, Apr 18, 2011
Running JBehave/WebDriver Tests on Sauce Labs' Service
Referring to the previous Etsy.com suite that some buddies and I had
been building for newbies to start with, it also runs on Sauce Labs
stack. While it normally runs the three tests in series, this way
of running it will run the three tests in parallel to reduce the total
time needed to run the suite.
Here is the result of that. Three jobs that have completed, and
are hosted on Sauce Labs' stack for all to see. Click any of them
to see the the full details or watch the video that was recorded:
Tue, Apr 05, 2011
Playing with Mobl in 2 mins or less
Mobl is a cool language that cross compiles to HTML5 and JavaScript. The reason for using it as a developer is that it targets Android and iOS native feel web-apps from a beautiful source from. It is not quite my ideal in that it cross compiles rather than being interpreted, but it is close.There may well be some glass ceilings, but I'm willing to believe the lead Zef Hemel when he assures me that new controls are quite straight forward to those that understand the underlying technologies.
There's a small perception problem with Mobl in that it is more than a couple of clicks before you can play with it. At least outside of Eclipse (for which there is a plugin).
Here's something that should work:
git clone https://github.com/mobl/mobl-lib.git
git clone https://github.com/mobl/mobl.git
cd mobl/samples/shopping/
java -jar ../../../moblc.jar -I ../../../mobl-lib -i shopping.mobl
Sadly it breaks right now with a low level exception 'STRSGLR_get_parse_error'. Must be some incompatibility between moblc (the jar available for download) and the latest github versions.
Instead, here is an older version of Mobl that can be played with very quickly:
git clone git@github.com:paul-hammant/mobl-lang-in-thirty-seconds.gitIf your Safari, Firefox or Chrome can do HTML5 it should show a functioning shopping application. Obviously your desktop window size is not the same as the iOS or Android size, but those are the intended targets.
cd mobl-lang-in-thirty-seconds
./mac.sh
# or ./linux.sh if so inclined
See more demos here
Sun, Apr 3, 2011
I think it is time for QTP to die*
Agile practitioners such as myself are finding it really really hard to get skilled staff for our QA needs. Clients past and present are finding the same thing. There are plenty of candidates but their experience does not overlap with the needs of the Agile industry much.
In this blog posting, I am going to make a case for the testing industry to give up their love of QTP (and other legacy packages). Implicitly, a call for the professionals formerly adept with those tools (and manual testing) to rejuvenate their careers by mastering some new testing tools and programming languages.
* it's a shrink-wrap product, not a person, don't go nuts on me as if I'd said something about an individual!
Let me go into some detail..
Mon, Mar 14, 2011
My ThoughtWorks Venn Diagram
A previous client recently stated an affinity to a model I was using then to describe ThoughtWorks' project teams at client sites. I thought I'd make a blog entry of it, as we are presently migrating wiki tools internally, and who knows what can happen. More...
Fri, Mar 4, 2011
Introducing StoryNavigator
StoryNavigator is a project spun out of JBehave to show a list of stories in a web-page as well as a list of step combinations. It allows searching for stories based on a keyword, string, or meta-tag. Click through to see live demo...
Mon, Feb 28, 2011
Extending the life of IPv4
The internet is supposed to shift transparently to IPv6 based numbering
system soon. IPv4, like a shitty stick, should be dropped as soon
as possible apparently. The problem is that there will be a lot of
upheaval as
this happens. This is
topical
right
now of
course.
There are some existing
related ideas about how to stretch the length of service of
IPv4. I outline here another way to delay exhaustion of
IPv4. Indeed you could also take a view that this suggestion
could allow for the abandonment of IPv6. More...
Wed, Dec 8, 2010
Branch by Abstraction Log Jam
The Branch by Abstraction
blog entry is the one I have had most hits for. A couple of weeks
after each new blog entry, it regains its place at the top of my daily
hit count.
ThoughtWorks is consulting at a top-100 US website with Agile, delivery
and all that. The client does follow Trunk Based Development (TBD) and
Branch by Abstraction (BBA); Their program of work is big enough to
warrant concurrent development of
consecutive releases (N.B. I like that way of phrasing the
problem). They are getting multiple things from it. One benefit
is the ability to engineer larger pieces in parallel, when Agile
suggests that you should otherwise try to develop incrementally and not
start new releases until previous ones have been put to bed. Another
benefit is the hedge-bet that you may not go live with something, or
regret it quickly; Refer digg.com's
v4 deployment regrets (though that might be because they rewrote
rather than refactored).
Anyway, last week two of the awesome senior technical stakeholders on
the clients staff were disagreeing in a corridor conversation on what
to do next in respect of BBA. It has been successful to date, but
they are now dealing with far less concurrent work that they have done
at any point in the previous 18 months. There is one larger piece
to go live that is dev-complete that we will call 'banana' for the sake of this article. Client
stakeholder #1 said that banana team should move back to a real branch
(and accept merges; daily if they have to). He said this given that
banana was dev-complete, and that other non-banana pieces were
methodically being worked on in the BBA style, and that doing one extra
--with-banana build just before
commit is cumbersome teams who are working on non-banana
functionality, if all they get is a notion that they did not break the
banana build. Senior Stakeholder #2 said we should stick with the
established TBD + BBA plan which suggested that developers should
ensure they have not broken other teams builds, by running them just
prior to commit.
Nobody wants to merge all the functionality into one build as it
removes the hedge-bet side benefit of BBA mentioned above. The
ability to not go live with banana is key in my opinion, if the client
chooses to keep other benefits but not do banana after all, or delay it
for reasons of timings. Thus SCM branches remain alluring.
Really busy teams with refactor happy agendas who are not using SCMM
5 level source control tools are going to need to be cautious about
the cost of downstream merges.
Anyway, the debate had been going 20 minutes and my drive-by
contribution for my friends/clients was:
They're both smart fellows, so after a mere 5 seconds of silence, they said "that will work" in unison and got back to tending their email and alike. Some teams have an extra minute on their build now, but that feels secondary versus the cost of broken builds and roll-backs because the frantic pace of Agile development.
Martin has written again about FeatureToggles which is work reading if you are doing TBD+BBA.
Tue, Dec 7, 2010
A Spring Framework Shortcoming
Spring is awesome of course, but there's a shortcoming that I think the Spring team could eliminate with some modest work. I know it can be done because colleagues Jon Wolter and Lucas Ward did it at a ThoughtWorks client site after I had discussed it with them. The shortcoming I am talking about is collaborator components for request mapped injections. I'm not going to explain how Spring can be enhanced to allow it, just why it is desirable...
Tue, Nov 9, 2010
Angular - new Perl backend by Dobrica Pavlinusic
Misko Hevery's <Angular/> has gained many fans over the last few months. I was seriously looking at if for ThoughtWorks internal app-dev earlier in the year (we have a slew of LotusNotes applications to replace). There is nothing wrong with the technology, but storing TW data in a third party cloud was not going to be an easy sell. And that was the main choice back then. ThoughtWorks is deep into the Google Corporate-Gmail solution and leverages the associated applications including AppEngine where appropriate. There is no AppEngine deployment capability for the server-data side of <angular/>, so I reluctantly stepped back from my experiments. I'm just one guy, so may have never been able to persuade the powers that be that <angular/> was what we should choose for internal app dev.
Anyway, Dobrica Pavlinušić has taken a peek at the API specifications for a RESTful interop with <angular/> clients, and decided that he can make a simple one in Perl; More ...
Sat, Nov 6, 2010
Two issues I have with the GPL
It is time I mentioned a couple of my issues with the GPL. I'm prompted to do this because of an ArsTechnica article about it and the awesome VLC player in Apple's AppStore and the FSF blog entry that predated it mentioning the mail-list posting of a VLC developer. My issues are about source availability and the GPL's non-reciprocal nature...
Tue, Nov 2, 2010
Not-Path Cookies
I've previous blogged about cookies. Specifically that the HTTP standard could benefit from a using regex to for path matching. Well I took the idea to the http-state working group (or at least their mail-list) at the IETF and floated it. The idea cannot really go forward as there is no consistent agreement amongst browser-makers as to what regex is, let alone implementing it in a browser for cookie matching purposes. Lastly, and most importantly regex can get incredibly complicated quickly, especially when trying to construct 'not these and not these' ones (see below). Anyway, here is a modified proposal...
Mon, Nov 1, 2010
Another UI prototyping technique (for Agile teams)
Use Firebug, another plugin, a Python script and Subversion (or Git) to model both progress towards web-app completion, as well as proposed changes. Works for Agile methodologies only. Better than Photoshop. More...
Tue, Sept 14, 2010
Cookies with regular expression paths
Just a quick thought: Cookies paths, passed up to a browser in HTTP headers, could benefit from being regular expression. More...
Mon, Feb 22, 2010
Angular - HTML based Declarative UI (also one to watch)
Misko Hevery, a buddy at Google, has launched 'Angular' a clever unilateral enhancement to HTML to allow highly capable web apps to be developed quickly. By adding attributes to ordinary HTML elements he's extended the capabilities by an order of magnitude. As this breaks all current browsers, the stroke of genius is that the before the page displays, there is some JavaScript that reads these non-standard attributes and essentially rewrites the page/DOM in a compliant manner. Here is a simple demo app (list of invoices) that he has made:
More...
Mon, Sep 28, 2009
Kinetic - QT based Declarative UI (one to watch)
As you hopefully know I am drawn to declarative UI technologies and have some long bets on one in particular (Swiby). There is a new one this year from Nokia/Trolltech. 'Kinetic' is based on their incredibly powerful and stable UI technology QT. It is more a markup language with embeddable script fragments, as opposed to a real programming language masquerading as a declarative language, but it is incredibly powerful. The examples I have played with leverage JavaScript, but there are bindings to more languages, principally C++. Swiby of course leverages JRuby, and I think has the edge given some important capabilities of a pseudo-declarative language.
For what it is though, Kinetic is a very powerful thing. Checkout the Nokia page for it. From that page there are four or so articles, the first a good intro, including videos and the most recent about KDE integrations.
The markup style is similar to Swiby, Shoes, JavaFX. For example, the following snippet ...
More...
Sat, Sep 26, 2009
Theory of Constraints and Agile
Tom Looy (ex ThoughtWorker) did a great presentation at Agile 2009 on the Theory of Constraints and its applicability to Agile projects. Agile project managers are comfy with the principals, but Tom's presentation explains it all again for the layman. Luckily for folks that were not there, Tom has made it available on vimeo (1.5 hours cut down to 30 mins). Here is one of the key screenshots:
More graphics presentations like this are needed for the Agile industry though....
Mon, Sep 7, 2009
AAW platform is awesome
We are a couple of weeks on from the Google I/O conference now, and many have had a chance to play with Wave. It is an impressive product, but still with some months/years to go before its ready for the mass market. Missing is the essential email integration, but when it comes the combination of Google Apps, AppEngine and Wave will be AAWesome (most likely). Apps is Gmail, Docs, Spreadsheets, Presentations, Chat and private youtube. AppEngine of course presents cheap hosting of apps, but most likely in the future will allow for custom underpinning of more Google enterprise services than 'just' Wave. Lotus Notes (it just refuses to die) and other legacy client/server collaboration 'solutions' are most definitely wrong footed. IBM/Lotus should rightfully be scared. Fri, 19 Jun 2009AppEngine's blind-spot
I am not wishing to be ungrateful for the opportunity to test-drive GAE over the last while, but I have to get something off my chest. There is a hole in the service right now that's going to mean a change to Java web app development. Namely there is modest risk to storing things in the session for apps that you could characterize as Ajax-like and chatty over the wire. The risk is to items being out of date when retrieved from the map. If you are running a stateless app, then there is no problem, but if you are trying to store things in the session (and not push everything to cookies or down to BigTable) then you could see concurrency problems. I have proof and there are workarounds... Apr 15, 2009Shoes and Swiby - walking through the example RIA apps
Expanding on the previous blog entry a little: here is an 8 min video walk through of the Shoes and Swiby apps that were developed. It still uses the same Java back-end on Google's AppEngine, but digs deeper into the client code, and the advances represented in DSLs for Ruby that are hypothetical successors for HTML and JavaScript... Apr 13, 2009Google App Engine for Java with Rich Ruby clients
I've been testing the Google App Engine for Java for the last few months. And trying out Rich Ruby clients with it. Apr 07, 2009Peter Royal's Semantic Circus Movements
Pete Royal, Semantic Search, Wolfram's Alpha ... and Circus Movements. Mar 09, 2009Releasing PicoContainer 2.5 and JRemoting
PicoContainer 2.5 and JRemoting 1.0 have been released. July 30, 2008Project Documentation Thoughts - are you allergic to documentation
Documentation is a hard thing to convince any team to do, whether you pay them or not. Over the years Open Source in particular has been scarred by poorly documented projects. July 30, 2008Interesting Google search result for JavaFXScript
Well not quite, but I am sure it is what Google wanted to tell me... June 22, 2008What brought me to Inversion of Control in the first place..
..was that it made for very nice decomposed, yet very declarative applications. A year after getting involved with Inversion of Control (IoC), I found myself as Head of Development of a dot-com in London and hired Joe Walnes as one of the engineers. Amongst many things that I found hard to convince the developers of the need for, was IoC. Mar 23, 2008Crazy Bob and type safety for Dependency Injection
I bumped into Bob Lee at Greg Stein's birthday party in San Francisco last night. Tis always a pleasure. Despite the drink/music/company we got into a debate about Guice and its love of type-safety. Congrats on the Jolt award win by the way Bob and Kevin.My proposal was that, in addition to the binding-annotations magic of Guice they could soften a little and learn to live with parameter names as another way to disambiguate. Developers using Guice (or PicoContainer/others) sould be able to choose utter runtime-type-safety or step back a little and just live with the fact that no matter how hard you try there can always be a binding mismatch somewhere and good testing is the way to mitigate that risk... Mar 16, 2008
Sweb 3.0
Every one else seems to be chucking their opinion into the Web 3.0 debate, so I think I will too.Oct 13, 2007
Injecting into Servlets and undoing the stranglehold of web.xml
Dependency Injection is that magic thing that aids design and testability. Unfortunately Servlets have never been injectable components. Well not according to Sun anyway. Many years ago we saw to it that the excellent Jetty could handle Servlets with constructors specifying their argument requirements. Time has come to talk about it and the required death of web.xmlJul 22, 2007
PicoContainer 2.0 beta released
We have been working on this for a while, and it is now in Maven2 repositories and ready for use. Lots of new features including the leveraging of parameter names for configuration and component disambiguation.Jul 16, 2007
JavaFX Mobile is *just* SavaJE acquired by Sun
JavaFX Mobile is just SavaJE recently acquired by Sun, bundled with Java FX and given a new marketing impetus.Read on for application types and some Dependency Injection thoughts about what this stuff should be.
May 9, 2007
Branch by Abstraction on the trunk negates the need for multi-branch development
A lesser-known source-control best practice I've been pushing for a number of years is Branch by Abstraction. The suggestion is that you can convene large sets of developers in a single trunk and get then to continue to commit to a single place without having to spawn "short lived feature branches" when some large change could mean that the build is going to be hosed for a number of weeks while the team gets it right. Those branches just end up running and running....Apr 26, 2007
C for Java
Apart from being able to rejuvenate older code-lines, it might be nice to learn where the JVM and the Java Language Spec (JLS) falls short in respect of being able to host C code. Two technologies promising to make C runnable on a JVM....Apr 08, 2007
Waffle - Java web action framework with smallest lines of code count for action methods
Waffle - a great technology for developing Java web applications...Mar 16, 2007
Announcing Paranamer: an open source answer to the dropping of parameter name access from Java6
Java 6 has shipped of course. Without a feature that the committee overseeing it thought would be good: Parameter name access.The committee had a design that there was consensus for, but Sun suggested there was no more time to finish it a few months before shipping. Sun, themselves, were against the availability of parameter names in the way that other members of the committee had settled on. Instead they wanted some annotation above the methods that one wanted to have parameter name access for. I for one, felt that was a huge cost and illustrated that we had learned nothing from the terseness lessons from the Ruby crowd. Ruby and Rails are making massive inroads into enterprise Java and .Net development from what I hear, for multiple reasons of course.
Anyway, a -g compiler option would have been far better. Sun needed to get over the worry that backwards compatibility needs to be assured forever. If someone wants to hardcode say getMethodByParameterNames("addTwoNumbers", "numOne", "nunTwo") and the later release of that dependent number-adding.jar might spell fix nunTwo to numTwo, then on their own head be it. The potential changing of the parameter names was the big driver for the annotation design. To me a Java method signature is forever method name + arg types, and should never be expanded to include parameter names, which was not explicitly stated, but is implicit if the parameter names are immutable.
So enter ParaNamer .....
Mar 14, 2007
Simple Wars - An Agile anti-pattern
Simple WarsA short description of the Agile anti-pattern of "Simple Wars".
Mar 3, 2007
Cozmos gets Subversion back end
Subversion backendYou can configure cozmos to use a subversion repository instead of the build in unversioned one. Whatever authentication and authorization implementation the subversion repo had (via mod_dav_svn) will control the permissions for the editing of pages. Its slightly ineligant in use (at least first time) as the URL for publishing is different to the one for browsing. https://svn.foo.org/mycozmosroot/ as opposed to http://mycompany.com for example. Once set in SeaMonkey's preferences (for that site) it is remembered by the browser for subsequent launches....
Jan 15, 2007
Cozmos- CMS using webdav and Sitemesh
Cozmos project at CodehausKent Spillner started this, and I've been making some commits to it. http://cozmos.codehaus.org/ (click thru for screenshots)
The project is not eating its own dogfood yet - its website is just a static page under simple DAV control. For good reasons - the version of Cozmos that we have presently is more like original wikis in that there is no authentication and anyone could change any page or upload arbitrary JSPs for server side execution (ouch).
It turns out that there are precious few lines of Java to code this. Well, it depends on SiteMesh which is a lot of lines of Java, but that does not count as its a provided library. It should be pretty easy for the PHP community to clone using PhpMesh. Similarly Ruby/Python with whatever decorating technologies fit...
Jan 07, 2007
An alternative to wikis using WebDAV
The development community has struggled to deliver a fantastic documentation tool or technology that is universally popular. There have been many attempts at a system that allows developers to document projects or users to edit more general content easily. When XML felt like a cure all, XML generated into sites was a popular option. Refer DocBook and predecessors.One might have thought that Wikis were that panacea, but there are grumblings. The barrier to entry for content editing may have been lowered and needless workflow stripped away, but there is real reticence about text areas in web pages for editing. Whether a *cunning* markup language or a fancy Web2.0 WYSIWYG editor there are some that elect to not edit content that way. You can try to compare and contrast many of the wiki implementations, but there grumbles persist. Choose your best from http://www.wikimatrix.org/ and I bet there are still grumblings on use. Some people think tagging is a redeeming factor, particularly for those wiki apps that did not retrofit the feature, but the in-a-webpage gripe persists. Personally I'm sick of that side of wikis. Sorry Ward.
I outline here an alternative to wikis for content editing. I think it is quite smooth to use. Others may not.
Dec 06, 2006
DYST: A Spam reducing upgrade to SMTP.
Spam affects all people with email addresses that are published on the web. It also affects many who had gone to some length to keep their address private. Its getting worse, and those that are making money from it are innovating rapidly to defeat the mail filters leveraging the theories of Reverend Bayes. It's a war.Rather than obsolete email (or the ubiquitousness of the @ sign) or charge for email, perhaps more tricks like the Sender Policy Framework (SPF) idea need to be rolled out. SPF has flaws, by the way. Amongst other things it can push the roll out of SPF ... early adopters can see no benefit.
Many years ago on the mail list for Apache's Java Mail Server (JAMES) an extension to SMTP was proposed and discussed. The idea: There needed to be a phased update of mail servers to a new standard whereby the origin of emails could be confirmed. "Did You Send This" (DYST) was born...
Jul 27, 2006
At least one unilateral improvement to Java
Ruby/Rails etc etc are pummeling Java presently. At least, the ranks of
Java's
intelligentsia are hemorrhaging to a Ruby/Rails world and not coming
back according to their current plan. From James Duncan Davidson
some years ago & swathes of other Apache people since,
to every-loves-to-hate-him-online-but-he's-great-fun-really Obie Fernandez.
Let us not forget Dave
Thomas or Bruce
Tate (both ticked
at Greg Luck's blog
post) dissing the hype surrounding Ruby/Rails. We are currently witnessing the closeout of Java 6's feature set and delivery looming FCS, and there little in it to react to Ruby or Python's terseness. Now, Java can't quickly become a dynamic language and maybe should not for its core, but perhaps a pragmatic goal is attainable: host dynamic languages more effectively. The likelihood is that people will code applications that are hybrid dynamic and static. Consider a Hibernate (or iBatis or http://esper.codehaus.org/) Java tier used by the 4GL-esqe Rails via JRuby (still a 3GL) all in a single JVM. Java is lacking some features that facilitate a dynamic excellence, despite being rooted in a traditional static Java. It all centers around methods and method access I think. Some will claim I'm stretching some points, but the success of integration with scripting languages or the robustness of Rails-like libraries for Java rests on the simplicity and flexibility of reflection in Java.
I propose two things in the remainder of this blog entry. Making method access (almost) part of the language, and Granting access to methods by their parameter names before Sun gets round to it. Read on....
Jul 30, 2006
Short Social OSCON Notes
Some notes not so much on the technology presented at OSCON, but on some social message speakers.
Jul 27, 2006
Un-Agile Things
Some ranting on Unified Process (UP) being painted as an Agile methodology.
Jul 19, 2006
Derby's arrival in Java 6 surprises me too (and I'm a Java 6 committee member)
Grumble grumble...If I'd have been asked to vote, I'd have voted against it. It has increased the JDK size and there was nothing about Derby that made it hard to work with after a download/install.
Things in the JDK have a duty to have fairly stable APIs. Is that true for Derby, or given the nature of JDBC is its jar not subject to stability?
I cast my mind back to Xerces' original inclusion in the JDK. The SAX api provided a similar boundary to developers. How did that work out? I think the frustrations over package naming and the voodoo required to override the version distributed are worth considering when it comes to simply taking things from the Open Source world.
Jun 19, 2006
Using XStream to forward JSON to a browser
Though it may be nice to consider XStream as a tool for compatibility with .Net, XML is not the lingua-franca of web pages. JavaScript is, and it has a defacto standard for 'object passing' in JSON. With a proposed new XStream 'writer', arbitrary Java objects can be transformed into JSON for sending to web pages to play their part in JavaScript enhanced web applications.Jun 14, 2006
Using XStream to process standardized XML types like RSS
How to use the excellent XStream to encode/decode RSS/other documents. Useful if you want to easily process RSS feeds in Java without ugly schemas or heavyweight tool-kitsMay 21, 2006
My 'Agile India' presentation on Dependency Injection vs Big Up-Front Architecture
I spoke at "Agile India" a couple of days ago. The major presentation I did was an opinion piece on Dependency Injection (alongside Agile practices) versus Big Up-Front Architecture (BUFA). It ran for an hour including questions.May 8, 2006
Very Simple Java interop with .Net over the wire without Web Services.
Ian Cartwright and I have written a paper after some experimentation with trying to make various .Net and Java containers and web servers communicate over the wire to each other using Web Services and auto-generated WSDL. We concluded that is not easy as many of the industrial strength J2EE servers or Web Services toolkits had a different view to the similar products in the Microsoft stack as to how to interpret and bind to a WSDL doc programatically. Anyway, we soon dumped Web Services and tried a REST inspired design that was very light on spec. Read the four-page PDF.May 6, 2006
iSights, magnets, Powerbooks and tripods
Laptops and magnets don't mix plus a $3 home made tripod mount for the iSight.May 6, 2006
Parameter names for Java 6 (Mustang) answer
The distilled wisdom from the question I posed on a Java 6 feature from a month or so ago.May 6, 2006
Parameter names for Java 6 (Mustang) question
A question/issue from inside the Java 6 (Mustang) committee discussions on parameter names.Mar 20, 2006
A NanoContainer Presentation
A downloadable Shockwave or PDF presentation as shown at the Chicago Java user's group a week ago.Jan 27, 2006
Ruby versus JavaScript for Web3.0
Contrasting Ruby and JavaScript for a hypothetical Web3.0 while considering thick versus thin experience.
A write-up of a pub debate with the Chicago Ruby users group.Jan 10, 2006
Selenium The Movie / Director's Cut
Selenium being driven from JUnit is my preferred mode of operation.
I've made a move of Selenium testing the PetSoar app under JUnit
control......May 7, 2005
Selenium The Movie
OK, here is a movie of Selenium in action. Most of the hard work for
Selenium.....Apr 26, 2005
JMock Crash Course
A seven page presentation of JMock, otherwise told as a Crash Course
for a client........Apr 26, 2005
Content Editing Nirvana
I was chatting to <shameless-name-drop>Brian Behlendorf</shameless-name-drop>
about the integration between Microsoft's Sharepoint, IE and Word
2003.......Apr 11, 2005
Agility Alliance
EDS and friends are in some sort of alliance. Not in itself newsworthy
from my point of view.
What is newsworthy is the group's trading name is 'Agility
Alliance'.......Mar 19, 2005
European
Software Patent Spectre
We
(Europeans) really need a 'Get Firefox' style button
programme to
marshal efforts against software patents......Mar 03, 2005
Selenium
In the fall of last year, Jason Huggins showed me "JavaScript Functional Test Runner" ...