Suboptimal Engineer
suboptimaleng.bsky.social
Suboptimal Engineer
@suboptimaleng.bsky.social
👨🏾‍💻 Indian-American Software Engineer
👾 Computer Graphics YouTuber (25k+)
❤️ Shaders, Anime, Gaming, Running
C++ WebGPU Shader Game Engine (part 5)

Simplified the Ray Marching node architecture and added a Blit (block image transfer) node.

TL;DR Blit is Ctrl + C, Ctrl + V for GPU textures.
January 26, 2026 at 3:28 AM
C++ WebGPU Shader Game Engine (part 4)

Refactoring the animation and UI to allow users to toggle between color, normal, and depth textures in the ray march node itself.

Still quite hacky since I'm prioritizing progress over maintainability (for the time being).
January 25, 2026 at 1:16 AM
C++ WebGPU Shader Game Engine (part 3)

Got animations working, but the code is hacky. Shader state, ImGui UI, and WebGPU resources are all mixed together. Need to do a full refactor.
January 24, 2026 at 6:25 AM
C++ WebGPU Shader Engine Progress (part 2)
January 23, 2026 at 3:04 AM
♊️ lowkenuinely 🐐
January 22, 2026 at 7:25 AM
C++ WebGPU Shader Engine Progress (part 1)
January 22, 2026 at 3:32 AM
This is the last time I restart writing my shader animation engine from scratch.

The previous two attempts taught me important lessons about (not using) web tech and writing maintainable code.

v1 - TypeScript and WebGL

v2 - C++ with SFML

v3 - C++ with WebGPU and ImNodes
January 19, 2026 at 3:25 AM
Making progress on my C++ WebGPU shader editor.
January 18, 2026 at 11:25 PM
Must resist the urge to use templates to clean up this (perfectly readable) C++ code.
January 17, 2026 at 11:43 PM
Here's the latest update on my C++ WebGPU node editor. It now draws textures in each ImGui node.

Have to pause work on this project soon because I'm moving across the country from NYC to PNW and I haven't started packing yet!
December 27, 2025 at 4:21 PM
Making some progress on this node editor. I made the graph data structure with nodes, edges, and ports (with help from ChatGPT of course).

In a surprise twist, solving 75+ LeetCode problems in C++ came in handy. I implemented the topological sort algorithm from scratch!
December 27, 2025 at 12:12 AM
After 5 hours of fighting CMake compiler errors, I finally got WebGPU working with ImGui and ImNodes!

I present to you the magenta Christmas tree.

Happy holidays everyone 🎄
December 26, 2025 at 12:17 AM
AI Thought Experiment

50% less white collar jobs -> 50% less productivity SaaS apps needed (slack, gmail, notion, jira, msft word...)

Once company downsizes -> businesses that depend on said companies "growing in size" also lose.

AI doesn't need Slack, Jira, etc.

What now?
December 24, 2025 at 10:44 PM
Got nerd-sniped into learning more about header files this afternoon so I had to speed run this after dinner.

Ran into a segfault, stepped through code in LLDB, found + fixed the bug, and finally got a triangle up and running in C++ and WebGPU!
December 22, 2025 at 2:52 AM
Setting up a new WebGPU project in C++ and realized that the API has changed since last time.

It's taking longer than I expected, but maybe I can render a triangle tomorrow.

I also ran 5 miles in 30 degree weather which was fun.

Time to take a break and play video games!
December 20, 2025 at 11:21 PM
Today, I reset my LeetCode progress, and solved 50 problems in C++ in 4.5 hours.

No CPP reference, no ChatGPT, no Google, no NeetCode, no nothing.

Gonna call it the "Suboptimal 50 Speedrun Challenge".

Complete 50 problems from NeetCode 150 without any hints/help.
December 9, 2025 at 11:09 PM
C++ Learning Journey Part 8

Finally completed the classic "Blind 75" problem set on LeetCode.

I don't need to constantly check the C++ reference website which is nice. Can I start calling myself an advanced-beginner now?
December 8, 2025 at 11:19 PM
I'd forgive myself if I failed to solve LeetCode 143 in an interview setting.

It combines 3 different linked list sub-problems into 1.

Slow/fast pointer to find mid point. Reversing a linked list. Merging 2 lists in an alternative order.

C++ memory leak guaranteed.
December 7, 2025 at 9:41 PM
C++ Learning Journey Part 6/7
December 7, 2025 at 3:26 PM
C++ Learning Journey Part 6 (?)

The Pacific-Atlantic Water Flow LC question is pretty straightforward once you know the trick.

Sometimes I miss doing these in JS because I did't have to worry about types. But then I remember that frontend is a race to the bottom due to AI.
December 7, 2025 at 12:08 AM
You know the tech industry is cooked when 56 engineers are practicing LeetCode HARDs on a Friday afternoon.

But I must admit that it was fun to implement the Trie data structure. I'm starting to feel comfortable with C++ after solving 60+ LC problems.
December 5, 2025 at 10:02 PM
Decided to try out the MacOS Metal API with Swift. Here's a simple ray marching example in MSL (Metal Shading Language).

Recording this on an old Mac so it's pretty laggy, but it runs well when I'm not doing screen capture.
November 30, 2025 at 4:53 PM
C++, I am inside you.
November 23, 2025 at 8:49 PM
You know the tech industry is cooked when 98 engineers are practicing LeetCode HARDs on a Saturday night!

Haven't attempted this problem in 2.5 years, but was able to one-shot it in C++. Though I was a little fuzzy on string <-> int conversion functions.
November 22, 2025 at 11:40 PM
It took the brightest computer scientists 5-10 years to solve longest common subsequence (in the 1960s).

But engineers are expected to solve it in 45 minutes during a coding screen.

Has anyone invented the solution on the spot? Or do we all pretend we never saw it before?
November 21, 2025 at 9:25 PM