When I migrate to SBS I'll copy, not move

 /  [22.00.0108]

When I migrate to SBS I'll copy, not move

I'm just in the process of implementing the SBS myself. Our current system has the identifier D85.

The new system is going to be D25: memorable to me as it's the year we released the SBS. The previous post made me realise that when I migrate my data across, I should copy it and not move it.

Because these old identifiers will always be useful. I can just leave that data sitting there forever. Maybe move it off to an archive drive so I don't update it by accident. But old systems should never disappear: they should just be left, frozen like Han Solo.

Then an email with an old reference can come in years from now and I'll always have the ability to find its related artefacts basically instantly.

Nice.

Dave's sticker: on the value of adding an ID to your email subject

Dave just emailed from California. The Small Business sticker we mailed back in February hasn't arrived. :-(

(We sent them in standard envelopes with $4 worth of stamps. I wondered what percentage would actually arrive. A: not 100%.)

He replied to an email that I'd sent on 1st February asking people to confirm their addresses. The subject line of that email was:

Decimal.Business sticker mailout - please confirm [D85.21.11]

Well, how convenient. Guess how long it took me to find the original document with the labels we printed?

IDs in filenames

I'm sure I've written about this elsewhere but I can't find it now: a few years ago, my mate and ex-boss Alex sent me an MS Project file that was 5 years old. 'Do you know if this is the latest version?', he asked.

I'd named the file 32.18 Something something. So I logged in, found the old SharePoint Library, and navigated to that folder. I was there in less than a minute. (It was the latest version.)

Having an ID 'follow' a file or email around is invaluable and takes no extra time.

Creating 'dark mode' images

 /  [22.00.0106]

Creating 'dark mode' images

I just sat down to do this, and as I'm in 'working out how I work' mode, I'm just going to type this out as I do it. Pretend you're watching over my shoulder.

Objective

When creating images for this site, I want each to have a 'dark mode' equivalent. Personally I rarely use dark mode, but for those who do a mostly-white image in the middle of a dark page isn't pleasant.

But you know what else isn't pleasant? Taking two screenshots of every damned thing! I enjoy writing but honestly I find images a chore. And some apps -- ref. my beloved Diagrams from yesterday -- just don't have a dark mode. So I need a better solution.

The Johnny.Decimal angle

This will involve a bit of research, and I'll learn some stuff. I'll end up with some sort of bash script that creates the new image.

It'd be nice to record this somewhere. But even more than the desire to record the end result is my desire to record the very activity itself.

You're always doing something

I started exploring this in my stalled-by-production-of-SBS YouTube series.

TL;DR: you're always doing something. Being aware of what that thing is should help you be more focused, less distracted, and ideally prevent you from context switching too often.

I used the timers that I show in that video series for months. It was useful. An overhead, for sure, but everything's a trade-off.

Start with an ID, don't finish with one

How I want to manifest this in my daily life is by starting any activity by finding the relevant JDex entry, and recording the fact that I'm starting work.

This makes the activity much more deliberate. Don't sit down, mash the keyboard, finish something, then figure out where to record it. That's backwards. Rather, sit down, find the place, open the note, refresh your memory, log the start of this new activity, and then do the work.

Tracking this under SBS

Unlike Bestie's data, this does count as a 'work' activity. But if I was tracking this in my Life Admin System, I'd put it at 14.22 Software, licenses, & downloads.

This isn't a perfect spot, but we've learned to just find the best spot and make do. Because your mindset when coming back to find this later is exactly the same: of all of the limited places, where would I have put it?

And let's go back to one of the original design principles of JD: the idea that you should be able to start at the top of your system and, by process of elimination, find what you're looking for.

So let's try that with Life Admin. There's only one area, so let's look at its categories. Only one of them is viable:

  • 11 Me & other living things
  • 12 Where I live & how I get around
  • 13 Money earned, saved, owed, & spent
  • 14 My online life ✅
  • 15 Travel, events, & entertainment

Now let's scan the headers of 14:

  • 14.10 ■ Computers & other devices
  • 14.20 ■ Software & accounts ✅
  • 14.30 ■ My online presence

This strongly feels like a software solution to me, but I could also see how you might consider it part of your 'online presence'. Within 14.20 we have:

  • 14.21 My emergency recovery kit
  • 14.22 Software, licenses, & downloads ✅
  • 14.23 Email accounts
  • 14.24 Social media accounts
  • 14.25 Domains & hosting
  • 14.26 All other accounts

And there we are. 14.22 will do the job. Rather than cluttering the parent note I'd create a sub-note 14.22+ Script to generate dark mode images and put the details in there.

That was a tangent because I'm not doing that

This is a work thing so it's going to live in my SBS. And there is a perfect home for it there: 14.31 Internal software & services.

