Best practices for Event Sourcing
David Schmitz presented an excellent talk on what he sees as best practices in using Event Sourcing. Chronicle Software has two very different event sourcing frameworks Chronicle Microservices Framework (CMF) and Chronicle Decentr
Reducing network latency
A look down the rabbit hole of reducing network latency. How latency can be measured and what you can do about it in a Java application. Ping latency A tool I used regularly
Looking at randomness and performance for hash codes
In these articles, String.hashCode() is not even a little unique and Why do I this String.hashCode() is poor, I looked at how String.hashCode() might have been made better with little
Why do I think String.hashCode() is poor
In response to an article I wrote HERE, a recent article HERE pointed out a number of things which could have been clearer in my claim that String.hashCode() is poor. What does
Making blockchains simple
One of the challenges of building blockchain solutions is testing it. Chronicle Accelerate has a framework to make adding custom transactions with the state using data-driven tests. i.e. without the need to
Publishing tens of millions of messages per second
Welcome to our first newsletter from Chronicle giving you updates on developments at Chronicle Software plus tips and case studies around how Chronicle have helped clients to maximise value from their implementation. Case
String.hashCode() is not even a little unique
Some have a misconception that a 32-bit hashCode() can be unique for even complex data. Many realise that String.hashCode() is not unique, but might not realise how bad it is. While it
Keeping a blockchain decentralised
This article proposes a Proof of IP (PoIP) to favour diversity of IP addresses over large number of server concentrated by IP address. While blockchain solutions using Proof of Work (PoW) and Proof
Microsecond latency Microservice Benchmarked
It is common for a vendor to publish benchmarks with synthetic loads and code. However, what can be reasonably achieve in a real application? In this post, I discuss what we achieve with
Chronicle downloads exceed 6 million in a month
In the last three months we have seen a significant increase in downloads of our libraries. Wider adoption of our libraries into popular frameworks appears to be driving this growth in downloads. A
High throughput Consensus
When achieving consensus across a distributed network, the latency of that network is an important constraint. How can we increase throughput? How does Little’s law help? Time to consensus To achieve
Java Puzzles
Here are some odd quiz questions in Java which might have interesting answers. Questions void arrays Which of the following doesn’t compile void[] voids = new void[1]; (1) Void[] voids = new
When is using a Blockchain compelling
I was recently asked, when is using a Blockchain really needed? IMHO the main benefit is ease of provider integration Blockchain allows providers to join a system, with a much lower barrier to
Blockchain Design considerations
After I announced the release of Chronicle Accelerate, a high throughput blockchain solution in Java. One of the questions which came up was; What were the design considerations that went into the solution,
Blockchain basics
The key difference between blockchain and traditional databases is the level of trust needed in those running the service. With blockchain you trust the protocol, not those running it. What does a blockchain
StringBuffer and how hard it is to get rid of legacy code
In 2006, Java 5.0 was released with StringBuilder, a more light weight and sane version of StringBuffer. The Javadoc for Java 5.0 for StringBuffer notes As of release JDK 5, this
Object Pools revisited
Object pools were popular before Java 5.0 however more efficient allocation made most of these pools a needless complication. Can a Object Pool still make sense and how fast do they need
Can you have encryption and low latency in Java
While using encryption is slower than writing raw messages, how much slower is it and does it have to be a performance problem? In this post, I look at Chronicle Queue, with and
Low latency encrypted messages with Chronicle Queue Enterprise
Chronicle Queue Enterprise supports replication in a cluser and system monitoring. We recently added encrypted messages and the inital results are encouraging. What did we test? This test s similar to our previous
Improving percentile latencies in Chronicle Queue
Compared to a year ago, we have significantly improved the throughput at which we can achieve the 99%ile (worst one in 100). What tools and tricks did we use to achieve that?
Chronicle Queue storing 1 TB in virtual memory on a 128 GB machine
If you use a standard JVM like the Oracle JVM, or the OpenJDK, you might find that as the heap size grows the performance of your JVM can drop as GC pause time
Choosing Chronicle FIX Engine
Overview The FIX Trading Community web site has posted a list of common questions about FIX Engines. This page brings together our answers for these questions. For more details on Chronicle FIX Capabilities/
IT experts you should follow on twitter
When I read lists like this they always seem to be male dominated, so here is a list of experts I follow which isn’t. Dr Sue Black OBE UK Govt Advisor