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.

Image for post
Image for post

US House Representative, Kansas 1
312 Cannon House Office Building
Washington, DC 20515

Mr. Marshall -

I’m writing to express my disappointment in your recent support for the irresponsible efforts by various members of your party to oppose the federal certification of the results of the 2020 election.

These results were audited and certified by state election boards in every single state. Many of these election boards are headed by Republicans. There have been no allegations of specific improprieties by you, or any of the other senators and representatives supporting this dangerous position. I’d ask you to air some particular grievance, but I’m sure you have none. …


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.)​

Image for post
Image for post
A screenshot from Noded.

Because Noded is meant to replace whatever note-taking application a person uses, it’s important that it be available offline (on your phone, for instance). …


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 fleshed out a pretty good stack of tools for working around them. In this writeup, I want to go over some of them.

“Remote” vs. Remote

There are really two different paradigms for coding remotely. …


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 I have been on a journey to move to using 100% self-hosted services. The basics were fairly easy (cloud, calendar, contacts, website, &c.), but I ran into a bit of a pain point when it came to moving away from GitHub.

I write a pretty large amount of code in a week, and I rely on unit/integration tests to help make sure everything is running smoothly. So, for this solution a good continuous-integration platform was absolutely necessary. As a bonus, I wanted it to integrate nicely with whatever web-based Git hosting server I was using. …


Using Agular’s awesome dependency injection

Image for post
Image for post

If you’ve ever used Angular for any amount of time, you’ve probably noticed how freaking awesome its dependency injection is. With just the invocation of the injectable decorator, you can pull in reusable instances of any service in your application just by referencing the type:

import {Injectable} from '@angular/core';
import {BackendService} from './backend.service';

@Injectable()
export class AuthService {
constructor(
private backend: BackendService,
) {
this.backend.somethingAwesome();
}
}

Notice that I don’t have to instantiate the BackendService anywhere because it's already handled for me by Angular. …


This article was originally posted on my blog here.

I have decided to try out a new format for my blog. The site that this article was originally published on can be found at the new home of my blog, here. I thought I might take this opportunity to discuss the platform that runs this blog, as well as my motivation for moving the primary source away from Medium.

Enter Hexo

For this site, I’m using a static blog generator called Hexo. Hexo has been around for a few years now, and is fairly mature. More importantly, it has a pretty solid user-base. …


Part III —OpenMPI, Python, and Parallel Jobs

This is Part III in my series on building a small-scale HPC cluster. Be sure to check out Part I and Part II.

In the first two parts, we set up our Pi cluster with the SLURM scheduler and ran some test jobs using R. We also looked at how to schedule many small jobs using SLURM. We also installed software the easy way by running the package manager install command on all of the nodes simultaneously.

In this part, we’re going to set up OpenMPI, install Python the “better” way, and take a look at running some jobs in parallel to make use of the multiple cluster nodes. …


Part I — Getting Started

Image for post
Image for post

Flitter is my take on a Javascript web-app framework based on Express. If you haven’t read it, I recommend perusing my introduction here to see what it’s all about. This series of posts will look at creating a basic to-do web-app using Flitter. We’ll cover everything from getting set up to using Flitter, to debugging and running your app in production.

What are we building?

The meat-and-potatoes of our app isn’t that important to the purpose of this tutorial, so we’re going to do something simple. We’re going to build a simple to-do application that allows users to sign in to a web panel, create and store tasks with notes and file attachments. …


Part II — Some Simple Jobs

This is Part II in my series on building a small-scale HPC cluster. Check out Part I and Part III.

Now that we have our cluster up and running, we can start running jobs on it. While the specific applications of your cluster are up to you, in the rest of this series I will be looking at how to set up a few different pieces of software, as well as how to use the actual cluster scheduler, Slurm.

In this part, we will dive into some Slurm basics, set up some software on our cluster the easy way, and create some example jobs that run many, many individual tasks making use of the scheduler. …


My take on a Node.js framework, based on Express.

Image for post
Image for post

This is the first part in my series on Flitter, my Express-based web app framework. This first post is an introduction to Flitter and the motivation behind it. There will be more parts to come, but for a crash-course, check out the documentation.

I love Express. I think it’s wonderfully extensible, modular, and dynamic. However, when building Express-based apps, I’ve noticed that there are quite a few things that I find myself repeating. Enough, that I decided to standardize the steps into my own framework: Flitter.

About

Garrett Mills

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

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store