Programming Bitcoin in Java Talk Announcement

I’ll be giving a talk called “Programming Bitcoin in Java” at Riga Dev Day on the 22nd of January.

The talk will cover:

  • What is Bitcoin?
  • How does it work?
  • How to use the bitcoinj open-source library
  • The future of blockchain technology

Hope to see you there!


Coalescing Ring Buffer 1.1.3 Released

You can now download the new coalescingRingBuffer-1.1.3.jar and


Bitcoin Volatility

A repeated criticism of bitcoin is its high volatility so I decided to have a look myself. This is the rolling 30 day annualized volatility of bitcoin measured in USD on over the last year.


So while it is still over 100%, it is lower than its peak in December and that was lower than the peak in April. My guess is that as the ecosystem continues to grow we will see this trend of lower volatility continuing. Hopefully not to the point where it becomes boring though 🙂


  1. Download prices from for the last year + 30 days
  2. Compute the daily logarithmic returns on the closing prices for each day
  3. Compute the 1 day volatility (STDEV function in libre office calc) by using the last 30 daily logarithmic returns
  4. Annualize the 1 day volatility by multiplying by the square root of 365

Java Day Riga Talk

Here is my High Performance Design talk from Java Day Riga 2013:


Code Examples:



Java Day Riga 2013

I’ll be giving a talk about High Performance Design at Java Day Riga on the 28th of November.

The talk will cover:

  • Performance Testing
  • Lock-Free Algorithms
  • Using Hardware Knowledge to Tune Performance

Looking forward to seeing Latvia!


JavaZone 2013 Talk

Here is the 10 minute lightening talk I gave at JavaZone 2013:

How to use TDD to create a thread-safe, lock-free, high-performance cache by using knowledge of how modern processors are designed.






Coalescing Ring Buffer now Available for .Net and Python

Thanks to Noah Cornwell for porting the Coalescing Ring Buffer to .Net and Jakub Stasiak for porting it to Python: