<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/atom10full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/"><id>tag:blogger.com,1999:blog-10870752</id><updated>2008-03-06T11:20:45.996+01:00</updated><title type="text">Marcus' digital mustard</title><link rel="alternate" type="text/html" href="http://marcus-schulte.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://marcus-schulte.blogspot.com/feeds/posts/default?start-index=26&amp;max-results=25" /><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://marcus-schulte.blogspot.com/feeds/posts/default" /><author><name>Marcus Schulte</name><uri>http://www.blogger.com/profile/13079542031575873570</uri><email>noreply@blogger.com</email></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>32</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><link rel="self" href="http://feeds.feedburner.com/MarcusRatherRandomNotes" type="application/atom+xml" /><entry><id>tag:blogger.com,1999:blog-10870752.post-1603163265895478702</id><published>2008-02-23T20:36:00.002+01:00</published><updated>2008-02-23T21:12:58.843+01:00</updated><title type="text">Powerbook survived HD-ectomy</title><summary type="text">My beloved "old" (3.5 years) powerbook (G4, 15", 1.5 GHz) started to make humming noises, especially when tilted. A couple of weeks later there were sudden hangups, it would only restart after given some cooling time. 
That it finally survived my amateur-surgery - albeit somewhat battered - let me immediately regret my fancying a new macbook. Some notes:

  I followed this guide
   I did need to </summary><link rel="alternate" type="text/html" href="http://marcus-schulte.blogspot.com/2008/02/powerbook-survived-hd-ectomy.html" title="Powerbook survived HD-ectomy" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=10870752&amp;postID=1603163265895478702" title="0 Comments" /><link rel="replies" type="application/atom+xml" href="http://marcus-schulte.blogspot.com/feeds/1603163265895478702/comments/default" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://marcus-schulte.blogspot.com/feeds/posts/default/1603163265895478702" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10870752/posts/default/1603163265895478702" /><author><name>Marcus Schulte</name><uri>http://www.blogger.com/profile/13079542031575873570</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-10870752.post-6750634644915386905</id><published>2007-06-04T21:42:00.000+02:00</published><updated>2007-06-06T21:27:39.548+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="tapestry" /><category scheme="http://www.blogger.com/atom/ns#" term="scala" /><title type="text">Tapestry Components in Scala</title><summary type="text">Recently, I became interested in Scala: Multiple inheritance, good support for functional programming, a nice syntax, to mention the greatest highlights.

As a first exercise, I tried to write some Tapestry-4 components in Scala to gain some real-world experience, and to see whether Tapestry's pretty extensive use of bytecode-generation would somehow break Scala's Java-compatibility. I was pretty</summary><link rel="alternate" type="text/html" href="http://marcus-schulte.blogspot.com/2007/06/tapestry-components-in-scala.html" title="Tapestry Components in Scala" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=10870752&amp;postID=6750634644915386905" title="1 Comments" /><link rel="replies" type="application/atom+xml" href="http://marcus-schulte.blogspot.com/feeds/6750634644915386905/comments/default" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://marcus-schulte.blogspot.com/feeds/posts/default/6750634644915386905" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10870752/posts/default/6750634644915386905" /><author><name>Marcus Schulte</name><uri>http://www.blogger.com/profile/13079542031575873570</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-10870752.post-8536733787268112373</id><published>2007-05-12T12:27:00.000+02:00</published><updated>2007-05-14T08:51:50.080+02:00</updated><title type="text">Clean and Flexible Authorisation for Tapestry Applications</title><summary type="text">Currently we'r working on an application that will be used by 4 different departments. And I can already anticipate people dropping in to casually remark someting like "Oh, by the way, we've hired this guy who needs Access to module X of the invoicing system, but of course he mustn't be allowed to press button Y, and he needs to be able to change the comment-field. And don't hurry, he'll not </summary><link rel="alternate" type="text/html" href="http://marcus-schulte.blogspot.com/2007/05/clean-and-flexible-authorisation-for.html" title="Clean and Flexible Authorisation for Tapestry Applications" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=10870752&amp;postID=8536733787268112373" title="0 Comments" /><link rel="replies" type="application/atom+xml" href="http://marcus-schulte.blogspot.com/feeds/8536733787268112373/comments/default" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://marcus-schulte.blogspot.com/feeds/posts/default/8536733787268112373" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10870752/posts/default/8536733787268112373" /><author><name>Marcus Schulte</name><uri>http://www.blogger.com/profile/13079542031575873570</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-10870752.post-1648662118435693293</id><published>2007-04-25T20:29:00.001+02:00</published><updated>2008-03-04T18:44:56.817+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ide" /><title type="text">Subversive beats Subclipse as SVN Plugin for Eclipse</title><summary type="text">I've switched from subclipse to subversive recently. The former used to annoy me by 