Screenshot of me searching SBS for 'software'. 14.31 is the top result.
Figure 22.00.0106A. Searching the Small Business System for 'software'.

By internal software we mean any software (fancy or low-code no-code), scripts, or automations you’ve created to help the business.

Brilliant.

I guess it's time to upgrade myself to the SBS

Talk about tangents. I haven't moved our own business over to the SBS yet. All we've done since we finished it is move house. I guess now's the time to install it. I'll walk through this on the end-of-week review video, but skip the details here.

(I will give myself a bit of credit for how easy that is. I'm really happy with the process to download your system. ☺️)

14.31+

Okay, just like last time I'm going to create a sub-note of 14.31 rather than cluttering the main note.

And I'm going to make a decision: I am not going to type any new data in to any parent JDex entry. That is, the entries that create your initial system. Instead, all new data will be in a sub-note.

This leaves the parent note as a holder of metadata and pointer to sub-notes, keeping it clean.

'Open in new window'

When I'm doing this sort of thing I like the JDex note to be as simple as possible.

Both Bear and Obsidian have an option to open the current note in a new window. I do this, shrink it to look like a neat little notepad, and work in there. Keeps me focused.

Screenshot of my desktop. At the top left there's an Obsidian window that takes up about 1/16th of the screen.
Figure 22.00.0106B. A neat little JDex entry.

Converting the image

This isn't why you're here, but for the record this is how you do this with imagemagick.

magick input.png \
  \( -clone 0 \
  -fill "#47a1b3" \
  -colorize 30% \) \
  -compose multiply -composite \
  -brightness-contrast -15x0 \
  output.png

I asked Claude 3.5 Sonnet (via Cursor) to produce that for me, and tweaked the results. It also produced a bash script so I can execute magickdark <filename.png>.

For me this is exactly what AI was made for: why spend an hour figuring out this one-time task when it can be generated for me in a minute?

Switch to dark mode to see the altered images. (Or you can open any image in a new tab and replace light in its filename with dark.)

This has all been a tangent

This morning I thought, time to sort out my Things, which has 61 items in the inbox.

Gonna need some screenshots, I thought. Gonna need that dark mode thing. And here we are, hours later.

So tomorrow, we tackle Things!

Bestie's data

 /  [22.00.0105]

Bestie's data

The setup: my bestie Michelle is a professional photographer. This is a job with extreme data needs: a single shoot can easily clock over 50GB of RAW images. Do a few of those a week and you soon fill up a hard drive.

Now do that for 15 years, and back it all up without spending $1,000 a year and destroying your internet connection.1 It's tricky. Mishy isn't a nerd, so I manage it for her.

The JDex entry

I manage this as part of my Life Admin System. It's nothing to do with my job.

LAS has the ID 14.14 My data storage & backups:

Anything related to the devices and services that keep your data.
e.g. physical storage like hard drives and USB sticks, cloud storage services like Dropbox, iCloud, or OneDrive, notes about what data is where, back up services like Time Machine or Backblaze, notes about back up strategies and tests.

Perfect!

Extend the end

Extend the end (EtE) is a fairly new idea, so I'm still figuring out the patterns. As they become clearer, I'll formalise them on the main site.

But here's my current thinking. I don't think this is far off the end result.

Tag-like entries

If you want to extend the end of various notes across a system and refer to the same entity when doing so -- let's say I'm keeping notes related to Mishy throughout my system -- you want to be able to recall all of those notes, as a collection, really easily.

In this situation I use the following pattern:

  • The ID: 14.14.
  • EtE's +.
  • A short code consistent across all notes: MGH for Michelle Grace Hunder.

This allows me to search my JDex for +MGH and pull up all of the notes related to Michelle. I manage my personal system in Bear, and I have 2 notes.

Screenshot of Bear showing a search for '+MGH' with 2 notes being returned.

Note that there is no space in this sequence, and I consider the canonical reference to this note to be 14.14+MGH.

One-off entries

Briefly, as I'll say more about this with a specific example in another post, but for one-off entries, I just use the +, then a space, then a descriptive title.

For example alongside 13.24 Pension I have 13.24+ UK voluntary contributions. This note tracks the historical back-payment to the UK government of annual pension contributions.

That isn't something that will exist on any other ID, so it doesn't need an easily-referenceable code.

Tweak the parent note

If you extend an ID, you should make it obvious that you've done so. Otherwise it can be easy to miss.

The more I do this thing the more I realise that the worst possible sin is causing yourself stress, or even allowing the possibility. The entire point of this system -- which is significant extra work to implement, don't think I don't know it -- is to remove this stress! You must do everything to remove it.

So there's nothing worse than being sure that you created some data -- you remember doing it -- and not being able to find it.

There are two ways to mitigate this.

  1. Rename the parent note, using to indicate that it has been extended.

    My original JDex entry

    • 14.14 My data storage & backups is now called
    • 14.14… My data storage & backups

    You're telling yourself that there's more.

    On a Mac you can get the ellipsis by typing Option+; If you're on Windows you might have to copy/paste it, sorry.

  2. Just make a note in your JDex

    Alternatively, just note in the JDex entry 14.14 that there's a sub-note. [[Wiki-link]] to it so you can just click to navigate.2

    I put all of this 'metadata' above a --- horizontal line. And actually, I'm starting to think that the parent JDex note should only ever contain metadata, and that all supplemental text should be in a sub-note. That'll be a future post.

Saving the file

In my file system, I've created a subfolder +MGH inside folder 14.14 My data storage & back ups.

Again, this is the first time I've used this pattern. I think this will cause this folder to always be at the top, which is probably what I want.

(Can you use + in a Windows file path? I don't have my virtual image handy. Looks to be okay.)

Mishy's data

The point of this post isn't to tell you how to redundantly store and back up 30TB of data, but if you are interested, the Diagram below shows you how I do it.

Of note here is the following.

  1. The file name, which is P76.14.14+MGH Bestie's data. I find it useful enough to use the full JD ID and it only takes another second.

  2. In this particular JDex note, I've created a link to this file. If there's a file that's really relevant, I like the idea of reminding myself that it's there. If you have a folder full of files, this is probably less useful.

    I'll play with this some more and report back. This is the first time I've done it. In Bear, hit Cmd+K and you can drag a file from Finder in to the Address field. Bear will URL encode the path. Now add file:// to the front of the resulting text.

  3. In the lower-right of the Diagram, I've added a block with the ID of the file. Feels like an architectural diagram! 🤓

Screenshot of the Diagram. It's a block drawing with shapes and lines, too complex to describe here. Let me know if you want the details and I'll be happy to help.
Figure 22.00.0105B. You can right-click and 'open in new window' to see more detail.

Footnotes

  1. Upload in Australia is almost universally limited to 40Mbps thanks to our crappy infrastructure.

  2. Whenever I say something like this, if you're at all unsure what I mean, or how to do it, please ask on any of the forums. There are no stupid questions here and I assume no prior knowledge. I certainly don't assume that all of my readers are tech nerds.

Everything Everywhere All at Once

 /  [22.00.0104]

Everything Everywhere All at Once

I've wanted to do this for a while, but here at JDHQ we tend to focus on a single task. It's just how me and Lucy work: we go deep on a thing. For months, that was the Small Business System. As soon as we finished that, we had to move house. As of yesterday, that's done.

Photo of butcher's paper on our wall with columns each for 'video', 'blog', and the Small Business System. Sticky notes show that we intended to produce videos & blog posts while building the SBS.
Figure 22.00.0104A. When we started the SBS in early October, we planned to produce a video and a blog post each week at the same time. Sweet innocent fools.

As a result, some of my own stuff is a bit of a mess. I haven't yet moved our own business over to the SBS. I have … checks … 61! to-do-like items in my Things inbox.1 That's deliberate: I know none of them are time-critical, and I've been letting them build up so I could process them in public.

Mail: 147 items across a handful of mailboxes. Physical papers: a small stack to process. A couple of documents on my Desktop. And there'll be more as I discover it. Again, a conscious decision these last few weeks to let it build. Giving myself material to work with.

Oh yeah, and we're taking JDHQ international next month, moving to Vietnam with nothing more than a 10kg backpack.2 So that'll take some organising. And the scope of my life has already narrowed dramatically: from a house full of stuff to one bag and a laptop. It becomes more important, then, that that laptop is immaculately organised.

The plan

So here's the plan: I'm going to meticulously document everything that I touch. I intend to become nothing less than The Most Organised Man in the World. To the point of absurdity: I don't recommend you do this! Because who has the time? A: me! It's my job, thanks to you.

But I do think that going really deep on this thing will be instructive. It'll reveal patterns. It'll force me to clean up my own documentation. It'll show me what works and what doesn't.

Daily: blog

This will mostly take the form of blog posts. So you're in the right place.

Weekly: YouTube

I'm going to try for a weekly round-up video on YouTube. Videos take much longer to produce, but Lucy's our editor so they can be happening in parallel.

I think most of this audience prefers having the words to refer back to, so I'm not planning any original content in the videos. They'll be a summary/recap style of the previous week's blog posts.

But sometimes it's easier to demonstrate something with moving pictures. Let's just see what happens.

Feedback: socials

Snippets will be cross-posted to Mastodon and Bluesky.

My 'comments section' is Discord and the forum, both of which have dedicated channels where I cross-post links to blog posts.

Tomorrow

I've been documenting my bestie's data storage & backup situation. She's a professional photographer so it's a) complicated and b) really important to get right.

