GeistHaus
log in · sign up

xnacly - blog

Part of xnacly - blog

Recent content on xnacly - blog

stories primary
Compiling Match Statements to Bytecode
Full pipeline deep dive for purple garden: AST, BB SSA IR, Bytecode, Optimisations
https://xnacly.me/posts/2026/compiling-match-statements-to-bytecode/
Porting a Segmented List From C to Rust
Macros, Token pasting and Custom allocators vs Traits, Option<Box<[MaybeUninit<T>]>> and the borrow checker
https://xnacly.me/posts/2025/porting-a-segmented-list-from-c-to-rust/
Strategies for very fast Lexers
Making compilation pipelines fast, starting with the tokenizer
https://xnacly.me/posts/2025/fast-lexer-strategies/
Highlighting Parts of Lua as Bash
Using Treesitter in neovim to conditionally highlight code snippets
https://xnacly.me/posts/2025/treesitter-neovim/
Making SQL Keyword Suggestions Work
Implementing levenshtein distance naïvely (and very slow) in Rust
https://xnacly.me/posts/2024/making-sql-keyword-suggestions-work/
Fun with Go Iterators
Go 1.23 added Iterators, so lets build a js like streaming api
https://xnacly.me/posts/2024/fun-with-iterators/
Making libjson RFC 8259 compliant
Giving lots of edge cases attention, so I can call my json parser RFC 8259 compliant
https://xnacly.me/posts/2024/libjson/
HashMap in 25 lines of C
Minimal hash table implementation
https://xnacly.me/posts/2024/c-hash-map/
Calling Go Functions from c++
Interacting with the Go runtime with c++ (or c, i think)
https://xnacly.me/posts/2024/go-cpp-interop/
My Favorite Vue.js Feature
Sharing state up and down the DOM, My favorite Vue.js feature and its React.js counter part
https://xnacly.me/posts/2024/favorite-vue-feature/
POC JIT With Go (plugins)
Proof of concept for compiling arithmetic expressions on the fly
https://xnacly.me/posts/2024/jit-with-go/
Disable Firefox Translation
Disabling popup prompt and translation in firefox@^118
https://xnacly.me/posts/2023/disable-firefox-translation/
Leetcode Optimization and Go
Solving and optimizing a leetcode puzzle in three ways
https://xnacly.me/posts/2023/leetcode-optimization/
RSA and Python
Understanding, implementing and cracking RSA
https://xnacly.me/posts/2023/rsa/
Handle CSV, JSON and XML with Java
Small guide with snippets for encoding and decoding data into csv, json and xml
https://xnacly.me/posts/2023/java-encoding/
How to sign jar files
Guide for signing jar files and verifying a jar files signature programmatically
https://xnacly.me/posts/2023/sign-jars/
Handling JSON in Go
Guide about working with JSON in go with HTTP server example
https://xnacly.me/posts/2023/go-json/
How to fix corrupted git objects
How to fix the ‘object … is corrupt’ issue which renders git unusable
https://xnacly.me/posts/2023/corrupted-git/
Using autocommands with the new neovim api
Short guide to adding autocommands to neovim using lua with the vim.api.nvim_create_autocmd interface
https://xnacly.me/posts/2023/autocommand-nvim/
Top 10 neovim plugins
Top 10 neovim plugins everyone needs
https://xnacly.me/posts/2023/top-10-nvim-plugins/
Using Vue.js with Electron
Guide for setting up and packaging a vue.js project with electron and vite
https://xnacly.me/posts/2023/vue-electron/
Install & Configure coc.nvim - PDE p.II
Guide and example on how to configure the coc.nvim extension and lsp provider (config and keybinds)
https://xnacly.me/posts/2022/configure-coc-nvim/
Finally a 512kb Club member
This page is now officially a member of the 512kb club
https://xnacly.me/posts/2022/512kb/
The Art of Revisioning
How to effectively revision your papers
https://xnacly.me/posts/2022/art-of-revision/
Linux guide for power users
A guide to help you setup your Linux work machine and configure it for a power users workflow
https://xnacly.me/posts/2022/linux-for-powerusers/
Image editor in C: Part II
Writing a basic image editor as a comp science project, Part II
https://xnacly.me/posts/2022/imgedit2/
Image editor in C: Part I
Writing a basic image editor as a comp science project, Part I
https://xnacly.me/posts/2022/imgedit1/