Secret & Whisper - Spider Besider

Secret & Whisper - Great White Whale

A wish for all to blossom and to change
There's a mystical, ancient, and forgotten way

Ia cho ku, I'm not as sweet as I've led you
Ia cho ku, with spiders beside her

I heard you speak of ancient cherry blossom
And I ask you to take me there
A wish for all

Ia cho ku, I'm not as sweet as I've lead you
Ia cho ku, with spiders beside her

Tradition meets with ocean eyes,
And sea monsters are in the tide
A spider beside her

Ia cho ku, I'm not as sweet as I've lead you
Ia cho ku, with spiders beside her

Ia cho ku
(The sunrise is slowly calling you)

Ia cho ku
(Eight arms and legs to hold onto)

Ia cho ku
(Her ways, combining old and new)

With spiders beside her
A spider beside her

Bill Gates - Ice Bucket Challenge

Bill Gates is pretty darn awesome. 👍

You ARE The Bad Host

I'm not sure where or why HostGator thinks they can get away with this:

They ARE the BAD web host. Seriously guys, you've had a really shitty 12 months, something like this is not going to help the cause. Get rid of EIG and stop sucking. Nuff' said.

Set Your Default Editor in Linux

For whatever reason I never caught on to using vim or vi as my editor in Linux. I have no idea why, but I always used nano. Sometimes when I go to install one of the many various Linux distributions out there, vim or vi will be set to be the default editors. While I know my way around either of those, enough to open a new document, add or edit some content and then save and exit out of it, I really don't feel comfortable doing anything more then that.

Fortunately it's pretty easy to setup nano as your default editor in Linux. First, open up your ~/.bashrc file. Then add the following to it:

export EDITOR="nano"
export VISUAL="nano"

Save the file and exit. Note, you may already have some content within your ~/.bashrc file. That's alright, just add the above lines to the bottom of the file. You may also need to exit out of your shell and log back in for the changes to take effect. Enjoy!

OS X 10.10 Yosemite Preview

I managed to get my hands on OS X 10.10 from a very awesome friend. So far it's been working well. The only issue I've noticed so far is that when it first booted up it was missing some of the icons like Lanuchpad and the App Store. Simply running a killall -9 Dock seemed to have fixed the issue though. I've been enjoying using the new Spotlight. It works really well, literally just like they showed in the keynote yesterday.

I did not install it onto my primary workstation, but I will continue to use it day to day and we'll see how it goes. 👍

Desktop Friday!

Thanks for this awesome wallpaper slid3! 👍

Full Page Image Backgrounds in CSS3

I have a couple of domains which I use as placeholders or I use them as an umbrella for other sub-projects. As such, I figured instead of showing a blank white page when visiting the main domain, I could spruce them up a little. The following CSS code can be used to set an image as the entire background of the page.

