<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Software is too expensive to build cheaply...</title>
<link>http://twasink.net/blog/</link>
<description></description>
<language>en</language>
<copyright>Copyright 2008</copyright>
<lastBuildDate>Wed, 13 Feb 2008 13:24:36 +1000</lastBuildDate>
<generator>http://www.movabletype.org/?v=3.35</generator>
<docs>http://blogs.law.harvard.edu/tech/rss</docs> 

<item>
<title>We apologised for the wrong thing</title>
<description><![CDATA[<p>Today our Prime Minister made an important step in Australian history, by <a href="http://www.theaustralian.news.com.au/story/0,25197,23202612-5013172,00.html">apologising to indigenous Australians</a> for past injustices. However, I think the focus on the so-called Stolen Generation was wrong.</p>]]><a href="http://twasink.net/blog/archives/2008/02/we_apologised_f.html">[more..]</a></description>
<link>http://twasink.net/blog/archives/2008/02/we_apologised_f.html</link>
<guid>http://twasink.net/blog/archives/2008/02/we_apologised_f.html</guid>
<category>Politics</category>
<pubDate>Wed, 13 Feb 2008 13:24:36 +1000</pubDate>
</item>
<item>
<title>RSpec, JRuby and Story Testing Java Code</title>
<description><![CDATA[<p>I've long been interested in decent ways of expressing tests in a human-readable format. Not just any humans, but BAs and business reps in particular - the kind of people who will not be interested in slugging through piles of language syntax. I tried <a href="http://fit.c2.com">Fit</a> sometime ago, and was impressed, but when I came back and revisited it recently, it looked a lot like the community had kind of faded away. Accordingly, I looked around at what else was available, and stumbled across <a href="http://rspec.info">RSpec</a>. Now, I want to test Java code, and RSpec is for Ruby (as the R kind of hints), but I was able to get this going under <a href="http://jruby.org">JRuby</a> fairly easily. I couldn't find any examples of other people doing that, so I thought I'd write it up.</p>]]><a href="http://twasink.net/blog/archives/2008/02/rspec_jruby_and.html">[more..]</a></description>
<link>http://twasink.net/blog/archives/2008/02/rspec_jruby_and.html</link>
<guid>http://twasink.net/blog/archives/2008/02/rspec_jruby_and.html</guid>
<category>Java</category>
<pubDate>Wed, 13 Feb 2008 00:37:05 +1000</pubDate>
</item>
<item>
<title>Hibernate Query (Lack Of) Caching</title>
<description><![CDATA[<p>Hibernate has long had a feature known as "query caches" - you can run a query, cache the result, and thus avoid running it repeatedly. The only problem is that it doesn't do what you think it does.</p>]]><a href="http://twasink.net/blog/archives/2008/02/hibernate_query.html">[more..]</a></description>
<link>http://twasink.net/blog/archives/2008/02/hibernate_query.html</link>
<guid>http://twasink.net/blog/archives/2008/02/hibernate_query.html</guid>
<category>Java</category>
<pubDate>Tue, 12 Feb 2008 21:29:10 +1000</pubDate>
</item>
<item>
<title>... and sometimes they don&apos;t.</title>
<description><![CDATA[<p>I've spent most of the last year involved in an intensive project that really drained me - hence the lack of blogging. I want to blog in a positive fashion this year, so I'll start by getting a lot of gripes off my chest. :) Call it things that suck.</p>

<p>Here's a short list, before I define what I mean by "suck":</p>


<ul>
<li>Maven2</li>
<li><span class="caps">EJB3</span> Persistence</li>
<li>Hibernate, caches, and the way they can kill your database.</li>
<li>Maven2 (it just sucks a lot!)</li>
<li>No Java 6 on the Mac</li>
<li>No "next/previous word" keyboard navigation in the Mac terminal</li>
<li>Mac Firefox, drop-down boxes, and tabbing</li>
</ul>



<p>and I'm sure that there's more that will come to me. Today, I'm doing Maven - the rest will come later.</p>]]><a href="http://twasink.net/blog/archives/2008/01/_and_sometimes.html">[more..]</a></description>
<link>http://twasink.net/blog/archives/2008/01/_and_sometimes.html</link>
<guid>http://twasink.net/blog/archives/2008/01/_and_sometimes.html</guid>
<category>Java</category>
<pubDate>Mon, 21 Jan 2008 23:16:27 +1000</pubDate>
</item>
<item>
<title>Sometimes, things just work...</title>
<description><![CDATA[<p>9 months of intense development later, our first big <a href="http://images.wotif.com/data/asx_announcement/asx_announcement_1206.pdf">integration project</a>, with Tourico Holidays, went live today, with an additional 1000-odd hotels appearing on our site (with more to come). A good example is <a href="http://www.wotif.com/search/Advanced?country=US&amp;region=11666">Texas</a>, where we had only a few hotels outside of the major cities and we now have about 90 (plus more inside the major cities, of course).</p>]]><a href="http://twasink.net/blog/archives/2008/01/sometimes_thing.html">[more..]</a></description>
<link>http://twasink.net/blog/archives/2008/01/sometimes_thing.html</link>
<guid>http://twasink.net/blog/archives/2008/01/sometimes_thing.html</guid>
<category>Java</category>
<pubDate>Mon, 21 Jan 2008 15:23:42 +1000</pubDate>
</item>
<item>
<title>The rumours of Ruby&apos;s death are greatly exaggerated...</title>
<description><![CDATA[<p>Sheesh... it seems like <a href="http://blueboard.com/smalljava/archives/70">every man</a> and <a href="http://gregluck.com/blog/archives/2007/05/_ruby_in_declin.html">his dog</a> is jumping on the latest <a href="http://www.tiobe.com/tpci.htm"><span class="caps">TIOBE </span>index</a> figures showing a <em>very</em> small dip in the popularity of Ruby. Talk about lies, damned lies, and statistics...</p>]]><a href="http://twasink.net/blog/archives/2007/05/the_rumours_of.html">[more..]</a></description>
<link>http://twasink.net/blog/archives/2007/05/the_rumours_of.html</link>
<guid>http://twasink.net/blog/archives/2007/05/the_rumours_of.html</guid>
<category>Java</category>
<pubDate>Tue, 22 May 2007 17:43:05 +1000</pubDate>
</item>
<item>
<title>If it quacks like a startup, it is a startup...</title>
<description><![CDATA[<p>Mike Cannon-Brookes asks <a href="http://blogs.atlassian.com/rebelutionary/archives/2007/05/when_is_a_startup_not_a_startup_anymore.html">Is Atlassian still a startup? And when is a startup not a startup anymore?</a>. Well, Mike, the answer's simple. If it still feels like a startup, it's a startup.</p>]]><a href="http://twasink.net/blog/archives/2007/05/if_it_quacks_li.html">[more..]</a></description>
<link>http://twasink.net/blog/archives/2007/05/if_it_quacks_li.html</link>
<guid>http://twasink.net/blog/archives/2007/05/if_it_quacks_li.html</guid>
<category>Agile Development</category>
<pubDate>Tue, 22 May 2007 17:33:22 +1000</pubDate>
</item>
<item>
<title>Why external Maven repositories are a bad idea</title>
<description><![CDATA[<p>Bandwidth costs to mirror <a href="http://maven.apache.org">Maven</a> repositories: $50<br />
File server to store it on: $1500<br />
Developer effort to access the internal repository: $200<br />
Having 20 developers sit around idle because you didn't mirror the <a href="http://repository:https://java-net.dev.java.net/Upgrade_Page_2007-04-04.html">java.net</a> repository: priceless</p>

<p>With apologies to Mastercard.</p>]]></description>
<link>http://twasink.net/blog/archives/2007/04/why_external_ma.html</link>
<guid>http://twasink.net/blog/archives/2007/04/why_external_ma.html</guid>
<category>Java</category>
<pubDate>Thu, 05 Apr 2007 09:09:50 +1000</pubDate>
</item>
<item>
<title>Using EJB3 with Spring</title>
<description><![CDATA[<p>In <a href="/blog/archives/2007/01/using_spring_wi.html">my previous entry</a>, I talked about how you could easily use Spring from within <span class="caps">EJB</span> 3 beans, thanks to the magic of <span class="caps">EJB </span>interceptors. But what about the other way? How do you use <span class="caps">EJB</span> 3 from Spring?</p>

<p><strong>Update:</strong> It looks like the Interface21 guys have had similar ideas - check out <a href="http://interface21.com/pitchfork/">Project Pitchfork</a></p>]]><a href="http://twasink.net/blog/archives/2007/02/using_ejb3_with.html">[more..]</a></description>
<link>http://twasink.net/blog/archives/2007/02/using_ejb3_with.html</link>
<guid>http://twasink.net/blog/archives/2007/02/using_ejb3_with.html</guid>
<category>Java</category>
<pubDate>Mon, 12 Feb 2007 22:43:07 +1000</pubDate>
</item>
<item>
<title>Comments re-enabled</title>
<description><![CDATA[<p>I had to disable comments a little while back, due to excessive blog spam (the alternative was to have my <span class="caps">ISP </span>kick me off their servers). I've now made some changes to MT to do the <span class="caps">CAPTCHA </span>filtering earlier - hopefully it's a bit nicer now. We'll see.</p>]]></description>
<link>http://twasink.net/blog/archives/2007/02/comments_reenab.html</link>
<guid>http://twasink.net/blog/archives/2007/02/comments_reenab.html</guid>
<category>General</category>
<pubDate>Mon, 12 Feb 2007 18:03:07 +1000</pubDate>
</item>
<item>
<title>Using Spring with EJB 3</title>
<description><![CDATA[<p>Back when we were planning the migration to Glassfish, I realised we would have two dependency-injection frameworks in use - <span class="caps">EJB</span> 3 and Spring. For obvious reasons, I wanted to know more about how these would interact. At the time (last July), I couldn't find anyone who had used <span class="caps">EJB</span> 3 and Spring together - even <a href="http://interface21.com/people/ben.html">Ben Alex</a> from Interface21 hadn't come across it. Six months later, and I still haven't heard of anyone using Spring <em>from</em> <span class="caps">EJB</span>s. Except for us.</p>]]><a href="http://twasink.net/blog/archives/2007/01/using_spring_wi.html">[more..]</a></description>
<link>http://twasink.net/blog/archives/2007/01/using_spring_wi.html</link>
<guid>http://twasink.net/blog/archives/2007/01/using_spring_wi.html</guid>
<category>Java</category>
<pubDate>Sun, 28 Jan 2007 09:40:13 +1000</pubDate>
</item>
<item>
<title>Testing EJBs without a container</title>
<description><![CDATA[<p>One of the more annoying aspects of testing <span class="caps">EJB</span>s has always been the fact you need to bundle them up in a <span class="caps">JAR </span>(and often an <span class="caps">EAR</span>) and deploy them to a server to thoroughly test them. This process drags out the development of unit tests, and makes life generally painful.</p>

<p>As of <span class="caps">EJB</span> 3, however, it's no longer necessary. instead, it is fairly trivial to mock out the container entirely (and safely!)</p>]]><a href="http://twasink.net/blog/archives/2007/01/testing_ejbs_wi.html">[more..]</a></description>
<link>http://twasink.net/blog/archives/2007/01/testing_ejbs_wi.html</link>
<guid>http://twasink.net/blog/archives/2007/01/testing_ejbs_wi.html</guid>
<category>Java</category>
<pubDate>Sun, 28 Jan 2007 07:57:49 +1000</pubDate>
</item>
<item>
<title>Interfaces with EJB3</title>
<description><![CDATA[<p>Starting last October, we went through a process of upgrading the main application at Wotif to be running under Java EE 5 (not just Java SE 5). The biggest part of this was upgrading from <span class="caps">EJB</span> 2 to <span class="caps">EJB</span> 3.</p>

<p>One of the things I noticed was that <span class="caps">EJB3 </span>gives you a lot of choices for how to implement and configure <span class="caps">EJB</span>s and their associated interfaces. There's a lot of "standards" on how to do it, many of them conflicting, but very little explanation of why. This is the set of standards I came up with (and was largely successful in getting implemented), and why I chose them.</p>]]><a href="http://twasink.net/blog/archives/2007/01/interfaces_with.html">[more..]</a></description>
<link>http://twasink.net/blog/archives/2007/01/interfaces_with.html</link>
<guid>http://twasink.net/blog/archives/2007/01/interfaces_with.html</guid>
<category>Java</category>
<pubDate>Sat, 27 Jan 2007 21:54:49 +1000</pubDate>
</item>
<item>
<title>Running on Glassfish</title>
<description><![CDATA[<p>Well, it took long enough, but it's finally done:</p>

<pre><code>Response Headers - http://www.wotif.com/

X-Powered-By: Servlet/2.5, JSP/2.1, JSP/2.1, JSP/2.1, JSP/2.1, JSP/2.1, JSP/2.1, JSP/2.1, JSP/2.1, JSP/2.1
Set-Cookie: PersistCountryCode=1; Domain=.wotif.com; Expires=Wed, 23-Sep-2037 22:11:45 GMT; Path=/
Content-Encoding: gzip
Content-Type: text/html;charset=utf-8
Content-Length: 11520
Date: Wed, 24 Jan 2007 22:11:45 GMT
Server: Sun Java System Application Server Platform Edition 9.0_01
Connection: close

200 OK</code></pre>

<p>Phew. <em>Now</em> maybe I can get those backlogged <span class="caps">EJB3</span>-based articles out.</p>]]></description>
<link>http://twasink.net/blog/archives/2007/01/running_on_glas.html</link>
<guid>http://twasink.net/blog/archives/2007/01/running_on_glas.html</guid>
<category>Java</category>
<pubDate>Thu, 25 Jan 2007 09:12:14 +1000</pubDate>
</item>
<item>
<title>Back again</title>
<description><![CDATA[<p>Sorry for the long absence; I've been inundated at work and in my personal life. To top it all off, I had to migrate my domain due to changes at my hosting provider.</p>

<p>However, I expect to start posting again soon - expect the regular stream of quality<sup class="footnote"><a href="http://twasink.net/blog/archives/2006/11/back_again.html#fn1">1</a></sup> articles that I used to produce.</p>

<p class="footnote" id="fn1"><sup>1</sup> Remember - everything has quality. Sometimes, you can even put a nice adjective in front.</p>]]></description>
<link>http://twasink.net/blog/archives/2006/11/back_again.html</link>
<guid>http://twasink.net/blog/archives/2006/11/back_again.html</guid>
<category>General</category>
<pubDate>Wed, 15 Nov 2006 11:43:46 +1000</pubDate>
</item>


</channel>
</rss>