New and Improved Killer Tofu!


Welcome to the new and improved Killer Tofu! Yes, there is a little visual sprucing up. The old logo is back (I love that logo) and the site has a little more minimalist flair. It also works fantastically on mobile and tablets now, too. That is not the big news though. The back end is now changed! The part you don’t see a.k.a. everyone’s favorite part. I am proud of it, so strap in for a technical explanation on how things are different now.

To start off, I am now running my site off a VM (Virtual Machine) controlled entirely by me. That means I can choose what is updated, when, and have complete control of the customization. It’s far more work, but the result, for me at least, is better. I have the VM hosted through Digital Ocean, which I can’t recommend enough. I originally chose them because they would let me run a FreeBSD VM, but abandoned that idea. The VM is currently running Ubuntu 16.10 x64 which is the latest version of Ubuntu as of this writing.

This site runs on WordPress software, which was a choice I made a while ago, but since then has some major drawbacks. The prime downside is that it is written in PHP. PHP is an interpreted language and due to that is slow. When the page loads, the server must compile the page and then serve it to you. A thing I found out a little bit ago though is that Facebook is still written in PHP. Due to that, Facebook has written its own PHP interpreter called HHVM (HipHopVM) and open sourced it for anyone to download and use. This significantly speeds up page load times. This is great, but it also is not 100% compatible with all PHP in the wild. I wanted to have a fallback in case HHVM crashed. In this case I installed PHP 7.0 (newest version of official PHP as of this writing) and have it render the page in the event some code crashes HHVM. HHVM also comes back alive every 60 seconds if the process dies. This all happens automatically.

I changed out the web server portion, too. I originally was running Apache (well, *I* wasn’t, my hosting company was), but I wanted to switch to NGINX. It is supposed to be event driven and have a lower memory footprint, which is great for a smaller VM with not a ton of memory available. That took considerable configuration because I had never used NGINX before this and it has its own configuration styles and files.

In terms of database, this is the least improved, it’s just the latest version of MySQL. The old standby. Nothing much to talk about here. Still works great.

The last cool thing, is that now the site is secured with an SSL certification. Check the little green lock in the corner of your browser. When I was on my previous hosting site it would cost an additional $50/year to get an SSL cert. It’s all tied up in registration fees and all kinds of nonsense. With the web becoming increasingly less secure, any additional hardening of security is needed. This might just be a little, personal website, but I still wanted to secure login info and anything else like that. There is an organization now called Let’s Encrypt which allows anyone with the means to get a *free* SSL cert for their site. It’s awesome. They even developed a tool called Certbot that automates a lot of the process. If you put it as a cronjob it will automatically renew certs for you every 60-90 days and you won’t ever have to worry about replacing dead certs again. This seems mundane, but it’s so tedious, annoying, and expensive usually.

OK, OK. So, you’ve listened to me ramble. It’s just that I’ve been meaning to do this for years now, and to finally have it completed feels amazing. I learned a whole crazy amount and hope to use that for my next venture which is to write my own website CMS style engine to port around. That’s a whole different story though.

Hopefully this will cause me to update this thing more, but as this is my 1000+ time making that remark, I’m not going to hold my breath, and neither should you.

On Blogging.

Taken at MatchBOX Coworking Studio
Taken at MatchBOX Coworking Studio

So here is the first official post for a project I’m doing with a couple of friends. It’s like the 24-hour blog days of yore, but just changing by the week. I have no idea how long it will last, but it does give me an excuse to write, which is never a bad thing.

This first topic is “Where do you find content to blog about?” I suggested a very similar topic, “Why blog?”, the week after so I’m going to combine the two because halfway into writing this I can’t seem to disconnect the two.

This one isn’t too hard to answer. It’s a pretty even split between personal journal and video games, with a sprinkling of projects that I have completed or am working on.

With disparate content such as that I’ve struggled with how to organize this website for as long as I’ve had this website. It is such a garbled mess of content. In a serendipitous sort of way this website is a good parallel for myself as I am not just one thing, but a mish-mash of myriad interests and experiences. It’s elegant in that respect. With that in mind I tell myself to just forget about it. I’d love to, but that’s not really the person I am. I will figure out a new schema, implement it, love it, and then, over time, I will learn to hate it and think of another one. It is my cross to bear.

