Rust


Featured Projects

Ttitle Status Description
project Markdown Virtual Table alpha

Mount a directory of markdown files, as a sqlite table.

Posts

blog Markdown Virtual Table: Implementing SELECT

I have been continuing my earlier virtual table prototype and it is slowly coming along. I uploaded a version to codeberg while I was debugging python packaging. I do not have it quite working right, but I think I will be using setuptools-rust for now (pr ).

This post is partly to help document what I have discovered over time so will not be complete code examples in every case. In the future I will be uploading the project to Codeberg and later to PyPi.

Most of my rust code is likely not great, so would appreciate a mentor!

Read More →

blog SQLite Virtual Tables from Django

Sqlite has support for virtual tables which can be used for external datasources. There is an example csv data source that allows you to query a csv file as if it was a regular table.

.load ./csv
CREATE VIRTUAL TABLE temp.csv USING csv(filename=FILENAME);
SELECT * FROM csv;

I do not really want to write C for this, but I found the rusqlite project which allows writing a loadable_extension that provides virtual tables. Using their vtablog example (slightly modified) I was able to test from sqlite with a rust module.

Read More →

blog Norikae Dev Server

Over a year ago, I wrote my first draft dev proxy launcher in Async Python, based on an idea I had to have something like xinetd for my various in development projects.

[service.django]
host = "django.localhost"
port = 8001
cwd = "~/Projects/my-django-project"
command = "uv run manage.py runserver {port}"
delay = 3

[service.hugo]
host = "hugo.localhost"
port = 8002
cwd = "~/Projects/my-hugo-site"
command = "hugo server --buildDrafts --buildFuture --port {port}  --liveReloadPort 80"

While the Python version validated the idea, and usually worked well, there were a few cases that did not work as well.

Recently, I decided to work on a new version using rust and hyper to handle the proxied requests, which I have named Norikae (乗り換え).

Read More →

blog Lapce

While I already use VSCode for most things, like many developers I am often curious to see what else is out there. Even though I like some of the ideas behind the Zed editor, and will follow its progress, advertising built in AI is a fairly immediate turn off. The idea of a high performance editor though is still very appealing, and it seems like there are many rust based contenders (not that my rust abilities are anywhere near the level to contribute anything).

Read More →

blog Starting Rust

Rust has been on my list of things to learn for quite a while, and recently I have started to actually start learning it. I started with the Rust Book online, working through a chapter at a time, mostly during my weekly MokuMokuKai . After finishing the first I/O project I also went through the rust cli book to further check some of my understanding before moving on.

Right now I’m taking a short break from the book to experiment with a few small CLI applications in Rust to check my understanding. I use mqtt for many of my other projects, so one of my first small project is a set of mqtt tools to tail a server or send simple payloads. I am also reworking my worklog script and rewriting it from Swift into Rust to continue practicing. While I like Swift as a language, and there are libraries to help write a CLI, it feels like Rust might be better for the specific wrapper tools I want to write. Perhaps this will also lead towards me replacing Hugo with something else that is a bit easier to work with. Something like Zola could work if I want to keep it a static site, but I’m also thinking about going with a Django site this time.

Read More →