Cetra's Thoughts

Hello! This is my website where I post blogs and investigations mostly about Rust.

Currently, I am building things for Formlogic.
Previously, I was the Technical Director and co-founder of Parashift.

My Projects

Here is a small selection of projects I have been working on. Check out my GitHub profile for more

DiveDB
Scuba Diving Database with Dive Sites and Dive Photos
DiveDB is a website for cataloguing and recording scuba diving related activities. It currently includes a dive site map, photos & dive log functionality. The backend is written with Actix Web and the frontend with SvelteKit.
Lorikeet
A Parallel Test Runner for DevOps
Lorikeet is a command line tool and a rust library to run tests for smoke testing and integration testing. Lorikeet currently supports bash commands and simple http requests along with system information (ram, cpu)
TMQ
Rust ZeroMQ bindings for Tokio
This crate bridges Tokio and ZeroMQ to allow for ZeroMQ in the async world.

Recent Blogs

Creating your own custom derive macro
Harnessing the power of `syn` and `quote` to create custom rust macros
rust divedb 2023-07-23
One of the things I tackled early on with when creating DiveDB was trying to import a lot of metrics from dive logs. At regular intervals, normally every 10 seconds, a dive computer will record metrics about the dive, such as depth, tank pressure, water t…
Synchronizing state with Websockets and JSON Patch
A simple and extendable, almost realtime, state-sharing method for frontend and backend
rust 2023-01-29
At formlogic, we are using rust for a number of components within our tech stack, including: internal and external web applications, coordinating and logging machining workflows, parsing an industrial domain specific language (G-Code), and more. One of th…
Publishing Rust types to a TypeScript frontend
Common libraries and projects used to share types from a Rust web backend to a TypeScript frontend
rust typescript 2022-09-13
When building in a strongly-typed language such as rust it's a shame to have to throw this strictness away, especially when dealing with the wild west of frontend stacks. The bigger the project is, the more you want to keep things cohesive. This cohesion …
More Blogs