Syncing User IDs in Your Dev Containers

Syncing User IDs in Your Dev Containers
How to sync user ids in docker so your files have the correct owner.
Read more →

SQLite the New Hotness?! 🤔

SQLite the New Hotness?! 🤔
A survey of why SQLite is trending up in many places.
Read more →

Introducing PubCrank.com

Introducing PubCrank.com
Official launch of PubCrank.com, static site editor with rails for non-devs.
Read more →

A Better Template for Your Frontend on Fly.io

A Better Template for Your Frontend on Fly.io
A better way to serve static content on Fly.io
Read more →

Setting the Default Sound Source and Sink on Ubuntu

Setting the Default Sound Source and Sink on Ubuntu
If you’re a modern office worker you probably do a lot of video calls and it’s really annoying when your default audio and video inputs and outputs change on rebooting your computer. Windows is actually pretty good at remembering your last choice and setting the appropriate defaults on reboot. However, Linux doesn’t do anything here, so you’re at the mercy of randomness unless you have a script to set the default for you. Below is a script you can add to your startup applications which will set your default audio input and output for systems that use PulseAudio like Ubuntu and Debian. It should work on other systems with PulseAudio as well.
Read more →

Installing Tmux plugins on Ubuntu

Installing Tmux plugins on Ubuntu

I learned about Tmux plugins this weekend and they are pretty awesome! However, I didn’t find the correct instructions for setting them up quickly in Ubuntu. Most of the directions I found centered around installing manaully from Github. Below I listed the instructions for Ubuntu/Debian installation.

See the list of plugins on Github.

Installation

sudo apt install tmux-plugin-manager

echo "run '/usr/share/tmux-plugin-manager/tpm'" >> ~/.tmux.conf

exit and start tmux again

Installing plugins

  1. Add new plugin to ~/.tmux.conf with set -g @plugin '...'
    • Example: set -g @plugin 'tmux-plugins/tmux-yank'
  2. Press ctrl-b (or prefix) + I (capital i, as in Install) to fetch the plugin.

You’re good to go! The plugin was cloned to ~/.tmux/plugins/ dir and sourced.

Read more →

Using Vue 3 with Parcel JS

Using Vue 3 with Parcel JS
While all the buzz lately is around the Javascript build tool Vite especially in the Vue.js community, I still prefer Parcel for building my Vue.js applications. However, getting started with Vue.js and Parcel is a little tricky because most tutorials and docs focus around Vite or other more popular build tools. This article documents how to setup Parcel to build a Vue.js project. But first why would even want to use Parcel?
Read more →

Making GraphQL Queries in Python Like a Boss

Making GraphQL Queries in Python Like a Boss
GraphQL is a newer way to create APIs that are very flexible and give users more control over how they use your API. However, with this extra control in your hands, it puts more effort on your part on how to call the GraphQL API. Unlike a REST API which you call and then receive a response determined by the API developer, with a GraphQL API, you have to develop queries to pull out information that is important to you. In Python there are several client libraries that can help you call GraphQL APIs more easily.
Read more →

Using Docker Compose for Development without Going Crazy

Using Docker Compose for Development without Going Crazy
Docker Compose is a great tool for development but I’ve never found a good example of how to use it for an ideal development workflow. Containers are immutable and thus by default are not an ideal development environment because development is fundamentally about changing things and then running the change. Most Docker Compose blogs talk about mounting your code repository as a volume which gets you around the immutability problem and mapping a port, but they don’t go much past that. There are many more little tricks you can do to make your development experience better. Here I gathered all the tricks I’ve used to make Docker Compose a great development workflow.
Read more →

Using WeatherKit with Python

Apple bought out the Dark Sky weather company in 2020. They plan on shutting down the Darky Sky API and replacing it with the new WeatherKit service. The WeatherKit service is now in beta and can be used to retrieve weather forecasts and current conditions.

The Dark Sky API was extremely easy to use and provided excellent weather data. The WeatherKit API functions much the same as the Dark Sky API, however, the authorization is very different and some what more difficult. You still need to an API token like the previous API. However, now generating the token is more complex. Below is a gist that lays out how to use the API in Python with explanations of some aspects of the usage following.

Read more →