I'll show you how I manage all that in my own Life Admin System at 14.14+MGH.

Footnotes

  1. Some of them are P4 'someday' items, not actual things to-do. Regardless, I'll be processing them all here and showing you how I handle them.

  2. Note to the Australian Tax Office: we're not actually 'moving' to Vietnam, as in becoming residents. We're going on a really long, plan-it-as-you-do-it trip around the world, and our first stop is Vietnam. We remain tax residents of Australia. But trying to say this gets clumsy, so I'm just going to use the word 'moving' in all future posts.

SBS: Question about portfolio; storing brush templates

On Discord, theoutermost asks in the context of the Small Business System:

I'm trying to work out where's best to keep my files related to my Portfolio/Showreel and CV. To me they are related to my work and business rather than my Life Admin, so it would seem appropriate for them to be in my SBS but I'm not sure where.

SBS vs. LAS

The first decision is an easy one: if you have the Life Admin System and the Small Business System, and you're wondering where to store stuff related to your work: it's the SBS.

As we'll see below, there's a nice way to leave yourself a breadcrumb in your LAS. So if you go looking for it there, you won't be confused.

Portfolios, showreels, and CVs are 'marketing'

From the description of category 31 Marketing, PR, & communications:

Anything that you would classify as self-promotion, either paid or free.