its inability to handle directory moves/copies. I had to go and delete .svn dirs manually
The annoying need to do manual updates after each commit

Subversive mostly works in any of these cases. And when it doesn't want to keep track of me moving some directory around, it politely asks me to commit before </summary><link rel="alternate" type="text/html" href="http://marcus-schulte.blogspot.com/2007/04/subversive-beats-subclipse-as-svn.html" title="Subversive beats Subclipse as SVN Plugin for Eclipse" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=10870752&amp;postID=1648662118435693293" title="2 Comments" /><link rel="replies" type="application/atom+xml" href="http://marcus-schulte.blogspot.com/feeds/1648662118435693293/comments/default" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://marcus-schulte.blogspot.com/feeds/posts/default/1648662118435693293" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10870752/posts/default/1648662118435693293" /><author><name>Marcus Schulte</name><uri>http://www.blogger.com/profile/13079542031575873570</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-10870752.post-4314287981717328285</id><published>2007-03-08T10:42:00.000+01:00</published><updated>2007-05-12T12:14:04.004+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="maven" /><title type="text">Maven2: creating JavaDoc links behind a firewall</title><summary type="text">I just spent the better part of the morning trying to make javadoc links work. In short: configuring the proxy did not work - We have to cope with offline package-lists, not a big problem really. Of course, to configure the maven-javadoc-plugin to do this, reading the source was the quickest way to go. So put something like this in your pom.xml:

&lt;reporting&gt;
  &lt;plugins&gt;
    &lt;plugin&gt;
      &lt;</summary><link rel="alternate" type="text/html" href="http://marcus-schulte.blogspot.com/2007/03/maven2-creating-javadoc-links-behind.html" title="Maven2: creating JavaDoc links behind a firewall" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=10870752&amp;postID=4314287981717328285" title="1 Comments" /><link rel="replies" type="application/atom+xml" href="http://marcus-schulte.blogspot.com/feeds/4314287981717328285/comments/default" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://marcus-schulte.blogspot.com/feeds/posts/default/4314287981717328285" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10870752/posts/default/4314287981717328285" /><author><name>Marcus Schulte</name><uri>http://www.blogger.com/profile/13079542031575873570</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-10870752.post-5778584922866024970</id><published>2007-02-15T13:10:00.000+01:00</published><updated>2007-02-16T09:35:35.932+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ws" /><title type="text">XFire newbie gotcha: use the correct ServiceFactory</title><summary type="text">If you use the jaxb binding (the default with the Maven-plugin) to generate you client proxies, to actually use your service, you have to instantiate a org.codehaus.xfire.jaxb2.JaxbServiceFactory instead of an org.codehaus.xfire.service.binding.ObjectServiceFactory. Otherwise the parameter names (wsdl:part@name) will be replaced with "in0"-elements by XFire - and the server will complain about an</summary><link rel="alternate" type="text/html" href="http://marcus-schulte.blogspot.com/2007/02/xfire-newbie-gotcha-use-correct.html" title="XFire newbie gotcha: use the correct ServiceFactory" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=10870752&amp;postID=5778584922866024970" title="0 Comments" /><link rel="replies" type="application/atom+xml" href="http://marcus-schulte.blogspot.com/feeds/5778584922866024970/comments/default" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://marcus-schulte.blogspot.com/feeds/posts/default/5778584922866024970" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10870752/posts/default/5778584922866024970" /><author><name>Marcus Schulte</name><uri>http://www.blogger.com/profile/13079542031575873570</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-10870752.post-9093334783075735421</id><published>2007-02-15T12:54:00.000+01:00</published><updated>2007-02-15T13:09:51.839+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ws" /><category scheme="http://www.blogger.com/atom/ns#" term="maven" /><title type="text">Quality of Maven integration becomes decisive for OSS adoption - good bye Axis</title><summary type="text">Today I realised, how important it became for any open-source project to play nicely with the Maven repository and to get its dependencies right in its pom's . 
