Hello

I’m Chris Wheeler, a freelance software developer focusing mostly on backend web development and developer tools. I’ve always wanted to be some kind of inventor; someone that makes things that are useful and make people happy. Now I’m finally able to do that by creating software and sharing what I’ve learned.

Pointers vs. references

Some differences between pointers and references can be confusing, especially since there are several different definitions for those words. This can make it difficult to answer simple questions like “Does Golang have reference types?” (TLDR: most people and the official Go FAQ say that Go does have reference types.) Pointers In some languages like C++, pointers can point anywhere in memory. They can point to null, or to memory with data of the pointer’s type, or any other part of memory....

July 3, 2024

Go dev tools

Below are a bunch of commonly used packages and other tools for software development with Go. Go has excellent backwards and forwards compatability, so tools that haven’t been updated in a long time may still be a great choice. Unless otherwise noted, each tool listed here appears to me to be good enough at what it does that I don’t feel the need to look at alternatives. If you’re new to Go, check out Learning Go....

July 2, 2024

Bookmarklets

Bookmarklets are browser bookmarks that run some JavaScript instead of navigating to a website. They can do anything JavaScript can do including change fonts, search for phone numbers, remove all images, change the background color, automatically fill a form, and so much more. This guide by Hongkiat Lim explains bookmarklets in more detail and lists many of the most popular ones. More examples Here’s one I made. You can drag it into your bookmarks bar: copy markdown link....

July 1, 2024

PDF tools

Here are a bunch of tools I found for reading, editing, and more with PDFs. I have not tried all of these but they all look promising. Sumatra PDF is the best PDF reader for Windows. SimplePDF is an in-browser PDF editor. Zotero includes a PDF reader that lets you add annotations to PDFs, and makes it easy to save PDFs and info about them from websites. Pandoc converts files between many formats....

May 9, 2024

Stardown v1.0.0

The first full version of Stardown has been released! Stardown is a free browser extension I created for copying markdown links for websites. One click on its icon copies a markdown link for the current page. A double-click copies markdown links for all tabs. Right-clicking a website gives you a markdown link for where you right-clicked. Although I have tons of bookmarks, I save even more website links into markdown files in Obsidian and notes about software I’m working on....

May 5, 2024

Making browser extensions

Creating browser extensions is easier than I expected, but still has some challenging parts. A great way to start learning how to make extensions is the Chrome dev docs. Creating your first extension requires a lot of trial and error. It gets easier as you learn how extensions work and how to use the browser APIs. On sites like Stack Overflow, many discussions have answers that make assumptions, such as that you’re creating a content script and so have access to the document variable (which is not accessible in background scripts)....

May 5, 2024

Docker

Docker is a tool that makes running software easier by creating a container, which is like a little virtual computer with a more predictable configuration than most computers. Containers are very portable, by which I mean they can be created in and run in any operating system that can run Docker. For example, a container could run Linux within it, and the container itself could run on Mac, Windows, and Linux....

January 24, 2024

Value, reference, and move types and semantics

I see a lot of confusion about value types and references types. Although I’m not sure how common this perspective is, here’s how I think of it. First of all, value types have value semantics and reference types have reference semantics. The semantics of a type is the behavior of variables of that type. Let’s say there are two variables, a and b, that have already been created and have the same type....

January 23, 2024

Don't put all your eggs in one account

Online accounts can be lost without warning, but making that loss less painful is easy. Full disclosure, there is one referral link marked with an asterisk (*) below that gives me account credit and gives a discount to anyone who signs up for a paid service with it. How much do you depend on the services of big tech companies like Google, Apple, or Microsoft? If one of your accounts was suddenly stolen or an algorithm decided to lock it, how devastating would that be?...

January 23, 2024

Tech literacy

There’s always room for improvements worth their time to make. Over years of extensively using computers, there are some tricks I’ve found that I don’t see others use as often as I expect. I’m not affiliated with any of the services, products, or companies mentioned here. learn about tech gradually and bravely Everyone becomes overwhelmed or frustrated by technology sometimes. People good with tech tend to: return to difficult challenges to try again after some rest reduce how often they become frustrated by spreading out challenges over time take notes to make it easier to continue where they left off after breaks not be afraid to guess and try things ask others for help If this page gets overwhelming, maybe bookmark it, close it, and read another section later....

January 21, 2024