mikeyGEE
<Software Engineer />
Los Angeles, CA

<About />

Mikey Gee headshot

Hello! I'm Mikey Gee, a software engineer by trade, and a lifelong resident of Los Angeles, California.

I discovered computer programming in high school, and knew right away I had found my calling. There is something magical about writing code and watching it work that fascinates me more than anything else. I currently specialize in front end development with the React ecosystem.

My other interests include sports (basketball, running, cycling, snowboarding / skiing), mindfulness, nature, animals, reading (non-fiction), movies / shows, investing, homes, and β‚Ώitcoin.

I believe a healthy body and mind are the keys to making the most of our short lives. My top priorities each day are exercise, meditation, and reading. Politically, I believe that individual freedom and non-aggression are the principles that lead to the best possible large scale societies.

Do you want to change the world? How about beginning with yourself? How about being transformed yourself first? But how do you achieve that? Through observation. Through understanding. With no interference or judgment on your part. Because what you judge, you cannot understand.

What you are aware of you are in control of; what you are not aware of is in control of you.

Anthony De Mello

Work hard, be kind, and amazing things will happen.

Conan O'Brien

πŸ’»πŸ€πŸš΄β€β™‚οΈπŸƒβ€β™‚οΈπŸ‚πŸ”πŸˆπŸ§˜β€β™‚οΈπŸ“–πŸŽ¬πŸ“ΊπŸ“ˆπŸ 

<Favorites>

<Playlist>

<Employment>

Yahoo Sports logo
2013-2019

Software Engineer

Yahoo Sports

Playa Vista, CA
OmniUpdate logo
2011-2013

Front End Web Developer

OmniUpdate

Camarillo, CA
  • Lead front end engineer for the OU Campus content management system
  • Re-architected and redesigned OU Campus from a JSP app to a single page application, using Backbone.js, Handlebars templates, and Bootstrap based theme
Blinktag logo
2011-2012

Consultant

Blinktag

San Francisco, CA
Amgen logo
2006-2011

Senior Associate IS Analyst

Amgen

Thousand Oaks, CA
  • Data integration and warehousing / Business intelligence
  • Informatica PowerCenter Developer and Administrator
  • Dimensional modeling, ETL development, operations, and support
UCLA logo
2003-2006

Student Technician

UCLA College Information Services

Los Angeles, CA
  • Technical support for administrative staff and MyUCLA web portal
  • PC maintenance and repair
  • Front desk reception services
Walt Disney Imagineering logo
2004

Undergraduate Intern

Walt Disney Imagineering

Anaheim, CA
  • Audio / video engineering
  • Created a MS Access database application to keep track of Disneyland CCTV cameras including sample images and video clips
  • Audio capture from Disneyland attractions to ensure safe volume levels

<Projects>

2019

BIP39 Mnemonic Builder

  • Web app for generating and customizing BIP39 mnemonic seed phrases used for creating and/or recovering a Bitcoin deterministic wallet
  • Built with Gatsby and Styled Components
MG
2011-2020

mikeygee.com

  • The web site you are looking at right now
  • Initially built with Jekyll, now converted to Gatsby
2011

RoboTag

  • Proof of concept, head to head AI strategy game for programmers
  • Currently runs client side only with JavaScript, hoping to graduate out of proof of concept someday

<Skills>

Advanced level

Basics / Prior experience

<Education>

2002-2006

University of California, Los Angeles

  • B.S. Computer Science
  • GPA: 3.28
1997-2002

Los Angeles Baptist Jr/Sr High School

  • GPA: 4.0
  • Class of 2002 Valedictorian
  • Varsity cross country, track & field, and basketball

<Work />

<Contact />

The best way to reach me is by e-mail.

I am currently available for short term (3 months or less) or part time work only. There is no need to contact me regarding full time positions. If you have a smaller project or something not too time sensitive, I'd be happy to discuss working together.

living in L.A. without a car