When I had to whip up a web-service client yesterday, I started out trying Axis-2 since I knew the server impl was bases on Axis. Quickly I had to decide to either start debugging their maven-plugins dependencies (obviously wsdl4j was </summary><link rel="alternate" type="text/html" href="http://marcus-schulte.blogspot.com/2007/02/quality-of-maven-integration-becomes.html" title="Quality of Maven integration becomes decisive for OSS adoption - good bye Axis" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=10870752&amp;postID=9093334783075735421" title="0 Comments" /><link rel="replies" type="application/atom+xml" href="http://marcus-schulte.blogspot.com/feeds/9093334783075735421/comments/default" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://marcus-schulte.blogspot.com/feeds/posts/default/9093334783075735421" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10870752/posts/default/9093334783075735421" /><author><name>Marcus Schulte</name><uri>http://www.blogger.com/profile/13079542031575873570</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-10870752.post-4692436888063345849</id><published>2007-02-11T17:56:00.000+01:00</published><updated>2007-01-15T06:44:05.262+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="hivemind" /><category scheme="http://www.blogger.com/atom/ns#" term="maven" /><title type="text">New Version 1.0.2 of hivedoc-plugin for HiveMind /Maven2</title><summary type="text">Finally, I got around to enhancing the hivedoc-plugin with:

  Support for sub-modules
  Removal of empty columns in the module-summary table.

The new version 1.0.2 should be on the central repo as soon as MAVENUPLOAD-1377 is resolved.</summary><link rel="alternate" type="text/html" href="http://marcus-schulte.blogspot.com/2007/02/new-version-102-of-hivedoc-plugin-for.html" title="New Version 1.0.2 of hivedoc-plugin for HiveMind /Maven2" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=10870752&amp;postID=4692436888063345849" title="0 Comments" /><link rel="replies" type="application/atom+xml" href="http://marcus-schulte.blogspot.com/feeds/4692436888063345849/comments/default" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://marcus-schulte.blogspot.com/feeds/posts/default/4692436888063345849" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10870752/posts/default/4692436888063345849" /><author><name>Marcus Schulte</name><uri>http://www.blogger.com/profile/13079542031575873570</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-10870752.post-2688963961374541416</id><published>2007-01-08T16:33:00.000+01:00</published><updated>2007-01-09T10:38:58.963+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="maven" /><title type="text">Half a Year of Maven 2: An experience of the awkward kind</title><summary type="text">We're using Maven 2 now for all new projects. At the highest level I can summarize our experience as:
The concepts behind Maven are sound and amazingly useful.The implementation is just about usable - no show-stoppers anymore, but lots and lots of little, annoying bugs and surprising gotchasThe documentation is sloppy.The really funny thing is, how point 1. still by far outweighs the shortcomings</summary><link rel="alternate" type="text/html" href="http://marcus-schulte.blogspot.com/2007/01/half-year-of-maven-2-experience-of.html" title="Half a Year of Maven 2: An experience of the awkward kind" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=10870752&amp;postID=2688963961374541416" title="3 Comments" /><link rel="replies" type="application/atom+xml" href="http://marcus-schulte.blogspot.com/feeds/2688963961374541416/comments/default" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://marcus-schulte.blogspot.com/feeds/posts/default/2688963961374541416" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10870752/posts/default/2688963961374541416" /><author><name>Marcus Schulte</name><uri>http://www.blogger.com/profile/13079542031575873570</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-10870752.post-3010061206976264118</id><published>2007-01-05T08:49:00.000+01:00</published><updated>2007-05-12T12:14:04.004+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="hivemind" /><category scheme="http://www.blogger.com/atom/ns#" term="maven" /><title type="text">New Version of hivedoc-plugin for HiveMind</title><summary type="text">Since some people seem to use it, I've updated my hivedoc-plugin to version 1.0.1 . Notable changes are:
Support for custom resource root directoriesBackport to Java 1.4proper plugin-docsThe new version should show up on the central Maven 2 repo soon. If you need it before that, here's the repo-bundle.</summary><link rel="alternate" type="text/html" href="http://marcus-schulte.blogspot.com/2007/01/new-version-of-hivedoc-plugin-for.html" title="New Version of hivedoc-plugin for HiveMind" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=10870752&amp;postID=3010061206976264118" title="0 Comments" /><link rel="replies" type="application/atom+xml" href="http://marcus-schulte.blogspot.com/feeds/3010061206976264118/comments/default" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://marcus-schulte.blogspot.com/feeds/posts/default/3010061206976264118" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10870752/posts/default/3010061206976264118" /><author><name>Marcus Schulte</name><uri>http://www.blogger.com/profile/13079542031575873570</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-10870752.post-6702332821057360264</id><published>2007-01-02T10:42:00.000+01:00</published><updated>2007-05-12T12:16:33.355+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="hivemind" /><category scheme="http://www.blogger.com/atom/ns#" term="maven" /><title type="text">hivedoc-plugin generates Maven 2 docs for HiveMind descriptors</title><summary type="text">If you're using HiveMind and Maven 2, generating docs for your HiveMind descriptors is now really quick and simple.
Find the docs under http://marcus-schulte.ch/hivedoc-plugin/.</summary><link rel="alternate" type="text/html" href="http://marcus-schulte.blogspot.com/2007/01/hivedoc-plugin-generates-maven-2-docs.html" title="hivedoc-plugin generates Maven 2 docs for HiveMind descriptors" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=10870752&amp;postID=6702332821057360264" title="0 Comments" /><link rel="replies" type="application/atom+xml" href="http://marcus-schulte.blogspot.com/feeds/6702332821057360264/comments/default" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://marcus-schulte.blogspot.com/feeds/posts/default/6702332821057360264" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10870752/posts/default/6702332821057360264" /><author><name>Marcus Schulte</name><uri>http://www.blogger.com/profile/13079542031575873570</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-10870752.post-115834910485777741</id><published>2006-09-15T21:26:00.000+02:00</published><updated>2007-05-12T12:15:12.760+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="tapestry" /><title type="text">Honeycomb now comes with a Maven2 archetype for Tapestry/Hibernate based web-apps.</title><summary type="text">Version 0.3.3 of Honeycomb is released.
Honeycomb provides an easy integration for Tapestry and Hibernate. Its distinguishing key feature is session-per-conversation support.
The main changes in this release are:

re-structuring into 4 libraries replaced the templates for the Core/Webapp projects with maven archetypes. Maven users get started without manual downloads.
Fixed rollback on </summary><link rel="alternate" type="text/html" href="http://marcus-schulte.blogspot.com/2006/09/honeycomb-now-comes-with-maven2.html" title="Honeycomb now comes with a Maven2 archetype for Tapestry/Hibernate based web-apps." /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=10870752&amp;postID=115834910485777741" title="13 Comments" /><link rel="replies" type="application/atom+xml" href="http://marcus-schulte.blogspot.com/feeds/115834910485777741/comments/default" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://marcus-schulte.blogspot.com/feeds/posts/default/115834910485777741" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10870752/posts/default/115834910485777741" /><author><name>Marcus Schulte</name><uri>http://www.blogger.com/profile/13079542031575873570</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-10870752.post-115662116256651056</id><published>2006-08-26T21:15:00.000+02:00</published><updated>2006-08-26T21:39:23.053+02:00</updated><title type="text">The Return of the Database - who needs more "middleware"?</title><summary type="text">Maybe it's just my organization's policy of giving its developers relatively free access to db's while, at the same time, putting lots of administrative hurdles and hurdle-like administrators between them and the app-server. But it's really amazing how little there is that you can't get done nicely with a sturdy db and a decent servlet-container (at most).
Example: For some time I thought a nice </summary><link rel="alternate" type="text/html" href="http://marcus-schulte.blogspot.com/2006/08/return-of-database-who-needs-more.html" title="The Return of the Database - who needs more &quot;middleware&quot;?" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=10870752&amp;postID=115662116256651056" title="0 Comments" /><link rel="replies" type="application/atom+xml" href="http://marcus-schulte.blogspot.com/feeds/115662116256651056/comments/default" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://marcus-schulte.blogspot.com/feeds/posts/default/115662116256651056" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10870752/posts/default/115662116256651056" /><author><name>Marcus Schulte</name><uri>http://www.blogger.com/profile/13079542031575873570</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-10870752.post-114102262191804853</id><published>2006-02-27T07:35:00.000+01:00</published><updated>2007-05-12T12:15:12.761+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="tapestry" /><title type="text">KickStart is now Honeycomb, release 0.3 out</title><summary type="text">Kickstart has moved from SourceForge to  JavaForge, and it's changed its name to Honeycomb (alluding to the central role that HiveMind plays in it).  Honeycomb integrates Tapestry with Hibernate for painless full-stack web-dev-support.
New features comprise

   A hibernate DataSqueezer 
   Pluggable Audit-Trail via hibernate interceptor 
    Support for session per request pattern via simple </summary><link rel="alternate" type="text/html" href="http://marcus-schulte.blogspot.com/2006/02/kickstart-is-now-honeycomb-release-03.html" title="KickStart is now Honeycomb, release 0.3 out" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=10870752&amp;postID=114102262191804853" title="1 Comments" /><link rel="replies" type="application/atom+xml" href="http://marcus-schulte.blogspot.com/feeds/114102262191804853/comments/default" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://marcus-schulte.blogspot.com/feeds/posts/default/114102262191804853" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10870752/posts/default/114102262191804853" /><author><name>Marcus Schulte</name><uri>http://www.blogger.com/profile/13079542031575873570</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-10870752.post-113734854534447715</id><published>2006-01-15T18:58:00.000+01:00</published><updated>2007-05-12T12:16:33.356+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="tapestry" /><category scheme="http://www.blogger.com/atom/ns#" term="hivemind" /><title type="text">With Kickstart 0.2 Tapestry supports the hibernate session-per-conversation pattern out of the box</title><summary type="text">I've uploaded a new release of KickStart. Improvements are:

  Full support for the hibernate-session-per-conversation pattern. See hibernate.org for more. 
 fixed wrong unsaved-value-mapping
</summary><link rel="alternate" type="text/html" href="http://marcus-schulte.blogspot.com/2006/01/with-kickstart-02-tapestry-supports.html" title="With Kickstart 0.2 Tapestry supports the hibernate session-per-conversation pattern out of the box" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=10870752&amp;postID=113734854534447715" title="0 Comments" /><link rel="replies" type="application/atom+xml" href="http://marcus-schulte.blogspot.com/feeds/113734854534447715/comments/default" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://marcus-schulte.blogspot.com/feeds/posts/default/113734854534447715" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10870752/posts/default/113734854534447715" /><author><name>Marcus Schulte</name><uri>http://www.blogger.com/profile/13079542031575873570</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-10870752.post-113666147746295534</id><published>2006-01-07T19:55:00.000+01:00</published><updated>2007-05-12T12:16:33.357+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="tapestry" /><category scheme="http://www.blogger.com/atom/ns#" term="hivemind" /><title type="text">KickStart integrates Tapestry with Hibernate for painless full-stack web-dev-support</title><summary type="text">While Web-Development with Java is supported by a variety of great frameworks it is still not easy (even tedious) to, firstly, choose the right ones for a given problem and, secondly, make them work together. (needless to refer to all the envious appraisals of RoR and, yes, even Visual-Studio by Java-developers). 

I've set up a Sourceforge project, called KickStart, (first download available </summary><link rel="alternate" type="text/html" href="http://marcus-schulte.blogspot.com/2006/01/kickstart-integrates-tapestry-with.html" title="KickStart integrates Tapestry with Hibernate for painless full-stack web-dev-support" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=10870752&amp;postID=113666147746295534" title="1 Comments" /><link rel="replies" type="application/atom+xml" href="http://marcus-schulte.blogspot.com/feeds/113666147746295534/comments/default" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://marcus-schulte.blogspot.com/feeds/posts/default/113666147746295534" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10870752/posts/default/113666147746295534" /><author><name>Marcus Schulte</name><uri>http://www.blogger.com/profile/13079542031575873570</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-10870752.post-113007523726320931</id><published>2005-10-23T15:46:00.000+02:00</published><updated>2005-10-23T15:47:17.270+02:00</updated><title type="text">Finally no more clob-clipping: Oracle 10g supports standard JDBC CLOB-handling</title><summary type="text">The new enhancements in Oracle JDBC 10g promises to simplify the insertion and retrieval techniques for the CLOBs using the standard APIs.  Handling Clobs in Oracle 10g Just discovered the above link after trying to use Oracle's thin JDBC-Driver with  Hibernate to save CLOB-data ...  This automatically and silently nullifies the CLOB-field when you try to save more then 4k to it which you are </summary><link rel="alternate" type="text/html" href="http://marcus-schulte.blogspot.com/2005/10/finally-no-more-clob-clipping-oracle.html" title="Finally no more clob-clipping: Oracle 10g supports standard JDBC CLOB-handling" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=10870752&amp;postID=113007523726320931" title="0 Comments" /><link rel="replies" type="application/atom+xml" href="http://marcus-schulte.blogspot.com/feeds/113007523726320931/comments/default" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://marcus-schulte.blogspot.com/feeds/posts/default/113007523726320931" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10870752/posts/default/113007523726320931" /><author><name>Marcus Schulte</name><uri>http://www.blogger.com/profile/13079542031575873570</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-10870752.post-112974174496675371</id><published>2005-10-19T19:00:00.000+02:00</published><updated>2005-10-19T19:09:04.973+02:00</updated><title type="text">Apache DBCP - never forget maxWait</title><summary type="text">Had some not so cozy hours debugging a productive app on Tomcat. The thing would spontaneously hang about once a day (The whole of Tomcat, apart from JMX was completely hung). It hung in an infinite wait in the Database-Pool. Funnily the default of the maxWait-Param is "-1", i.e. infinitely. Now, after I fixed this it runs nicely.
But it's still not clear to me, where the total deadlock came from</summary><link rel="alternate" type="text/html" href="http://marcus-schulte.blogspot.com/2005/10/apache-dbcp-never-forget-maxwait.html" title="Apache DBCP - never forget maxWait" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=10870752&amp;postID=112974174496675371" title="1 Comments" /><link rel="replies" type="application/atom+xml" href="http://marcus-schulte.blogspot.com/feeds/112974174496675371/comments/default" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://marcus-schulte.blogspot.com/feeds/posts/default/112974174496675371" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10870752/posts/default/112974174496675371" /><author><name>Marcus Schulte</name><uri>http://www.blogger.com/profile/13079542031575873570</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-10870752.post-112852493056945047</id><published>2005-10-05T16:56:00.000+02:00</published><updated>2005-10-19T19:26:44.636+02:00</updated><title type="text">The Scattered State-Machine - An Antipattern for Web-Controllers</title><summary type="text">Like a lot of popular anti-patterns the scattered controller stems from the naive implementation of a seemingly obvious abstraction. The reasoning goes like this: Web-Apps show some html-page, each user event (http-request) triggers an action which, in turn, results in an event determining the next state which is either an action or a an html-page transferred back to the user's browser. So, use </summary><link rel="alternate" type="text/html" href="http://marcus-schulte.blogspot.com/2005/10/scattered-state-machine-antipattern.html" title="The Scattered State-Machine - An Antipattern for Web-Controllers" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=10870752&amp;postID=112852493056945047" title="0 Comments" /><link rel="replies" type="application/atom+xml" href="http://marcus-schulte.blogspot.com/feeds/112852493056945047/comments/default" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://marcus-schulte.blogspot.com/feeds/posts/default/112852493056945047" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10870752/posts/default/112852493056945047" /><author><name>Marcus Schulte</name><uri>http://www.blogger.com/profile/13079542031575873570</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-10870752.post-112783930957019047</id><published>2005-09-27T18:27:00.000+02:00</published><updated>2007-05-12T12:16:33.357+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="hivemind" /><title type="text">Now on the hivemind-wiki: Hivemind support for Hibernate Long-Session-Pattern</title><summary type="text">Handling Hibernate-Sessions is a recurrent topic on the Tapestry users mailing list. Still, long sessions seem to be surprisingly unknown, once one considers the fact that Gavin King advocates its use in "Hibernate in Action".
So, I've posted some code implementing the Long-Session-Pattern in Hivemind on the Hivemind-Wiki.
I'd be curious to hear whether it worked for anyone (or why it didn't) ...</summary><link rel="alternate" type="text/html" href="http://marcus-schulte.blogspot.com/2005/09/now-on-hivemind-wiki-hivemind-support.html" title="Now on the hivemind-wiki: Hivemind support for Hibernate Long-Session-Pattern" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=10870752&amp;postID=112783930957019047" title="0 Comments" /><link rel="replies" type="application/atom+xml" href="http://marcus-schulte.blogspot.com/feeds/112783930957019047/comments/default" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://marcus-schulte.blogspot.com/feeds/posts/default/112783930957019047" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10870752/posts/default/112783930957019047" /><author><name>Marcus Schulte</name><uri>http://www.blogger.com/profile/13079542031575873570</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-10870752.post-112628986753754303</id><published>2005-09-09T20:05:00.000+02:00</published><updated>2005-09-09T20:17:47.546+02:00</updated><title type="text">Bye, bye BEA: From Weblogic/EJB/CMP to Tomcat/Hivemind/Hibernate</title><summary type="text">... and loosing some 1700 loc on the way (counting only Java, disregarding evil xml-deployment-descriptors). Our first non-trivial App on Hivemind/Hibernate is now productive for 5 weeks. No technical problems so far, just the usual buggies associated with cleaning up only part of a design-mess. The whole thing was never really performance-critical (only some 2000 transactions per workday), but </summary><link rel="alternate" type="text/html" href="http://marcus-schulte.blogspot.com/2005/09/bye-bye-bea-from-weblogicejbcmp-to.html" title="Bye, bye BEA: From Weblogic/EJB/CMP to Tomcat/Hivemind/Hibernate" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=10870752&amp;postID=112628986753754303" title="0 Comments" /><link rel="replies" type="application/atom+xml" href="http://marcus-schulte.blogspot.com/feeds/112628986753754303/comments/default" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://marcus-schulte.blogspot.com/feeds/posts/default/112628986753754303" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10870752/posts/default/112628986753754303" /><author><name>Marcus Schulte</name><uri>http://www.blogger.com/profile/13079542031575873570</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-10870752.post-112265815372343166</id><published>2005-07-29T19:07:00.000+02:00</published><updated>2005-07-31T15:05:14.666+02:00</updated><title type="text">Java AWK - parsing csv-files in Java can be fun</title><summary type="text">Ever parsed text-files, writing loops and calling indexOf / substr just to get some boring job done? I confess, I did. Today, instead, I sat back and browsed the jdk-JavaDocs. Thinking what it would take to bring some of the simplicity of AWK to Java - and it'really simple - just a few lines of code and you can write things like this:

