Computer geek, gamer, drummer

Peaks.js: Navigating Audio Waveforms Like a Pro

Posted on 7 August 2023

In today's ever-growing digital world, audio processing has become a significant part of various industries such as music, film, and broadcasting. Handling and manipulating audio data can be complex. That's where Peaks.js comes into play.

GitUI - a git terminal UI

Posted on 2 September 2022

I've tried various git UI's over the years but I always end up right back with the cli tool. I've been learning Rust and as a result I like to find tools that have been written in Rust because I know they'll be memory safe and generally always pretty fast. Recently I ran across a tool called GitUI which is a terminal based UI frontend for git.

Emacs problem with tide-mode, eslint, and eldoc

Posted on 6 August 2022

I edit almost everything in Emacs. I primarily edit JavaScript or TypeScript so I use the Tide Mode package for it's many features that make editing JavaScript much easier. Two of those features clashed on me, flymake and eldoc. I use flymake instead of flycheck because it's built-in to Emacs so it's not another package I have to install and configure. Flymake performs syntax checking using a backend, for JavaScript that would be eslint. So if an error is found, the text is highlighted and you can navigate all the errors in a buffer and deal with each one as you go. Eldoc shows you documentation about function calls, variables and such.


Posted on 4 January 2022

As of late last year, when my work gave me a System76 Linux machine I'm now officially 100% on Linux both at work and at home. I'm also a programmer and on both my home and work machines I have a directory under my $HOME called dev where I store all of my coding projects. Most of the apps I install come from a package manager like apt, however from time to time I find the need to compile a project from source. For example, I use Emacs as my coding editor and occasionally there will be a new feature available on the main branch that is not available in the current shipping package. Right now that is project management that will be available in v28 but the current shipping version (as of this writing) is v27. If I want that feature then I have to build Emacs myself. The question is, where do I put this project because I don't really want it in my $HOME/dev directory with all my own projects.

Emacs NG

Posted on 3 January 2022

I think I have definitely been assimilated into the Emacs lifestyle. I find myself tinkering with it constantly, and I'm always trying out new packages and waiting for new features. I'm a JavaScript developer for employment and I have Emacs finely tuned for front-end JavaScript development. In my spare time I love to play around with Rust. I started my programming career writing C so I have an affinity for compiled languages and I really like the promise that Rust gives as a memory safe compiled language. So at some point I stumbled on Emacs NG which has a few things going for it that really caught my attention.

How I learn new technology

Posted on 23 November 2021

Over the years I've used several different editors and learned several different programming languages and technologies. The problem often seems to be that I'll only need it for a short while, just long enough to figure out how it all works and then I shelve it, sometimes for a a year or two, and then I'll need to use it again at which point I'll have to re-learn it all over again. I'm a JavaScript developer by trade and D3.js seems to be one of those projects. It is one of the more challenging libraries I have to use. I really enjoy using it, and it only takes me a day or two before I start remember how it all works again.

Manage multiple projects or sessions with tmux

Posted on 8 November 2021

This is my obligatory, "it's been a while" post. My apologies. Much has happened since my last post, I've moved into a new house, a pandemic, and I now have a new day job. At any rate, all that to say I'm hoping to get back on track with my posts. As a special treat I've created my first video content and I hope to do more of this as well. Today's topic is on tmux and how I use it to manage my multiple projects concurrently. I have a couple of scripts that I use to manage all of this.

Do you lint your elisp files?

Posted on 19 March 2020

This will be a short post this week. I just wanted to share something I learned recently about flycheck and my elisp files. I use flycheck to lint most of my code but I had it configured specifically for the languages I use the most. I was having some problems with flycheck and I discovered "global-flycheck-mode" and decided to use that rather than individually configure it for each language. I was surprised to see it lint my elisp files. I'm fairly new to emacs, only started using it a couple of years ago, and I've since rolled my own configuration.

Django ImageField backed by DigitalOcean Spaces

Posted on 10 March 2020

Django has a wonderful tool for handling image uploads that has been carefully thought out and works very well. Consider all the things you would have to manage if you were to roll your own.

How to use multiple ssh-keys with multiple GitHub accounts

Posted on 1 March 2020

For various reasons I have more than one GitHub account. Unfortunately GitHub only allows you to use your ssh-key on a single account. So if you have multiple accounts like I do then you need multiple ssh-keys and it can be annoying to deal with unless you get a little creative with your ssh configuration. Here is what I did for years before I finally got annoyed enough to research a better way.

GIMP as a screenshot tool for Linux

Posted on 15 February 2020

As a Frontend Developer by trade, I take lots and lots of screenshots. Windows and MacOS both have several good options for taking screenshots. The one I like a lot on my Mac is Monosnap but they did not have a solution for Linux until recently. Now they have a browser addon that does just about everything that the MacOS app does. One thing that is missing is the ability to call it up with a hotkey and while taking screenshots outside of the browser is possible, its not as seamless as the MacOS app is. That said, as a Frontend Developer, 99 percent of my screenshots are taken inside the browser anyway.

Emacs org-mode for developers

Posted on 8 February 2020

tldr; I have created a Github Gist that captures the setup and configuration, key-binds, formatting, and GTD chart if you just want a reference.

Portfolio: Schedule an event

Posted on 2 February 2020

I ran across a UI that looked interesting through a newsletter I get called "UI Movement" ( The UI is pretty basic, it is a component that allows one to "schedule a demo" based on a date and time. You can view the original concept here ( It looked like it would be a lot of fun to build and it was. I chose React to build this because I don't get to use it as much as I would like and I've not had a chance to play with "hooks" yet, so I took this opportunity to figure out what they were all about.

Emacs vs Vscode

Posted on 19 February 2019

I haven't really been using Emacs for all that long. I'm really a VIM user when it comes down to it, but there is one thing that vim is missing, a standardized package manager and a package repository. Sure there are package managers and I guess you could count as somewhat of a repository but generally speaking I find myself googling for some functionality and finding a repository in Github that I can pull in with one of the various different package managers that have sprung up to fill the gap.

Pi Wall Project

Posted on 6 April 2018

A while back I acquired a Raspberry PI from the recruiter that got me my current job. I wasn't sure what to do with it for a while but I eventually ran across a wall-board someone had made, I believe it was this one I thought it was a fabulous idea so I set out to build my own. However I made a few modifications.