Saturday, November 7, 2020

Goodbye Sequel Pro. Hello Sequel Ace.

I've been using Sequel Pro for AAAGGEESSS. At some point in the last four years (I'm honestly not sure exactly when) it apparently died and was reborn as Sequel Ace. This makes me very happy, as there was a very brief period of time where I thought I was going to have to use MySQL Workbench.

I'm reasonably proficient with the command line client for MySQL, but I vastly prefer to use a GUI to interact with a database when I'm doing DEVELOPMENT work. In production I stick to the command line. It's more of a hassle so, perhaps incorrectly, I equate that with being less risky.

I imagine MySQL Workbench would have been fine, but why go through the pain of learning a new tool if you don't have to and haven't found a compelling reason to do so. Am I being too resistant to change?

Installed MySQL 8 On My Local Machine

 The title of the post says it all.

Once I got my VM up and running and installed nginx, php and php-fpm, it was time to get a database installed.

Back in my old Julep days, we'd used MySQL 5.5 for both our development and production environments. Around the time that the parent company decided to run the "garbage collector" on the Seattle office we'd been staring down the barrel of a forced upgrade to the 5.7 version. 

That by itself was going to be a pretty heavy lift for our team and we could only gaze longingly at the tantalizing beauty of MySQL 8.

Well, out with the old and in with the new, I say. Also, I'm ridiculously happy about our new President Elect Biden. Out with the old and in with the new indeed.

Now, I've already spun up an RDS instance with MySQL 8, but that was easy as all the 'complex' parts are handled for you by the AWS console UI. The most complicated part of that operation was setting up a bastion host and getting all the 'networking' configured so that I could run a client on my local machine and connect to the DB running in side AWS.

Installing it locally was, I feared, an entirely different beast. The last time I'd installed it manually myself was back in . . . 2012? 2011? That had been . . . interesting.

Anyhow, the tools and documentation available on the internet now are vastly better than 8 years ago (and I have a wee bit more on the job experience too I suppose) so it wasn't a problem at all. Not even an inconvenience. Basically I just did what this blog post said to do and BAM, MySQL 8 running on my local.


Thursday, November 5, 2020

Vagrant Is Up

At this point, I'm basically replicating portions of my old development environment from my Julep days. 

One of the things I needed to do was setup a VM on my macbook. This was my first time doing this without having anyone around to hold my hand. Honestly, I was surprised. It was way less difficult than I expected. 

First thing I did was to download the most recent version of Virtual Box and installed that.

My old environment used Vagrant to easily configure the actual VM, so it was time to dig into that. Again, not difficult at all. I ended up going with bento/amazonlinux2 as that mirrors what I've already spun up in EC2.

Then, just like in EC2 I needed to install nginx and php7.4 from amazon-linux-extras. I've done that a few times now, so not a large hurdle. I'm pretty sure that at some point I'm going to need to get additional php modules, but that's a headache for another day. 

The next bit was a little tricky. I've already stubbed out the first service I'm going to build in my github, so now I needed to pull that down to my local and wire it up so that the VM acts as a proper http server for that service.

Luckily for me, I happened to have some old nginx and php-fpm configuration files I could reference. I have NO idea how long this step would have taken if I'd not had those files to reference. 

Anyhow, a couple of quick edits later and I now have a functional http service running inside the VM on my local machine.

I still have a couple more things to do before I can really dig into developing the service (which I've decided to name 'Mabel'), but it's nice to know that I can still get things done when I set my mind to it.

A New Project

In the last couple of days I've started digging into a new personal project. I guess it's a video game? In a very loose sense it's based on Diaspora, a science fiction novel I read back in the early aughts. Currently I'm in the process of rebuilding my development environment in AWS. It occurred to me that I should start a blog where I blathered at length about what I'm doing on any given day. So I guess that's what this is.