The two-tea-towel method

 /  [22.00.0179]

The two-tea-towel method

It's a little slow around here at this time of year. I'm spending time with my family in the UK; my first Christmas here since 2002! The year after, I went to Australia as a backpacker and just never came home. I like to say that I moved to Australia by accident.

So here's something for the holidays. I have access to a kitchen again, and the first thing I did was go and buy fresh tea towels. If you care about cooking, this is how you need to tea towel. This is the two-tea-towel method.

Theory

When you're in the kitchen, you have two requirements in the cloth department.

First, you need one permanently slung over your shoulder that you can use to wipe your hands, the bench, to handle a pan, or mop a spill. This is your 'bench towel'.

Second, you need to dry things that you'll eat with, or off. You'll need to polish a glass or a spoon. This is your 'clean towel'.

Implementation

You need two (2) types of towel to meet these two needs.

Let's start with your clean towel. This needs to be a decent towel that can actually dry a thing. It needs a bit of fuzz to it, y'know? Your clean towel can't be one of those that feels like an old pair of underpants even when it's brand new.

Spend a tiny bit of money on your clean towels. For me. If you're on a budget, your bench towel doesn't need to be as fancy.

As a rule, simple cotton does the job. Avoid linen. And of course wash them before use to fluff them up a touch.

They must be visually distinct

It is vital that these two towels are different so that you can see, at a glance, which is which. If possible, don't choose a dark coloured 'clean towel': you want to be able to quickly intuit when it's no longer clean.

So find yourself two types of towels.

  1. Clean: light (in colour), heavy (in weight and drying power).
  2. Bench: dark (in colour), and can be cheaper.

We used these stalwarts from IKEA for many years. I used 'stripes' as clean and 'checks' as bench; while I wish they were more visually distinct, it worked. Importantly, the fabric suited both jobs perfectly and the price is right. Because...

Buy a dozen of each

That's twelve (12), six plus six. Two more than ten. Of each, not total. Eight more than you thought you needed before you read this article.

No, that is not too many. You must be able to use these towels freely. This is core to the method: you will never, ever use a dirty towel. You will use them with reckless abandon. You will be utterly free in your towel usage. This will change your life.

When we lived in a house and I prepared three meals a day I used at least one set of towels a day. On a normal day, one set is enough. It depends what you cook. But the instant you look at a towel and wonder as to its cleanliness: get a fresh one. Chuck yours in the wash.

You need hooks

This tip courtesy of my mam, who currently doesn't have hooks. Your tea towels must be on a hook, attached to an open wall. This removes all friction, literally.

Don't go hanging them over the oven handle or some other hack. Get a 3M hook and stick it on the wall. No excuses.

The weekly towel wash

We were lucky in having a house with a washing line (and generally sunny weather, in Canberra). As I sit and type this in a basement flat in the UK with my thermal top drying on a radiator I realise this situation is not universal. But do what you can.

At the end of the week, you've got 14 towels to wash. Chuck in some bathroom towels and that's a full load. Now you can hang them all out together and fold them together and that'll speed things right up.

Merry Christmas

Have a lovely Christmas. It's not too late to pop down the shops to get yourself a last minute gift. I'm sure IKEA is delightful today.


100% human. 0% AI. Always.

Lazy shortcuts lead to mistakes

 /  [22.00.0178]

Lazy shortcuts lead to mistakes

I just un-published post 22.00.0177 as it shouldn't have appeared. It's not finished and was published by mistake. Here's how.

Without getting too technical, I add things to this site using the ubiquitous software git. Normally this is a conscious action, and it takes two steps.

First:

git add 22.00.0177

– to say please add this file to the list of things I'd like to commit.1

And then:

git commit [some message to say what you did]

– to commit those changes to the site.

Well, why do in two steps what can be done in one? Long ago I created an alias -- a shortcut -- that merges these two steps. So now I just:

git addcommit [some message to say what I did]

The problem is that this git addcommit alias adds every new file to the commit. Which is very often what you want: but clearly not always. In this case, it added this unfinished post.

There's a reason this isn't a built-in command. It's a bad idea. I was being lazy.

I've deleted the shortcut. The post will be finished and re-published tomorrow. Apologies for the error.


100% human. 0% AI. Always.

Footnotes

  1. These git commands are what we call pseudocode. They're not the exact commands, but they vaguely resemble them. The idea is to give the layperson an idea of what's going on while not getting caught up in the details.

