Ekanite v1.1.0 released

ekanite-cubeA 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 GitHub releases page.

How to organise a Go project

gopherSome 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 build a simple Go HTTP service, that provides a key-value store. It also includes a README, outlining my most important guidelines for Go programming. You can check it out here.

rqlite v3: Globally replicating SQLite

rqlite on GitHubrqlite 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 failure.

With the v3 release series, rqlite can now replicate SQLite databases on a global scale, with very little effort. Let’s see it in action using the AWS EC2 cloud.

Continue reading “rqlite v3: Globally replicating SQLite”

What I learned from programming databases

databaseProgramming 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 striking however, is how much my attitude towards databases has changed over the past 6 years. From a state of disinterest, I’ve come to think of these systems as a pinnacle of software engineering.

Continue reading “What I learned from programming databases”