This category comes 'empty' -- it contains no IDs -- as we can't know what you might need to create here.1 So you need to create a couple of IDs for yourself.

This feels to me like two things: your portfolio/showreel, and your CV. But you decide: you might like an ID each for your portfolio & showreel if they're distinct.

Process: create IDs in your JDex

First thing to do is create these IDs.

  1. Fire up your JDex.

  2. Create 2 new notes:

    31.11 Portfolio & showreel*
    31.12 CV
    

    *You can't use the / character in an Obsidian title as the note's title is the name of the file on disk.

    It is mandatory to create the JDex entry first. Don't create file system folders first! This will lead to inconsistency.

  3. While you're in your JDex, if you think it'll help you find these things in the future, add some searchable terms to the note.

  4. You said that you'll be updating these artefacts over time. Let's say annually.

    This naturally suggests subfolders named yyyy, e.g. 2024. I'd probably leave the current version of these artefacts at the root of the folder, and move each previous year to a yyyy folder as required.

Updating artefacts over time

Continuing this question:

I need to create new portfolios each year with examples of updated work

This is where your 50-59 Portfolio of creative outputs comes in. The process is:

  1. Each (say annual) update of these artefacts is a new creative output job.

    The first job you create is numbered 50001, the next 50002. This allows more than 100 jobs over time.

  2. Create a new ID in your JDex for the job, and create the folder on disk.

    Ideally, you're starting from a subfolder template.

  3. Do the creative work in the job folder.

  4. When the job is finished, copy the final output back to 31.11 & 31.12, moving last year's files to a previous-year folder as noted above.

  5. For a JD power-up 🦸, create a wiki-link from 31.11 to the creative job, say 50001.

    Because next year, you're going to want to remember what you did this year.

    Screenshot of Obsidian with a wiki-link from 31.11 to 50001.
    Figure 22.00.0103A. Use [[square brackets]] to link to another note.

    As an added bonus, Obsidian's backlinks will automatically link you from the creative job back to the thing it relates to.

    Screenshot of Obsidian showing the auto-generated backlink from 50001 to 31.11.
    Figure 22.00.0103B. Obsidian automatically generates 'backlinks' from the current document.

Leave yourself a breadcrumb

Life Admin has 11.71 My sales pitch as a place to put your CV:

The documents you use to sell yourself as a potential employee.
e.g. CV/resume, references, portfolio, LinkedIn profile text.

Drop yourself a note in there to tell yourself that your CV is at SBS.31.12. Then there'll be no stress if you come looking for it here in the future.

Digital assets

Continuing, theoutermost asks:

As part of my work storyboarding or animating jobs I have tools and assets I use like templates, brushes, fonts that will be used across all jobs I do so should they live in the Library of Creative Inputs…

Absolutely! This is exactly what it's for. 41 Design elements is the place for stuff like this.

As above, create yourself an ID for each of these types of thing. Here at JDHQ we have 41.11 Typefaces, 41.12 Colours. You might add 41.13 Brushes.

How granular you make these IDs is up to you. See SBS.00.34+OPS9 for more guidance on creating your own IDs, and of course just ask if you're unsure.

Footnotes

  1. Although as patterns emerge -- like this one -- we'll likely add some suggested IDs to the standard system.

The Small Business System

 /  [22.00.0102]

The Small Business System

After 6 months of work, the Small Business System has launched. Here's why it took that long, what's in it, and what's next.

