Category Uncategorized

rqlite v3.4.1released

rqlite is an open-source distributed relational database, with SQLite as its storage engine. v3.4.1 is out. This release includes some minor fixes as well as source code improvements (linting). You can download the release from GitHub.

Ekanite v1.1.0 released

A new version of Ekanite, the syslog server with built-in search, has been released. v1.1.0 includes an important bug fix related to TCP connection handling, as well as some other minor fixes and improvements. You can download v1.1.0 from the…

rqlite v3.4.0 released

rqlite is an open-source distributed relational database, with SQLite as its storage engine.  v3.4.0 is out, which includes a minor change to the HTTP responses. You can download the release from GitHub.

Be a Conviction Engineer

I’m a conviction engineer. To me it’s the only way to be an effective engineer, software developer, and technical leader. You’ve simply got to truly believe in the value of what you do, and you’ve got to believe in doing…

rqlite v3.3.0 released

rqlite is an open-source distributed relational database, with SQLite as its storage engine. v3.3.0 has been released and includes new functionality to control the Raft consensus subsystem, along with improvements to the CLI. You can download the release from GitHub.

rqlite v3.2.1 released

rqlite is an open-source distributed relational database, with SQLite as its storage engine. v3.2.1 has been released and includes new functionality for cluster management, along with new documentation on running clusters. v3.2.0 also includes some bug fixes. You can download the…

How to organise a Go project

Some fellow developers, using Go for the first time, recently asked me how to organise a Go project and for some high-level guidance on programming using the language. I thought the most effective way to answer this question was to…

rqlite v3: Globally replicating SQLite

rqlite is an open-source distributed relational database, which uses SQLite as its storage engine. rqlite is written in Go and uses Raft to achieve consensus across a set of SQLite databases. It gracefully handles leader election, and can tolerate machine…

rqlite v3.0.1 released with leader redirection

rqlite is an open-source distributed relational database, with SQLite as its storage engine. v3.0.1 has been released and it is a significant upgrade relative to the 2.0 series. The 3.0 series allows more sophisticated clusters to be built and simplifies rqlite…

rqlite moved to new repository

To help with the growth of rqlite, it’s been moved to a new repository, under a dedicated organization. Github made this transfer very easy. I decided on a new logo too.

rqlite at the San Francisco Go Meetup

I made a presentation on rqlite tonight at the San Francisco Go Meetup. It was an enjoyable evening, and I had a chance to discuss why I built rqlite, how it works, and where it might go in the future.

What I learned from programming databases

Programming a database is fascinating work. I’ve been deeply involved with developing open source databases for the past two years and programming a database is possibly the most instructive project one can ever complete as a software developer. What’s really…

rqlite and Hashicorp Raft Consensus

I’ve started replacing go-raft within rqlite with the implementation from Hashicorp. go-raft is no longer maintained, and I’ve good experience with the Hashicorp code, due to my work with InfluxDB and hraftd. I’m also going to change the API, so…

New browser interface for Ekanite

Ekanite is an open-source Syslog server with built in log search. Thanks to some nice work by Fabian Zaremba, Ekanite now supports searching your logs via a browser. If you’d like to understand more about the design and development of…

Gresham’s law and Slack

“Bad money drives out good.” When is the last time you spoke with your fellow developer? I mean actually spoke? Or was it just over Slack? I like really Slack, Flowdock, Hipchat and the like. I couldn’t do my job…

Revisiting syslog-gollector

It’s been 18 months since the first commit to my first significant Go project — syslog-gollector. After an initial burst of activity to create a functional Syslog Collector that streamed to Apache Kafka, the source code hadn’t been updated much…

Running services is fun

While running services is hard, it’s also fun. It confronts you with a whole set of engineering challenges because you’re building — and running — large scale systems. So after 18 great months working on the InfluxDB source, I’m returning to Services and have…

InfluxDB and the Raft consensus protocol

I recently presented at the InfluxDB San Francisco Meetup, on InfluxDB and the Raft consensus protocol. My talk was about the fundamental problems of distributed systems, and how InfluxDB uses Raft to solve these issues.