Header image for vgmoose.com

About Me

I'm VGMoose, and this is my modest blog. I like to program things.

My favorite programming language of all time would have to be Python, mostly because of how quickly things can be hacked up in it. I am aware of its shortcomings, however, and I prefer to use the right language for the right job. That being said, I think they're all pretty similar.

Other languages I enjoy include: JavaScript, Java, C/C++, Swift, TI83 basic... Check out my projects on Github to see which ones I use most often.

I also believe that anyone can learn to code, although that doesn't mean it's easy. That probably goes for any skill. In particular, to be a programmer, I believe you need to try to be very literal, and be wiling to think through a problem top down, one step at a time. You also have to be ready to be wrong, a lot. (The computer is always right).

Early Curiosity

Since this is an "about me" page, I'm going to go straight back to the beginning: in 1999 I received a Game Boy color and the game Pokémon Red Version. And yes, we have to go back this far! Red Version was notorious for having a multitude of glitches. In particular encountering Missingno. via the old man glitch, and using this to duplicate rare candies. I also later received a GameShark Pro, which I used to cheat in the game, on top of the glitches.

Here are mysteries that I had always wondered about, but was never able to answer as a kid:
- Why do glitched level 100+ Pokémon go back to level 0 if they go past level 255?
- How can the letters and numbers in a GameShark code magically enable cheats?

I'd be lying if I said I tried to figure out the answers to those problems, but I now know the answers as follows:
- There are 8 bits in a byte, which gives it the range 0-255. When a byte overflows, it wraps back around to 0. The level was stored as a byte.
- These letters are hexadecimal, which are in base 16. The first 4 digits of a gameshark code refered to the an offset in the Game Boy's memory, and the last 4 digits patched the value at that offset.

I continued to play around with Pokémon glitches and newer Game Sharks / Action Replays as new games came out and time went on.

Website Management

My first experience with something close to coding was in 2005, when I registered for a free website on freewebs.com. I was very interested in video games, and in particular wanted to become a game developer. The website that I made there was focused on Zelda news coverage. Freewebs had a limitation, though, you could only make 7 pages on the free version. I as very thrilled with the concept of maintaining a website that anyone could visit, however, so I carried on.

Freewebs exposed me to HTML, and I quickly learned that it was possible to view the source code for any website on the Internet. I used to host game tournaments at my house, and put details about the times and events on the website. This helped improve my website making abilities, but JavaScript was still an enigma to me. At some point, I was introduced to the Nintendo NSider forums, and became interested in making my own forums, which I used InvisionFree for.

Throughout time, I gradually became slightly better at HTML, and designing my own websites. You can view the fruits of my effort still at vgmoose.com/2008.

Intro to Coding

Also in 2005, another friend and I became interested in a program called Game Maker, which is something I still recommend be checked out. It's essentially drag and drop programming. By looking at examples, I was able to create some simple games to be played on the computer.

Soon, I received an intro to BASIC programming CD, which was finally the first time that I was able to write and run formal code, with real step-by-step lessons. In particular, I recall staying up all night attempting, debugging, and perfecting a number guessing game.

I also began to merge my knowledge of web skills and programming skills enough in order to create Pokémon hack videos to upload to YouTube. I also gained minor video editing skills from playing around with Google Video back when it was a thing.

More Coding

When I got to high school, I began to REALLY play with programming. I would make programs on my TI83 in TI-BASIC. They started off very small, but quickly grew into graphical programs that took advantage of the Omnicalc library and had to be heavily optimized to perform well. I learned a majority of my programming skill in this barebones environment. It provided me with several important things with respect to programming:
1. Very quick to code, execute, debug (would take you to the exact line number)
2. Very portable to carry around, and didn't require Internet or anyting
3. Programs could be shared with friends, providing incentive to create
4. Was innocent enough to use in school all day to code/play with
5. Code features were simple, and had to be optimized because they were slooow

It's getting a bit out of style with all the resources available nowadays, but I would highly recommend any apsiring programmers to play with their calculators a bit. Some of the favorite apps that I made were Minesweeper, a virtual pet, and a silly mini-rpg. It beat paying attention in Chemisty!

Besides programming on my calculator, towards the end of high school I also took an "Intro to Java" course and "Intro to C Programming". One of these was offered at the high school (Java), and the other was a college course I took instead of doing a Senior Project.

University Programming

Coming soon