welcome to Biraj's

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).

Biraj Patel

biraj.pub@gmail.com

GitHub GitHub github.com/biraj21 Twitter twitter.com/not_salgaonkar Lichess lichess.org/@/biraj21 LinkedIn linkedin.com/in/biraj21

work experience

(you can click on the role summary to see the details)

projects

AI Search C

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.

TCP Server C

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: linux containers Go

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.

NumPy from scratch in Go Go

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.

gomon: nodemon for Go files Go

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.

web wanderer Python

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.

JSON parser Go

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.

texterm C

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.

array (or tensor) visualizer JavaScript

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

brainfuck interpreter C

a Brainfuck interpreter in C that combines repeated instructions, like +++++ +++++ into { '+' : 10 }, speeding up execution. it can also transpile Brainfuck code to C.

findREp Python

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.


blogs