Transform Stackdriver IAM Logs with Cloud Functions and Export with Cloud Pub/Sub

Published September 22, 2018 • Updated September 24, 2018

Stackdriver Logging makes it easy to export Admin Activity logs to BigQuery, Cloud Storage, or Cloud Pub/Sub.

Cloud Pub/Sub is typically used to export logs as messages to an external system such as Splunk. Configuring this can be done using the GCP Console, and the data flow of that architecture looks like the following:

Continue reading...

Google Cloud HTTP(S) Global Load Balancer Redirect HTTP to HTTPS Demo

Published July 30, 2018

A common configuration for any web serving infrastructure is to redirect all HTTP requests to HTTPS. Because a Google Cloud HTTP(S) Global Load Balancer is a globally available resource comprised of many software defined networking components, configuring this, despite the end result being the same, works a bit differently than what you might be used to.

Continue reading...

Python Reference Code Snippets

Published July 10, 2018

Similar to the command cheat sheets I publish, this post will serve as a quick reference for short and simple Python code snippets I have used in prior projects.

Continue reading...

Clean Install of Windows 10, Drivers, and Utilities on an MSI GS65 Stealth Thin

Published July 8, 2018 • Updated July 28, 2018

I recently purchased an MSI GS65 Stealth Thin 8RE, and I immediately wanted to do a clean install of Windows 10. The reasons for wanting to do a clean install of Windows 10 are threefold:

  1. Have a better understanding of what is installed on my computer
  2. Remove the bloatware that usually comes pre-installed on Windows computers
  3. Reclaim storage space by removing the data and recovery partitions setup by the manufacturer

Continue reading...

awk Commands Cheat Sheet

Published June 17, 2018

awk - which is not an acronym for anything other than the first letter in the three creator’s last names - is a text processor and is included with practically every Unix-like system. It has its own programming language that can be used to parse through text line by line. It has no problem parsing through a large amount of text data that other programs might choke on.

Continue reading...

Use Microdata to Improve Your Snippets in Google Search Results

Published April 2, 2018

Lately I have been trying to find new ways to make all my blogs posts more relevant in Google Search Results. One major thing I have neglected to pay attention to since the inception of this blog was how my blog post snippets look in Google Search Results.

Continue reading...

ChromeOS Keyboard and Trackpad Shortcuts Cheat Sheet

Published March 11, 2018 • Updated May 15, 2018

For over a year I have used ChromeOS on an HP Chromebook 13, and more recently a Google Pixelbook, as my work operating system. I was apprehensive at first to use a Chromebook after using Mac laptops personally and professionally for over 10 years. However, I have been pleasantly surprised with ChromeOS because of its simplicity, cloud integrations, ease of updates, and I have started using it more and more over macOS.

Continue reading...

Find All Shared Files in Google Drive with a Python Script

Published January 3, 2018 • Updated January 4, 2018

Google Drive makes it very easy to share files. You can easily and securely share files to anyone with a Google account or to anyone else by creating a shareable link that is accessible to anyone that knows the link. The shareable link contains a 33 character random string, so it’s very difficult to guess the URL if you are worried about someone other than your intended recipient looking at the shared file.

Continue reading...

Chromecast High Pitched and Distorted Audio

Published November 13, 2017

I am a big fan of Google’s Chromecast. I really like having a dumb device attached to an unfortunately not dumb TV that is entirely controlled via a smart phone. It keeps the number of remotes to a minimum, and it allows anyone on your network to easily watch their own content. I rarely have troubles casting to a Chromecast except when using particular mobile apps that do not implement the Chromecast APIs properly.

Continue reading...

Deploy a Three Tier Web Application to Kubernetes

Published June 17, 2017 • Updated July 10, 2017

Multi-tier architectures are a common way to design web applications:

  1. A frontend - presentation - tier which provides the user interface
  2. An application - logic - tier where the processing happens
  3. A backend - data - tier where different storage technologies run

The different tiers could be deployed to a single virtual machine. Configuration management tools such as Ansible, Salt, Chef, or Puppet could be used to automate the deployment process. However, if the web application needs to start handling more traffic, it is only a matter of time before the resources of that single virtual machine are consumed. The single virtual machine could be scaled up by adding more CPU, RAM, and storage, but there is usually an upper limit to doing that.

Continue reading...