October 4, 2015 4 min read

I've never been into cars or driving. I've owned exactly one car in my lifetime, a stock 1999 Honda Civic. It served me well for 16 years. It was relatively cheap, fuel efficient, and got me where I needed to go. And it never broke down on me, despite my subpar driving skills that put it through 4 accidents.

Since 2011, I've lived within 2 or 3 miles of my workplace, so I started cycling to work. My car got less and less use, usually one or two short trips per week at the most. It seemed like a waste to pay for insurance and all the other costs of maintaining a car when I was using it so infrequently. Conventional wisdom says you need a car in LA, but with the rise of car sharing (Uber, Lyft, Zipcar) and delivery services (Amazon Prime/Fresh), it is starting to become more feasible to get by without one. As fate would have it, I got into an accident that while not too serious, caused enough damage to be a total loss. I was fed up with driving and didn't want to deal with it anymore. The insurance paid out $3500, and it was the perfect opportunity to try out life without a car. Instead of using the money to buy another car, I wanted to see how far it would take me using the alternatives. After 4 and a half months of this experiment, I've gotten by just fine and can confidently say that I prefer not owning a car.

introducing river

July 12, 2015 2 min read

Is a blog really a blog if you only update it once a year? Anyway for my annual site update, I'm doing a more personal post about my awesome cat River.

River was born on June 5, 2013. Her mom was a stray found on the street, and fostered by a kind woman named Wendy. After taking her in, she discovered the cat was pregnant and soon gave birth to 3 kittens, all female. Right around that time, I decided on a whim that I wanted a pet cat to keep me company. I had been living in my own place since 2006, and while I'm an extremely independent person, we all get a little lonely sometimes. I've always been fond of furry animals, but was never allowed to have one as a kid, so I didn't know the first thing about how to care for one. Luckily the internet exists now, and a cat sounded like the perfect balance of a fun and low maintenance pet. I scoured craigslist for a few days, and eventually came across a listing with 3 adorable gray tabby kittens. There were two left when I went to meet them, one was very hyper, the other very chill. I chose the hyper one, and took this picture with her.

IMG_0278

mobile first

July 5, 2014 1 min read

So this is the second year in a row I barely avoided going a year without updating my site. Maybe I should just make this an annual thing.

This year I decided to spend part of my July 4 break updating my site to look better on mobile devices. It's pretty clear that mobile is going to overtake desktop usage pretty soon, if it hasn't already. When I'm at home, I do most of my browsing on an iPad now, unless I have something else to do that requires the desktop. I originally designed my site with only desktop in mind. The cool thing about updating for mobile, is that it encouraged me to simplify things, and overall I'm happier with the more basic and minimal look. I also added a light theme for easier reading. It's a pretty ghetto client side only implementation, so you might see some flashing, but for the most part it works ok. So go ahead, take a look at the site on your phone or tablet if you're not there already!


switching views in backbone.js

July 12, 2013 5 min read

I've been developing with Backbone.js at work for about a year now, and it's been an adventure converting from a traditional Java server application to an all-AJAX single page application. I've run into quite a few challenges, especially with transitioning between views. There is not much information in the documentation about what steps need to be taken when matching a route and simulating a page change. Here are a few tips that might be helpful when getting started with switching views in Backbone.

the future of education

July 10, 2013 2 min read

My all time favorite TED Talk is Salman Khan on education from 2 years ago.

His book The One World Schoolhouse is also a great read. With the technology we have available to us today, there is absolutely no reason to continue with our fundamentally flawed school system.

Our current system is based on a model from Prussia, where the government mandated a standard education, and kids needed to be sorted and ranked to determine their role in society. That's why schools spend a fixed amount of time on a topic and give students varying grades. The more natural method of learning is the exact opposite of this. The grade should be fixed to "A" or mastery, and the amount of time needed to achieve this may vary among students. You should not be forced to move on to more difficult material until the prerequisites have been mastered.