public class JawkSample extends JawkProgram {

 protected </summary><link rel="alternate" type="text/html" href="http://marcus-schulte.blogspot.com/2005/07/java-awk-parsing-csv-files-in-java-can.html" title="Java AWK - parsing csv-files in Java can be fun" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=10870752&amp;postID=112265815372343166" title="1 Comments" /><link rel="replies" type="application/atom+xml" href="http://marcus-schulte.blogspot.com/feeds/112265815372343166/comments/default" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://marcus-schulte.blogspot.com/feeds/posts/default/112265815372343166" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10870752/posts/default/112265815372343166" /><author><name>Marcus Schulte</name><uri>http://www.blogger.com/profile/13079542031575873570</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-10870752.post-112256754039796852</id><published>2005-07-28T18:07:00.000+02:00</published><updated>2007-05-12T12:16:33.358+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="hivemind" /><title type="text">Unified service lifecyle-interface for different service-models</title><summary type="text">Hivemind sports a bunch of service-models (singleton, pooled, threaded). After adding "client-session" for my request-spanning, hibernate-sessions, I realised that it's rather unfortunate that each of the service models comes with its own lifecycle-interface (Discardable, PoolManageable,...).  So if you want to be able to switch service-models via configuration in one place, your service has to </summary><link rel="alternate" type="text/html" href="http://marcus-schulte.blogspot.com/2005/07/unified-service-lifecyle-interface-for.html" title="Unified service lifecyle-interface for different service-models" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=10870752&amp;postID=112256754039796852" title="0 Comments" /><link rel="replies" type="application/atom+xml" href="http://marcus-schulte.blogspot.com/feeds/112256754039796852/comments/default" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://marcus-schulte.blogspot.com/feeds/posts/default/112256754039796852" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10870752/posts/default/112256754039796852" /><author><name>Marcus Schulte</name><uri>http://www.blogger.com/profile/13079542031575873570</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-10870752.post-112256684954821764</id><published>2005-07-28T17:59:00.000+02:00</published><updated>2005-07-28T19:36:33.346+02:00</updated><title type="text">nifty toy = Tomcat + MX4J + hivemind.management + mc4j</title><summary type="text">Just brought up a managed version of Tomcat 5.5 on j2se 1.4 using mx4j and the hivemind.management module . There are just a few gotchas
   put mx4j.jar and mx4j-remote.jar on tomcat's system classpath, along with bootstrap.jar   don't contribute services with performance interceptor to hivemind.management.MBeans  Everything else works cleanly out of the box. It's fun to watch your services </summary><link rel="alternate" type="text/html" href="http://marcus-schulte.blogspot.com/2005/07/nifty-toy-tomcat-mx4j.html" title="nifty toy = Tomcat + MX4J + hivemind.management + mc4j" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=10870752&amp;postID=112256684954821764" title="1 Comments" /><link rel="replies" type="application/atom+xml" href="http://marcus-schulte.blogspot.com/feeds/112256684954821764/comments/default" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://marcus-schulte.blogspot.com/feeds/posts/default/112256684954821764" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10870752/posts/default/112256684954821764" /><author><name>Marcus Schulte</name><uri>http://www.blogger.com/profile/13079542031575873570</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-10870752.post-111782662507758476</id><published>2005-06-03T20:26:00.000+02:00</published><updated>2007-05-12T12:16:33.358+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="hivemind" /><title type="text">Hivemind support for Hibernate Long-Session-Pattern</title><summary type="text">Finally I got around to dig into HiveMind's concept of service-models. Not much digging, actually it's amazingly simple and intuitive. I've implemented a new service-model called "stateful" which attaches service instances to a User-Session. "Stateful" actually is a bit of a misnomer since threaded and pooled services also hold state for the duration of one request.
Basically all one needs is
   </summary><link rel="alternate" type="text/html" href="http://marcus-schulte.blogspot.com/2005/06/hivemind-support-for-hibernate-long.html" title="Hivemind support for Hibernate Long-Session-Pattern" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=10870752&amp;postID=111782662507758476" title="0 Comments" /><link rel="replies" type="application/atom+xml" href="http://marcus-schulte.blogspot.com/feeds/111782662507758476/comments/default" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://marcus-schulte.blogspot.com/feeds/posts/default/111782662507758476" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/10870752/posts/default/111782662507758476" /><author><name>Marcus Schulte</name><uri>http://www.blogger.com/profile/13079542031575873570</uri><email>noreply@blogger.com</email></author></entry></feed>
