Christian Schlichtherle

Christian Schlichtherle

Feb 132013
 

Pretty much any program needs to do I/O to process some data. Sure, in Java we have InputStream and OutputStream (or its modern day cousin, Channel) to do this with relative ease. However, this is not the end of the story. In everyday programming, I often need some higher level abstractions. Actually, I need them so often that I wonder why there are no abstractions like the following in the JSE API. Continue reading »

Nov 132012
 

TrueZIP 7.7 has been released. This is mostly a maintenance release which fixes bugs and improves documentation. As of now, TrueZIP is entering maintenance mode, that is, it should only receive maintenance updates while new features should go into its successor, TrueVFS. An update to TrueVFS should get released in due time.

Continue reading »

 Comments Off on TrueZIP 7.7 released  Tagged with:
Sep 062012
 

This is another posting to introduce a TrueVFS feature by exploring the sample applications generated from the TrueVFS Archetype Access. This time, I will spotlight TrueVFS’ logging capabilities with the TrueVFS Extension Logging. Continue reading »

Sep 052012
 

The last posting on this blog introduced you to the TrueVFS Archetype Access. This is a Maven archetype which generates a project with a bunch of sample applications for TrueVFS. This time we will slightly adapt the generated project so that we can monitor some nice statistics provided by the TrueVFS Extension Insight. Continue reading »

Sep 052012
 

In this post I’ll show you how to use a Maven archetype – or more specifically the TrueVFS Archetype Access – to generate a bunch of sample applications for TrueVFS. I’m using NetBeans 7.2 for this post, but similar actions apply to Eclipse, IntelliJ IDEA or whatever, so please read on. Continue reading »

Sep 052012
 

I am very pleased to announce the double release of TrueVFS 0.9.1 and TrueZIP 7.6.4. This is the first release of TrueVFS, which is the successor of TrueZIP. TrueVFS provides a significantly improved architecture which will serve as a robust and extensible platform for building future releases. Some new features have already been implemented, and a lot more will follow before the release of version 1.0. Continue reading »

Aug 172012
 

There are many ways to update a value atomically, so without introducing racing conditions in multithreaded environments. A well-performing way of doing this in Java is to use an AtomicReference or one of its companion classes in the package java.util.concurrent.atomic. However, using an AtomicReference is quite cumbersome. But with Scala, you can easily factor out the cumbersome usage pattern like follows. Continue reading »

 Comments Off on Generic CAS (compare-and-set) for Scala  Tagged with: ,