I’ve been playing around with Midjourney, the AI image-generation tool available via a Discord server. While trying out a few ideas, one of my family members suggested to try “Geddy Lee as a bird,” which I proceeded to do. It came out interesting, so I thought I’d round out the Canadian rock trio with some oddball imagery. Here they are…
Creating a Basic Google Cloud Compute Redis Instance
I use Redis for many different purposes. Sometimes, I need a large amount of RAM so Redis can act as a key store for megabytes or gigabytes of key values. Sometime I just need distributed locking and small-scale caching. Either way, setting up a Redis instance is a task I find myself performing from time to time.
Regardless of the size of the compute instance, I tend to perform the same steps: Create an Instance, select the machine type, and then under Advanced options > Automation I use a script like this:
sudo apt-get update
sudo apt-get remove man-db -y
sudo apt-get autoremove -y
sudo apt-get install -y redis-server
sudo sed -r -i 's/^bind\s+(.+?)$/# bind \1/' /etc/redis/redis.conf
sudo sed -r -i 's/^protected-mode yes$/protected-mode no/' /etc/redis/redis.conf
The basic idea is this clears out man-db and any unused packages, installs Redis, and then modifies /etc/redis.conf for my purposes. And, yes, I tend to remove man-db on my GCP instances, it really speeds up any package updating later on, especially on the smaller machine types.
Starter Website
I often find myself setting up a website project, and all the configuration that goes with it. This set up task can be fairly repetitive, so I took some of the basic features I almost always start with, and made this project.
The project does have a couple “extra” features beyond an absolute basic website. Sometimes I want to just build a set of files I can host somewhere, other times I want to just deploy a Docker image to a cloud service.
For a build system, I’m using npm from NodeJS. For site packaging, I’m using webpack, which also provides a development server with live reload.
The repository is here: https://github.com/d4lton/jools. The name is a play on Jewels, which is a simple game I’ve been working on.
It doesn’t include a UI framework or CSS preprocessor, because those tend to go hand-in-hand, and I didn’t want to predetermine which framework I might want to use (if any).
It also isn’t set up for Typescript, even though I tend to use Typescript these days. I may create a Typescript version of this project, but converting to Typescript is fairly simple. I chose to keep this starter project as basic as I could.
The README.md should have enough instruction to get going. Follow the instructions under INSTALLING and RUNNING.
The structure of the project is hopefully easy to understand:
src
: This directory (and any sub-directories you create) are where your JavaScript code should be. Thesrc/index.js
file is the “main” JavaScript file and will automatically be included instatic/index.html
.static
: This directory (and any sub-directories) are where your HTML and CSS files should be. Thestatic/index.html
is the “main” HTML file and will automatically include your JavaScript code.config
: This directory contains the configuration JSON file(s). Right now there is just theconfig.development.json
file for local development. Also, it is basically empty. However, any properties you set in here will be “injected” into the static website and be available in theprocess.env
object. For the curious, this is intended to mirror how environment variables are made available in a server-side NodeJS project.
The project doesn’t really do anything, as it is intended to be a starting place for a website. The included HTML, CSS, and JavaScript are all basically placeholders.
Hopefully this project helps you in some way! Good luck!