Posts

Why a unique website matters (to me)

When I first put a site on the internet, I just wanted a place to link my projects. A plain list would’ve done the job. Over time I realized the site is more than a list—it’s part scrapbook, part workshop, part front door. The way it looks and behaves changes how people use it, and how I show up. Ownership is the simple reason. A personal site is the one place online that doesn’t change the rules on you. No algorithm decides if your friends see your writing. If I want a weird page that only makes sense to me, it stays up. That freedom makes me more likely to actually build things.

Prompt engineering tips that actually helped in production

Hard‑won tips for making LLMs more reliable, cheaper, and less surprising without fancy tooling.

Prototype fast, ship safe

In an AI upgrade cycle, the teams that win prototype quickly — and know exactly how to make it safe before launch.

The value of engineering

My last post was in March 2020, right before the pandemic. A lot has changed since then. The world isn’t the place it used it be - Covid-19, War, and AI just to name a few. I recently began a short leave from work, so I finally have some free time again. I want to reflect a bit on my own values. What has changed and what has stayed the same.

Watching videos instead of reading books

Lately I’ve been consuming a lot more video media than I used to. Until recently, most of the media I’ve consumed was by reading. I would either read non-fiction books, manga, or a lot of reddit. My average day would be me waking up and browsing reddit posts on my phone, setting aside some time during the day to read books, and then the latest manga chapters before going to bed.

Why I'll never get tired of Math

One of the earliest memories of my mother was when I was a kid and she would teach me math in the living room. I was just old enough to talk and walk around at the time. I remember that she would create a 10 by 10 grid on a piece of paper and have me fill it up with numbers - to count from 1 to 100. I would pull out a pencil and start writing out the numbers, saying out loud each number as I wrote it down.

Lessons in leadership: My last year and a half at Google

For the last year and a half I’ve been working on the Cloud Logging Front end team in GCP at Google. The time I spend programming is mostly client side code using Angular/TypeScript. I also write middleware in Java between the client and the back end. Google is definitely a place to find challenging work. I’ve encountered a lot of very difficult front end problems in my short time here. I don’t just mean that in a coding complexity sense, but also in a user experience and accessibility/internationalization sense. In college I always thought that the hard part of the job was writing the code, but that isn’t true at all - especially in the front end development.

My favorite parts of Pittsburgh

I really didn’t like Pittsburgh when I first got here. I had no friends, and it was nothing like New York, where I spent most of my time in the US. I wasn’t used to not being able to take the subway anywhere. I wasn’t used to having amazing food around me all the time. I wasn’t used to the lack of diversity of the people around me every day. I wasn’t a fan of sports which is what most people in the city do for fun. Like most things in life though, I persisted.

I Quit learning flow arts and juggling

I first started glowsticking in my junior year of high school. I joined the stuy rave club, now known as stuy flow. It took me a really long time to learn even the most basic tricks - the 2 beat and 3 beat weaves. To give some context, the 3 beat weave is the go-to glowsticking move that is used as a transition between a LOT of glowsticking tricks, especially for beginners. It also requires you to spin the glowsticks in a sort of hard to understand pattern for beginners, and it often results in a lot of bruises. It took me 2 full weeks of hitting myself, and going to the club nearly every single day after school. At the time, it was the hardest test of raw will power and persistence in my life.

How important is coding fast?

Every once in a while I find myself in a conversation with a friend about typing. Sometimes they talk about their typing speeds, sometimes about the text editors they use, and sometimes even the keyboards they use. As someone who has to type code for a living, I decided to see what I could do to optimize my programming before I start my new job. I already knew that increasing my actually typing speed with practice wasn’t going to help too much. The best thing to do was to learn a new text editor with a lot of shortcuts and tricks to make things easier. I wasn’t going to bother buying a fancy new keyboard because that would cost too much time to learn, and possibly a lot of money. Then I started to think - what is typing really and what’s the best thing I can do.

Books I read in the last year

In the last year I actually ended up reading a few books (no, I don’t know how I did it either). Here I’m going to list out some important take away points from each book and what I think about the book overall. All of the books I read were non-fiction and somehow statistics related so they actually did have “lessons” in them. Here they go in order: The Signal and the Noise - Nate Silver This book has a good premise. Whenever humans try to make predictions or forecasts (they are different) they have to base them on some information. The difficult part of this information is that a lot of it is “noise” that doesn’t matter or just confuses us. What we need to look for is the “signal”.

My most useful git tips and tricks

Most people see git as a nuisance when they first learn about it in school. There are a lot of commands to learn. Fetch, clone, push, commit, add, reset, stash, and so on. What I did when I first started is just learned the bare minimum of the commands I needed to know. Clone to download the repo, add to add changes, commit to persist changes, and push to push changes to the repository on github. It became a cycle -

How to learn coding without losing motivation

Sometimes my friends ask me, “How long would it take for me to learn python?” or “Where do I start coding to get a job?”. I tell them that if they pick a language and stick to it, then maybe work on a project or two, they will be well on their way to being a capable programmer. Then, they might ask me some follow-ups like “How exactly do I start? What should I download? Where are tutorials?” and I will point them in the right direction. I then go about my life as usual and then check on them a week later. What happens?

