welcome to Biraj's

i know a little bit about software engineering. i play chess (1800 rapid 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 to generate answer with citations.

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.

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

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.

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.

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.

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.

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 GUI tool written with Tkinter in Python to find and replace all the matches of a regular expression in files and folders (recursively). i wrote this because i wasn't aware of VS Code's search functionality at the time.


blogs