G

Gabriel's Blog

← Looking for a job
Categories
Gaming

A Message to Gaming Companies

This is a message for all gaming companies. It is mainly directed at AAA studios, but the message can also be applied to smaller companies. I feel like most gaming companies forget what games truly are: an escapism mechanism. They are something to help people forget about real-world problems, economics, wars, the declining morale and trust of society, and most importantly, politics. Money doesn'
GMar 15
4 min read
Hardware Architecture

Understanding GPUs vs. TPUs

Everyone is talking about AI these days, but very few people talk about the physical engines actually running it. If you have played a video game recently, you used a GPU (Graphics Processing Unit). If you have used a modern AI chatbot or Google Translate, the math behind it was likely calculated by a TPU (Tensor Processing Unit) [1]. Both are silicon semiconductors, meaning they are computer ch
GMar 14
5 min read
Security

Visualizing Encryption: Classical to Modern

After completing my Web Security class, I wanted a way to visually explain why some ciphers are broken and others are not. The classic example is the "ECB penguin" - an image of Tux the Linux mascot that, after encryption, still clearly shows a penguin. The structure survives because AES-ECB encrypts every 16-byte block independently. Same input block, same output block. For images with large uni
GMar 10
4 min read
Projects

My (Not-So-Great) Experience with LLM Agents

How it started When I started coding this website, I thought of trying the new "big thing", LLM agents. So I started 2 instances trying to build the same website, one using Gemini 3 Pro and one using Claude 4.5 Opus. Both got the project running and had some issues configuring Vite, but those were easily solvable, so point for both. This is where problems started. I asked them to use Astro.j
GFeb 19
4 min read
LC Daily Question

1653. Minimum Deletions to Make String Balanced

Description Given a string s consisting only of characters 'a' and 'b', you can delete any number of characters to make it balanced. A string is balanced if there is no pair of indices (i,j) where i < j, s[i] = 'b', and s[j] = 'a'. In simpler terms: all 'a's must come before all 'b's. Example: Input: s = "aababbab" Output: 2 Explanation: Delete positions 2 and
GFeb 8
4 min read
LC Daily Question

3013. Divide an Array Into Subarrays With Minimum Cost II

Description You are given a 0-indexed array of integers nums of length n, and two positive integers k and dist. The cost of an array is the value of its first element. For example, the cost of [1,2,3] is 1 while the cost of [3,4,1] is 3. You need to divide nums into k disjoint contiguous subarrays, such that the difference between the starting index of the second subarray an
GFeb 2
6 min read