Why'd it take so long?

Firstly, if you signed up a long time ago: thank you. Some of you gave us money ... let me see ... back on the 10th November. (Anthony in Reading, you were first!) That's a long time, and that money has kept us going. It's allowed us to focus on creating this thing and to not worry about promoting everything else. That's massive, so thank you. You literally made it possible.

So, we followed the process and went deep on discovery. MindNode was, as always, indispensable. Here's an early version, once we'd given at least some shape to the initially-random thoughts.

A screenshot of a MindNode mind map. It's zoomed way out because there are hundreds of nodes. Nothing is legible.

That took about a month. Many whiteboards, mind maps, walks, chats over a beer. What would it contain? Who was it for? What's a 'small business' and what does it contain?

What's a small business?

A question worth answering. We had a couple of ideal businesses that we kept coming back to. There's person who makes candles and sells them at local market. There's small hairdressing salon like my best friend Berry.

There's personal trainer who meets you at 6am and makes you skip rope and do weights. We've got Jeff from Lovett Sundries who make their own natural cosmetics. Or my mate George who runs a fleet of high-end taxis in Melbourne.

And then classic businesses that we can all relate to. Restaurant. Bakery. Professional services. Consultant. Freelancer. Farmer. Dog groomer.

So you can see, there's a lot to consider. Do you have premises? A vehicle? Staff? Do you keep stock? Do you have a handful of customers or thousands? Do you make a thing, deliver a service, or a bit of both?

We think we've designed something that fits everyone. If you run any sort of business and you have between 1-10 staff -- maybe more, we'll have to test it out -- we think we can accommodate you.

Complete and consistent

The design phase took so long because we checked, again and again, that this thing met our two main design goals: that it be complete and consistent.

We think there's a place for everything. It might not feel like exactly the right place to you, but we learned with Life Admin that it's more important just to pick a place, and get on with it. This is a tool, not art.

And Lucy has gone to extraordinary lengths to make sure that it's internally consistent. How she holds it all in her mind I'll never know. I'd write something and she'd say, but up here we said..., and we'd revisit that and line it all up.

What's in it?

So what's in it is hopefully a structure that will accommodate all those types of business. Some of you will use more of it than others. That's by design.

We've ended up with 5 areas containing about 20 categories and about 200 pre-defined IDs. Some of the areas are designed for you to create your own IDs as we can't know, for example, how your list of products should be structured. So you'll end up with more over time.

There's guidance on how to do this. Suggested templates (which are included in your download). A whole help system. And user settings: you log in to this thing. Initially that's just do you want to use emoji, but this gives me the ability do to more over time. See below.

Lucy's master document clocked over 46,000 words; about 340 pages. She wrote essentially all of it, while I built the site. (I should rename this thing Jucy.Decimal.)

What do I get?

We learned a lesson with the Life Admin System: manually creating PDFs and folders full of text files is a nightmare. It's difficult, unwieldy, and unmaintainable.

So I've built a website. I think it's pretty neat. Think of it as your business operations dashboard. From there, you download a set of folders and JDex files that are generated on-the-fly. So we can update the system really, really easily. Constantly. Frictionless. We update it, you refresh the page, you see it. It's a joy.

A shared language

This is the natural evolution of Johnny.Decimal which is, of course, inspired by the Dewey Decimal system. In that system, every library doesn't invent its own scheme. That'd be madness. Rather, I can tell you 152.42 LEMB and that'll guide you to the book I'm reading in any library on Earth.

Now imagine this same power in your business life. If you want help with your IT backups, you don't have to explain the scope first: just tell someone you're at 14.23. Now we know exactly what we're referring to, and we can reference (and contribute to) the same set of resources. And you can chat in a channel dedicated to that part of the system. Targeted. Focused. Efficient.

What's next?

We can't emphasise enough that this is version 1.0. As well as constantly upgrading the content, I'd love to build this to be a fully-featured app.

Here's a small example. One of the things we've defined is an ops manual that tells you how to configure and then test your IT backups. So how can we help you do that?

Well, I can build a system of reminders. You tested your backups yet? Check the box and we'll automatically make a log in your JDex. Don't check the box and I'll nag you. Maybe this can feed in to your calendar. This is all fairly easy, I just need the time to build it.

So that's the next couple of years for us. Assuming this is successful enough to keep us off the streets, we'll be working on it full time.

The vision

Because here's my long-term vision. You start a business. Let's say you're making those candles. Maybe this is something you do on the side, so you don't have a lot of spare time. And it's your first crack at being indie.

Today, you have to figure everything out yourself. From business registration to insurance to calculating your taxes and backing up your IT systems, tracking your customers, orders, stock, your marketing, setting up a website and email, all of it. That's wild, right? It's 2025 and unless you go and do a business course at your local tertiary education place, there isn't one place that you can go and find all this information.

