SIG-txn reading group, Nov + Dev 2020 The TiKV transactions SIG is starting up its reading group. We'll try to read and discuss a paper each month. If you're interested in research in distributed transactions, come join in! We'll start
Rust in 2021 It's that time of year again - time to think about a roadmap for next year! As I wrote last year, I think a good roadmap should provide focus for the project, but
Leaving the Rust core team I'm stepping down from Rust's core team. It's my last official involvement with Rust, and I'm kinda sad about leaving. Rust is exciting and important, and I love the community and technology. It
Documentation Quest! The TiKV Transactions SIG's documentation quest begins today! It is our first community activity. There are tons of bite-size tasks and some more involved work, with the goal of making TiKV's transaction components
Rustconf 2020 Rustconf 2020 happened last week (August 20th). For the first time, it was an online conference. Ironically that made it more difficult for me to attend because of timezones (and I was on
Announcing the Transaction SIG I've been working on the distributed transaction system in TiKV for about a year now. TiKV is an open-source, distributed and transactional key-value store written in Rust. Recently, I've been helping create a
Building, running, and benchmarking TiKV and TiDB TiDB is a distributed, MySQL-compatible database. It is built on top of TiKV, a distributed key-value store. Building these projects is easy - clone the Git repos, then run make. Unfortunately running development
Large Transactions in TiDB In TiDB 4.0, we've extended the transaction system to handle large transactions. Previously, TiDB limited the number of reads and writes in a transaction. In version 4.0 there is a much
Early Impressions of Go from a Rust Programmer This post was originally published on the PingCAP blog. I've been using Go for the past few weeks. It's my first time using Go for a large (-ish), serious project. I've previously looked
Remote work part 3 This is the third (and last, for now) post in a series on remote work. Previous posts discussed some basics for remote work and communication. In this post I'll talk a bit about
Remote work part 2 In my last post I talked a bit about some general issues with remote work. In this post I am going to focus on communication - probably the most important thing for remote
Remote work part 1 I've been working remotely (in various ways and at various companies) for nearly ten years. I love working remotely, I am happier and more productive. However, it takes some adjustment and it's not
Rust in 2020, one more thing We need to work on error handling. It's a difficult thing to work on because a lot of people have strong opinions, but I think we should. Rust's error handling story at the
Rust 2020 I was thinking of not writing a blog post this year. I didn't think I'd have much to say. But I thought that I should, I had some nagging feelings that we needed
Migrating a crate from futures 0.1 to 0.3 I recently migrated a small/medium-sized crate from Futures 0.1 to 0.3. It was fairly easy, but there were some tricky bits and some things that were not well documented, so
Rust Cargo `--offline` ✈️ Rust 1.36 is released on the 4th July and includes a bunch of new stuff. This blog post is about one newly stable feature in Cargo: --offline. Cargo seamlessly uses dependencies whether
Cargo in 2019 I recently published a post detailing a vision for the next few years (hah! Not so recently now, this took a lot longer than expected). Here I'll get into more detail about 2019.
Cargo's next few years The Cargo team have been thinking about and discussing long-term plans for Cargo. In this post I'll talk about what we hope Cargo will look like around the time of the next edition
I read a paper: 'In search of an understandable consensus algorithm' (the Raft paper) Raft is an algorithm for distributed consensus. It was introduced in this paper, 'In search of an understandable consensus algorithm' by Ongaro and Ousterhout, in 2014. It is a very readable paper and
Starting at PingCAP Last week was my last at Mozilla, and tomorrow is my first day at PingCAP. I don't have much to blog about because, you know, I haven't started yet. But I am very
Leaving Mozilla and (most of) the Rust project Today is my last day as an employee of Mozilla. It's been almost exactly seven years - two years working on graphics and layout for Firefox, and five years working on Rust. Mostly
proc-macro-rules I'm announcing a new library for procedural macro authors: proc-macro-rules (and on crates.io). It allows you to do macro_rules-like pattern matching inside a procedural macro. The goal is to smooth the
What to do in Christchurch LCA 2018 is happening in January in Christchurch (which is a great conference and has a few Rust talks this year). I'm not able to attend, but I am in town, so I
Rust in 2022 A response to the call for 2019 roadmap blog posts. In case you missed it, we released our second edition of Rust this year! An edition is an opportunity to make backwards incompatible
More on RLS version numbering In a few days the 2018 edition is going to roll out, and that will include some new framing around Rust's tooling. We've got a core set of developer tools which are stable