'Restore points' vs. 'backups'

 /  [22.00.0177]

'Restore points' vs. 'backups'

I almost lost a bunch of data this week. Here's how my backups saved me (just), and what I've changed.

Warning: thinking about backups can make you sleepy. But if you care about your data, you need to pay attention. There's a lot here: ask for help on the forum and Discord. This is important.

What happened

Actually this started months ago. I accidentally deleted my entire Documents folder! I was being too quick on the keyboard and I literally just Cmd+A then Cmd+Deleted everything. Turns out that's surprisingly easy to do.

I undid by pressing Cmd+Z a second later. But the damage was done. I store my Documents folder in iCloud Drive and I knew as soon as it happened that I'd likely triggered a cascade of network activity. My command to delete would have still been half-way to the cloud when I issued the command to undo (i.e. move those files out of my Trash back to Documents), and it would have been a more robust service than iCloud that handled that without issue.

What I should have done at that point was stop everything and spend a few hours making sure everything was okay. I didn't do that.

Lesson 1. If something like this happens you should drop everything and fix it, completely and properly, before doing anything else.

Discovering the issue

This week I finally found time to upgrade myself to Life Admin v2. I thought I'd take the opportunity to really clean up some old stuff, and in doing so I realised that a bunch of really old archive stuff was missing.1 The folders were there, but there was nothing in them.

Lesson 2. If it doesn't have a proper Johnny.Decimal ID, it might as well not exist. In my case, files buried in an 'archive' folder were, in fact, important to me. I was just too lazy to organise them properly. I've since given them their own IDs in a new area, 29 The Omnium.

Even if these files had their own ID, I might not have picked this up. Everything looked okay, in the moment.

These missing files were buried pretty deep -- this thing that I'm archiving is itself an old Johnny.Decimal structure.2 How would I have known to go looking for this file, way down at 41.14?

Lesson 3. I'm going to keep a short list of 'canary files'. They're files that I care about, but rarely look at. I will manually check them in case of a 'restore event'.

So now I need to restore from backup

