Mike's Blog

A collection of projects, thoughts, and ideas about computers.

See all my blog posts, sorted by year, in my blog archive.

Subscribe
My New Bash Prompt (PS1)

My New Bash Prompt (PS1)

I recently spent some time improving my bash prompt. I already had a lightly customized prompt, but wanted to see if I could find something I liked that provided even more information.

Continue reading…
My Dotfiles Story: A Journey to Chezmoi

My Dotfiles Story: A Journey to Chezmoi

When you’re a developer (or perhaps even a normal power-user), you seem to acquire a bunch of custom config, scripts, and tools over time. Often, these are little snippets. A one-liner command alias that you paste into ~/.bashrc. A custom format for your PS1 prompt. A default setting for Vim.

Continue reading…
How to Install Pi-hole on the Orange Pi Zero

How to Install Pi-hole on the Orange Pi Zero

I’ve already written a review of the Orange Pi Zero. As it turns out, this little board is perfect for running your own Pi-hole! It’s probably even better than a Raspberry Pi! The cheapest Raspberry Pi you can get with a wired ethernet connection is the Raspberry Pi 1 Model B+, which is listed for $28.95 at PiShop.us (as of May 2021). In contrast, you can get an Orange Pi Zero 512MB for $16.99 + ~$4.00 shipping from AliExpress, or a couple dollars more with a case. (You can also find these items on Amazon, but shipping is more expensive there.) In total, you can save about 30% compared to the Raspberry Pi! Of course, the Raspberry Pi Zero W is probably cheaper, but the Pi-hole really is a lot more stable and fast when it has a wired connection, so the Raspberry Pi Zero W isn’t a good choice for the Pi-hole. But the Orange Pi Zero has a wired connection and performs great!

Continue reading…
Learning to Program by Making a Game

Learning to Program by Making a Game

This year, Computer Science Education Week will be December 7-13, 2020. In honor of CS Education Week, I wanted to write this blog post about the first computer game I wrote, and what I learned along the way. I was about thirteen, and this story picks up near where I left off in my previous blog post about my first computer program. When I wrote that blog post in 2017, I was working mostly from memory. Since then, I actually found an old floppy disk with my game on it. And finding that old floppy disk got me thinking about about how much I learned from writing computer games in my childhood, and how much others might be able to learn from writing their own first computer games today.

Continue reading…
Unsubscribe Me: How to Disconnect from Internet Chaos

Unsubscribe Me: How to Disconnect from Internet Chaos

The Social Dilemma came out about a month ago and got a lot of people thinking about the influence the internet and social media have on their daily lives. I’m a programmer, and I’ve worked for an internet advertising company, so none of this was new information to me. But for a lot of the American public, watching The Social Dilemma was an eye-opening experience into the ways that internet companies try to track and manipulate people. Many of my friends used words like “unsettling” and “eerie” to describe how they felt after seeing the film, but most of them also weren’t really sure what to do about it. They weren’t sure how to make positive changes in their own lives.

Continue reading…
How To Set Up a Ruby Dev Environment on Ubuntu Linux

How To Set Up a Ruby Dev Environment on Ubuntu Linux

Setting up a development environment correctly might not seem like a big deal at first, but an incorrectly set-up environment can cause a lot of problems down the road if you’re not careful. In my experience, the internet’s full of solutions – both good and bad – for environment problems, but often does a poor job of explaining why a solution’s good or bad. And installing Ruby can be tricky if you’ve never done it before. So here’s my advice.

Continue reading…
How to Install Custom Firmware on Your Xiaomi M365 E-Scooter

How to Install Custom Firmware on Your Xiaomi M365 E-Scooter

The Xiaomi m365 (also known as the Xiaomi Mi) is one of the most highly-rated electric scooters available. If you’ve ever rented a Lyft or a Bird scooter, the design will look very familiar. This electric scooter is fun to ride and great for commuting! But one of the best things about the m365 scooter is that you can modify the firmware to suit your own preferences! It’s easy to do and should only take 20 or 30 minutes. Let’s get started!

Continue reading…
Review: Orange Pi Zero

Review: Orange Pi Zero

Orange Pi is a relatively unknown competitor to Raspberry Pi. I recently learned about Orange Pi while doing some research about a Raspberry Pi project I wanted to start, and I actually ended up buying the Orange Pi Zero. Orange Pi is a Chinese company that is focused on producing small PC boards – similar to Raspberry Pi – as cheaply as possible. And Orange Pi produces a wider variety of boards than Raspberry Pi, so perhaps one of their boards will fit your project better than a Raspberry Pi would.

Continue reading…
A Bookmark to Temporarily Disable your Pi-hole

A Bookmark to Temporarily Disable your Pi-hole

I use a Pi-hole on my home network and I love it! It works by configuring your local network to use the Pi-hole as the DNS server, and the Pi-hole refuses to resolve domains of sites you want to block. It usually does a good job of blocking pretty much everything from unwanted trackers to ads and malware. Sometimes, though, it’s annoying because it blocks a link that I wanted to visit. Maybe it’s a sponsored Google link that I want to click, or an Amazon product link, or something else that my Pi-hole is breaking. This can be inconvenient because the usual process to allow traffic is to open my Pi-hole admin page in a new tab, login, and click the link to disable it in the menu. Too much work! So I came up with a slightly easier way. I put a bookmark in my bookmarks toolbar that will disable the Pi-hole for 30 seconds.

Continue reading…
Can You VNC to a Desktop on a Headless Raspberry Pi?

Can You VNC to a Desktop on a Headless Raspberry Pi?

No keyboard, mouse, or monitor required!

In my last blog post, I figured out how to enable SSH access to a Pi Zero W without attaching a mouse, keyboard, or monitor. This us useful because it means you don’t need a micro-HDMI or micro-USB OTG cable to attach a monitor, keyboard, or mouse. But can we take it a step further? I wanted to find out if I could get a GUI desktop environment running without attaching a monitor to the Pi. And I did it!

Continue reading…