I want you to be able to log in to the Small Business System and for that all to be taken care of. I mean, you still have to do the work! But we'll guide you all the way. I want this to feel like you've got us -- and the rest of the community -- on your staff.

The community

I'd also love this to become a genuinely useful community of like-minded business people. You've already self-selected in to a group of people who are actively trying to be more organised. Imagine what that community can do for each other.

I know all about IT. Ask me: I'll help. But marketing? Clueless. Well one of you reading this is a marketing expert. Hi! Let's help each other. Let's swap skills and knowledge, and buy stuff from each other, and support and recommend each other.

I'm in other 'small business' communities. The quality of discourse is ... low. Because it's mostly full of dudes trying to get rich quick on a lazy internet idea. This is not for them. This is for people who are getting on with making a thing. Your time will be respected here.

'Preview mode'

When I built the site I had an idea: what if there wasn't one site with all fancy graphics (lol, me?) that tried to sell you the site, then entirely another site once you were in?

What if it was all the same site?

So that's what I built: one site. If you're signed up, you see it all. If you're not, you see the ░░░░░░░░░░ version. I really like how it turned out.

Check it out at https://sbs.johnnydecimal.com. Now if you'll excuse me I think I might have a few days off.

My data storage & backup strategy

 /  [22.00.0101]

My data storage & backup strategy

By email, Dylan asked about my data storage and backup strategy. In answering, I thought it'd be useful enough to formalise here.

The 'problem'

Here's what I'm working with. The scope of this is mine & Lucy's personal stuff, and the Johnny.Decimal business.

We each have a laptop. Mine only has 500GB of storage so I'm severely limited. Lucy's has 1TB but this is still smaller than the … checks … ah not quite, 787GB that is the entire D85 Johnny.Decimal business folder.

That folder contains all of the raw footage from the workshop. That's 641GB just there. I probably don't need to keep that now, but whatever. I certainly don't need to keep it all on a laptop.

So we also have a Mac mini. The 'server', even though it just runs plain macOS. The point is that it's always powered on.

Mac minis are great for this. I ran a 2010 version until 2023. It was sold as a server, back when Apple did that. 13 years isn't bad from a ~$1,000 computer.

I replaced it with a refurb M1 mini, lowest spec. Also ~$1,000. Should also last well over a decade.

These machines don't need to do much. No data is stored on them -- we'll get to that. Processor wise, they do next to nothing. They serve files. So don't spend money on anything fancy.

NAS vs DAS

Okay, so where's all the data? The difference between NAS & DAS is both subtle and vitally important. I'll assume you're not a storage expert, so I'll spell it out.

'NAS' stands for 'network-attached storage'. This means that the device itself attaches to your network. It is a tiny server: it has its own smarts. Synology and QNAP are the ones you've heard of.

The advantage of these devices is that you don't need another server. Like a Mac mini. They do it all themselves: you configure them on your network, then you can connect to their storage from any computer. That can be really convenient, and I still have an old Synology in my setup.

The downside is that if you want to configure them to do anything special, you're dealing with a device that is usually underpowered, whose software is not macOS or Windows. It's some specialised Synology or QNAP thing.

So if you want to run, say, Syncthing -- we'll get to all of this later -- then you're depending on that software having a Synology version. Not everything does, and when it does, it's often a cut-down variant. This can be limiting.

For these reasons, I moved away from a NAS when I bought the new mini.

DAS

DAS stands for 'direct-attached storage'. It's storage that is directly attached to a computer. It's basically an external hard drive. And you can just use an external hard drive from your office supplies store.

But if this is your central data store, you probably want something a bit more advanced. Hard drives get hot, so something with a fan is nice. And you can get units that take multiple disks, which can provide redundancy in case one of the drives fails.

