#Rust
13 works and posts tagged with this.
-
SIMPEG
ArticleThe personnel information system of the City Government of South Tangerang: employees keep their own records and follow their services, administrators work on exactly their part of the organisation, and every rule comes from the regulation that sets it. Led and built by me since 2023.
-
Money crosses every layer of my systems: database, services, JSON, browser and printed documents. I keep one convention everywhere — amounts are integers in the currency's minor unit, as ISO 8583 carries them, named with a suffix, rounded in one place and converted only at the edges.
-
Selecting a firmware stack for a memory-constrained microcontroller is usually guided by aggregate binary sizes, which report how much SRAM a build consumes but not where it goes or why. We address that gap with a per-symbol attribution method that decomposes static RAM into architectural categories — scheduler heap, network buffers and pools, task stacks, and linker-reserved regions — by bounding sized ELF symbols to the .data, .bss and .stack section ranges. The method is validated by reconciling every category sum exactly against the size-based totals for all sixteen builds. We apply it to eight cumulative firmware milestones, from a bare task scaffold to a full MQTT-over-Ethernet client, implemented twice — in FreeRTOS-C and in Embassy-Rust — on the CH32V203RBT6, a RISC-V microcontroller with 64 KB SRAM and an on-chip Ethernet MAC and PHY, with functional parity verified on hardware at every milestone. The decomposition shows that both stacks spend a nearly identical share of their RAM on networking (63.8% versus 63.9%), yet the absolute cost differs by 4.4 times: 40,719 bytes for lwIP against 9,316 bytes for smoltcp. FreeRTOS task stacks grow linearly at roughly 1 KB per task while Embassy async state grows with state-machine complexity. We also report that lwIP could not be integrated under an all-static discipline on this platform, requiring a 20 KB arena that smoltcp does not. The measurement harness, the attribution tool, and the sixteen firmware implementations are released as artefacts.
-
PDF Thumbnailer
ArticleA stateless Rust service that renders the first page of a PDF into a sharp, uniformly sized WebP thumbnail, reading the PDF and writing the image through two presigned links, so no application streams files or holds storage credentials.
-
Timestamp Authority
ArticleA Rust timestamp authority that stamps a document's hash with a signed, NTP-backed time per RFC 3161, so PDF signatures stay verifiable after their certificates expire — issuing and renewing its own signing certificate, with public OCSP and CRL.
-
Document Signing CA
ArticleAn issuing certificate authority in Rust that gives each PDF signer a certificate of their own, then answers every reader's question — is it still valid? — through a public OCSP responder and revocation list, and hands the signing service each key and chain as PKCS#12.
-
AGA — Address Gateway
ArticleA Rust service that serves Indonesia's administrative regions — 38 provinces down to 83,768 villages, keyed by the official Ministry of Home Affairs codes — as four cascading lookups with search, so every address form in every project gets the same answer.
-
Image Build & Versioning Toolkit
ArticleCommands that version every module of a stack on its own, build its image under a tag that means exactly one build, refuse to reuse a version or swallow a failed compile, and archive images by name and tag so versions never overwrite each other.
-
Flat Layered Architecture
ArticleOne folder per kind of code at a single level, a short path from route to repository, one file per operation — the shape I give a Rust service that must work fast or fit a local AI agent's context, before it grows into Clean Architecture.
-
Aurograf
ArticleThe digital signature platform of the City Government of South Tangerang: signers prove who they are, sign PDFs to PAdES B-LTA with certificates from the platform's own authorities, and anyone can verify the result — version 2, which I designed, built and operate.
-
OSW — Object Storage Wrapper
ArticleA small Rust service between applications and S3-compatible storage: it hands out presigned links so browsers talk to storage directly, gives each file a lifecycle, copies between buckets on the server, and keeps storage credentials out of every application.
-
My code is read by people who were not there when it was written: colleagues, me months later, or an AI agent that forgets on every reset. The clean code rules from Robert C. Martin I apply in every language, shown in a Rust service.
-
Logs, traces and metrics from a dozen containers pushed over OTLP into one deliberately dumb collector, then read in Kibana — with a disk queue so a restart loses nothing, audit events counted exactly once, and the rule that telemetry must never become a failure point.