$ ls -l Post

Bochs code reading, notes and hacks
SysV ABI (AMD64)

notes, based of

System V Application Binary Interface AMD64 Architecture Processor Supplement (With LP64 and ILP32 Programming Models), Version 1.0, May 23, 2023, H.J. Lu et al.

A Static Art Gallery with Hugo

This is not the first time, and won’t be the last time I post about JS-free, bloat-free web. In this post I’d like to share how I build a art collection site for my gf.

Hello html
markdowns are great, what about writing in html?
STOP USING(DOING) NERD FONTS

It’s so fucking annoying that every new UI-related neovim plugin requires you to have some sort of glyphs installed

// DRAFT // The archtecture terminimology madness

I’ll write about confusing naming in different architectures in sys programming.

ELF, symbol table, and dynamic linking (WIP)


ELF, symbol table, and dynamic linking (WIP)


This is work in progress

How much Page Tables / PTEs are needed for xyz amount of memory?

TL;DR; For m bytes virtual memory (up to 256T), you need 1 + m/2M + m/1G + m/512G pagetables on all levels, each taking 4K in space. Pagetables take roughly 1/512 proportion to virtual memory size.

The media exploits ADHD (WIP // DRAFT)

we don’t force you to scroll the social media 4 hours a day, it’s all your choice, they say.

reflections on generative AIs

The not so bad, the bad, and the very bad.

C syntax is bad for regex

Because it’s hard to grep what I want …

Git or not git ... lessons learned (WIP)

I call it TDD: tragedy driven development :(

This post is dedicated to VCS mishaps.

openring + webring, build a suckless web

openring and webring are two orthogonal projects that are dedicated to build a decentralized web of independent blogs. The openring is a program written in GO that pulls RSS feeds from a list of URLs and render 3 of the newest articles into html that can be integrated into static site generators. The webring is a well maintained collection of blogs:

Chinese translations of computer terminologies (WIP)

The meaning is distorted when terminologies are translated, even if they are translated by the literal meanings. In this post I list some translations that I think are “bad”, and hopefully some better translations. (well, unluckily for most of them I can’t think of a better one.)

schnitzel.nvim : my neovim config

schnitzel.nvim is the neovim config that I daily drive. Some friends asked for my dotfile, so I made a public version of it.

Binary Hacks - Dump process virtual memory
  1. get [pid] of process
  2. get the memory mappings cat /proc/[PID]/maps
  3. identify the memory range of interest
  4. connect gdb to pid and dump memory:
Tile Split Tile Split Tile (rants)

I love tilling window managers,it split my display in halves.
I love tmux, it splits my terminal in halves
and I love vim, it splits my workspace in halves

End the holy war between space and tab indentation...

Indentation not Tabulation People(I) make mistakes often because they mixing the idea of indentation and tabulation.

Text to speech in (neo)vim...

Some dirty hacks to read the vim buffer with espeak.

JS or no JS, that's a problem - towards a ZERO JS blog

[This post is to be updated]

I’ve commissioned myself to build this blog completely without javascript: that’s simple. But how can I add “modern” features without adding “modern” javascript?

seite: 1/4 [next]