Open in app

Sign In

Write

Sign In

Garrett Mills
Garrett Mills

347 Followers

Home

About

May 5

Down the Rabbit Hole of Linux Terminal Emulators

Finding a drop-down, Wayland-supporting, customizable terminal app is about as hard as you’d think. — For years now, I’ve used an excellent drop-down terminal emulator called Guake — a GNOME port of Quake. It supported every feature I needed: Wayland (mostly), tabs, custom shortcuts, custom shell, transparency, and a toggle command (guake -t) that plays nice w/ custom keybinds in GNOME. Recently, however, I’ve found…

Linux

4 min read

Down the Rabbit Hole of Linux Terminal Emulators
Down the Rabbit Hole of Linux Terminal Emulators
Linux

4 min read


Mar 20

Adventures in AI-assisted proof generation

Or: ChatGPT eats the world, formal-methods style — Look, I know LLMs and ChatGPT are the big industry-consuming buzz-words right now. I’m as skeptical of the “ChatGPT is going to replace {industry}" mentality as anyone, but it's clear that something is coming and it's going to change the world, whether we like it or not. Believe it or…

ChatGPT

8 min read

Adventures in AI-assisted proof generation
Adventures in AI-assisted proof generation
ChatGPT

8 min read


Dec 9, 2022

Generalized Commutative Data-Types

A mechanism for consistent parallel computation — Disclaimer: after I started writing about this, I found this paper from the Hydro project which presents a formulation of this idea using lattices & morphisms. What follows is my derivation of a similar technique, albeit significantly less formal. …

Programming Languages

10 min read

Generalized Commutative Data-Types
Generalized Commutative Data-Types
Programming Languages

10 min read


Published in

Better Programming

·Apr 19, 2022

Rancher K3s: Kubernetes on Proxmox Containers

Using LXC containers and K3s to spin up a K8s cluster with NGINX Ingress Controller — For a long time now, I’ve self-hosted most of my online services like calendar, contacts, e-mail, cloud file storage, my website, &c. The current iteration of my setup relies on a series of Ansible playbooks that install all of the various applications and configure them for use. This has been…

Kubernetes

9 min read

Rancher K3s: Kubernetes on Proxmox Containers
Rancher K3s: Kubernetes on Proxmox Containers
Kubernetes

9 min read


Published in

Better Programming

·Jan 14, 2022

Runtime Data Validation from TypeScript Interfaces

How I (ab)used the TypeScript compiler to enable transparent runtime data validation using Zod and TypeScript interfaces. — For the last year or so, I’ve been (slowly) building a TypeScript-based Node.js framework called Extollo. One of the design goals with Extollo is to only expose the user (i.e. …

Typescript

10 min read

Runtime Data Validation from TypeScript Interfaces
Runtime Data Validation from TypeScript Interfaces
Typescript

10 min read


Published in

Geek Culture

·Mar 30, 2021

Rethinking Dependency Injection in TypeScript

Comparing named-injection, constructor-injection, and property-injection — This post originally appeared on my blog, here. Anyone who has read this blog before knows that I have a particular interest in dependency injection and inversion-of-control paradigms. Over the last few years, I’ve implemented DI in JavaScript for various projects, and I’m currently in the process of rewriting my…

Typescript

9 min read

Rethinking Dependency Injection in TypeScript
Rethinking Dependency Injection in TypeScript
Typescript

9 min read


Jan 2, 2021

An Open Letter to Senator-Elect Roger Marshall

Uphold your constitutional and moral duty. Vote to certify. — Roger Marshall, Congressional representative for the Kansas 1st, has expressed his intention to vote not to certify the result of the 2020 presidential election. I feel very strongly that this is a dangerous and irresponsible move that goes against the core tenets of American democracy. US House Representative, Kansas 1 312…

Kansas

3 min read

An Open Letter to Roger Marshall
An Open Letter to Roger Marshall
Kansas

3 min read


Dec 1, 2020

Converting an Ionic/Angular Site into a Progressive Web App

This post originally appeared on my blog, here. For the past year, I’ve been working on a web application called Noded. Noded is built in Angular on the Ionic framework and provides tools for building a personal tree of information. (If you’re curious, you can try it out here.)​ Because…

JavaScript

9 min read

Converting an Ionic/Angular Site into a Progressive Web App
Converting an Ionic/Angular Site into a Progressive Web App
JavaScript

9 min read


Jul 23, 2020

How to Code From Home Like a Boss

Tips, tricks, and downright hacks to make working as a remote developer just a little nicer — This post originally appeared on my blog, here. Given everything that’s happening right now (c. 2020–07–23), many software developers have been fortunate to be able to work from home. However, there are some challenges I encountered with my office’s particular brand of development workflow. Over the last couple months, I’ve…

Development

10 min read

How to Code From Home Like a Boss
How to Code From Home Like a Boss
Development

10 min read


Mar 7, 2020

Code Freedom with Gitea & Drone CI — Part I

Setting Up a Kickass, Self-Hosted, GitHub Alternative with Continuous Integration — This article was originally posted on my blog, here. This is part I, wherein we set up the web-based GitHub alternative, Gitea. Stay tuned for part II, where we will setup the Docker-based continuous-integration solution, Drone, with plugins for Gitea. As I have chronicled before, over the last few years…

Git

11 min read

Code Freedom with Gitea & Drone CI — Part I
Code Freedom with Gitea & Drone CI — Part I
Git

11 min read

Garrett Mills

Garrett Mills

347 Followers

Hi, there. I’m a software developer and speaker who likes to make things: https://garrettmills.dev/

Following
  • Hank Green

    Hank Green

  • Mozilla

    Mozilla

  • Henry Reich

    Henry Reich

  • John Green

    John Green

  • Tim Cook

    Tim Cook

See all (6)

Help

Status

Writers

Blog

Careers

Privacy

Terms

About

Text to speech

Teams