I'm a programmer with a diverse range of interests, from front-end, back-end to system programming and software security.
I'm a long time Linux user. I use Arch Linux daily, and I enjoy learning about the Linux kernel and various supporting tools and conventions. An understanding of Linux concepts has helped me write better, more flexible, more secure or more performant software.
Interesting things to learn about in this area include:
func@PLT
means?; overriding
functions with LD_PRELOAD
; why does my binary not work on alpine?)sudo
or ping
works?)btrfs
snapshots & shallow copying
data=ordered
and how does this affect my application, in case of a system crash?
fallocate
(creating file with holes, constant time block-aligned insertion/removal, etc.)
malloc
implemented? How deep can my function calls go? Why does malloc
never
return NULL
, even when I clearly don't have more memory left?; Do you know that you can have
transparently compressed ramdisk via zram
?)I'm proud to have Rust as my all-time favorite programming language. Although I recognize that in some cases simpler tools like Python gets the job done faster, Rust will always deliver top performance, result in more correct code thanks to its expressive type system, and allows you to run your code in as many places as possible. (it is always easier to build FFI bindings for a systems language, plus it compiles to WASM. Just imagine trying to use a Python library in JavaScript.)
Return to home