(It depends how you set these disks up, and this is as technical as I'll get here. Look up RAID levels if you want to know more.)

So I have a LaCie 2big 16TB DAS that is plugged directly in to the Mac mini via USB-C.

The LaCie doesn't do anything by itself. It requires a server. But now that server is a fully-featured computer, and I can install whatever I want on it.

So where's all the data?

Let's recap. Johnny has a 500GB MacBook Air. Lucy has a 1TB MacBook Pro. And there's an always-on Mac mini whose internal storage is insignificant because it has 16TB of HDD plugged in the back. I'll call the mini 'the server' from now on.

Technically, we could store all of our files on the server and access them over the network. But this would be slow, especially over wifi. Ideally, you want the things you're using all day to be on the machine you're using.

This is where synchronisation software comes in. Dropbox is the one you know: you install it, point it to a folder, and it synchronises all of those files. If you want them on another computer, you just install it there and wait for them to copy over. As a bonus, now they're also in the cloud, and you can log in to a website and access them from anywhere.

This is a great technology but it comes with limits. What if me and Lucy both edit the same file at the same time? This causes a 'conflict', and there's not much you can do about that. Dropbox can't merge our Excel sheets, it's just too hard. So that's just something to be aware of.1

Syncthing

The secret sauce is an amazing piece of free software: Syncthing.2

It's like Dropbox, but completely configurable. You get to say what synchronises from which computer to which other computers. And you get granular control down to the folder or file level.

You also get to control what happens to the file on this computer after a new version is received from that computer. This is really handy. On the server, I've got it configured to keep versions of each file, which it deletes as they get old. It'll keep … well, let's just quote Syncthing:

The following intervals are used: for the first hour a version is kept every 30 seconds, for the first day a version is kept every hour, for the first 30 days a version is kept every day, until the maximum age a version is kept every week.

So as Lucy is working on the small business system, every time she saves the document, it's synchronised to both my laptop, and the server. The server is then applying the 'retention policy' as described above. This is one form of backup: if Lucy accidentally deletes all the text in the document, we can just grab a previous version from Syncthing. Super handy.

Our Syncthing configuration

In a nutshell: the server has everything, and we each have most stuff, minus the massive folder of workshop video files. There's a bit more to it, but that's all you really need to know.

Start picturing 'blobs' of data

What's important is what this means for our data. When you're planning something like this, you need to have this picture in your mind of:

  1. What your data is, and
  2. Where your data is.

Johnny.Decimal makes this easy for me to think about. Each blob of data -- the minimum unit of 'my data' that I think about -- is a Johnny.Decimal system. I have:

  1. D85 Johnny.Decimal (the business)
  2. D01 johnnydecimal.com (the website)
  3. P76 Johnny's personal life
  4. L77 Learn with Lucy (the Excel course)
  5. Z99 Archive some old long-term archives, including some data that isn't mine

I know that all of this data is on the server. That's really important when it comes to backups, later. It's so important, it's a non-negotiable: all data must always be on the server. Then I know that if both laptops fall in the ocean, nothing is actually lost.

I also know that Syncthing is synchronising the important stuff that we use every day to both laptops. And those laptops synchronise to each other.

This is important because if one of the laptops falls in the ocean, it'd be nice to be able to access our important daily stuff quickly. We can do that from the other laptop. And when we get a replacement machine, the two laptops can talk directly to each other. The server, physically far away, is a last resort.

So that's the day-to-day synchronisation of data. Syncthing is indispensable. It's complex, but worth getting to know. If you need any help, ask.

Backups

Backups? Didn't we just talk about backups? All these copies of your data all over the place on three machines?

We did not. Synchronisation is not a backup.

Read that again. In bold. Synchronisation is NOT a backup.

Because synchronisation -- wait for it -- synchronises everything: including you messing up some file and not realising it. Including you deleting some folder and not realising it. So you MUST also have backups.

Nobody said this was simple. Alright, backups. When you think of backups, think of the event that causes you to be glad that you had it. They get progressively worse. Let's simplify and say you're always at home, and not about to be globe-trotting like we are.

1: Your laptop falls in the bath

Bath, ocean. Laptop wet, laptop no good. In this scenario, you're in your house, you have a new laptop, and you need to get working quickly. You want a local backup that you can restore from.3

(In my situation, I'd try the re-synchronising first; but let's say you don't have that option.)

Your operating system has software built-in: Time Machine for Mac, Windows Backup for the other one, and you Linux nerds can figure it out yourself.

You should probably just use this. Personally I also use Arq but we don't need to go there. Different software, same result.

2: Your backup didn't work

It is not your day. You got your backup drive, tried to restore to the new, dry laptop -- and it failed.

Disk error. Can't read. Backup error code FKU390093-B. Cosmic rays. Whatever: backups also fail.

Lucky you have a second backup on a different disk. This is why I use Arq: it makes it really easy to connect to another machine and to create a backup there. So I have one backup on this little external SSD, one on the server, and another on an old Synology. Multiple backups on multiple storage devices.

But we're not finished.

3: The house is destroyed by a cyclone

So now everything's gone. Laptops, servers, hard drives, the lot. Really really unlikely, but it happens.

This is what the cloud is for. Ironic, as it just wiped us out. Ha ha. I pay for a cloud backup service that I never hope to use. Literally, if I go my entire life and never ever have to restore from the service that costs me about a hundred bucks a year, I'd be happy.

But the day you do, you'll be glad for it. So: use Backblaze. Just do. Now, go and sign up now.

3-2-1 backup strategy

This is the industry-standard way to do things:

  • Three copies of your data.
  • On two different media.
  • One copy off-site, i.e. cloud.

Backblaze, and NAS vs. DAS

We talked about NAS vs. DAS above for a reason. Backblaze is amazing: unlimited storage for ~$100/year. With a catch: it only includes DAS.

Backblaze will not back up your Synology for $100/year. It's a miracle that they will back up your LaCie 16TB for that. So this is definitely a factor when deciding what to buy.

Oh yeah, that Synology

Because I already had a Synology -- an old DS118 single-drive unit -- I'm using it purely as a backup target. Both laptops and the server back up to it, using Arq.

This is probably overkill. If I didn't already have this, I wouldn't buy one for this role.

Review

Let's review with a little diagram. I have no computer drawing skillz so here's one I did on paper.

A diagram trying to explain what I've talked about. Boxes with arrows.

Now, yours won't look anything like this. Don't just copy me. But make sure that you have this mental model of your data. What blobs are there? Where are they? Which copies are complete vs. partial? Local vs. cloud? Synchronisation vs. backup?

And if you need any help, ask on the forum.

Tailscale

There's a secret sauce here which I'll mention briefly.

The server was in the cupboard in the kitchen, but since deciding to go on the move, it needed a new home. So it's now at my mate Alex's house in Melbourne. Thalex!

Ordinarily this would have broken all sorts of stuff and required complicated network reconfiguration. But I have Tailscale permanently turned on, on every device, so I had to do: exactly nothing.

I turned the server off, gave it to Alex, he took it and the LaCie and the Synology home with him, he turned them on, and everything just works like it did. Albeit a touch slower, as they're now about 700kms away. Only about 40ms of network latency though, which is impressive.

I couldn't recommend it more. Again, too much detail for this post, but let me know if you need help.

Footnotes

  1. Most sync services will rename one of the conflicted files, giving it a timestamp and putting the word 'conflict' in the filename. Then it's up to you to merge your conflicting versions. You'll never actually lose data.

  2. You should financially support 'free' software that you depend on. Because nothing's really free. As soon as we can afford to, I'll be sponsoring Syncthing.

  3. Computer terms. 'Local' = on this network; in this building. 'Remote' = not.

Blog questions challenge 2025

 /  [22.00.0100]

Blog questions challenge 2025

Hyde, who had seen a post from Adam, who had been reading Kev's blog, who had seen a post from Brandon, who had been tagged by Jedda, who had been tagged by Ava, who came up with a blog post challenge … wait, where was I?

Why did you start blogging in the first place?

I've never really seen myself as a blogger, if I'm honest. Which might explain why I'm so bad at it! I'm hardly what you'd call prolific. Johnny.Decimal as an idea is now 15 years old and here we are at post #100.

Which is funny, because I love writing. But I'm also really conscious of people's attention. I dislike how my own is constantly being bartered for, and so I feel that unless I have something useful to say, I'm not going to spew words out to fill the void. There is no void. There's the opposite of a void.

Also I was on Twitter since 2009 -- when you sent it an SMS to post -- and so I think I've got that tell everyone what you're doing all the time thing out of my system. I've realised that nobody cares what I do. Thank god.

So I feel like my blog is more of a communication channel and less of a blog in the traditional sense.

What platform do you use?

This website was hand-coded by me in Astro. Astro is amazing. My hand-coding is not, so much. But I'm getting better!

Have you blogged on other platforms before?

I have a few posts still lingering on a Wordpress site but they're old (2008/9) and embarrassing so I won't link them. And I mean literally, a few posts. Perhaps five.

How do you write your posts?

Usually directly in to Visual Studio Code, in Markdown, with vim keybindings. This whole site is one git repository.

Occasionally I'll draft something in my beloved Bear, but usually not.

When do you feel most inspired to write?

When I have something to say. See above. But not at any particular time of day.

Walking is the ultimate life-hack for writers. I don't know if I've ever had an original thought while sitting on my arse looking at a screen. But go for a walk round the block and let it tumble around up there. That's where the good stuff is.

Do you publish immediately, or later?

Usually pretty quickly. If I do the draft-then-come-back-later thing I tend to find that the moment feels like it's passed.

I'm definitely one of those people who can't really 'see' a post until I literally see it, on the published site. Not on my dev site, where it looks identical. It needs to be the live version. Then you read it and go ooh that's not what I meant and make a few quick edits.

What's your favourite post?

I don't have a favourite.

Any future plans?

I feel that my comms are bit disjointed. I even published a comms plan to try to solve the problem. But I'm not happy with it.

So I'd still like to streamline official Johnny.Decimal communications, somehow. But I don't know what that looks like yet.

There are more posts.


Pre-built JD systems ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Life Admin: the stuff we
all manage day-to-day. How
Johnny organises his life.

Small business: stop losing
important files. Focus on
your business; let us be
your in-house admin.

Save hundreds of hours.
We figured it out so that
you don't have to.
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Search ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────