<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>John Jago</title><link>https://johnjago.com/</link><description>Recent content on John Jago</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sat, 22 Mar 2025 10:33:04 -0500</lastBuildDate><atom:link href="https://johnjago.com/index.xml" rel="self" type="application/rss+xml"/><item><title>Unstructured learning</title><link>https://johnjago.com/unstructured-learning/</link><pubDate>Sat, 22 Mar 2025 10:33:04 -0500</pubDate><guid>https://johnjago.com/unstructured-learning/</guid><description>This was originally published 9 July 2022 on Nicheless and has been slightly revised.
There are two types of learning: structured and unstructured. The first is reading a textbook from start to end. The second abandons formal progression through learning material.
When you go through a formal course, you’re expected to progress from one level to the next. Chapter one, then chapter two.
In the end, you complete all the course material, but that time must have been spent on the course material.</description></item><item><title>Double shift for search in VS Code</title><link>https://johnjago.com/shift-shift-vs-code/</link><pubDate>Sat, 28 Dec 2024 10:10:22 -0600</pubDate><guid>https://johnjago.com/shift-shift-vs-code/</guid><description>After using IntelliJ IDEA at work, I got used to hitting the shift key twice to open the search everywhere window.
Since I use VS Code for personal projects, I found that I was starting to hit shift twice reflexively to bring up the VS Code equivalent of this search everywhere window, the “Search files by name” window that normally opens with ctrl/cmd+p. I consider this to be equivalent of search everywhere because you can also search symbols by typing @ and text by typing %.</description></item><item><title>Feels like it’s always been this way</title><link>https://johnjago.com/always-been-this-way/</link><pubDate>Tue, 05 Nov 2024 12:06:33 -0600</pubDate><guid>https://johnjago.com/always-been-this-way/</guid><description>I was born in 1998.
There are many timespans which include that year. Some of them started hundreds of years prior, some only a few. Many continue until the present day.
When I think about the state of the world when I began to comprehend it, it seems like it could have always been that way.
It’s hard to imagine a world without internet, without books, without the automobile, one where the borders on a map are wildly different.</description></item><item><title>What is craft?</title><link>https://johnjago.com/craft/</link><pubDate>Sat, 07 Sep 2024 11:20:02 -0500</pubDate><guid>https://johnjago.com/craft/</guid><description>The dictionary definition of craft gives us a starting point for understanding what somebody means when they say the word, but it doesn’t capture the full essence.
Where do dictionary definitions come from? Merely the usages of the word. To create a definition, you study how the word is used in as many example sentences as you can find.
Here’s the definition of craft in the Oxford English Dictionary, as a noun:</description></item><item><title>Ignore all whitespace with git diff -w</title><link>https://johnjago.com/git-diff-ignore-whitespace/</link><pubDate>Sun, 01 Sep 2024 19:48:13 -0500</pubDate><guid>https://johnjago.com/git-diff-ignore-whitespace/</guid><description>Sometimes you need to surround a block of code with an if statement, or put a block of code inside a for loop, and there’s no way around it.
When you review the change using git diff, it shows the entire block as changed, making it hard to see what’s actually been removed, added, and modified.
Maybe you’ve seen something like this before:
~/code/sample (main) git diff diff --git a/sample.js b/sample.</description></item><item><title>My simple method of tackling a to-do list</title><link>https://johnjago.com/to-do-list-method/</link><pubDate>Sun, 28 Jul 2024 15:24:57 -0500</pubDate><guid>https://johnjago.com/to-do-list-method/</guid><description>For a while, I was obsessed with productivity. I was a fan of all the popular personal productivity blogs. I liked seeing how people organized their days and got things done, and I liked trying new techniques to get more things done faster.
These days, I’m no longer like this. I don’t try to squeeze productivity out of every minute. However, I’m still a fan of to-do lists.
If there are things I need to do and there are a lot of them, I can’t think of a better way to make sure they all get done.</description></item><item><title>Set a direction, not a goal</title><link>https://johnjago.com/direction/</link><pubDate>Mon, 22 Jul 2024 12:58:07 -0500</pubDate><guid>https://johnjago.com/direction/</guid><description>A goal orients you towards something you want. There is a state of being you desire, or something you wish to accomplish, so you choose a way to measure whether you’ve achieved it, and then you work towards it.
I’ve been thinking about an alternative approach to getting where you want to be—without setting goals.
Goals are flawed There are a few problem with goals:
It often happens that what you initially desired is no longer desirable, making the original goal not useful anymore and making you feel like you’ve wasted time working towards a goal you did not achieve and no longer wish to achieve.</description></item><item><title>Day 90: Concluding my work journal</title><link>https://johnjago.com/day-90-work-journal-conclusion/</link><pubDate>Sat, 13 Jul 2024 20:36:44 -0500</pubDate><guid>https://johnjago.com/day-90-work-journal-conclusion/</guid><description>About four months ago, I left a startup I co-founded. It was quite the learning experience—I’ll save the details for another time. After leaving, I knew that I wanted another go at creating a business, but this time I wanted to do things differently. No VC funding, no ridiculous growth expectations. Just a modest business with kind people making a great product. Companies like Basecamp, Buffer, and Ghost come to mind.</description></item><item><title>Day 89: Marketing Dashify Search</title><link>https://johnjago.com/day-89-marketing-dashify-search/</link><pubDate>Fri, 12 Jul 2024 17:04:31 -0500</pubDate><guid>https://johnjago.com/day-89-marketing-dashify-search/</guid><description>You create a product, so now what? You need to market it, which means letting the right people know that it exists—the people who have the problem the product solves.
Since Dashify Search is exclusive to Dashify Pro, people who downloaded the free version of Dashify for the order page design aren’t necessarily the people looking for a convenient WooCommerce order search. It’s almost like marketing a new product—which may or may not be a mistake that I made.</description></item><item><title>Day 88: Inspired by Record Club</title><link>https://johnjago.com/day-88-record-club/</link><pubDate>Thu, 11 Jul 2024 16:46:59 -0500</pubDate><guid>https://johnjago.com/day-88-record-club/</guid><description>Some time ago, I came across Record Club, which calls itself “A new way to discover and share music with friends.”
This won’t be a post discussing their idea—just their blog page.
I liked how when you hovered over a card, the whole card was clickable. However, they didn’t wrap an &amp;lt;a&amp;gt; around the whole card—that wouldn’t be good for accessibility and SEO. The anchor tag only wrapped around the title of the post.</description></item><item><title>Day 87: Easy to measure</title><link>https://johnjago.com/day-87-easy-to-measure/</link><pubDate>Wed, 10 Jul 2024 19:12:16 -0500</pubDate><guid>https://johnjago.com/day-87-easy-to-measure/</guid><description>While making updates to the Dashify website, I had the thought that maybe I should create some conversion events in my web analytics so I know roughly where the converting visitors are coming from.
But wait, I don’t have any paid conversions yet—besides one. I’d be trying to measure something I don’t have if I were to set that up. Right now, there’s one metric for Dashify that matters, and it’s really easy to measure.</description></item><item><title>Day 86: Can the feature be found in Google?</title><link>https://johnjago.com/day-86-found-in-google/</link><pubDate>Tue, 09 Jul 2024 19:10:54 -0500</pubDate><guid>https://johnjago.com/day-86-found-in-google/</guid><description>After launching the first iteration of Dashify Search, naturally I went to create a page on the website talking about it so that people can find it. This made me think a lot about marketing websites and how something as simple as the presence of a keyword in the title can make the difference between it being found by hundreds and it being forever invisible.
I struggled with the title and main heading of this page for a while.</description></item><item><title>Doing things until completion</title><link>https://johnjago.com/until-completion/</link><pubDate>Tue, 09 Jul 2024 11:44:45 -0500</pubDate><guid>https://johnjago.com/until-completion/</guid><description>There’s a habit I’ve been getting into recently, one I call “doing things until completion”, which means that once I’ve started something, I keep doing it until the activity reaches a state of completion.
This is because once I start something, it’s easier to keep going and finish than it is to start and stop multiple times.
Let’s illustrate it this way—suppose my kitchen is a mess, with many dishes needing to be cleaned and put away—hardly a fun activity.</description></item><item><title>Day 85: Redoing Dashify Pro update code</title><link>https://johnjago.com/day-85-redoing-update-code/</link><pubDate>Mon, 08 Jul 2024 14:24:53 -0500</pubDate><guid>https://johnjago.com/day-85-redoing-update-code/</guid><description>After a while working in a particular software domain, it becomes clear whether something was designed or whether it came to be through a process of evolution.
I’m thinking the WordPress plugin updating system is the latter.
A plugin ecosystem designed from the ground up today might make automatic updates to plugins require only a few lines of code from the plugin developer. Figma’s plugin system is a good case study.</description></item><item><title>Day 84: WordPress.org screenshots and authentication error</title><link>https://johnjago.com/day-84-wordpress-org-screenshots-authentication-error/</link><pubDate>Sun, 07 Jul 2024 14:21:49 -0500</pubDate><guid>https://johnjago.com/day-84-wordpress-org-screenshots-authentication-error/</guid><description>With Dashify Search ready for release in a new version of Dashify Pro, I began updating marketing materials, focusing on the WordPress.org listing.
After editing other parts of the listing, I noticed the screenshots were getting outdated and so spent some time in Figma creating new ones. Previously, I had before and after screenshots for how WooCommerce looks with and without Dashify, but I decided to remove the before screenshots since people already know what it looks like.</description></item><item><title>Day 83: Cleaning up the code for Dashify Search</title><link>https://johnjago.com/day-83-cleaning-up-dashify-search/</link><pubDate>Sat, 06 Jul 2024 14:18:14 -0500</pubDate><guid>https://johnjago.com/day-83-cleaning-up-dashify-search/</guid><description>I decided to release Dashify Search earlier than planned by shipping only the ability to search WooCommerce orders by ID. Yes, I could have spent another day adding the ability to search orders by customer name, but searching by ID from anywhere in the WordPress dashboard already provides value—so let’s ship it.
I spent time today cleaning up the code, which tends to get messy while I’m trying different things. Sometimes after writing one implementation, I’ll discover a safer or cleaner way to write the code, so I’ll try that out and comment out the older code.</description></item><item><title>Day 82: Making money from ads versus purchases</title><link>https://johnjago.com/day-82-ads-versus-purchase/</link><pubDate>Fri, 05 Jul 2024 22:16:44 -0500</pubDate><guid>https://johnjago.com/day-82-ads-versus-purchase/</guid><description>My working hours today were spent writing up the past few days of reflections, as well as doing some reflecting in my head, so I wanted to take this space to write something I’ve been thinking about lately.
Many informational websites make money from ads. Unfortunately, the incentives at play create a downright terrible experience for the end user.
Ads make money two ways: from impressions (people viewing the ad), or from clicks on the ad.</description></item><item><title>Day 81: 4th of July holiday</title><link>https://johnjago.com/day-81-4th-of-july/</link><pubDate>Thu, 04 Jul 2024 21:48:17 -0500</pubDate><guid>https://johnjago.com/day-81-4th-of-july/</guid><description>This holiday came around quicker than I thought—I ended up taking some rest from Dashify.
Whenever I’m working on my own projects, time really goes fast—I’ve always liked the phrase “time flies when you’re having fun” because it’s so true for me. I’m curious about the science behind this now. Maybe something to look up another day!</description></item><item><title>Day 80: Searching for WooCommerce orders by ID</title><link>https://johnjago.com/day-80-searching-woocommerce-orders-by-id/</link><pubDate>Wed, 03 Jul 2024 14:47:50 -0500</pubDate><guid>https://johnjago.com/day-80-searching-woocommerce-orders-by-id/</guid><description>Dashify Search, as I’ve started to call it, is going well. Merchants can now search WooCommerce orders by the order ID.
It shows the result in a format similar to the recent orders, which currently are always shown—each search result has the order ID, status, name, and time displayed. Clicking on a result takes you to the order edit page for that order.
This didn’t take all that long to implement, thanks to a comprehensive wiki page some of the WooCommerce team has put together on how to programmatically query orders.</description></item><item><title>Day 79: The plan for July</title><link>https://johnjago.com/day-79-plan-for-july/</link><pubDate>Tue, 02 Jul 2024 14:14:38 -0500</pubDate><guid>https://johnjago.com/day-79-plan-for-july/</guid><description>It’s been great to see the interest in Dashify so far. There’s enough of it that I’m ready for the next step, which is getting a paid version out there.
Although Dashify Pro has launched, it doesn’t do much besides add the ability to sort order items by SKU. I feel like I’ve written that before in this work journal series—probably a sign that it’s long overdue for actually doing something about it.</description></item><item><title>Day 78: June reflection as a bootstrapped founder</title><link>https://johnjago.com/day-78-june-bootstrapping-reflection/</link><pubDate>Mon, 01 Jul 2024 11:47:01 -0500</pubDate><guid>https://johnjago.com/day-78-june-bootstrapping-reflection/</guid><description>June was the third full month of working on my own projects to make a living.
I continued focusing on Dashify, a WordPress plugin, because I figured I’ll have the greatest chance at success if I spend all my time on a single project versus splitting it between multiple bets as others have done. It just doesn’t make sense to spend time on something else when I’m getting positive signs from Dashify every few days, whether it’s growth in active installs or reviews from people.</description></item><item><title>Day 77: Marketing by helping</title><link>https://johnjago.com/day-77-marketing-by-helping/</link><pubDate>Sun, 30 Jun 2024 10:32:40 -0500</pubDate><guid>https://johnjago.com/day-77-marketing-by-helping/</guid><description>One way to market an internet product is to help people in a relevant community for free.
You have to be careful with this and not self-promote, as that erodes trust and is annoying to people searching for information. For example, you shouldn’t comment on posts in a forum that are slightly relevant to your product with just a pitch for your product.
Instead, you should help people—who might find your product relevant—with their problems.</description></item><item><title>Day 76: Dashify has 100 users!</title><link>https://johnjago.com/day-76-dashify-100-users/</link><pubDate>Sat, 29 Jun 2024 18:57:18 -0500</pubDate><guid>https://johnjago.com/day-76-dashify-100-users/</guid><description>How long did it take for Dashify to get its next 10 users?
Six days!
It’s really motivating to see this. With Dashify getting its first revenue in June and crossing 100 active installs, I have a feeling that July will be the month where I’ll see signs of sustainability, not just interest. It will be great if Dashify can become profitable next month—it shouldn’t take more than a few customers to achieve that.</description></item><item><title>Day 75: The first major Dashify Pro feature</title><link>https://johnjago.com/day-75-dashify-pro-first-major-feature/</link><pubDate>Fri, 28 Jun 2024 18:54:09 -0500</pubDate><guid>https://johnjago.com/day-75-dashify-pro-first-major-feature/</guid><description>I began work on the first major feature for Dashify Pro: a search bar in the WordPress admin navigation bar from which a merchant can search for an order by name, number, or other criteria.
Later, this search will expand to not just orders, but customers, products, settings, and anything else on the store.
But for now, the MVP of the search is focused on searching orders. I think it’s important for me to constantly keep this in mind and keep scoping down projects to the smallest piece that provides value.</description></item><item><title>Day 74: Got distracted</title><link>https://johnjago.com/day-74-got-distracted/</link><pubDate>Thu, 27 Jun 2024 14:20:53 -0500</pubDate><guid>https://johnjago.com/day-74-got-distracted/</guid><description>As a result of writing a lot for this work journal, I’ve been looking at my website and blog a lot, and doing that, I started to notice how even after many recent tweaks, it still doesn’t quite feel like home.
For me to write well, I have to know that the writing will be published in a place that I feel good about.
This led me to getting distracted. I spent the day tweaking the navigation, header, footer, and home page layout of this website.</description></item></channel></rss>