The Need for Speed: Google Code Jam

I have finally upgraded this website properly. I had been stuck on a design worthy of 2010s. I had so many plugins installed, and I would keep installing more. It wasn’t sustainable anymore. Time for a change.

Updating a website could be a daunting task if you have never done it before. You don’t know what you should take backups of. Luckily for me, I had one failed attempt at migrating my website back in 2015. I know what components I should back up and migrate. Knowing vaguely what to do is different from actually doing it. Naturally, there was a substantial amount of time spent learning about the new theme I wanted to switch to. Finding all the SQL commands and creating a testing ground… All that effort was worth it in the end. I don’t know you, but I think the new direction the website is headed is much more organized and lighter.

There are still a few optimizations and style corrections I should be making, but I am quite happy overall. The first thing I realized after the upgrade was the slow loading speed. I recall I have been optimizing the images, deleting all the many different sizes, compressing style sheets… The old version was loading much faster despite having a ton of plugins installed for that reason. Optimizing the loading speed will be the first thing I will do.

The speed will give you a better reading experience, yes. But more importantly, it will make me happier and more prouder of myself. I enjoy running or developing codes/programs that don’t take too much of my time when executed. I made this website to re-read my thoughts when I needed them instantly. If it takes 5 minutes to load, the moment is gone. In general, once I am past the beginner’s level, I want to optimize. I have done this with FFParam, doing it with this website, the tiny PDB processing package I wrote… I am doing it in my current job; we are doing spot analysis, and after learning a few things about it, I couldn’t stop myself from wondering how to automate this process.

When you desire to optimize, I have learned that Google Code Jam (the link is my qualification results) competitions are the place to challenge yourself. A colleague posted about the competition; I finally gave in to peer pressure, and joined the competition. It was a lot of fun and encouraging. I have learned a lot about solutions to particular problems and how functions like pop actually take longer to run, etc. What I wasn’t expecting to learn and optimize was my thought process. You quickly realize that if your code exceeds 100 lines, you are not thinking right, and you should change your perspective. How do you change your perspective?

Well, sometimes, it’s a simple comment from a colleague. Like in the 3D printing problem, I was stuck, and the same colleague who charmed us into competing (Nick, the colleague has a name 🙂 ) told me something like, “you can use the cartridges right away”. That was it; I scratched the previous code and wrote a completely new solution that finally worked. It was simpler. If you don’t have colleagues to help out and you are on your own, realizing that you need a new direction is already a good step and might be enough.

I have practised being aware at this competition, and sometimes it worked, and sometimes it didn’t. I have passed the qualification rounds; I could solve a problem in Round1a and 1b. I acknowledged that it would take time to implement ways to change my perspective, but I am there, at the door. Waiting to scream like Bilbo Baggins while running across the field: “I am going on an adventure”. Perhaps that should be the image I recall when I want to change my perspective. I should go on an adventure and explore many different ideas and angles. I will report back if it has actually helped.