My name is Angad Tendulkar. At the time of writing, I am a junior at Shaker High School.
Things I’ve Done, Separated by Year
Grade 4
- I start learning Python using
CodeCombat
because it was engaging to my 10-year-old brain, I guess
Grade 5
- My dad buys me a book titled
How to Code Games in Python
and I immediately pick up pgzero on the old family computer - Somewhere around this time, I also learn HTML, CSS, and start Javascript
Grade 6
- Make an unblocked games website using my knowledge about embedding
iframe
s - Got my first phone during the lockdown, familiarized myself with android-development-related-tools (i.e. ADB and fastboot)
- Make a GitHub account (sometime during pandemic)
- Finally made the switch from Windows to Linux Mint
Grade 7
Android
- My phone eventually runs out of software updates (it was a cheap, ~$200 I paid for myself)
- I get familiar with booting Android GSIs
- I meet the few people who care enough about these $ 200 phones to attempt to make ROMs for them. (Thank you so much Electimon!)
- Turns out the lead developer bricked their phone while working on the ROM, I continue development (device, kernel, vendor), learning stuff along the way.
- I cannot do justice to all of the people who helped me along this period, it was honestly amazing the support I got for developing the ROM
Other
- Find alloy in the wild and make frontend for their webproxy (lost to time)
- Switch from Linux Mint to kUbuntu
Grade 8
Webproxy
- Once titaniumnetwork released ultraviolet I ended up developing a new frontend for it, learning react along the way. Called it Inertia, and had a friend help with icons and frontend design
- Ended up getting GeForce Now running on it — there were literally kids at lunch playing Apex Legends on school Chromebooks. Wild times.
- Ended up learning a lot about networking and VPNs. Ended up creating my own StrongSwan server on an old laptop running at home. Worked like a charm.
Linux
- Distro-hopped for a very long time, ended up settling on daily driving Arch Linux
Discord
- Made and maintained a discord bot,
NCI Bot
(preceded by Smarty, though both were still used at the time), written in Typescript, for the discord server me and my friends were using at the time.
Misc
- Purchased
onlycs.net
(no longer live, superseded byangad.page
).
Grade 9
FIRST
- Learned Java by writing the game of chess.
- Joined the programming subteam for my school’s robotics team
- Played a big part in transitioning our team from the aging pathweaver to the more modern pathplanner.
- Coded LEDs
Chess
- Made a chessboard that could move pieces under it using an electromagnet (source)
- GRBL was running on an Arduino microcontroller.
- Under the board was a linear rail system (repurposed from a sand table), powered by two stepper motors
Rust
- Learned a new programming language, Rust, in two weeks
- Made a card game and a chess game to learn.
Discord
- Migrated from NCI Bot to
oreobot
, written in Rust.
Web Proxy
- Wrote atom to learn Vue.
School’s CS Classes
- For our second semester of CS classes, I wrote a wrapper for Applets called Lightweight Java Applet Interface (aka.
LWJAI
, a parody ofLWJGL
) - This made animations, positioning, etc, so much easier to write and modify
- For my final project, I wrote both a game of chess and tictactoe (in the same repo).
Linux
- Switched from GNOME DE to the Hyprland WM.
Grade 10
Jasmine
FIRST
- Worked on April Tag following with our new swerve chassis, using PhotonVision and such
- Made the arm stay in place instead of falling due to gravity
- Tried and failed to make Rust bindings to the C++ WPILib
- Probably some other stuff I’m forgetting
Chess
- Made a bitboard-based chess game in Rust. Learned about the internals of how memory was stored and a lot of bit manipulation operations
Radha’s Kitchen
- Produce waste management app for a friend
- Learned gRPC for the API
- The app is finished, but it didn’t really go anywhere unfortunately
Typing
- Learned to type properly, reaching >100 wpm on monkeytype.
Framework
- Purchased a Framework Laptop 16, the laptop purchase to end all laptop purchases
- Seriously, I will never have to buy a new laptop again
Grade 11
FIRST Offseason
- Programming team lead!!!!!!!!!!
- Rewrote the entire 2024 robot code because
periodic
s were running over the 0.02s barrier, causing problems - Learned Kotlin and introduced it because I had like two days to fix everything for offseason competitions and Java was too verbose.
- For NERD, we reached 2nd place overall.
- I couldn’t find records of it, but we definitely went to Robot Rumble in Ballston Spa. Our Junk Drawer2 ended up doing really well though.
Attendance
- Made an attendance system (live website) for our team to keep track of hours
- Got away with not storing any student data, just the sha256 hashes of their IDs
FIRST Dive3
- Brought AdvantageKit to our team. Level 3 logging and simulations are so cool.
- We’re doing actual simulations now!
Fluid Simulation
- I found Sebastian Lague, and his Fluid Simulation, which I thought was really cool, so I wrote something similar in rust
- Currently (like, actively) working on getting it to run on a compute shader.
- Brought you the rant, The State of Shaders
Blog
- Made this blog!
Work in Progress
- I’m still in 11th grade, and the year isn’t over yet. There’s still so much to do!
My Skills
- Very talented Rust developer, with a specialty in literally anything other than frontend work and UIs
- I also know Dart, Kotlin, Java, Javascript and Typescript, Python, Lua4, C#5, Bash and Shell Scripting, React/NextJS, Vue/Nuxt, a little Go, HTML and CSS, and a little C.
- I’m very comfortable with Linux… I daily-drive Arch!
- I love docker, its the best thing ever created, and has saved me on countless occasions
- I’m very comfortable with Google Cloud (the attendance API is hosted on it!)
- I make websites
- I know how to manage memory myself, and how the languages I use do it for me
- You can reach me at angad@angad.page, but emails only reach me like 1/2 the time. Will fix.
Have I forgotten something?
Definitely. There’s no way I actually got everything. If you’ve gotten to this point, thanks for reading this whole thing.
Footnotes
-
It wasn’t actual rust, just a language that resembled it in syntax and semantics ↩
-
The robot we scrapped together in like, two weeks, using spare parts ↩
-
Events are currently unfolding. May not be up to date by the time you read it ↩
-
I worked with
neovim
for a while ↩ -
I made a small game in unity, circa pandemic ↩