<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss version="2.0"><channel><title>day to day stuff</title><link>http://day-to-day-stuff.blogspot.com/</link><description>Experiences from a hard core Java programmer that finally decided Ruby is a very very nice language, but rather stays on the JVM.</description><language>en</language><managingEditor>noreply@blogger.com (Erik van Oosten)</managingEditor><lastBuildDate>Fri, 30 Oct 2009 11:38:08 PDT</lastBuildDate><generator>Blogger http://www.blogger.com</generator><openSearch:totalResults xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">96</openSearch:totalResults><openSearch:startIndex xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">1</openSearch:startIndex><openSearch:itemsPerPage xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/DayToDayStuff" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item><title>Backup home directory to USB harddisk</title><link>http://day-to-day-stuff.blogspot.com/2009/10/backup-home-directory-to-usb-harddisk.html</link><category>unix</category><author>noreply@blogger.com (Erik van Oosten)</author><pubDate>Fri, 30 Oct 2009 11:38:08 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-27876765.post-6517881008987010441</guid><description>As I am keen to install Ubuntu 9.10 on my work laptop, its time to do an extra backup of my home directory. My mp3 player has about 30 Gb free so I'll use that.First attempt:cp -R /home/erik /media/H300/Backup/You wont believe how slow this is! All those little pesky files, we'll need to aggregate them. Second attempt:tar -cjf /media/H300/Backup/erik.tar.bz2 /home/erikWaiting ... waiting ... Oops</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Wicket do's and dont's</title><link>http://day-to-day-stuff.blogspot.com/2009/09/wicket-dos-and-donts.html</link><category>open source</category><category>java</category><category>wicket</category><author>noreply@blogger.com (Erik van Oosten)</author><pubDate>Wed, 16 Sep 2009 01:04:54 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-27876765.post-8605085292765205693</guid><description>Just published an article on my employer's blog: Wicket do's and dont's.</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Extending my e-mail stack with Roundcube</title><link>http://day-to-day-stuff.blogspot.com/2009/06/extending-my-e-mail-stack-with.html</link><category>open source</category><category>unix</category><author>noreply@blogger.com (Erik van Oosten)</author><pubDate>Fri, 12 Jun 2009 13:49:29 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-27876765.post-2401429074625835492</guid><description>I don't trust anyone with my most precious data: e-mail. That is why I run my own e-mail server. The server runs Ubuntu, Postfix, Dovecot and several tools for spam interception. I access my e-mail from several machines through the IMAP protocol (with TLS). Though any good IMAP client would do it is always Thunderbird (yes, even on my Mac).It is however not always feasible to have Thunderbird </description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>More Wicket filter options</title><link>http://day-to-day-stuff.blogspot.com/2009/05/more-wicket-filter-options.html</link><category>java</category><category>wicket</category><author>noreply@blogger.com (Erik van Oosten)</author><pubDate>Mon, 25 May 2009 06:20:21 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-27876765.post-1548747502920430663</guid><description>Wicket has this very clever idea to serve requests from a servlet Filter instead of a Servlet. The brilliance of it is that you can serve pages on the root of your context, but still allow the servlet container to process requests that Wicket has nothing to do with.By default this works correct automatically. Incoming requests that are not recognized by Wicket are just passed through.However, </description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Simon 2 in beta</title><link>http://day-to-day-stuff.blogspot.com/2009/04/simon-2-in-beta.html</link><category>java</category><category>monitoring</category><author>noreply@blogger.com (Erik van Oosten)</author><pubDate>Mon, 13 Apr 2009 03:49:06 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-27876765.post-3739768968965086096</guid><description>Java Simon, simple java monitoring, version 2 is in beta. I am quite proud of this because firstly the major change in the version was a result of my performance investigations, and secondly it contains my Spring integration code.See the java simon pages for news, downloads, etc.</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></item><item><title>Wicket course preparations</title><link>http://day-to-day-stuff.blogspot.com/2009/04/wicket-course-preparations.html</link><category>wicket</category><author>noreply@blogger.com (Erik van Oosten)</author><pubDate>Mon, 06 Apr 2009 07:46:03 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-27876765.post-4819030954188364547</guid><description>Soon I will start teaching Wicket courses in The Netherlands. To prepare I spend some days in London with jWeekend teacher Cemal Bayramoglu (also know for organizing the London Wicket meetups). Most of our time we were at jWeekend's nice classroom, right in the middle of London, with close access to a very nice Thai restaurant, several coffee corners, etc.The first day we went through the entire </description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></item><item><title>Amsterdam Wicket meetup March 24 2009</title><link>http://day-to-day-stuff.blogspot.com/2009/03/amsterdam-wicket-meetup-march-24-2009.html</link><category>java</category><category>conference</category><category>wicket</category><category>scala</category><author>noreply@blogger.com (Erik van Oosten)</author><pubDate>Tue, 17 Mar 2009 05:15:52 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-27876765.post-2870364728379846595</guid><description>The Wicket meetup has finally been given a date and time! March 24 2009, 19:00 - 22:00 in the Mövenpick hotel Amsterdam.PresentationsRegistration (do not register on the page above)</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Reliably sending email with Spring</title><link>http://day-to-day-stuff.blogspot.com/2009/01/reliably-sending-email-with-spring.html</link><category>open source</category><category>java</category><category>networking</category><author>noreply@blogger.com (Erik van Oosten)</author><pubDate>Sat, 12 Sep 2009 03:32:35 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-27876765.post-6214354822319842397</guid><description>Update 2009-09-12: I no longer recommend this library. Please see the comments.My colleague Allard just pointed me to an old but very useful library: HA-JavaMail.The email sender that the JVM provides has some serious shortcomings. It does not automatically open a new connection when the connection was closed and you can forward your e-mail to 1 SMTP server only. Furthermore, it is not so fast. </description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total></item><item><title>Runtime monitoring libraries for Java</title><link>http://day-to-day-stuff.blogspot.com/2009/01/runtime-monitoring-libraries-for-java.html</link><category>open source</category><category>java</category><category>monitoring</category><author>noreply@blogger.com (Erik van Oosten)</author><pubDate>Mon, 12 Jan 2009 06:11:20 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-27876765.post-3731218577052692129</guid><description>Followers of this blog may have noticed an emphasis on monitoring lately. This is because my employer has decided to give me some time to investigate monitoring and create new components to ease the use of monitoring (in particular for Wicket applications). Blogging about the results is one of the requisites of this exercise.This article lists all open source Java runtime monitoring tools I could</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">8</thr:total></item><item><title>Improving Jamon’s performance</title><link>http://day-to-day-stuff.blogspot.com/2009/01/improving-jamons-performance.html</link><category>open source</category><category>java</category><category>monitoring</category><category>concurrency</category><author>noreply@blogger.com (Erik van Oosten)</author><pubDate>Sat, 10 Jan 2009 03:08:32 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-27876765.post-2684790941784562755</guid><description>I was browsing through Jamon’s code to see why it is so much slower under high contention then Simon (see my previous article). In this article I will present these differences and show you a way to speed up Jamon right now.DifferencesJamon has more features then Simon like listeners and data ranges. This obviously need some computing, if only to see if they are used. Another interesting </description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></item><item><title>‘Effective Wicket’ presentation now on Vimeo</title><link>http://day-to-day-stuff.blogspot.com/2009/01/effective-wicket-presentation-now-on.html</link><category>java</category><category>conference</category><category>wicket</category><author>noreply@blogger.com (Erik van Oosten)</author><pubDate>Wed, 07 Jan 2009 05:04:22 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-27876765.post-3188476353738527901</guid><description>My Effective Wicket talk on NL-JUG’s J-Fall conference of 2008-11-12 is now online! Watch the presentation (Dutch spoken) on Vimeo: part 1 and part 2 (provided by bachelor-ict.nl).Feel free to download the slides of Effective Wicket (mirror) (PDF 4.1 Mb). If you want to see the notes skip to page 55.</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Evaluating Simon - Java monitoring</title><link>http://day-to-day-stuff.blogspot.com/2008/12/evaluating-simon.html</link><category>open source</category><category>java</category><category>monitoring</category><category>concurrency</category><author>noreply@blogger.com (Erik van Oosten)</author><pubDate>Sat, 10 Jan 2009 01:33:07 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-27876765.post-5654132183612571496</guid><description>Recently a new monitoring kid appeared on the block: Java Simon (not to be confused with Dejal's Simon or some other simons).Simon claims to be the successor of JAMon. As I just started a project to improve the documentation of Jamon, and integrate this better with Wicket projects, I thought this would be a good time to evaluate Simon and also to compare it to Jamon. Here are the </description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></item><item><title>Don't use Intellij</title><link>http://day-to-day-stuff.blogspot.com/2008/12/dont-use-intellij.html</link><category>opinion</category><category>java</category><author>noreply@blogger.com (Erik van Oosten)</author><pubDate>Mon, 15 Dec 2008 06:09:32 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-27876765.post-1420258568070421146</guid><description>IntelliJ is okay, but it has one bug (for more then 4 years) that absolutely drives me nuts: its steals focus, big time. And not just once either. It can steal the focus for at least 4 times within 30 seconds!If are thinking about using IntelliJ: don't do it!If you are already hooked up: please vote for this bug!</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></item><item><title>Giving up on compiling a linux module</title><link>http://day-to-day-stuff.blogspot.com/2008/12/giving-up-on-compiling-linux-module.html</link><category>open source</category><category>unix</category><author>noreply@blogger.com (Erik van Oosten)</author><pubDate>Sat, 06 Dec 2008 13:42:48 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-27876765.post-216338703120538577</guid><description>I recently build my new home server PC. The motherboard is a D94GCLF, a small mini-ITX (17x17cm) from intel with an Atom processor. Unfortunately, the on board ethernet card, a RTL8102EL is not supported by Ubuntu 8.10. The r8169 kernel module works but it drops most received packets so its not as fast as it should be.Realtek does provide the source to build the module yourself. Unfortunately, </description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></item><item><title>Making Mac's open/save dialog fast again</title><link>http://day-to-day-stuff.blogspot.com/2008/11/making-mac-fast-again.html</link><category>mac</category><author>noreply@blogger.com (Erik van Oosten)</author><pubDate>Mon, 17 Nov 2008 02:31:04 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-27876765.post-5831016212020950185</guid><description>Out of nowhere I had to wait 20 to 40 seconds on my year old iMac before I could open or save a file. Some people reported that iDisk could be the problem, but I don't even have a mac-account! However, those reports gave me a hint.Indeed, a ls /Volumes/ showed this: MacintoshHD    Wuala    ._Ipod_van_CorineThere it is! My girlfriend's IPod was not in sight, and I dumped Wuala because it stops </description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></item><item><title>Effective Wicket presentation</title><link>http://day-to-day-stuff.blogspot.com/2008/11/effective-wicket-presentation.html</link><category>conference</category><category>wicket</category><author>noreply@blogger.com (Erik van Oosten)</author><pubDate>Wed, 07 Jan 2009 05:04:39 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-27876765.post-3413169730139163292</guid><description>Yesterday was J-Fall, the fall conference of the NL-JUG. One of the presentations was my Effective Wicket talk. Feel free to download the slides of Effective Wicket (mirror) (PDF 4.1 Mb). If you want to see the notes skip to page 55.If you want the original material (code/images etc.) for your own presentation, please drop me a note. Its all creative commons, copyright by JTeam.Update 2009-01-07:</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total></item><item><title>Wicket extreme consistent URLs</title><link>http://day-to-day-stuff.blogspot.com/2008/10/wicket-extreme-consistent-urls.html</link><category>java</category><category>wicket</category><author>noreply@blogger.com (Erik van Oosten)</author><pubDate>Wed, 15 Oct 2008 08:29:57 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-27876765.post-3668194188095716821</guid><description>Setting up a page to be behind a particular URL (aka mounting) in Wicket is fairly easy. Daan recently wrote REST like URLs for Wicket in which this is nicely explained. However, consistently keeping nice URLs, for example after a form submit, is a whole lot harder. So hard in fact, that even Wicket champion Igor believes it is currently not possible (it is an old post). His reasoning is of </description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">9</thr:total></item><item><title>JAOO Observations</title><link>http://day-to-day-stuff.blogspot.com/2008/09/jaoo-observations.html</link><author>noreply@blogger.com (Erik van Oosten)</author><pubDate>Tue, 30 Sep 2008 01:30:02 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-27876765.post-5205164441338925749</guid><description>Here are my day 1 observations from the JAOO conference.Languages evolve slowly. Despite an 100000 increase in storage capacity, 10000 increase in memory and 1000 increase in processing capacity in the last 10 years, programming languages look and feel the same as 10 years ago. The only real difference is that the language has become only a small part of what you need to learn. The major part is </description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Java transaction boundary tricks</title><link>http://day-to-day-stuff.blogspot.com/2008/08/java-transaction-boundary-tricks.html</link><category>java</category><category>spring</category><author>noreply@blogger.com (Erik van Oosten)</author><pubDate>Wed, 13 Aug 2008 01:26:41 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-27876765.post-3925319058596410285</guid><description>Controlling transactions is one of the fundamental things you must control well if your program is to be used by more then 1 user and has a database (as in about every web application). This article shows a little trick to get more out of transactions then most programs do.Since I am using Spring to demonstrate the principle, I will introduce Spring's transactions first. Feel free to skip that </description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">9</thr:total></item><item><title>Asynchronous cache updates</title><link>http://day-to-day-stuff.blogspot.com/2008/08/asynchronous-cache-updates.html</link><category>java</category><category>concurrency</category><author>noreply@blogger.com (Erik van Oosten)</author><pubDate>Wed, 06 Aug 2008 02:13:38 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-27876765.post-4441813458752169140</guid><description>This is the second article on Java concurrency. The first is Java thread control.Many applications use more or less static reference data such as postal codes, exchange rates and externally stored text. Often this type of data can be safely cached in memory for performance reasons. To make sure that the cached data does not become stale for too long, it can be reloaded every 10 minutes, once a </description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total></item><item><title>Java thread control</title><link>http://day-to-day-stuff.blogspot.com/2008/08/java-thead-control.html</link><category>java</category><category>concurrency</category><author>noreply@blogger.com (Erik van Oosten)</author><pubDate>Mon, 22 Sep 2008 02:21:01 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-27876765.post-9186191130641062779</guid><description>As promised in my book review of Effective java 2nd edition, here is an article that shows a neat trick to control threads.The recommended way to stop a thread according to the book is to use a volatile boolean field as a flag to properly stop a running thread:public class StopThread {  private static volatile boolean stopRequested;    public StopThread() {    Thread t = new Thread(new Runnable()</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">5</thr:total></item><item><title>Effective Java 2nd edition - Book review</title><link>http://day-to-day-stuff.blogspot.com/2008/08/effective-java-2nd-edition-book-review.html</link><category>java</category><category>book review</category><author>noreply@blogger.com (Erik van Oosten)</author><pubDate>Sun, 03 Aug 2008 03:36:08 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-27876765.post-8665015302393442087</guid><description>If you are even a bit serious about your java programming, this book is a must read. There is no other book that improved the quality of my java programming in such a dramatic way.Now this was my opinion on the first edition. After having read the second edition, I can tell you that the same top quality is there, with lots and lots of big and tiny updates on top.Ok, with that out of way, here are</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Spring message resource weirdness</title><link>http://day-to-day-stuff.blogspot.com/2008/07/spring-message-resource-weirdness.html</link><category>java</category><category>spring</category><author>noreply@blogger.com (Erik van Oosten)</author><pubDate>Mon, 04 Aug 2008 05:43:50 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-27876765.post-2647934605667564610</guid><description>Today I got a bug report that e-mail subject appeared in Dutch while they should have been send in English. The first thing I check of course was whether the correct locale was used. It was.Here is the situation:Spring message source2 files: email-subjects.properties and email-subjects_nl.propertiesrequested locale: en_USAfter a bit of debugging I noticed that Spring looks for the following files</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total></item><item><title>JPA and bit operations (Hibernate/Postgres)</title><link>http://day-to-day-stuff.blogspot.com/2008/06/jpa-and-bit-operations.html</link><category>java</category><author>noreply@blogger.com (Erik van Oosten)</author><pubDate>Sat, 28 Jun 2008 09:46:57 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-27876765.post-5183558070737637600</guid><description>In my current data model one of the entities has a column of integer type that contains a large set of boolean flags. Of course this is well hidden in the domain model objects, so you can just call things like event.isCanceled().However, in the administration interface we need to search for this entity based on separate flags. The JPA query I found in our code base is select ... where flagBits = </description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">9</thr:total></item><item><title>Ubuntu server 7.10 to 8.04 upgrade experiences</title><link>http://day-to-day-stuff.blogspot.com/2008/06/ubuntu-server-710-to-804-upgrade.html</link><category>open source</category><category>unix</category><category>networking</category><author>noreply@blogger.com (Erik van Oosten)</author><pubDate>Thu, 09 Oct 2008 05:44:00 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-27876765.post-6814697345291826412</guid><description>Yesterday I upgraded my server at home (running 3 websites and a small e-mail server) from Ubuntu 7.10 to 8.04. My main system is a nice looking iMac, completed with an eeepc for traveling and kitchen table work. But I use Ubuntu in the closet and at work.The upgrade went rather well. Of course, I had installed as little packages from outside the repositories as possible. I even did the upgrade </description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">5</thr:total></item></channel></rss>