I started blogging because the Internet was a crazy wild, wilderness where people were creating all kinds of amazing content. Standardization for the web was still getting, well, standardized, but there was a clear desire for people to share their life experiences with other people. I stumbled on some blogs of people living abroad in Japan and, occasionally, talking about video games and I was totally taken. The writing felt raw and intimate. It felt less like a well-edited biography and more as if they were speaking directly to me. This same process would take me again with my introduction to vlogging years later, but that is for a different time.

I was young, but I was inspired to do the same thing. So way back in 2003 (Wow, that was twelve years ago. That makes you think) I started up an Anglefire page and used a custom hard-coded, HTML page to write my first entry. This was all I knew really; I didn’t have any real web experience beyond rudimentary HTML and so thus, a blog was formed under the signage “Life as a Nerd.” This eventually moved to a Xanga, then to a Blogspot under the Japanese name “Kikaihito”, roughly translating to “machine person” (ugh). I eventually started to learn more about computers and servers and wanted to have full control of all my content. I learned about Word Press and how to set up a self-hosted site and thus killer-tofu.com was born. I still hadn’t owned killertofu.com as a Chinese gentleman owned it, but I got the next best thing. Slowly, and painstakingly I copy-pasted my content from Blogspot (as there was no one-to-one transfer at the time) to its new home. Eventually, on a vacation I was taking with my father, I stayed up late one night in a hotel room when the killertofu.com domain name was set to expire and nabbed it, which is why I will probably never give the name up.

I’ve been going back through the old entries when I get a free moment to read (and also to correct horrendous spelling and grammar mistakes) and it is nice to have your past thoughts and ideals sealed in time (even if some of them make you cringe).

If I were to dig deeper I blog about things for catharsis, introspection, and things I’m passionate about. I find it valuable to go back through and examine events, decisions, whatever in my life, and one of the ways my brain does it well is writing (that is not to say my brain writes well). It gives me an opportunity to organize and process whatever I’ve been going through. I feel better after, even if the writing turns out mundane. It’s putting the dishes away or folding the laundry. It gives order to my thoughts. It’s relaxing and helps contextualize my existence.

When I say passion, it mostly is because the things I write about that fall within this category are often things I want the whole world to know about. The stuff is weird, and excited, and amazing. I want to stop people on the street and tell them about how cool this stuff is. Instead of being a total weirdo, I settle for writing it on my blog, which boasts 20 visitors monthly. I realize it falls mostly within the realm of video games, but guys, have you seen them?! They are the best.

Finally, projects. I would probably go stir crazy if I wasn’t working on something. There is so much cool stuff in the world, and so much neat stuff to learn and do. I want to taste all of it, so I tend to do projects. If I find it interesting, chances are someone else is bound to as well, so I usually do a write up here. Not to mention I’m usually proud of the work I do and want to show it off. It is totally ok to take pride in what you do! Just don’t be a jerk. Like, rule number 1, don’t be a jerk.

So, yeah, blogging. It’s great! I’ll keep doing it, and, boy, do I think I have a way to organize it all.

An Update!

I’ve been meaning to update this blog more because I have a lot in the pipe I want to get out on here. As I finish college and get into the real world I want to make this a sort of interactive resume for potential employers. That also means you guys can look at all the neat stuff I have been working on.

Recently, I have built myself a new machine and can now edit video like nobody’s business so I want to get into vlogging again. Everyone loves vlogging!

In terms of my “Game Design Diary” the worst thing that could happen, did happen. A dude who is far more eloquent and well versed in the topic wrote about it – Jeremy Parish. He has been doing his “Anatomy of a Video Game” series for a while and he landed on Metroid right about the time I did. Anyway here is a link to the first article. It is really well done and worth the read.

http://telebunny.net/toastyblog/2013/04/the-anatomy-of-metroid-i-welcome-to-zebes/

I will come up with something else to write about. I just need to find it.

All I am saying is stay tuned for some neat stuff. It is coming. No take backs.