Skip navigation
1 2 3 Previous Next


132 posts
Over on my blog - how I learned to stop worrying and love Maven.  
Imagine if, for example, the hypervisors that run EC2 were compromised - imagine almost every business you deal with online compromised, all at once. This is the never-talked-about problem with the cloud - over on my blog.  
Bunyan is a NodeJS library that rethinks logging in some really useful ways. I wrote a Java port you can use in your applications. In particular, with Bunyan, logs are JSON - and Bunyan comes with a great filtering and analysis tool. The Java port uses some innovative techniques to make logging simple and foolproof - in particular, a use ofAutoCloseable to make a logging code simple and foolproof. A walkthrough on my real blog on  
Why you should write small libraries that do one thing well, over on my real blog at 

A response to Eran Hammer's The Fallacy of Tiny Modules.  

The Acteur async web framework has grown some new features over the last year. A really, really simple way to write small, scalable REST servers.  

Scrum? Blog

Posted by timboudreau Oct 17, 2013
Have you experienced Scrum? "agile" development? I have.
Visual Library is a library in NetBeans, which you can use in standalone Java apps, for doing beautiful, complex, animated layouts. JUNG is a library for exploring graphs of connected data. What if we put those two things together? That's what I did. The result is on GitHub. Video demo and more info over on my blog.  

The Acteur Pattern Blog

Posted by timboudreau Jun 5, 2013
Acteur is a pattern for pipelining work - a little DI functional goodness for Java. I might have been speaking Swahili when I wrote about Acteur last month. So here's a simple explanation of the design pattern behind it, with a simple sample project.  
How to use JDK 7's AutoCloseable for more than just I/O - it's actually quite useful in your own APIs. See the real full blog over on  
Have you wanted to do something with asynchronous I/O? I did. After doing some work with Node.js, I wanted to find a way to get some of the goodness of its programming model for Java. The Acteur project is the result - a framework for building scalable, asynchronous web applications using Netty + Guice - was the result. The programming model is a little unusual - you treat constructors as function-objects. Read more over on my new blog, or check out the (just finished!) tutorial on GitHub.  
Some thoughts on caching, HTTP and otherwise over on
A quick, hopefully readable analysis of this week's security exploit and fix over at my new blog
A few thoughts on how logging ought to be over at my new blog.  
So I haven't posted a blog here since 2009 - and haven't work for Sun or Oracle since early 2010. It's been a wild few years working on a number of things as diverse as giant clouds to control software for cameras which go down oil wells. And I have a new blog at, naturally using a blog engine I wrote myself (I gave myself a project to learn node.js). Currently I'm architecting a Hadoop-like job-distribution thingy using node.js and C for a company that does search software. I'm still doing open source software, and still doing a lot of Java (though node.js is giving it some stiff competition - but really it and Java are good at very different things). Here are some of the things I've been working on and writing about:  C'mon over and check it out

Wicket + JavaFX? Blog

Posted by timboudreau Jul 11, 2009
I've been trying some experiments with embedding JavaFX applets into Wicket components. The results look promising... 

Basically, for testing purposes, I've got a JavaFX applet that shows text entry fields - basically a simple format where you see 

|                ___________________   |
|  Your name     |__________________|o |
|                                      |
|                ___________________   |
|  Something     |__________________|o |
|                                      |
|                                      |
|                ______  ______        |
|                |Prev | | Next|       |
|                |_____| |_____|       |
where the number of pages, their contents and IDs are provided by applet parameters which the applet interprets. And yes, it's got some unobtrusive but cool looking fades and and other JavaFX sexiness. 

Neater still, it has a provision for server-side validation of the components. This took a little doing (some Java code that starts a background thread, and a Java interface for running it and performing callbacks which is implemented over a JavaFX class) - so when the user stops typing into a field for a few seconds, the applet can communicate with the server (presumably using the same mechanisms as Wicket's built-in AJAX support); the little "o" you see beside each text field shows whether the data is good or not, and while the background part is running (currently just aThread.sleep() - I wanted to see if I could get this working at all). 

But while what I've got is a really rough prototype, it proves you can do it (yes, you can do similar things with AJAX, but well, it's AJAX :-)). 

Now, whether the world has any use for this is another question - but it could be interesting to make generic data entry applets with lovely UIs, which could simply be embedded in a Wicket component (and skinned with your site's own CSS - though this actually seems to be a little broken in JavaFX at the moment). Drop the component on your page, and, voila. 

Now, of course, the hard side is the server<->client communication - that's next. Or maybe I'll take the weekend off...that would be unusual :-)  

Filter Blog

By date: