Tuesday, August 28, 2012

Announcing Conquiris

After a few months from the first release,  I'd like to announce the succesor to lucis: Conquiris. Conquiris is a set of libraries to help developing applications based on Apache Lucene. It is not a search server, as Solr fills that role really well. It is based on Java SE 6 and Lucene 3.6.1

Why the delay? Well, I was waiting to have some documentation in place to make the announcement, but it was taking so long that I have just gone for it.

So, what are the available resources to get in touch with Conquiris?:

As with other projects, continuous integration is kindly provided by CloudBees DEV@cloud. The Jenkins instance is at https://derquinse.ci.cloudbees.com.

Sunday, August 26, 2012

Lucis upgraded to Lucene 3.6.1

Just a quick note to announce that Lucis has been upgraded to Lucene 3.6.1. In the process, both Lucis and Derquinsej are now deployed to Maven Central using Sonatype OSS Repository Hosting Service, as legacy sync methods are being phased out.

Bocas now built on DEV@cloud by CloudBees

I've set up continuous integration for the Derquinse Bocas using a Jenkins instance kindly provided by CloudBees under its FOSS Program.

Everything has been very easy to set up and has worked perfectly.  You can find the provided instance at https://derquinse.ci.cloudbees.com/.

I'd like to thank CloudBees for providing this service to the Free and Open Source Software community.

Sunday, August 19, 2012

"Big Memory" support and new Resources for Derquinse Bocas

Java brought automatic memory management to the mainstream. However, managing the heap is a non-trival task that can require a great amount of effort from the garbage collector. This effort grows with the heap size and may lead to long collection pauses that hurt your system's throughput and response times.

In Bocas, when using a memory-backed repository or a cache, most of the memory consumption comes from the stored values, which are opaque byte streams. If we could get those values out of the Java heap we could use that precious managed space for more value-adding objects.

Enter "big memory" support: starting with version 1.0.4, Bocas supports the use of direct buffers as the backing storage of both memory-backed repositories and caches, using off-heap memory to store the repository values. As the memory-backed repositories are used mainly for testing purposes, this feature is most useful in caches.

This support allows for better utilization of the Java heap, reducing the load for the Java garbage collector. However, take your off-heap caches into account when sizing the heap and planning the memory distribution of your machines.

I would also like to announce new resources for the project:

As a side note, version 1.0.5 has just been released and is already in Maven Central.

Wednesday, August 15, 2012

A small update on the Gist.GitHub Gadget

The Gadget to embed GitHub Gists in Google Properties, has just received some small updates:

You can find more information in its home page.

Sunday, August 12, 2012

New Resources for Derquinse Commons

One of the goals of open sourcing some project is getting other people to use it. However, code alone is  not enough for that, and some other resources have to be provided so that other people start looking at your code. So, I'm going to try to devote a little more time to providing documentation for the existing codebase than including new features. So for the Derquinse Commons Project, we have:

As before, the API documentation will continue to be hosted at GitHub Pages and the source code on Google Code.

Sunday, July 1, 2012

Announcing Derquinse Bocas

I'd like announce a little project I've been working on lately. It called Bocas and it is a Java and REST API to access key-value repositories with the content-addressed storage constraint, that is, the key must be a hash of the value. In the current implementation, SHA-256 is used as the hash function.

A few releases have been already deployed in Maven Central, and documentation is being built at the project web site. As this site is still short of content, you may find the API documentation useful, above all the main API interface.

The project is hosted on Google Code and has the Apache 2 license.

Stay tuned for more news about this project.

Friday, February 10, 2012

New home for Derquinse Commons API documentation

One of the main issues in Derquinse Commons is the lack of documentation,  including the lack of a stable home for the Javadoc-generated documentation.

From now on, and thanks to the wonderful GitHub pages service, you can find the API docs at http://apis.derquinse.net/derquinse-common.

Non-API docs are still missing, and I hope to be able to write some soon.

Saturday, January 21, 2012

Derquinse Commons now in Maven Central

One if the best features in Maven is dependency management. Even with its known problems it is a great step forward and many other build systems reuse Maven's repository structure.

One of the essential parts of this vision is the Maven Central Repository, your one stop shop for most of the dependencies in your projects.

Publishing to Maven Central has always had its requirement set (you can find an updated list here), one of them being that the repository must be self-contained. That is, no artifact may depend on another artifact that is not part of the repository.

Back in 2008, when I started both derquinsej and lucis, this requirement was fulfilled with no problem and synchronization with Central was provided thanks to Sourceforge's SSH access.

However, as time passed, some projects such as Hibernate starting publishing its artifacts in external repositories and many other interesting projects were hosted in repositories different of Central, such as Java.net. So, for future projects Central Publishing was not an option and I prepared an external repository for my own projects.

Fortunately, the situation has improved a lot:

  • Now many interesting external repositories, such as JBoss and Java.net, are synchronized back in Central.
  • Central navigation and search has been enhanced.
  • Sonatype provides a repository for open source projects with the option of being published in Central. The process is very well documented and the response is fast and great (kudos to Juven Xu). 

So, from now on, you can find Derquinse Commons in Maven Central.

Thursday, January 12, 2012

Follow up to Maven Release Plugin version problems

In a previous post, I warned about some bugs that caused the Maven Release Plugin to generate wrong tag versions. While those bugs are still opened today, the real culprit was MRELEASE-697 which is fixed in version 2.2.1, which can be used safely.