i know a little bit about software engineering. i play chess (1800 on lichess) and badminton. i am currently reading Sherlock Holmes (not consistently tho).
an AI search tool (like Perplexity) that pulls data from
Google Custom Search JSON API
and uses Llama 3 8B to generate answer with citations.
a single-threaded TCP server written in C with an event loop using the poll()
system call,
without any third-party library. the server listens on a port and echoes back received data. i've also written
a simple client to test the server.
Focker is a toy container runtime written in Go. it is based on Ubuntu 22.04 rootfs. this was an attempt to
understand how Docker works internally.
i am implementing Neural Networks from scratch in Go and as a byproduct of it, i also created my own version
of NumPy for tensor operations like +, -, *, /, matrix multiplication, transpose etc. it also supports
broadcasting.
a CLI took to run Go programs in watch mode. to watch for changes, it uses `kqueue()` system call on macOS and
`inotify` on Linux. no 3rd-party dependencies.
a multi-threaded web crawler written in Python. uses
concurrent.futures.ThreadPoolExecutor
and
Playwright to crawl and download web pages. it handles
dynamically rendered websites, making it capable of extracting content from sites written in React, Vue, etc.
a JSON parser written in Go from scratch. prints error message with line and column number.
Phil Eaton's
blog post
helped me write the lexer and parser. it was fun.
a minimal, nano-like text editor written in C from scratch. i followed
Build Your Own Text Editor
article. learnt a lot about C and linux terminals during this.
a tool that helps you visualize multi-dimensional arrays. uses HTML canvas for rendering the image. i wrote
this when i was trying to understand neural networks.
try it
a
Brainfuck
interpreter in C that combines repeated instructions, like +++++ +++++
into
{ '+' : 10 }
, speeding up execution. it can also transpile Brainfuck code to C.
a simple GUI tool written with Tkinter in Python to find and replace all the matches of a regular expression
in files. you can either select the files directly or select a folder, in which case it will recursively look
for matches in files inside the subfolders. i wrote this because i wasn't aware of VS Code's search
functionality at the time.