👾 Computer Graphics YouTuber (25k+)
❤️ Shaders, Anime, Gaming, Running
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!
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!
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.
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.
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?
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?
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.
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.
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.
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.
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.
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.
Recording this on an old Mac so it's pretty laggy, but it runs well when I'm not doing screen capture.
Recording this on an old Mac so it's pretty laggy, but it runs well when I'm not doing screen capture.
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.
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.
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?
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?
ChatGPT was very helpful, except when it started suggesting code from older versions of SFML.
Needed to create a graph data structure (with nodes and edges) to represent and store the UI state.
ChatGPT was very helpful, except when it started suggesting code from older versions of SFML.
Needed to create a graph data structure (with nodes and edges) to represent and store the UI state.
No? Yea, me neither. Until I ran into it during a C++ coding interview.
It's surprisingly easy with bit manipulation.
No? Yea, me neither. Until I ran into it during a C++ coding interview.
It's surprisingly easy with bit manipulation.
Nice to have the option to use the priority queue data structure which gives O(N log k) complexity.
When I practiced DSA in JS (previously), I'd usually merge two lists at a time, since JS doesn't have a built-in heap.
Nice to have the option to use the priority queue data structure which gives O(N log k) complexity.
When I practiced DSA in JS (previously), I'd usually merge two lists at a time, since JS doesn't have a built-in heap.
Ray Marching Mouse Interaction (part 1)
Ray Marching Mouse Interaction (part 1)
Ray Marching Procedural Terrain (part 4)
Ray Marching Procedural Terrain (part 4)
Ray Marching Procedural Terrain (part 3)
Ray Marching Procedural Terrain (part 3)
Procedural Terrain (part 2)
Ray marched a procedural terrain using value noise. This time, I removed the sphere SDF, colorized the terrain based on its normals, and added specular lighting.
Procedural Terrain (part 2)
Ray marched a procedural terrain using value noise. This time, I removed the sphere SDF, colorized the terrain based on its normals, and added specular lighting.
Procedural Terrain (part 1)
I ray marched a procedural terrain using value noise. Decided to add distance fog, color grading, and a toon shader to give the scene some contrast.
Procedural Terrain (part 1)
I ray marched a procedural terrain using value noise. Decided to add distance fog, color grading, and a toon shader to give the scene some contrast.