2025. This is when I was a highschool student with too much free time.
l-m
- Self taught and persistent.
- Contributor and organisation member of the V Programming Language.
- V compiler developer, lead on the native WebAssembly WASI and browser backend.
- Proficient in C, V, WebAssembly (WASM + WAST), x86_64 intel assembly.
- Interested in programming language design, including compiler development and optimisations.
- Passion for low level concepts and underlying implementations.
- Experienced with Blender, 3D modeling and graphics theory/pipeline.
- Daily drivers: Arch Linux (desktop) and Alpine Linux (laptop)
- Servers: FreeBSD (forever!)
l-m.dev
- /cs | My blog about computers and all of the above.
- /3d | My 3d portfolio.
- /talk | I present talks sometimes.
- /physics-applied | “Year 11 Physics, Applied.”
- /changelog.txt | Plaintext website changelog.
- git.l-m.dev | Personal Gitea instance.
- me.l-m.dev | A search engine for me.
me.l-m.dev
where to find me
- YouTube: @l-mdotdev
- Matrix [TBA + recommended]: ++++
- Email: ‘l-m’ at ‘l-m’ period ‘dev’ | PGP
- GitHub: l1mey112
- Discord [not recommended]: ‘lm#5065’
V Programming Language
- Actively involved and well regarded in the V community, including participating in discussions, providing support, and moving the language forward.
- Recognised for expertise in V programming language and its ecosystem, with contributions acknowledged by fellow team members.
$ cat > a.v << EOF
fn main() {
println("Hello WASI!")
}
EOF
$ v -b wasm a.v # implicit WASI target
$ wasmer a.wasm
Hello WASI!- Experienced in developing the V compiler, including leading the development of the native WebAssembly WASI and browser backend.
V programs can be compiled to WASM via Emscripten, but a native WASM backend is being developed by l-m:
V now has a new wasm module with a pure V implementation of the wasm bytecode module format!
WebAssembly
- Low-level WebAssembly programming, with a strong understanding of the WebAssembly MVP binary format spec.
- Developing the native WebAssembly backend for the V programming language and a low level serialisation library, aiming for 100% spec completion.
- Just
import wasm!
- Emscripten development in C and C++, compiling graphical interactive programs to WebAssembly, using libraries such as SDL2, sokol, and ImGui.
> l-m.dev/physics-applied
- A collection of interactive demonstrations and
simulations. Completely open source, written entirely in C.
ImGui and sokol.
stas
A stack based compiled systems programming language.
include <std.stas>
fn main {
'Hello world!\n' puts
}- 356 byte hello world static executable.
- Leverages native system calls for Linux and FreeBSD.
- The stas compiler is entirely selfhosted.
- Build an identical compiler in 80ms!
$ hyperfine './stas stas.stas'
Benchmark 1: ./stas stas.stas
Time (mean ± σ): 79.5 ms ± 1.0 ms [User: 75.3 ms, System: 3.7 ms]
Range (min … max): 77.3 ms … 81.9 ms 37 runs$ ./stas examples/hello_world.stas
$ wc -c ./a.out
356 ./a.out$ ./stas examples/hello_world.stas -r
Hello world!- Includes a homegrown x86_64 code generator, peephole and tail call optimisations, including a register allocator, dead code eliminator, and compile time evaluation of pure functions.
- The 1.0 stas compiler was bootstrapped from the V programming language!
- Read More Here!
All notable software projects
- (+) |+| [T] ‘me.l-m.dev’ | A stylistically minimal, privacy respecting, linear blogging website, written in the V programming language. A search engine for me, the things I am interested with, and take part in.
- (+) |+| [P] ‘Year 11 Physics, Applied.’ | A collection of interactive demonstrations and simulations designed to visualise and help myself and my peers understand the physics concepts taught in my Year 11 Physics class.
- (+) [T] ‘V programming language’ | Avid user, organisation member and contributor | Active in the community | Compiler backend and standard library developer | “Simple, fast, safe, compiled. For developing maintainable software.”
- (+) [T] [P] ‘stas’ | My stack based compiled systems programming language for x86_64 systems running Linux or FreeBSD kernels. | written in itself, compiles to optimised x86_64 intel assembly, uses assembler backends ‘nasm’ and ‘fasm’ | utilises OS specific native system calls to interact with the system, unencumbered by a C library, cross compiling with ease.
- (+) [P] ‘crepl’ | Compile and execute C code on the fly as you type it. | lightweight and incredibly fast alternative to igcc
- (+) [P] ‘bootsector-dvd-screensaver’ | A dvd screensaver written in 16 bit x86 assembly for the bootsector | constrainted to 512 bytes of data and code, both the bitmapped image and driver code fit with 24 bytes to spare.
- (+) [P] ‘notcurses-opengl’ | Project and demo utilising notcurses and OpenGL to render to the terminal in an efficient manner. | renders the mandelbrot set with a screen space shader.
- (+) [P] ‘v-2Dsoftbodies’ | Simulating 2D softbodies in V, displayed in the terminal. | simulation of the spring mass model and gas pressure in a bouncing ball | many visualisations of Hookes’s Law and the Ideal Gas Law.
- (+) [P] ‘jitcalc’ | A tiny proof of concept calculator written in the V programming language that evaluates expressions by creating x86_64 programs at runtime.
