/images/avatar.jpg

caleblloyd.com

hardware, software, and life

DeWalt DWS779 XPS Work Light with Battery Holder Modification

The XPS Work Light can be added to the DeWalt DWS779 Miter Saw to add functionality normally found on the DWS780. Various tutorials are on the internet show how to do the upgrade for around $70 by installing the light, a power supply, and replacing part of the handle. This post reviews how to do the same modification for around $30 using the XPS Work Light and a battery pack.

DeWalt XPS Work Light Parts

CRDs Killed the Free Kubernetes Control Plane

Today, Google announced that it is killing the free control plane for GKE clusters, except for one free zonal cluster per billing account. Let’s look at the timeline of events (source: release notes archive):

  • June 2015 (k8s 0.19.3) - Kubernetes master VMs are no longer created for new clusters. They are now run as a hosted service. There is no Compute Engine instance charge for the hosted master.
  • End of 2015 (k8s 1.0.x) - $0.15 per cluster per hour over 6 nodes, free for clusters 5 nodes and under
  • November 2017 (k8s 1.8.x) - Eliminated control plane management fees
  • Starting June 6, 2020 (k8s 1.17.x?) - $0.10 per cluster per hour, except for one free zonal cluster per billing account. Also adds SLA if using default version offered in the Stable channel

This post explores how Custom Resource Definitions (CRDs), which were introduced at v1beta1 in Kubernetes version 1.8 and v1 in 1.16 have been used & abused, and killed the free Kubernetes control plane.

Docker Performance Benchmark: Bare Metal, VirtualBox, and Hyper-V

The development world is quickly making the shift to Docker and microservices, and every day I feel like I’m running more Docker containers. My daily laptop is an Macbook Pro (Early 2015), but I’ve recently had the chance to test the Dell XPS 15 (9550) as well. In doing so, I got to wondering what the performance penalty for running containers through a Virtual Machine (such as Boot2Docker or Kitematic) as opposed to running on Bare Metal Linux.

Yii2 PHP 7 Performance

PHP 7.0.0 was just tagged yesterday, and I was interested to see if it could live up to the performance claims that Zend made. Yii2 is my PHP framework of choice, so I built PHP 7.0.0 from source, stress tested one of my application’s pages, and compared performance to PHP 5.6.4.

Benchmark Results

The maximum acceptable levels here for web performance are PHP 5.6.4 serving between 75-100 RPS at between a 31ms-176ms response time and PHP 7.0.0 serving 175 RPS at a 47ms response time.

PHP 7.0.0 does a very nice job here- about 2x the performance for serving Yii2! It seems that it is definitely worth upgrading.

Yii Framework Active Record INSERT … ON DUPLICATE KEY UPDATE

Recently I was programming in the Yii Framework and ran into a situation where I wanted to use INSERT … ON DUPLICATE KEY UPDATE in an Active Record. In my research, I discovered that this is specific to MySQL. In my case, this was still be a valuable requirement for my Web Application and was worth extending Yii to get working. My approach was as follows:

Alpine UTE-42BT Review and Teardown

In the past few years, an interesting new option has arisen in the Music Industry – the option to purchase music “As A Service” is now extremely popular through services such as Spotify, Google Play Music, etc. I instantly fell in love with Google Play Music All Access and needed a way to play it in my car through my HTC One (M7) Android cell phone. I decided to upgrade my car stereo to the Alpine UTE-42BT Digital Media Receiver. Here’s my review after spending 2 months with the Alpine UTE-42BT.

Alpine UTE-42BT