Transfer Protocols

In a world where the internet is becoming an increasingly integral part of our lives, the need for secure information transfer is greater than ever. On the web, information is transferred mainly through two protocols – HTTP (HyperText Transfer Protocol) and HTTPS (Secure). You have definitely seen both of these in your browser URL box, but what do they actually mean and how do they work? To answer those questions, we have to go into detail.

My top 5 places to go in NYC

When you’ve lived in queens for years and went to high school in manhattan you eventually run out of things to do, even in the big apple. Sure, new stores open and new trendy hangout spots pop up, but for the most part it’s the same thing. It’s not a bad thing, but I always end up asking myself if it’s worth it anymore to visit Vanessa’s in chinatown or Gong Cha in midtown. Despite this, there are a few spots in NYC that I never get tired of visiting. They’re almost always fun or beautiful, no matter how many times I go. Here they are (in no particular order):

Should you go to a hackathon?

About twice a semester I’ll go to a hackathon as a break from school to visit a new place, make some new friends, and see some familiar faces. What? Aren’t hackathons for making projects? Aren’t you going to be busy coding non-stop for 24 hours? Don’t you want to win a prize or build the next big app? The answer is a resounding no. I’ve heard of a few myths about hackathons from friends and around the internet in the past couple of months, and a couple of them, in my opinion, are true. The majority of them are not. I’m going to get right into it and address three big ones in the following:

Why I study computer science

When I first started applying to colleges in late 2013, I had no idea what I wanted to major in. It was a big decision, for most people their college major was what they ended up doing for the rest of their life. I wasn’t ready to make that decision (and I’m still not) so I spent a lot of time thinking. People always say to do what you’re good at, and I was good at one thing – Math.

How I deal with procrastination

Whether or not you’re willing to admit it, procrastination affects all of us. Some people brag about it, most people resent it, but everyone wants to control it. I think that you can’t really control procrastination. It’s a natural behavior that’s innate to all people, but at the same time why do people have it? One could argue that it’s an evolutionary behavior. It encouraged early humans to stay in their comfort zones and away from predatory threats. It could be overcome by natural problems such as hunger, so that humans could go out and search for food. But in the modern day where all of our natural needs are more or less met, procrastination just hinders us from being more productive.

How to start performing a flow art

One of my main hobbies is spending time on some sort of flow art. Most of the time I’ll be spinning poi with some friends but you could also find me contact juggling or hooping from time to time. It’s a way for me to have fun and relieve stress from school. It’s hard for me to put into words what exactly it’s all about but I did find a nice quote –

File Compression Part 2

Here I continue to talk about methods used to compress files. The two discussed here are the Lempel-Ziv (1977) method and Huffman encoding. Both of these (or variants) are used widely in modern file compressors such as WinRar and 7zip. The file compressor I’m working on uses Huffman encoding in particular. Lempel-Ziv Method The Lempel-ziv method takes advantage of the fact that in a file, it is very likely that certain strings of text will be repeated. Suppose we have this sentence:

File Compression Part 1

I have recently started working on my own file compressor titled ‘himanZip’. While working, I’ve had to do a lot of research including reading articles, watching videos, and studying protocols. File compression can be really interesting so I’ve decided to write some blog posts detailing what I’ve learned. Firstly, there are two types of compression: Lossy Compression: Takes file A and compresses it into a smaller file B. However, decompressing B back to A will result in a loss of quality. This is because some quality is removed in order to compress A to B.

New website and Javascript

After another long and hard semester, I have found myself with nothing to do. So, I decided to teach myself some more javascript to revamp my website into one with more personality. I wanted to create a site which served only to show off my projects, and show them off well. This new site would need color, animations, and pictures, all three of which my current site is lacking. I decided to use javascript as the tool to make my new website look nice because it gives you more control over HTML elements than jQuery does. Also, javascript is an important skill to have in the world of web development, so it was time I learned it.

The Hungarian Algorithm

Here I’ll talk about the other side project I worked on and the lesson it taught me. This is one that I thought would be easy but turned out to be hard. This is an algorithm I learned about last semester in my deterministic models class. It is a quick way to solve an assignment problem, which is a problem where you assign m workers to n jobs in order to minimize a cost or maximize a profit. This is not be confused with the quadratic assignment problem, which is NP-hard.

The Minimal Perfect HashMap

So over these past couple of weeks I’ve been working on two side projects that I thought were interesting so that I wouldn’t forget some of the computer science I learned over the last semester. Both of the projects were actually much more challenging than I originally thought they were, and doing them both taught me a few lessons about coding do’s and don’ts. I’ll go over one of them here.

First blog post!

I have a blog now! I will try to post here every once in a while about projects that I’m working on or even off topic things that I find interesting. This blog uses jekyll which is a nice static site generator that runs on ruby. It took me a while to get up and running (I actually had to do it on Ubuntu in my virtual machine because it does not support windows) but I really like the way it came out.