The Inevitable Setback

When you're a one-man show, stuff happens in real life that slows your roll. I came down with the flu that knocked me out for a week. I promptly forgot the system in Laravel which put me back at step 1. This past week, I have been watching a lot of the videos on Laracast.com to familiarize myself with it once again.

Hopefully, I'll have a more substantial update in the next blog.

Start the Conversation

Setting up the local environment

These are notes of how I set up my local environment. I am developing on a Mac, all commands are for the terminal.

vi /etc/hosts

  • added in an entry pointing the new site to my localhost
  • ex: 127.0.0.1 www.dev.newsite.com
  • will ask for password when saving an updated host file

install composer - https://getcomposer.org/download/

install laravel - https://laravel.com/docs/5.2

brew update

brew doctor

brew install php70 --with-fpm --without-apache --without-mysql --with-homebrew-curl --with-homebrew-openssl --without-snmp

  • there were a number of issues here that I forgot to note down :(

brew install php70-pdo-pgsql

  • edit php.ini and add in the pdo-pgsql.so extension

brew install nginx

  • installs nginx into /usr/local/etc/nginx/
  • added the following line to nginx.conf at the end of the http block: include /usr/local/etc/nginx/conf.d/*.conf;
  • create conf.d folder
  • created newsite.conf in the conf.d folder
  • the contents of the newsite.conf file: http://pastebin.com/8JmiUSTy

Followed the instructions after each install to copy the plist to the launch control directory. This will automatically start the services when the computer is powered on.

In some cases, I want to turn them off and on. Instead of using launchctl directly, I installed a wrapper called lunchy. Makes things simple.

With everything on and a database created, going to http://www.dev.newsite.com should display a page that says Laravel 5.

We're on our way!

Start the Conversation

Infrastructure

Originally, I had planned to go with PHP7, Symfony3 and MySQL. Giant Bomb is currently using PHP5.6, Symfony 2.6 and MySQL. My thoughts were that I would build the pops site on the newer versions of the work tech and bring back the knowledge I gained to the group.

But, on the recommendation of a co-worker, I decided to go with Laravel. It's a lightweight framework based off of Symfony. Symfony is robust but unwieldy for my needs. Laravel comes pre-packaged with a user model and authentication which gives a nice jump start to the project.

I am sticking with PHP7 because even if you write bad code, it provides a free 20% performance increase just for being PHP7. I don't know where I read this, but the information is retained in my head so it must be true.

The database I will be using is PostgreSQL, only because I decided to use Heroku as my host. The free tier. Because, it's free. And the recommended database from Heroku is PostgreSQL.

Probably don't need a caching layer at the moment. We'll see. 20% increase!

Start the Conversation

New Year, New Goal

I am a developer for Giant Bomb, GameSpot and Comic Vine. I started off at CNET around August 2006 doing QA for GameSpot, TV.com and MP3.com. I did that for a number of years and then transitioned to becoming an developer around the time of the Giant Bomb rewrite.

I could update on what I am currently doing, but you probably don't want to hear what I work on. I work in the dark shadows making evil things happen. If you want something fluffy and fun to read, check out Will's Engineering Updates.

This series of blogs will be something nice and educational.

---

I have just one hobby. That is to find the perfect Funko Pop!s to put on my desk. I'm not a collector, I don't try to complete the set. I just want specific pops. I don't go out of my way to look for them, but I want them at retail price or free. I can do free. Now that I think about it, I may be the worst type of hobbyist.

My infatuation with Pops started a year or two ago when I worked in my brother's warehouse on the weekends helping him move boxes from one corner to another. The usual compensation for a full day of stacking, sorting and sifting was lunch at Panera. This is what is wrong with working for family, just don't do it. On a few occasions, he would let me choose a Pop to take home. I selected:

Flash DomoMaster ChiefAlan & Baby CarlosInverse Deadpool
No Caption Provided
No Caption Provided
No Caption Provided
No Caption Provided

At some point, I lost interest in Flash Domo and Master Chief. I offloaded those to Drew so I didn't have to carry them down to the 1st floor.

My favorite is a 9" Batman that has a dual purpose of holding my headphones:

No Caption Provided

This past Black Friday, I picked up Vegeta because Dragon Ball Z and Thanos because Mahvel.

No Caption Provided
No Caption Provided

No Caption Provided

My next target is Agent Coulson because Agents of S.H.I.E.L.D. is my favorite current tv show. You can watch it on ABC on Tuesdays at its usual time slot of 9|8c. The latest season just ended. Spoilers. There is a zombie. The show will be back on March 8. Set your DVRs.

Also watch Agent Carter during this downtime until Shield is back on. That is also a good show. The upcoming Captain America: Civil War movie looks great as well. Marvel.

---

Now that we are done with the back story, we can talk about the meat of this series. I am going to take the knowledge I gained from work and combine it with Pops to create a website about Pops. It's not going to be a wiki because that shit is hard. But, there will be lists, profiles, and maybe comments.

This series will be a behind the scenes look at creating a website and putting it out to production. I am going to be transparent as possible, short of providing access to the code. I'll explain the decisions I make, the shortcuts that I take (there will be many), and the costs that will incur in creating this website.

Join me in my journey, my New Year's resolution, to place Pop!s on a pedestal and worship them as false idols as they are meant to be.

Start the Conversation