Hi, I'm Gregory Gaines, a full-stack software engineer and aspiring blogger who specializes in building serverless microservices. My goal is to make the internet more accessible and fun.
I started programming at 12 years with C++ and Java. I created binary search trees and hacked almost every video game console I had. Soon after, I learned about emulation which jump-started my passion for computer science.
My first jobs were at startups working on simple WordPress / PHP sites with HTML, CSS, and JS. Then, I got a taste of FAANG with a great job at Amazon Web Services where I got to see the true power of the cloud at work. Next, I moved on to Google solving massive problems and having tons of fun doing it!
When not programming, I enjoy watching anime or reading manga while critiquing its narrative's strengths or flaws. Some of my favorites are Hunter × Hunter and Toaru.
- Got sent a message expressing how much my article inspired them. I am ecstatic!
Complete GBA emulator
- Complete ARM7TDMI CPU
- Complete LCD
- Write SPU
- Correct memory timings
Write more interesting articles
- Come up with more interesting things to write about, but they take so long to accurately pen down.
Demo the power of Flutter and Golang
- Trust me, what I have in store is amazing!
Get out the house and sleep more.
- I should make some friends.
- Find some cool places to go.
- Get a full eight hours of sleep.
Jul 2021 - Present
Amazon Web Services
Jul 2020 - Jul 2021
Software Development Engineer
Hamilton Multimedia LLC
Mar 2017 - Mar 2020
Air Care Companies Inc.
Apr 2019 - Oct 2019
You must be thinking "only an idiot would try to run a Gameboy emulator in Google Sheets"? And you'd be right! I was on Google Sheets one day and thought this is boring, and you know what's not boring? Gameboys!
Learn how to add save states to your emulator by using utilizing software design patterns so you'll have infinite chances to catch that shiny Pikachu.
Learn how to decode the entire ARM7TDMI instruction set to develop your own Game Boy Advance emulator.
Stop wasting time waiting for your Gatsby development server to restart and use the refresh feature!
Ready to swindle money from your fools that believe they are the best at tic-tac-toe!
The interviewer asking the time complexity of Java's sorting algorithms stumped me. Top companies expect engineers to understand sorting and its use cases.
Dragon Ball Super: Super Hero
JoJo no Kimyou na Bouken Part 6: Stone Ocean
Mahou Shoujo Madoka★Magica Movie 4: Walpurgis no Kaiten
Mob Psycho 100 III
Neon Genesis Evangelion: The End of Evangelion
Shingeki no Kyojin: The Final Season Part 2
Favorite programming language?
I'm going to say Java. I feel at home writing it, and anything I build feels concise and structured.
How many hours of sleep you get a night?
const hoursOfSleep = 3;
console.log(hoursOfSleep < 8 ?
'Not Enough' : 'Just Right');
It has to be between Toaru or HxH. With HxH, seeing a shōnen tell a story on a massive scale while staying narratively coherent is beyond impressive.
Side characters can get about 8 minutes of screen time and out-develop many anime's main characters, but I won't say any names.
What hardware / software do you use?
My MacBook is for web development or any low-power tasks. My desktop (AMD Ryzen 5, NVIDIA 2060) is for beefy tasks that would kill my Macbook. 😨
Your favorite programming project?
I have to go with emulators. Retro game consoles have a big part of my childhood, not to mention the countless ones I have burned up, shorted out, or outright broken.
I get a massive sense of satisfaction when I develop an emulator and have a game boot up while holding the original copy that I played years ago.
Not to mention that developing an emulator is one pinnacle of computer science and research beyond just the programming, with a dabble of electrical engineering thrown in the mix. Don't you get excited thinking about it!
When not programming, I enjoy watching anime or reading manga while critiquing its narrative's strengths or flaws.
Got A Question