Obviously I have backups. I wrote a whole series about it. But backups are complex, mine especially so. This is of my own making, but also hard to avoid given my situation. (I won't recap here: read that series.)

Here are a few of the problems I encountered.

  • As soon as you actually need to restore from a backup, because you lost some data: shit gets real if you'll excuse my language.
    • Stress levels rise. Everything becomes difficult.
    • This is not a time to be confused.

Lesson 4. Good records are essential. This is what your JDex is for. See below for a template that you can download.

  • Not knowing which backup, as in from which date, to restore.
    • Because I can't remember exactly when this data-loss event occurred. I think it was around August?
    • I use Arq and it allows you to search, really quickly, for a specific file across all of your backups. This made things much easier.
    • Its restore is also really fast, and this backup was local, i.e. a hard drive attached to the server, not cloud. So I could quickly do test restores to identify which was the right one.

Lesson 5. Know your backup software. Use good software: if yours isn't good, find another. I recommend Arq for Mac.

Lesson 6. Local backups are better than cloud backups when it comes to restoring data because they're much faster. (But you still need an offsite copy, in case your house burns down.)

  • Not knowing which backup, as in literally which one, to restore.
    • Because the way I'd configured them -- which I think is the way most people configure them -- didn't make it really obvious where things were.
    • So when I came to use them, there was confusion. Not what you want in a time of crisis.
    • More on this below.

Lesson 7. Change the way you structure backups. Previously, I backed up a hard drive or a computer. But what's actually important to me is the unit of data which is a Johnny.Decimal system.

  • My backups are encrypted.
    • Which they should be. And I use 1Password, and my vault is reasonably neat.
    • But when I tried the password I thought it should be, it failed. Shit. I tried another. Failed! Oh, shit. This is bad.
    • I must have mis-copy/pasted the first password. When I tried again, that worked.
    • But to have any possibility of doubt at all here is a total failure.

Ref: Lesson 4.

'Set and forget'

This whole thing got me wondering if we're doing it all wrong. Backup services advertise themselves as 'set and forget': just install, then never think about it again!

That's what got me into this problem.

If you know about backups you're shouting at the computer: but Johnny, you should test your backups regularly and then you wouldn't be in this situation!

That's true. But you know what I think most people do when forced, begrudingly, to test their backups? They think of a file that they deleted from their Desktop yesterday and they restore that. This is not a realistic test. It doesn't stress you, or your system.

Lesson 8. Daily 'set and forget' backups are great and you should not stop doing them. But you should also have a subset of backups that are a lot more deliberate, and are manually activated. You must see these backups as an opportunity to be neat and tidy. You must cherish them. They are not a chore. They are your happy place.

Conscious backups aka 'restore points'

Let's address that last lesson 8 first. I think there's room in life for two types of backups. The first is the one I've already got: the 'set and forget'. 90% of the time this is going to do the job. Don't stop doing those.

But the other type is what I'm calling a 'restore point'. In the IT world, a restore point is a backup at a specific point in time. You're saying that you can restore to this point in time.

They are much more deliberate, which means that they take more work. But they give you the sort of 'comfortable awareness' of your system that only comes from giving it your clear attention.3

Today is a restore point

I finished my migration to LAS v2 today, and with it a bunch of tidying up and moving around of data.

Today -- now -- my system is in a really nice state. I've just looked at everything and I'm deeply familiar with it. I'm sure it's good. Today is a restore point.

So I'm configuring a new backup. Here's what makes it different from my daily backups.

'Restore point' rules

  1. They are manually triggered.

When I decide the time is right, I'll run this backup. I'll be adding something to my task system to prompt me to do this, perhaps quarterly.

  1. They have no retention rules.

Normal backups are smart about the data they retain. Your computer might perform a backup every hour, but you don't need to keep every one of those backups. That would be a waste of space.

A typical 'retention cycle' might be to keep:

  • Every hour for the last 72 hours.
  • Every day for the last 30 days.
  • Every week for the last 52 weeks.
  • Every month forever.

My 'restore points' have no retention cycle. Every one is saved forever.

  1. They have no exclusion rules.

My daily backup excludes a bunch of files and folders. Anything that looks temporary, or like a cached version, or like something I've downloaded, or like something that I know I could get from the cloud, is excluded.

For my daily rules, this keeps them lean and fast. This is particularly important for me as I live on the road. But that isn't relevant for 'restore point' backups. It is more important that they are complete, so they have no exclusions.


100% human. 0% AI. Always.

Footnotes

  1. Specifically, the file that started Johnny.Decimal: a carefully-designed PDF of ticket prices that was stuck to our office wall. I wanted a way to reference this file that wasn't an ugly file path, so I came up with the idea of the numbers.

    That was 15 years ago, and I have no use for this file today. I think about it perhaps once a year. But I'd be devastated if I lost it.

    An A4 page, laid out with boxes, of ticket prices. At the top is the ID: 41.14.
  2. To make this clearer, here's a screenshot. You can right-click and Open in new tab to make bigger.

    A screenshot of Finder showing an entire old Johnny.Decimal structure saved at ID 29.11 in my current system.
  3. A concept taken from my task and project management methodology, where it works really well.

Standard zero 'AC.00 JDex for …' – what's it for?

There's a reason the standard zeros live in the site's 12 Advanced section. Including them all in our standard systems was a difficult decision.1

Let's look at one of these specifically, the AC.00 JDex for … entry.

00.00 JDex for the system

This one is the clearest. As the 'first' ID in any system, 00.00 serves as its introductory document.

If there's anything that you need to know about the system, it should go here. I think of it like, if I got amnesia, what's the one thing I'd need to know? It's the location of this note. From here, you should be able to find everything else.

Here's what I've written at 00.00 in my personal system:

00.00 JDex for P76 Johnny's personal system

  • JDex for this system is right here in Bear. You're reading it.
  • Filesystem for this system is primarily at iCloud Drive/Documents/P76 Johnny's personal system.
    • When folders live elsewhere, that location is specifically noted in the JDex entry.

Area-level entry

Let's go down to the area level, 10.00, 20.00 and so on. In exactly the same way, the JDex entries for the area serve as the documentation for that area.

What's in it? Why did you decide to put these things in it? What isn't in it?

I just did a bit of a tidy-up and I created myself a new area. (I use the Life Admin system but it's specifically not designed to handle all the other stuff we do: our hobbies and jobs and whatnot.)

I don't have a single hobby because I'm the sort of person who creates a bunch of stupid little 'projects'. These have accumulated over the years and I have an archive I'd like to save. And I'll need IDs for new projects from now on.

I also need a place to store stuff that I've downloaded. So I created a new area, 20-29 Create & collect.

An area is little more than the categories it contains, so the JDex entry 20.00 is very simple. I've just told myself:

This area is for all the crazy ideas. See the category JDex for more details.

– and then linked to 21.00, 22.00, and 29.00.

Category-level entry

Here are my categories:

  • 21 🧠 Imaginarium2
  • 22 😍 Humans are brilliant
  • 29 🏛️ The Omnium3

And here are their JDex entries:

21.00 JDex for Imaginarium

This is a place for all the crazy projects. But not for learning about, and documenting, technology and code. That's more useful in a work context, and is going to be way more useful for linking in Obsidian, so code learning and notes are at D25.4

22.00 JDex for Humans are brilliant

A place for 'collected works' but only things that are made by other humans.

29.00 JDex for The Omnium

This is a place for your historical collected works. You shouldn't be working in here day-to-day. Things here shouldn't ever change.

  • And don't move completed things from 21.00 JDex for Imaginarium here. They just stay there and age out per the Johnny.Decimal system design.
  • Only add entries here if, in the process of tidying up old hard drives/folders, you find more old things.

Summary

So in summary, these JDex notes are your documentation of your own system's structure and purpose, at each level.

  • 00.00 is your description of the entire system.
  • A0.00 is your description of this area.
  • AC.00 is your description of this category.

And if you don't need them, or that's confusing, you can just ignore or delete them.


100% human. 0% AI. Always.

Footnotes

  1. In the end, we included them. It's easier to delete what you don't want than it is to create what you do.

  2. A name gratefully borrowed from Lucy, who came up with it when she built her own system.

  3. Yes, I pushed this out to 29, further reinforcing its archive-ness.

  4. D25 is my Small Business System and it lives in Obsidian.

Commercial licence

 /  [22.00.0175]

Commercial licence

The Johnny.Decimal system will always be free for everyone, including for commercial use. The licence places no restrictions on use of the system.

But you might work for an enlightened company who recognises that ideas like this need to be sustained. So we just created a commercial licence with 3 tiers.

The employee numbers are total at your company, and the currency is USD:

Full details are at 01.02/Commercial licence.


100% human. 0% AI. Always.

Finder folders to Markdown links in Bear

 /  [22.00.0174]

Finder folders to Markdown links in Bear

I was just trying to get a list of Finder folders as a bullet list in a Bear note. (I'm finally upgrading my own LAS to v2 and am making it super neat as I go.)

I've known for a while that you can do this:

  1. Select some folders in the Finder. Typically I find myself shift-selecting a whole range, e.g. 20 dated subfolders within another folder.
  2. Cmd+C to copy.
  3. Now if you Cmd+V to paste, and you paste into a text field, you'll get the titles of the folders.

What you get depends where you're pasting. If I do that into this Visual Studio Code window, I get a long file path. If I do it in to a TextEdit window in the default rich text view, it tries to paste the contents of the folders!

I have TextEdit set to open a plain text window by default vs. RTF. That's Settings > New Document (tab) > Format > Plain text. And now when I paste there, I get a really simple list of the folder names.

If you paste into Bear (or, I presume, other Markdown-compatible apps), you get a Markdown link that, when clicked, opens the folder in Finder!

That's brilliant. Just what I want for my JDex: now it tells me what's in my filesystem folders, and I can just click to go there.

Note: only with 2+ folders

Robert points out on Mastodon that this only works if you have 2 or more folders selected. If you 'copy' a single folder, that will paste as a massive blue folder icon!

There's a lot more going on when you press 'copy' than you thought...

A video

Here this is a quick video.


100% human. 0% AI. Always.

Obsidian links (redux)

 /  [22.00.0173]

Obsidian links (redux)

Previously:
Things: cross-link to Obsidian and back
Obsidian tip: link directly to a header

I'm going to start creating 'permalinks' for each of my Obsidian notes using the ^block syntax.

I link to my notes prolifically from outside Obsidian. My primary use-case is Things, where every project has this block at the top (mirrored in the Obsidian note).1

The notes section at the top of a Things project. I have two Markdown links, one to Obsidian, one to Things.

If that Obsidian URL is the traditional format, where you link to the title of the note, it's very fragile. My note titles are fluid; I shouldn't be afraid to change them.

So I use the Advanced URI plugin which allows you to link to a ^block, and at the top of every note I create a permalink using the ID of the note.

Links as described in the post at the top of an Obsidian note.

Note that right-clicking on the block and selecting Copy URI for current block gives you a longer URI which contains the note's title. If you're strict about making your block identifiers unique – easy when they mirror the ID of the note they're in – you can remove that part of the URI, leaving it much neater.

obsidian://adv-uri?vault=D25%20JDex&block=50105

– because now I can leave that URI string in the templates for both Obsidian notes and Things projects, and all I need to do each time is change the last couple of digits of that block ID. So this only takes a few seconds and is low-friction.

A note on the experimental 50105~14.54 syntax

That's the note: it's experimental. There's a healthy debate over on Discord and there'll be a blog post shortly.


100% human. 0% AI. Always.

Footnotes

  1. Yes, Things links to itself, as does Obsidian when I copy it over. But now this block of links is copy/pastable anywhere as it's complete.

    This is why I use Markdown bullets and not Obsidian's properties: I prefer that my frontmatter be human-readable, and copy/pastable to other Markdown-compatible apps. I don't need to query it or use Bases.

Terminal tricks

 /  [22.00.0172]

Terminal tricks

Since writing this page years ago, I've become a bit better at using the Terminal.1 I just realised how simple it is to move to a Johnny.Decimal folder. Here's how.

I'll explain why this works, as you'll need to tweak it for your own setup. So the first thing you need to know is where my system lives on my filesystem. My personal system, folder name P76 Johnny's personal system, is in my ~/Documents folder.

To make the examples here simpler I'll assume we've already cd ~/Documents.

Wildcards

Two quick things to know.

A wildcard * means 'any text'. So instead of P76 Johnny's personal system I can just write P76*. This works uniquely well in Johnny.Decimal because the majority of your folders start with a unique number.

You can expand this by using the amazingly-named globstar pattern. Within a path, ** will match any folder. It's like a really-wildcard.

Globs

Seriously, this pattern is called a glob. You weren't allowed to have those when I was at school.

If I want to navigate to my ID 15.53, this is what I do.

cd P76*/**/15.53*

That's it! We're saying please change directory to the folder that starts P76, of which there is only one. Then, search all of its subfolders **, until you find one that starts 15.53. There's only one of those.

Open the folder in Finder

If you want to actually open a Finder window, vs. staying in the Terminal:

open P76*/**/15.53*

Amaaaaazing.

Advanced script

How's this update to the cdj script, from Murrax on Discord.

setopt extended_glob
setopt dot_glob

cdj() {
  # Update with your document root folder
  if [ -z "$2" ]; then
  pushd ~/Documents/JD/*/*/${1}*/
  else
  pushd ~/Documents/JD/*/*/${1}*/*(#i)($2)**([1])
  fi
}

export cdj

I'll quote Murrax for the details:

it lets you go into subfolders too, searching by substring, e.g. cdj 31.14 COMSM0067 puts me in ~/Documents/31 Formal Education/31.14 University of Bristol/+COMSM0067 Advanced Topics in Programming Languages, or if I forget the unit code I can do cdj 31.14 languages

A-maaaa-zing.


100% human. 0% AI. Always.

Footnotes

  1. That cdj() script came from someone else, I didn't write it. If you did, let me know! Authorship is lost to the sands of time.

Configuration management

 /  [22.00.0171]

Configuration management

A few weeks ago I was admiring Japanese train drivers' very 'deliberate' behaviour. And I talked about it in the new task and project management (T&PM) course, specifically in the context of setting up a dashboard and 'logging' your work (link requires access to the course).

Effective immediately, I'm committing myself to a new set of behaviours. I don't think this will be easy, but I'm going to stick with it, and document it here. This will be one of my major themes for 2026.

In summary:

  1. Every action I take on my business MUST start and end in my JDex.
  2. Every thing that I create, reference, or update, MUST be contained in my JDex. This includes technical details e.g. all changes to this website and JDHQ.
  3. This documentation needs to be good enough such that a competent stranger could understand what I've done.

To reinforce point 1: there are no exceptions. Everything that I touch or do MUST be documented in my JDex. This might not be practical or helpful; I'm not committing to do this for all of time. But let's find out.

Case study: our recent 'BOGO' offer

I was late in dealing with Black Friday and for reasons that aren't relevant, setting up a 'buy one, gift one' offer was felt simpler than, say, a 20% discount.

Regardless of the offer, there's still a ton of complexity in building something like this. In this case:

  • Inject some sort of notice of the offer onto a whole bunch of pages.
  • Create a public database to receive people's invitation data.
    • Make it so a stranger can't randomly add a record to this database.
  • Modify the template that sends you the 'create an account' email so that it includes a link to this database, pre-filled with your details.
  • Track which account is a gift purchase, and which is a recipient, so that recipients don't also get a link to gift an account, creating a never-ending chain.
  • Check the database every day and manually create these gift accounts.

And more. A whole bunch of work! The point here isn't these specific details. It's that many things in business are this complex.

It's not like driving a train

Not to take away from the skill of driving a Japanese train, but there I think it's orders of magnitude easier to be more deliberate. Each station, each action, the same. Check the time. Check the doors. Pull away. Check your speed. Slow down. Apply the brakes. Repeat.

Very little of modern knowledge work is like this.1

What's worth remembering?

All day long, people in PKM forums ask a variant of the question: how do I remember everything that I read?

I get why they ask. They've been told by Big PKM that you're a better person if you remember everything. And if you didn't have so much to remember, you wouldn't need to spend money on that 'second brain'. ;-)

But I disagree, in the most part. (If you're studying for a degree, you might ignore this section.)

I think you'll remember what you're naturally inclined to remember. When I read a book my primary goal isn't internalising every piece of information. That sounds exhausting. And, to what end?

This is why I've always seen Johnny.Decimal more as PRM vs. PKM.

Configuration

But some things are worth remembering. All that stuff I did to my website: now I want to un-do it. The deal's over: let's revert to normal. It sure would be nice if I could just reverse my steps.

I did it in the first place. Surely I can just remember what I did in order to un-do it?2

Well, spoiler: I can't. It's just too complex.3

In the corporate IT world we call this sort of stuff 'configuration'. There's a whole field of 'configuration management': staff, processes, and software. And it's really difficult. I've never seen it done right.

Because humans, what are we good at? What do we enjoy? Work! Changing things. Making things better. We dive in and change stuff; we hack away and get it done.

What isn't fun? Keeping records! Stopping, after the fact, and writing down what you did. Who wants to do that, vs. getting on with the next fun job? We're so bad at it. So it never happens.4

My 'BOGO' configuration

So what configuration should I have recorded in the context of this BOGO offer? I think it's sufficient to be complete, but concise. Especially so in the context of computer code: I don't need to describe exactly what my code does. To determine that, I can read the code.

But I need to describe which pieces I created, updated, and deleted. What changed, at a high level? Because that's what allows me to trivially un-wind the thing.

I think if I'd written 5 bullet points, each of less than 50 words, that would have done the job. Hardly onerous.

This will slow me down

Another theme from the T&PM course was that, to do things well, I think it's necessary to do them more slowly.

Computers allow us to be fast. You should see me using this Mac: it can be a blur. I'm good at computers.

But does this help? We just saw how my haste actually got me into trouble. Doing things quickly can be a false economy. When I exhorted you to be neither lazy nor stupid I noted that 'being lazy now just means that I have to do it again later'. There's no net time saved.

I'll YouTube this (in 2026)

I've long wanted to publish an ongoing series of 'how Johnny works'. This is it. I'll give it some thought and, when I start, show my working here and on YouTube.


100% human. 0% AI. Always.

Footnotes

  1. Almost by definition? If it becomes rote it ceases to become knowledge work. Now its outsourceable.

  2. I know, I should have been better at controlling my git commits and then I could have just reverted those changes. I didn't do that either.

  3. There are 13,573 lines of code in the Astro files that make JDHQ work. That doesn't include any of the content.

  4. At work there's an accompanying field of change management that theoretically helps. I see parallels there too, and might explore this in a future post.

There are more posts.


┌─────────────────────────────┐ 
      Life Admin System      │▒
                             │▒
 The fastest way to organise │▒
    your home life -- $33    │▒
├─────────────────────────────┤▒
  Johnny.Decimal University  │▒
                             │▒
 Learn how to build your own │▒
 system, & lots more -- $200 │▒
├─────────────────────────────┤▒
    Small Business System    │▒
                             │▒
 The fastest way to organise │▒
 your small business -- $330 │▒
├─────────────────────────────┤▒
│      No subscriptions       │▒
│      Updates for life       │▒
└─────────────────────────────┘▒
 ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  
Search ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────