scraping with node.js

June 21, 2013 3 min read

Last year, I wrote a post about web scraping. The app I was working on was using PHP, so the HTML parsing code required a library that is probably not too well known. Since then I've started using node.js more, which makes scraping much easier. I thought I'd do another example with node, where it's possible to use the more common jQuery syntax for HTML parsing.

For this example, I'll be scraping song lyrics from LyricWiki. By exploring the site, I found that the URL pattern for a given track is http://lyrics.wikia.com/\[artist\_name\]:\[track\_name\]. So for this example, I'll pass the artist and track as arguments to my script.

MiFi and iCloud

June 9, 2013 1 min read

I recently took a family vacation to China, and decided to rent a MiFi hotspot device so we could all share a cellular internet connection. This is a really great service for travelling internationally in a group. If you split the cost, it's very reasonable, and you don't have to deal with wonky hotel WiFi. It just works everywhere. I went through 3gsolutions and everything worked as expected.

One thing I forgot to take into account though is that when iCloud enabled devices connect through WiFi, they assume they have unlimited data and start backing up anything and everything. If the data plan is limited, as most of these services are, you'll start eating through your allocation fairly quickly. Thankfully we figured it out before I hit any big overage charges. So before you connect your iPhone or iPad, make sure to turn off iCloud backup and photo stream to avoid exceeding data limits.


still alive

April 27, 2013 2 min read

It's pretty depressing to see that I haven't updated anything here in nearly a year. Obviously I'm not good at the whole blogging thing. I think I'm a decent writer, just very slow. I get overly self conscious at times and try to make things too perfect. I end up running out of time in the day and eventually abandon it.

Luckily(?), Twitter has forced my hand to do a site update, since they are nixing their public API and requiring authentication now. I opted to just use their iframe widget, which I'm not thrilled about, but it's easier to set up. Not that it really matters since I've tweeted 4 times in the past 8 months. I figured it was a good time to update the blog before a full year passed. Here's a lightning round of the past year:

truncating blog posts in Jekyll

May 6, 2012 2 min read

I was working on my Jekyll blog page and noticed some funky output. It turns out that the content variable returns rendered HTML, and the truncate filter in Liquid was cutting it off in the middle of a <ul> element. I had previously thought the filter operated on the unrendered markdown content.

I wanted a way to just display the first part of longer posts for the blog page without breaking/invalidating my HTML. I googled around and found a couple of hacks, but they seemed unnecessarily complicated. It turns out that a split function was added to the Liquid filters a few months back, so what you can do is insert an HTML comment into your posts, split on the comment, and just display the first element of the resulting array. If you don't need to truncate, it will display the full post. I had to update my local Jekyll to get the (not so) new split function.

sudo gem update

3 rule changes for the NBA

May 3, 2012 3 min read

NBA playoff season is here, one of my favorite times of the year. As always, I'll be rooting for my Lakers to win #17, and Kobe to win #6. I will be hating on Lebron and the Miami Heat. I seriously loathe that team, even more than the Celtics. Anyway, as much as I love NBA basketball, there are a few rules that really bug me, and could easily be changed to improve the game.

1. No more jump balls

All of my rule changes take a cue from college basketball. The jump ball is such a silly mess. I don't know why they even bother with it. First of all, it's too hard to toss the ball perfectly straight and at the right height. Most of the time, the toss is horrible, and they either have to redo it, or whoever happened to be closer to the lopsided toss gets it. Other times, people will be jostling for position, and the ref has to stop and make sure there are no violations. And then even if someone controls the tip, there's often a lot of contact among the other players, and it ends up going to the other team. The solution to this problem is simple. Just alternate possessions like they do in college. It's much simpler and more fair than a jump ball. The height and jumping ability of players involved in a held ball shouldn't dictate who gets it. Neither should a bad toss.

<Archive>

<Blog />

Β© 2020 Mikey Gee