html { 
  background: url(/img/picture.png) no-repeat center center fixed; 
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;

Of course it works in most versions of web browsers, except maybe old versions of IE (not surprised...). See my example here.


I started really working on web developer in 2007 or so. It started with a simple site which allowed users to post their confessions. As such, it required a database and the necessary PHP code to pull and post data to and from the data base. This project was my first real hands-on experience with PHP and MySQL. At the time, I wasn't aware of MySQLi which is essentially the new versions of the MySQL functions which PHP provides.

Trying to stay with the times, I've been reading and learning about how the MySQLi extensions and functins work. Fortunately it's all relatively easy and shouldn't be much harder to understand over the older MySQL functions.

This afternoon I finished porting our anime list site over to using MySQLi. Fortunately there's a couple really great resources which I utilized and made my work 💯x easier!

  • MySQLConverterTool
    This tool definitely made my life a lot easier. It allows you to upload PHP files or paste in PHP code and it will convert any MySQL functions into MySQLi functions. This was basically a life saver, I can't imagine how many hours it saved me. The only thing I had issues with was the database handler and how it handles converting for it. Relatively easy though, I mostly just did Find and Replace for those instances. It's a free tool and even better it's hosted on GitHub 😀

  • 'MySQLi' for Beginners - Codular
    Another very useful tool for learning how to change from MySQL to MySQLi. I utilized their database connection code since it was easy and simple to understand.

I must say, I think I see less code since I've switched. There seems to be a couple things I still need to wrap my head around, but overall, I like it. I'll be working on switching over 5-8 other projects in the near future. I am sure the above tools will really come in handy!

Good Riddance HostGator & EIG

Yesterday for the 4th or 5th time (I've lost count) HostGator and most EIG-based brands (think BlueHost, JustHost, etc...) experienced another one of their infamous multi-hour outages in their Provo, UT based data center. The reasoning behind this most recent outage appears to have been an issue with one of their core routers and the firmware on said router. They claim the issue was an undocumented bug in the firmware running on the router, and as such took a massive amount of time to resolve the issue. While this may be understandable for some, it is not for many. Hundreds if not thousands of websites, dedicated servers and VPS' went down for almost 24 hours. 😱 😱 😱 😱

Many people suggest these issues stem from the fact that HostGator (and other brands) were purchased and destroyed by the all-evil EIG (Endurance International Group). I too have seen how EIG purchases up companies and takes anything good from them and ruins them. The forced move from SoftLayer/The Planet for HostGator to EIGs own data center in Provo is a very good example of them trying to save a buck, rather than do it correctly. They even, in fact run reseller servers in groups of 4-6 on a single server in a virtualized environment. It's even rumored that dedicated servers are running in a virtualized environment with multiple hosts on a single piece of hardware. They claim it'll allow for easier management, but likely it's to save a dollar.

At this point in time HostGator has become your typical crappy bargain web host. I will not continue to recommend them to friends or colleagues or anyone for that matter. It's really too bad Brent couldn't have sold it (and ASO) to a more responsible company.

I have moved all my server and web hosting needs to the following fine companies:

For those looking for a new web host, definitely check out the above links. Remember, stay away from EIG-brands. 👎

Removing .DS_Store Files (Recursively)

While .DS_Store files may be useful in the OS X environment (like a Thumbs.db file in a Windows environment) they can get in the way when you're working in Subversion or Git repositories. They have no place there! Fortunately, there's a quick way to get rid of them!

find . -name '*.DS_Store' -type f -delete

As usual, I recommend making a backup and make sure you're running the command in the root repository folder. You can of course adjust the path as necessary, but I run my commands while in the root directory just to be on the safer side of things.

Goodbye Forever SVN!

I actually can't remember the last time I used Subversion (SVN) but I had a couple old websites under checked into a Subversion repository that I've been meaning to get into Git. We run our own GitLab install where I store all my code and such, but for some reason I left out some older projects. Probably because I was lazy.

Unfortunately it appears Subversion doesn't keep a single .svn folder to manage the versioning of your project, but appears to keep an .svn folder for each directory within your project. Importing all that into a new Git repository would be silly. Fortunately for us *nix folks there's an easy way to get rid of them!

find . -type d -name .svn -exec rm -rfv {} \;

For those unsure about this command, it essentially finds all directories named .svn and then removes them. I recommend running this in the root of your SVN repository. You can also take a quick backup of your Subversion repository as well, just in case anything goes wrong. Once it's done running you should have a folder with all your sites/repository files without those pesky .svn folders! 👍

How It's Done

It's been a while since I've had any sort of blog. I've had countless blogs in the past, but I am really hoping to stick with this one. It'll mostly be general ramblings, how to articles, pictures, and whatever else I feel like spewing forth onto the Internet.

I'd like to dive into how I made this blog for my first post. As I am not really creative or a design person, I did utilize the theme here as a base. I then pulled apart some of the CSS and layout of the page to make it more "me". What you see now is a combination of the above linked template and my own work. I did want to get some of the Font-Awesome stuff working, but I haven't gotten a chance to yet (Coming Soon!).

The backend is completely custom PHP and MySQL. It's not terribly complicated. The MySQL database consists of a few tables to store my data. The PHP involved is also not very complicated. It mostly just basic calls to PHP to pull the data from the database and then display it:

$result = mysql_query("SELECT * FROM articles WHERE active='Y' ORDER by id DESC LIMIT 15");
if (!$result) {
    echo 'Could not run query: ' . mysql_error();
while ($row = mysql_fetch_array($result)) {
    /* Do some stuff. */
    echo $html;

Of course a lot happens in that little while loop to generate some code, but hopefully you get the gist of it.

I am utilizing highlight.js to handle code/syntax highlighting. It's really easy to implement and use in your entries. It also takes some of the load off you server (as opposed to using something like Pygments) as it's handled client-side.

I also use Emoji on my blog. For that I use another Javascript provided by hassankhan/emojify.js. Before some recent updates it used to be that an end-user would need to download a 5-10MB CSS file. Fortunately there has been some great work done on this so that does not need to happen. Emojify.js works in conjunction with the I can't be expected to memorize all the emoji's! 😝

In the last few months, I've become quite the fan of Markdown. It's dead simple and makes a lot of sense to me. In order to get it working in my blog, I had to utilize a library from michelf/php-markdown. Getting it to work on my site, was quite easy. Just a simple autoloader!

# Install PSR-0-compatible class autoloader
    require preg_replace('{\\\\|_(?!.*\\\\)}', DIRECTORY_SEPARATOR, ltrim($class, '\\')).'.php';
use \Michelf\MarkdownExtra;

Now, I can easily use Markdown! I can make things bold or italic or even make a simple list:

  • One
  • Two
  • Three

Easy as pie!

In total I probably spent 6-8 hours building this from the ground up. Since I knew some PHP/MySQL/CSS previously I was able to get most of it functioning quickly. I spent most of my time tweaking things to look and work exactly as I wanted them. I still have a couple things I'd like to work on, but the core of the site works. I also forgot to mention I am using Disqus to handle commenting on the blog.

If someone is looking for an easy to do PHP/MySQL project, I highly recommend this one. Creating your own personal blog is super easy and you'll learn about most of the PHP/MySQL basics.

Dead Space 2 - Demo

This evening I finally got around to playing through the Dead Space 2 demo. I quite enjoyed the original game and have been looking forward to getting my hands on the demo (and full game when it releases) to the second installment of the Dead Space series. The demo starts off with a nice synopsis of what's happened previously and what's going on currently.

In the demo, you fight against some of the enemies featured in the first game as well as I was able to find two new types of enemies, one of them quite creepy! The demo itself only plays for about 20-30 minutes, but it was a lot of fun, and definitely left me wanting more. It appears the overall objective in Dead Space 2 will be to locate and use this 'marker' which can send all these demons and monsters back to where they came from or rid the universe from them.

Only one month left and I'll have my hands on the full game, I can't wait!

Lost Planet 2: A Huge Disappointment

After highly enjoying the original Lost Planet, I was expecting good things for the follow up. Even the demo they released was fun, however Lost Planet 2 is one of the worst games I've played all year. Poor controls, a terrible storyline and camera angles that get you killed more often then not make Lost Planet 2 a downright frustrating and bad game.

The only thing that I thought this game had going for itself was the graphics and even at times they really weren't anything special. I must admit, the jungle worlds, deserts and other environments do look very good and polished. It's too bad all of the other elements in the game bring it down.

The one thing I enjoyed about the first Lost Planet was the story. While nothing unique it did have one and it worked. I can honestly say I have no idea what the story in Lost Planet 2 was (if there was one) except that there were some guys who were trying to kill the Over G akrid and possibly save the planet, but that's about it. At one point they took over some big cannon but I have no idea why or what for really.

Getting into a single player game/campaign also seemed a lot more difficult then it should be. Instead of simply going to Single Player or Resume Campaign you had to traverse through multiple menu systems, select levels, maps, missions, etc. Way to much. In fact their whole, chapters, missions, episodes setup was a complete disaster. Basically each episode has chapters and each chapter has missions, confused yet?! You can't save the game between missions either, so prepare to be sitting down for a while (or to leave your Xbox on pause).

Controls in the game were also confusing. It felt like the 'B' button was used 80% of the time, running, melee, as an action button, etc. At time I found myself throwing grenades or shooting my grapple onto things or bashing the data points because of the confusing control scheme.

This is one game I would probably just avoid all together. You're not missing out on anything and you'll save yourself the $60. It's really to bad because Capcom did well, in my opinion, on the first Lost Planet. Everything the first game had going for it was swiftly removed from the second game. I really hope if they decide to develop a third in the series that they review these points and refine them or make major changes if necessary. Even having had a decent storyline would have made Lost Planet 2 much better. While I haven't played multi-player or co-op mode on single player, I am not sure if they would make a difference at this point. This game has to many fundamental flaws to be anything more then a one or two night rental. Sorry Capcom, you're going to have to try harder.

Final Fantasy: Dissidia

After shelving my Sony PSP for what seems to be about a year I finally pulled it out again. There hadn't been many decent games on the PSP and I found that always having my Apple iPhone with me provided the needed portable gaming experience. However, there are just some games which need to be played on a true portable gaming device and Final Fantasy: Dissidia is one of them. I'd had the game since it launched a little over a year ago.

The game commemorates the 20th anniversary of the Final Fantasy series. Square-Enix included characters from previous series and the game has a great story to go along with it all. Essentially the heroes are gathered into a single world where they must locate 10 crystals (one for each character) and help Cosmos, the god of light defeat Chaos, the god of darkness. It was quite interesting to see Cloud, the Onion Knight, Squall, Zidane, Tidus, etc... all in the same game and fighting together. Each character brings their unique persona from their game to Dissidia.

The battle system is also new to me, and actually provided something new and unique. Each character has their own quest to find their crystal, however instead of moving through a world, they move through a pre-determined grid system with a pre-set amount of enemies and an occasional boss. The objective is to make your way through the 'gridded map' to the boss or to the end-level piece. Each map also contains potions and treasure chests with useful items. Your characters still acquire EXP and gain levels and skills. Also included in the game are summons or aeons which can assist you in some sort of way.

The game uses something called bravery which determines how much health you deplete from an enemy on an attack. You can obtain bravery by using a bravery attack on an opponent and then you may execute an HP attack (or normal attack) which will use your accrued bravery points on the enemy. The battle system is similar to that of Kingdom Hearts. You can move around in a 3D world, however you can switch to a battle system similar of Final Fantasy games or other RPGs.

The graphics in the game are superb and for being on a little handheld device I'm quite impressed. The battle levels include destroy-able elements. The sound within the game will definitely ring some bells from previous Final Fantasy games. The controls in the game take a few levels and battles to get used to but within 15-20 minutes you should definitely have them down. They're easy to learn and remember which makes the game all the more better.

Overall, I am impressed and quite happy with Final Fantasy: Dissidia. I really enjoyed seeing all the characters from my favorite Final Fantasy games in one game working together. It was also fun and funny to see the villains from Final Fantasy games interact with one another. Any Final Fantasy fan definitely needs to pick up and play through this game if they haven't already. This game also justifies my Sony PSP purchase. It's rare gems like this one that make me happy about having a PSP around. Well done Square-Enix. You've made me happy once again, let's see if you'll do it again in Kingdom Hearts: Birth By Sleep :)

Morgan W.

Head over heels for gadgets!