Posts Tagged “tutorial”
Where I explain how to do something.
-
Using the SQLite Shell the Right Way
04 July 2024
I’ve been using the SQLite shell a lot lately to slice and dice data is
slightly too large for excel. It’s a very powerful tool to get SQL on the
command line without spinning up a large Postres server, and supports most of the SQL standard with syntax similar to Postgres. It’s super fast and supports
loading CSV. I want to talk about some quality of life features in it that you
probably don’t know about.
-
Unveiling the Risks of sts:GetFederationToken, You Probably Don't Need It
02 May 2024
Let’s talk about sts:GetFederationToken and why we should disable it within our AWS Accounts. This call allows the creation of temporary access credentials that can be associated to any user identity. These credentials are difficult to revoke from the console, and cannot be revoked using the standard deny all credentials created before X time policy. It is much better to use standard built in identity providers like the OpenID Connect for CICD Operations or IAM Identity Center for federated user access. We’ll walk through how this call works, what it was originally intended for, and some threat detection.
-
Linting IAM Policies Automatically in Your Pipeline
16 February 2024
When writing IAM policies there are a lot of concerns that must be taken into
account. These JSON documents can be the cause of a lot of hurt when deploying
them. People often mess up formating, write overly broad permissions, and just
don’t get them perfect the first time. Sure you could use a dumb linter just
for JSON, but that doesn’t cover all the potential screw ups. So I want to
share a smarter linter I found and how we integrated into our deployment
pipeline.
-
This is a PSA about RClone! It's Awesome!
10 April 2023
rclone is a life saver. You might think that’s
hyperbole, but it’s not. Rclone is this file storage Swiss army knife it speaks
many protocols between the various online storage providers allows transfer
between them. I just helped my sister download a massive set of photos shared
with her from Google Drive that were refusing to be zipped and downloaded. We
were waiting for a while to download these files, until I said let’s just go
and use rclone. It’s not exactly a tool that is friendly to expose to the
average nontechnical user, but when you need it you need it. So I went ahead
and set it up to connect to her Google Drive.
-
Mastodon and the Fediverse
22 December 2022
I’ve recently got fed up with the standard centralized social media, so I
joined Mastodon. Everything was feeling incredibly fake as of late.
It’s hard to build real connection on the large sites. This is my experience
joining the fediverse and tildeverse. I’ve always been interested in old
school social networks like BBS, and the whole lore that surrounds them, so I
decided to get more involved with Mastodon as hosted by SDF. I’ve had
a shell account with them since 2016 and I’m sustaining member too. It’s nice
to try out their other hosted applications.
-
Building a Go Application Inside of AWS CloudShell
29 September 2022
I’ve been learning a little bit of golang as of late, and I wanted to run it on
AWS Lambda. I had a couple errors come up about my libc, and learned that
I need to build my applications on Amazon Linux, so they can run on lambda. I
didn’t want to set up a CodeBuild just to play with a few toy example programs
or setup a couple docker containers. In fact we don’t even need to since AWS
provides CloudShell, a complete shell environment available to every user
of an AWS account.
-
Adding Search to My Static Blog Using AWS Lambda and SQLite
09 July 2021
I always wanted to have search on my site, but it’s statically hosted,
so I can’t have any dynamic content on it. I recently resolved that by
creating a little tiny lambda function on AWS that queries a SQLite
database hosted on S3. Here I’ll walk you through how I created the
back-end for it, and in some later posts I’ll include details on
calculating the cost.
-
Using a Bash Script to Generate Random Fake Data To Insert Into DynamoDB
30 March 2021
I’ve been studying for my developer associate certification on Amazon
Web Services. I’ve been practicing with the various streaming solutions
like SQS and Kinesis lately. I’ve wanted to branch into using DynamoDB
and capturing changes. To do that I needed to generate a lot of take
data.
-
A Brief and Painless Introduction To Bash
27 January 2021
A pretty decent introduction to Bash for pipelines and interactive use.
-
Adding `pylint` to your Github Actions flow
21 January 2021
Recently, I’ve been doing more CICD work, so I wanted to practice adding
some of that to my personal projects. I’ve also taken a liking to
pylint, so I decided to have Github Actions automatically
check my code quality on push for my log-analysis
repository. This is how I added that linting to my workflow.
-
Finding Jekyll Posts to Update With Cover Images
10 January 2021
I recently updated my site to make use of cover images on the post
listing. I wanted to make sure that I got all of the posts that need to
be updated. I used grep to find posts which had an image in them, but no
cover attribute in their front-matter.
-
PyGame FFT Audio Visualizations
07 January 2021
This tutorial is to write a very simple audio visualizer using
PyGame, PyAudio, and Numpy. The visualization uses the
frequency domain of some input sound, and display a bar graph of the
frequency domain as the audio plays. The audio source is the computer
line-in or microphone.
-
Advent of Code Input Getter
03 December 2020
I wrote a bash function to get my daily Advent of Code input. It
assumes that you are in a directory ending in the pattern year/day,
where year is the year you’re doing the problems. Here’s the code
-
What I like about Love2D
29 November 2020
I recently decided to revisit game development. I decided to use the
Love2D engine, because the API is rather beautiful in it’s
simplicity. The graphics are treated as a pixel buffer to which I can
draw lines, squares and circles to. It has 2 core functions for me to
work with, which I like. All in all, it reminds me a lot of QBasic,
which I learned in high school. I’ll link to my repo at the end and
provide appropriate links at the various points.
-
Using jq and bash for JSON processing
06 November 2020
This is a lightning talk I gave to the CPLUG November 2020 meeting on how to use jq with bash for dealing with JSON in modern tooling.
NOTE: use the space bar to scroll.
-
Inspecting All Running Docker Containers
29 October 2020
I just discovered how to run inspect on all running docker containers.
-
A Lazy Way to Collect Runtime Stats About Running Docker Containers
23 July 2020
So I was recently messing with Docker to keep up on my skills, and I
wanted to see how much resources were required by each container over a
given time period. So I came up with the following command to run in the
terminal to collect it.
-
Compressing All Git Repositories On Your Machine
27 June 2019
So I recently felt the need to compress all the git repositories on my
machine. This was mainly because I wanted to reduce the number of files
I had to wait to backup. So here’s the commands I used to make that
happen.
-
Incrementing a Semantic Version String in Bash
30 April 2019
I wrote a bash function that takes a semantic version string and bumps
the version number. It supports all 3 layers. I needed it for the deploy
script I was working on. It’s fairly trivial, I just thought I would
share it.
-
Building the Lottery Data Viz
02 April 2019
I previously posted a lottery data visualization in which I
attempted to correlate how often a certain number came up in the PA
lottery given that some other number came up. I built the visualization
using Python, SQLite, and Chart.JS on the front end. Since, I like sql
I’ll about the queries and methods used. These methods could probably
be massively improved, but I did it in a couple of hours, because I was
bored.
-
Temperature Monitoring on Linux
21 October 2018
Here’s a little shell function to view your system thermometers. Most
people would just tell you to install the lm-sensors package, but
that’s another package. Why do that when Linux presents it through the
/sys filesystem.
-
Reimplementing the Tree Command
30 September 2018
I decided I’m going to try to reimplement the tree utility from
scratch in a very limited version. Mine will only work from the current
directory and will support no arguments. This article will take you
through my implementation of the problem.
-
A Shell Function To Automatically Add A Gitignore
23 May 2018
I often need to download a gitignore when starting a project, so I made
a function that will get a gitignore for a given project from GitHub’s
collection.
-
document.querySelectorAll
09 March 2018
document.querySelectorAll is one of the most handy tools in JavaScript
today. It’s a unified selector interface and brings so much power to the
end user. It’s applications are near endless, like replacing JQuery or
web scraping. It allows you to query the
current document using a css selector, and returns a NodeList.
It unifies the selection interface in the web today.
-
The Easiest Way to Add Spoilers to Your Blog
07 February 2018
This post describes what I think is the easiest way to add spoilers to your
blog. Spoilers are useful when you talk about fiction and don’t want to spoil
the ending for a user.
-
A Brief Introduction to AWK
30 December 2017
This will be brief introduction to awk and it’s many uses. I will show a
few brief segments about various uses of awk and when it comes in handy
for certain tasks. For more detail one should read the
Awk User’s Manual.
-
Analyzing Your Takeout Data From Google Fit
27 June 2017
Google allows you to export your data from various products. In this post I
show how one can run analysis on my data from Google Fit to find various pieces
of information using the basic bash command line tools.
-
Creating a Database to Track How Long You Worked
23 June 2016
I actually created a sqlite database to track exactly how long I worked at
various jobs. I created this database, because I don’t trust the payroll
system we use at work. I will share the schema and views in this post. If
you don’t want to read through this post you can get it here.
-
Tutorial on Using Apache as a Media Server
25 April 2016
This is a tutorial on how to use Apache httpd as a media streaming center.
I wanted to be able to stream my media across my local network, without
having to mess with a lot of things, so I will explain how I set it up
using apache and the built in modules. So, lets get started.
-
A SQLite Tutorial
24 May 2015
This is my in-depth SQLite tutorial for C++. This is the first
tutorial I am doing on this website. It is really difficult to find a good
tutorial for prepared statements with SQLite, and that is what this tutorial
will remedy.