Skip to main content
View by: Most Recent | Topic | Community | Webloggers   
Monthly Archives:    

Blogs by topic J2SE and user timboudreau

• Accessibility • Ajax • Blogging • Business • Community 
• Databases • Deployment • Distributed • Eclipse • Education 
• EJB • Extreme Programming • Games • GlassFish • Grid 
• GUI • IDE • Instant Messaging • J2EE • J2ME 
• J2SE • Jakarta • JavaFX • JavaOne • Jini 
• JSP • JSR • JXTA • LDAP • Linux 
• Mobility • NetBeans • Open Source • OpenSolaris • OSGi 
• P2P • Patterns • Performance • Porting • Programming 
• Research • RMI • RSS Feeds • Search • Security 
• Servlets • Struts • Swing • Testing • Tools 
• Virtual Machine • Web Applications • Web Design • Web Development Tools • Web Services and XML 

Web Development Tools

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 of AutoCloseable to make a logging code simple and...
on Jan 18, 2015


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.
on Aug 24, 2014


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.
on Sep 4, 2013


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...
on Apr 7, 2013


My friend Jon writes an interesting blog on the problem of constructors, and how a language might improve on them - and comes to a fairly startling solution. The major problems with constructors as I see it are Especially in deep inheritance hierarchies, or when you inherit from a class in a library which could involve incompatibly, it is easy for your object to be called when it is in a not-...
on Mar 31, 2009
I had an interesting thought the other day for a project I'm helping a friend with. Many things we deal with come in key/value pairs (URL parameters for instance). Why not immediately work with objects instead? There's a simple way... Probably someone is already doing this - there are certainly enough serialization libraries out there. But here's the thought - I was thinking of URL...
on Aug 16, 2008
Here is a simple pattern which you can use to make your APIs extensible, even by third parties, without sacrificing your ability to keep backward compatibility. It is very frequent to create a library which has two “sides” — an API side and an SPI side. The API is what applications call to use the library. The SPI (Service...
on Aug 11, 2008
Where's the state? This is a small but useful question when deciding how a problem domain gets carved up into objects: What things have state? What things have values that can change? When and how can they change? Can the changes be observed? Who needs to observe changes in state? These questions make a good start...
on Aug 7, 2008
One thing which I think about often is the design of code, software libraries and APIs. I've been working on deriving some principles from the things I do intuitively based on experience. Whether those are useful to anyone else is an open question. Peer review is the best tool for figuring out if these...
on Aug 5, 2008