Posts

On Time - NTP, ISO 8601, UTC, Atomic Clocks, and Time Zones

Image
I enjoy learning about time. It's fascinating to me how we've globally agreed that time will be different for various parts of the world, how we are going to represent that time difference, and making sure that we know the most accurate time possible. This isn't just important to make sure you're on time for an appointment, but it is surprisingly important in the technology we use every day. Here's everything I find interesting about time. Time Zones and UTC As of this writing, there are 38 time zones in use globally. Most are an hour offset from their neighbor, but some are only 30 or 45 minutes different. Some countries encompass multiple time zones (United States, Russia) while others use only one despite being large enough to have previously used five (China)! Time zones get complicated very quickly, but have a rather simple origin -- Greenwich Mean Time (GMT) and the goal of aiding sailors in determining longitude at sea. This is where the term "prime mer...

Building a RetroPie (2025)

Image
  Several years ago I had heard about the concept of a "RetroPie." A Raspberry Pi loaded with hundreds of classic games that can be connected to custom home builds, arcade systems, or just a normal TV. The idea always interested me as I'm a fan of '80s style arcades, but primarily from the perspective of getting this to work on a computer about the size of a credit card. I recently decided it was time to give it a try. I had seen plenty of Raspberry Pi's before -- I knew what they were and generally what they were capable of, but never actually used one. My  Raspberry Pi 4 Model B  actually had better specs than I was expecting. Next I needed a case and other supplies to get this ready to be a RetroPie. A list of requirements is supplied on the RetroPie website . Ordering Supplies I already had a USB keyboard, a USB flash drive, a USB controller, and an HDMI cable. I needed to order: a case (I chose one that looks like a NES) a micro SD card (I went with 256GB)...

Linux Permissions Explained

Image
  Reading File Permissions Linux file permissions are broken down by User, Group, and Others. Permissions for read, write, and execute can be associated with each entity and are displayed as rwxrwxrwx. As an example, take alternatives.log  -- the first entry shown in the screenshot above. The file is owned by the root user and the root group. It's permissions are set as -rw-r--r--.  The first "-" we're going to ignore for now, and we'll focus on the rw- r-- r-- section. The can be interpreted as root (the user) can read and write this file, but not execute. Root (the group) can only read this file. Finally, others, which means anyone not the user or group, can only read the file. Now that we can check the file permissions, what if we need to change them? First we'll change the user and group that owns the file, then we'll come back to the permissions. Changing File Ownership First, any given file or directory can have the owner user and group changed ...

Running Ethernet (CAT 6) for My Home Network

Image
  Running Ethernet (CAT 6) in my house is a project I had wanted to do since moving in. Several years later, I finally got it done. Why did I choose to do it in July in Florida? Wireless, even with multiple APs and Ubiquiti gear, wasn't getting near the gigabit speed I expected from our ISP and I had had enough of it. And there really isn't anything that compares to a hardwired connection. I hadn't planned on turning this endeavor into a blog post at the time, so I don't have pictures every step of the way. But ultimately, I wanted to share this in case anyone is thinking of doing something similar in their house. Supplies On the face of it, you wouldn't think there would be much needed to run some CAT 6 through a house. Maybe the cable and a ladder to get into the attic (or crawlspace if you have one). Breaking down each step of it though, the number of supplies start to add up: CAT 6 cabling (I got a 500ft pull box). Make sure to READ what you are buying. At the v...

Productive Habits in Tech

Image
I'm often trying to find ways to be more productive with my time or more efficient with what I am already doing. I've found several suggestions over the years -- some that have worked and some that have not -- and want to share them here. Most come from a mix of sources and I will do my best to give credit to the original source. Time Efficient Since having a child I often think about one of Troy Hunt's oldest blog posts -- "Want to be a better programmer? Have a baby!" . Everything in the post is true. One thing he doesn't talk about much there, but does discuss heavily in one of his other posts is optimizing his time. While this post is not about having kids, having one really shows you just how much free time you used to have and you didn't even know it. It's a great way of forcing you to become as efficient with your time as possible and not getting distracted. Or at least it's been for me. Here's what's worked for me to also help with...

Protecting Applications Using AWS WAF

Image
  Amazon's Web Application Firewall (WAF) allows for seamless integration with existing AWS resources and easy configuration. It may have its limitations, but it provides many common protections for web applications and can be spun up very quickly. Everything I've included below can be found in Amazon's documentation . However, I've highlighted parts that I found particularly important and left other details out. AWS WAF Classic vs AWS WAF If you're still on WAF Classic, you should try to migrate to AWS WAF. The "new" version has been out several years (though rules do not automatically convert and Amazon's conversion tool does not work in all scenarios). There are a number of new capabilities and features, notably managed rules. And if you have version control and infrastructure as code (IaC) implemented widely throughout your environment, rules are now JSON objects. I will leave it at that as I suspect most people are on the current AWS WAF. Resource...