diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/2013/10/13/making-bcm43142-wireless-driver-work-on-debian/index.html b/2013/10/13/making-bcm43142-wireless-driver-work-on-debian/index.html new file mode 100644 index 0000000..c33d692 --- /dev/null +++ b/2013/10/13/making-bcm43142-wireless-driver-work-on-debian/index.html @@ -0,0 +1,247 @@ + + + + + + Making BCM43142 Wireless Chipset Work on Debian + · prose&const + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + + Code and musings by Darshak Parikh + + +
+ +
+
+
+

Making BCM43142 Wireless Chipset Work on Debian

+ +
+
+

So I couldn't get WiFi to work on my SolydK installation. It does come with a nifty tool called 'Device Driver Manager', but even that couldn't find a driver for my wireless chipset, the Broadcom BCM43142. Some other Broadcom drivers sure are available in the Debian repos, but this one isn't. So I did the only sensible thing to do: searched the Web. And here's the solution.

+

Note: I assume that you know the basics of apt-get and cd commands.

+

What's your chipset?

+

Open the terminal and run

+
lspci | grep BCM
+
+

and check if the output contains BCM43142. If it does, this post is for you.

+

Get the driver

+
    +
  1. +

    Run

    +
    sudo apt-get install linux-headers-generic build-essential dkms broadcom-sta-modules
    +
    +

    If it freaks out with the first package, just skip that one.

    +
  2. +
  3. +

    Download this deb package.

    +
  4. +
  5. +

    cd into the directory containing the package.

    +
  6. +
  7. +

    Install it using

    +
    sudo dpkg -i wireless-bcm43142-dkms_6.20.55.19-1_amd64.deb
    +
    +
  8. +
  9. +

    Activate it.

    +
    sudo modprobe wl
    +
    +
  10. +
  11. +

    Done. It should work now.

    +
  12. +
+

What's inside?

+

I haven't checked, but there's one thing I know: the person who has provided the deb package, has tweaked a copy of the driver package found inside an Ubuntu installation.

+

Source

+

jas.gemnetworks.com

+ +
+ + + +
+
+ +
+ + + diff --git a/2015/12/19/how-to-write-unfancy-web-apps/index.html b/2015/12/19/how-to-write-unfancy-web-apps/index.html new file mode 100644 index 0000000..11fea58 --- /dev/null +++ b/2015/12/19/how-to-write-unfancy-web-apps/index.html @@ -0,0 +1,237 @@ + + + + + + How to Write Unfancy Web Apps + · prose&const + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + + Code and musings by Darshak Parikh + + +
+ +
+
+
+

How to Write Unfancy Web Apps

+ +
+
+

Ever since the advent of HTML5 and ES6, the web is moving forward at the speed of the Millennium Falcon.

+

While the world was still in awe at Angular's superpowers, the React phenomenon happened. And while the average corporate Java dev gets over the overwhelming pace of events, Angular 2 and Polymer will be ready to refill their pile of things to be amazed at.

+

And that is a good thing. It means better APIs, better developer ergonomics, and most importantly, better resulting products.

+

However, sometimes people forget that they do not need a Batmobile to get to the grocery store. When you're building a simple web app that does one small thing, you do not need an MV* framework, with a component-driven view layer, powered by a Swiss Army CSS Toolkit. All you need is the bare minimum abstraction, just enough to save you from the nitty-gritty of the raw JavaScript and CSS.

+

My toolbox

+

At work, I often have to develop simple web-based utilities that Do One Thing and Do It Well™. For times like these, I carry a small toolbox that meets my needs in under 20 kB minified and gzipped.

+

Zepto

+

Let's face it. Even those who still use jQuery, do not use every nook and cranny of it. Zepto, the lightweight jQuery-compatible library, meets most of your needs when it comes to DOM manipulation, event handling and AJAX. Usually, the only time you need the full weight of jQuery is when you're using one of its add-ons like jQuery UI or jQuery Mobile. In most other cases, Zepto gets the job done just fine.

+

That being said, using jQuery in 2016 is fine, really. If it works for you, then go use the heck out of it.

+

Mustache

+

You could fill your DOM with AJAX-received data using Zepto alone, but it makes your code look like really delicious spaghetti. This is where (arguably) the simplest templating engine, Mustache, comes in. No nonsense, logicless templates.

+

I like Mustache because it is simple and works cross-browser. However, it does have a slight learning curve. Some day, when the world stops using Internet Explorer, I plan on replacing Mustache in my toolbox with maybe t7.

+

Pure

+

Pure is a tiny CSS library from Yahoo! which is surprisingly handy and beautiful for something that's less than 4 kB. It doesn't come with all the bells and whistles of Bootstrap, but if you want pretty forms, buttons, tables and grids, go for Pure.

+

Counter-argument

+

You might ask, why I prefer not to use more robust frameworks which make a far better developer experience.

+

Blunt answer: because this works.

+

Reasonable answer: because I'm not building a GitHub. I don't see the point of adding more kilobytes to an application, unless absolutely needed. Better developer experience is no substitute for better user experience.

+

Conclusion

+

These tiny tools are generally enough to build a nice, clean web app that is just a semi-dynamic interface to a fairly robust backend with a solid REST API.

+

I'm not saying that Angular/React/Ember/Bootstrap/ are useless. I'm just saying, don't use them just because they are there and they are cool. Ask yourself if you can do the job and still keep your code uncluttered without using them. Aim for less, not more.

+
+

"Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away."

+

— Antoine de Saint-Exupéry, French writer

+
+

Update

+

I just posted this on Echo JS, and realized what a perfect example it is of a simple, unfancy web app. They run on just jQuery.

+

Update 2

+

Pedro Canterini developed this nifty Unfancy Starter, which bundles a slightly modified and refined version of the aforementioned toolbox into an easy, preconfigured scaffold.

+ +
+ + + +
+
+ +
+ + + diff --git a/2019/02/22/ml-offline-web-tfjs/index.html b/2019/02/22/ml-offline-web-tfjs/index.html new file mode 100644 index 0000000..6812bca --- /dev/null +++ b/2019/02/22/ml-offline-web-tfjs/index.html @@ -0,0 +1,369 @@ + + + + + + Machine Learning for the Offline Web + · prose&const + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + + Code and musings by Darshak Parikh + + +
+ +
+
+
+

Machine Learning for the Offline Web

+ +
+
+

Offline Web apps are finally a thing. The cleverest of ideas which were previously only imagination, are now reality.

+

Thanks to the various storage mechanisms provided by modern browsers, it is now possible to save machine learning models directly on the client side. You can then use these to produce outputs without requiring a connection with the server.

+

This post demonstrates how to do that.

+

Introduction

+

TensorFlow.js is an open source machine learning library backed by Google. It lets you develop and train neural networks in a style similar to its Python counterparts, Keras and TensorFlow (the Python one).

+

In this post, we will use the ability of TensorFlow.js to save a model into browser storage and use it to make predictions offline.

+

We won’t be developing a model from scratch, since that is out of the scope of this post. You can always look up the excellent tutorials on the TensorFlow.js site for that.

+

For our small project, we will pick an already developed model for the classic deep learning problem of recognizing handwritten digits.

+

Prerequisites

+

To be able to follow this guide, you will need some rudimentary knowledge of:

+
    +
  • Node.js
  • +
  • General concepts surrounding neural networks, like training and one-hot encoding
  • +
+

Further, you will need the following software installed on your machine:

+
    +
  • Node.js (v8.15.0 or later)
  • +
  • Git (optional)
  • +
  • Any modern browser
  • +
+

Ready? Let’s get started.

+

Step 1: Train a Model

+

A good implementation of the digit recognition neural network is provided by the Tensorflow.js community. It uses the famous MNIST data set for training. We are going to get the source code and train this model ourselves. If you prefer not to do so, you can skip to Step 1a.

+

Go to the tensorflow/tfjs-examples repository on GitHub and clone or download it to your machine.

+

Navigate into the tfjs-examples/mnist-node directory. Install the dependencies using this command:

+
npm install
+
+

Next, run the following command to train the model and save its files:

+
node main.js --model_save_path=./models
+
+

These will take a few (or several) minutes to run, depending on your hardware. Once it is finished, you will see a new models directory under mnist-node. It will have two files:

+
    +
  • model.json is the compiled structure of the neural network. It contains information about the size, shape and configuration of each layer, among other things.
  • +
  • weights.bin, as the name suggests, contains the weights assigned to each node after training the network.
  • +
+

Step 1a: Download Pre-trained Model (Optional)

+

If you don’t want to train the model yourself, you can download the pre-trained files from my repository:

+ +

Step 2: Web Application Setup

+

Create a separate directory somewhere else for your Web app source code. Let’s call it offline-mnist.

+

To tell the universe that we’ll be using npm dependencies, run this command inside your offline-mnist directory:

+
npm init -y
+
+

This will generate a package.json file.

+

Since we want to use TensorFlow.js in our code, let’s declare it as a dependency:

+
npm install @tensorflow/tfjs
+
+

This is also where you might want to install any development dependencies you require for the project. I used TypeScript with Parcel bundler, so I had to do something like:

+
npm install --save-dev typescript parcel-bundler parcel-plugin-static-files-copy
+
+

Step 3: Copy the Model

+

Copy the models directory you created in Step 1, and paste it into your project directory, inside a new static subdirectory (or wherever your bundler looks for static assets).

+

This will ensure that your trained model files are available for the browser to download.

+

Step 4: Load the Model using HTTP

+

Awesome! Now that the boilerplate is done, it is time to put some sizzling code onto it.

+

Create an index.js file (or index.ts if you chose TypeScript).

+

First things first:

+
import { loadLayersModel } from "@tensorflow/tfjs";
+
+

The loadLayersModel function lets you fetch your TensorFlow.js model from a variety of sources—HTTP in our case. It returns a Promise of the model object.

+

We need to provide a URL to loadLayersModel to tell it where to get the files from. If it starts with http:// or https://, it will know that it needs to make an HTTP call.

+

Since we are serving everything from the same origin, we will use window.location.href to determine the current origin, which might be something like http://127.0.0.1:1234/.

+
const MODEL_HTTP_URL = "models/model.json";
+
+async function fetchModel() {
+  try {
+    const model = await loadLayersModel(window.location.href + MODEL_HTTP_URL);
+    console.log("Model loaded from HTTP.");
+    console.log(model);
+    return model;
+  } catch (error) {
+    console.error(error);
+  }
+}
+
+

The model object is now available for use.

+

Step 5: Save the Model to IndexedDB

+

Now that you have the model object available, the first thing to do is to save it to browser storage. The storage mechanism we will use is called IndexedDB.

+
const MODEL_HTTP_URL = "models/model.json";
+const MODEL_INDEXEDDB_URL = "indexeddb://mnist-model";
+
+async function fetchModel() {
+  try {
+    const model = await loadLayersModel(window.location.href + MODEL_HTTP_URL);
+    console.log("Model loaded from HTTP.");
+
+    // Store the downloaded model locally for future use
+    await model.save(MODEL_INDEXEDDB_URL);
+    console.log("Model saved to IndexedDB.");
+
+    return model;
+  } catch (error) {
+    console.error(error);
+  }
+}
+
+

If you look at the URL we used to save it, you will see that it starts with indexeddb://. This tells TensorFlow.js where to store it.

+

Step 6: Put It Together

+

All right, so we now have a fast, offline way to get our model. So, for any subsequent page loads, we should always load from IndexedDB, right?

+

Not exactly.

+

Of course, we want speed, so we should prefer IndexedDB, but bear in mind that it is not 100% reliable.

+

Your saved data might no longer be available in any of these scenarios:

+
    +
  • The user is browsing in private/incognito mode
  • +
  • The user clears site data, or their entire browser data
  • +
  • The browser decides to make space when the device is running out of storage
  • +
+

In times like this, old HTTP can still come to our rescue.

+

We try to fetch the model from IndexedDB first, because it is quicker, but if that fails, we fetch it from HTTP and save it again to IndexedDB.

+
async function fetchModel() {
+  try {
+    // Try loading locally saved model
+    const model = await loadLayersModel(MODEL_INDEXEDDB_URL);
+    console.log("Model loaded from IndexedDB");
+
+    return model;
+  } catch (error) {
+    // If local load fails, get it from the server
+    try {
+      const model = await loadLayersModel(
+        window.location.href + MODEL_HTTP_URL
+      );
+      console.log("Model loaded from HTTP.");
+
+      // Store the downloaded model locally for future use
+      await model.save(MODEL_INDEXEDDB_URL);
+      console.log("Model saved to IndexedDB.");
+
+      return model;
+    } catch (error) {
+      console.error(error);
+    }
+  }
+}
+
+

There! Nice and robust!

+

Step 7: Make Predictions

+

Now that our function is ready, time has come to put it to some good use.

+

What we need here is the predict method on our model. It takes a tensor data type as an input.

+

Tensors are, in really simplified terms, n-dimensional arrays of fixed size and fixed data type.

+

Our digit recognition model is designed to accept a four-dimensional tensor as input. The shape of the tensor needs to be [1, 28, 28, 1]. This means that the first dimension will have length 1, the second will have length 28, and so on.

+

The output is also a tensor of which the second dimension is a one-hot encoded array of predictions. We can determine the result using argMax on this dimension.

+

Translating all this information into code will result in:

+
async function predict(input, model) {
+  const prediction = model.predict(input.reshape([1, 28, 28, 1]));
+  const result = await prediction.argMax(1).data();
+  return result[0];
+}
+
+

The input in this case is the user-drawn digit on a Web page, transformed into a tensor type. How to do that is, again, a long story, but you can always refer to my repository for that.

+

For a live demo, check out my implementation.

+

Conclusion

+

We wanted to make neural network predictions offline. To do so, we trained a model and fetched it from HTTP into our Web application. We then stored it to IndexedDB for later use.

+

In every subsequent call, we tried to load the model from IndexedDB, thus saving a network call, failing which we fell back to fetching it again from HTTP.

+

This is the simplest use case for making predictions, and I hope you can now get started with more advanced applications of offline-first machine learning.

+

Keep learning, and keep your machines learning.

+

Update 2019-08-04

+

Changed the code to work with TensorFlow.js 1.x.

+ +
+ + + +
+
+ +
+ + + diff --git a/404.html b/404.html new file mode 100644 index 0000000..05557c7 --- /dev/null +++ b/404.html @@ -0,0 +1,178 @@ + + + + + + Not found + · prose&const + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + + Code and musings by Darshak Parikh + + +
+ +
+
+  
+

404: Not found

+
+ +
+

This is a dead end. Go home, you're drunk.

+
+
+
+ + +
+ + + diff --git a/CNAME b/CNAME new file mode 100644 index 0000000..785de78 --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +proseandconst.xyz diff --git a/about/index.html b/about/index.html new file mode 100644 index 0000000..fa3d492 --- /dev/null +++ b/about/index.html @@ -0,0 +1,191 @@ + + + + + + About Me + · prose&const + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + + Code and musings by Darshak Parikh + + +
+ +
+
+
+

About Me

+ +
+
+
+

My name is Darshak Parikh. I am a UI developer living in India.

+

I write about technology, open source software and psychology among other things.

+

Web development caught my interest in 2015, and I haven’t looked back since. I enjoy writing fast, sexy web apps and sites. I do that professionally at CoffeeBeans Consulting.

+

I also develop a bunch of side projects, most of which are on GitHub. I contribute to and develop apps for elementary OS.

+

Besides programming, I create pixel art and play retro games.

+

If you want to talk about these or any other topics, hit me up on Mastodon. Or send me an email at darshak at protonmail.com.

+ +
+ +
+
+ +
+ + + diff --git a/android-chrome-192x192.png b/android-chrome-192x192.png new file mode 100644 index 0000000..52a6efa Binary files /dev/null and b/android-chrome-192x192.png differ diff --git a/android-chrome-512x512.png b/android-chrome-512x512.png new file mode 100644 index 0000000..8912319 Binary files /dev/null and b/android-chrome-512x512.png differ diff --git a/apple-touch-icon.png b/apple-touch-icon.png new file mode 100644 index 0000000..f2e00f6 Binary files /dev/null and b/apple-touch-icon.png differ diff --git a/atom.xml b/atom.xml new file mode 100644 index 0000000..fceb9ec --- /dev/null +++ b/atom.xml @@ -0,0 +1,755 @@ + + + prose&const + Code and musings by Darshak Parikh + + + Zola + 2024-10-08T00:00:00+00:00 + https://proseandconst.xyz/atom.xml + + Two-week Review of EvoFox Katana X2 Keyboard + 2024-10-08T00:00:00+00:00 + 2024-10-08T00:00:00+00:00 + + + + + Unknown + + + + + + https://proseandconst.xyz/blog/katana-x2-review/ + + <p>First things first: I’m no expert on mechanical keyboards.</p> +<p>In fact, this is my first mechanical keyboard after spending half my life on membrane keyboards and being perfectly happy with them. So while this is not an experienced review, it does come from someone who has been somewhat sceptical of mechanical keyboards.</p> +<p>Many people have told me about their superiority, but last month, a friend finally got into my head and I decided to try out an entry-level keyboard and see how it fares.</p> +<p><img src="/images/katana-x2-review/katana-x2.jpg" alt="A wired black-coloured mechanical keyboard with its rainbow backlights on" /></p> +<p>Spoiler alert: I wasn’t disappointed.</p> +<h2 id="buying-experience-3-5">Buying experience: 3/5</h2> +<p>I got myself the tenkeyless variant of EvoFox Katana X2 with blue switches and black colour. They have a white one with full-size layout and red switches, but that’s the only other variant at the time of writing. And on Amazon, this is listed as a variant of older generation Katana keyboards.</p> +<p>So while EvoFox makes good budget products, their cataloguing sucks.</p> +<p>I say good products, because I already have a game controller from them, which works great. So I took a leap of faith despite there being no reviews of this product other than the scant customer reviews on Flipkart and Amazon — which are extremely favourable.</p> +<h2 id="build-quality-4-5">Build quality: 4/5</h2> +<p>The keyboard is sturdy and uses quality plastic. It is neither heavy nor light and can be easily carried in a backpack along with a laptop and a charger.</p> +<p>The keycaps are fairly stable, but not the most stable I’ve seen. It also claims a lifetime of 50 million keystrokes and comes with swappable switches.</p> +<h2 id="typing-experience-5-5">Typing experience: 5/5</h2> +<h3 id="feel">Feel</h3> +<p>The tactile feedback is accurate, in that you can feel the exact millisecond the switch clicks. It is what you would expect from blue switches.</p> +<h3 id="sound">Sound</h3> +<p>My more experienced friends have called it somewhat on the thockier side. I’ve felt the thock only on the larger keys like <kbd>Enter</kbd>, <kbd>Backspace</kbd> and <kbd>Spacebar</kbd>, while the other keys sound clicky to me.</p> +<h3 id="speed">Speed</h3> +<p>On membrane keyboards, I used to hit 60 to 70 words per minute depending on which typing tutor I use to measure. With the Katana X2, I was at a good 50 within the first hour of usage, and by the second day, I was at my usual speeds.</p> +<p>After a couple of weeks, I’m hitting 70 to 80 words per minute, which is slightly better than my previous best.</p> +<h2 id="other-stuff">Other stuff</h2> +<p>The keyboard comes with a handy volume control knob at the top right corner. It also lets you control the backlight brightness after a long press.</p> +<p>Speaking of backlight, it has rainbow lighting, with fixed colours for each key. There are a bunch of lighting effects, but I’m not interested in backlights at all, so I have no opinion on that.</p> +<h2 id="conclusion">Conclusion</h2> +<p>If you’ve never tried mechanical keyboards and don’t want to spend a lot before you know you’re into the hobby, and you’re okay with a wired keyboard, then the EvoFox Katana X2 is for you. It’s a bargain at the price of ₹1799–₹1899.</p> + + + + + Fixing the Stupid Defaults on macOS + 2024-10-06T00:00:00+00:00 + 2024-10-06T00:00:00+00:00 + + + + + Unknown + + + + + + https://proseandconst.xyz/blog/fix-macos-defaults/ + + <h2 id="why">Why</h2> +<p>My work laptop is usually a MacBook, and installing Linux on that is not possible for various reasons.</p> +<p>Now, being stuck with macOS isn’t all that bad. I’d take it any day over Windows. I even get to sync my <a href="https://github.com/dar5hak/dotfiles">dotfiles</a> across Linux and macOS.</p> +<p>That said, one of the first things I do after receiving a new MacBook for a project is fixing some of its silly defaults and making it somewhat <a href="https://elementary.io/">more sensible</a>.</p> +<h2 id="auto-hide-the-dock">Auto-hide the dock</h2> +<p><strong>System Settings</strong> &gt; <strong>Desktop &amp; Dock</strong> &gt; turn on <strong>Automatically hide and show the Dock</strong></p> +<p>It’s not as smart as elementary OS, so it stays hidden even when there is no window blocking its space, but turning on this setting is more useful than giving so much real estate to something I <a href="https://www.raycast.com/">rarely touch</a>.</p> +<h2 id="stop-reordering-spaces">Stop reordering spaces</h2> +<p><strong>System Settings</strong> &gt; <strong>Desktop &amp; Dock</strong> &gt; turn off <strong>Automatically rearrange Spaces based on most recent use</strong></p> +<p>I don’t know who uses this, but I prefer to know exactly where my windows are instead of finding them by trial and error.</p> +<h2 id="scroll-reverser">Scroll Reverser</h2> +<p>Sometimes I use a mouse, sometimes the trackpad. I want natural scrolling on one but not the other, so I should change the setting for each of them, right?</p> +<p>Oh, my sweet summer child! Just because they are two different checkboxes doesn’t mean they are two different settings. They’re bound to the same thing. Changing one updates the other. The US really needs to do something about their drug problem.</p> +<p>But until then, install <a href="https://pilotmoon.com/scrollreverser/">Scroll Reverser</a> to keep your sanity.</p> +<h2 id="alttab">AltTab</h2> +<p>What are all these background apps doing in my <kbd>Cmd</kbd> + <kbd>Tab</kbd> switcher? Why do I see apps from other spaces? Who invited Finder?</p> +<p><a href="https://alt-tab-macos.netlify.app/">AltTab</a> fixes all that and lets you tweak it as per your needs.</p> +<h2 id="bluesnooze">Bluesnooze</h2> +<p>You’re going for a walk, so you decide to play a podcast on your phone and listen to it on your earphones. But guess what? Your earphones get connected to your sleeping MacBook before your phone.</p> +<p>Now, you could open your backpack, take out your MacBook, unlock it, turn off Bluetooth and put it back in the pack. Or you could install <a href="https://github.com/odlp/bluesnooze/">Bluesnooze</a> and get on with your life.</p> +<p>There used to be a setting to turn off this (even then) abominable default, but it’s gone now.</p> +<h2 id="hidden-bar">Hidden Bar</h2> +<p>No, this is not the name of a shady place you go to for cheap alcohol. <a href="https://github.com/dwarvesf/hidden/">Hidden Bar</a> is a tool to control the chaos of apps filling up your menu bar with icons you either never click or don’t want to look at because they’re ugly.</p> + + + + + Two-week Review of Arc Browser + 2022-11-11T00:00:00+00:00 + 2023-03-25T00:00:00+00:00 + + + + + Unknown + + + + + + https://proseandconst.xyz/blog/arc-review/ + + <p><a href="https://arc.net/">Arc Browser</a> had been making waves in my social media circles, so I was mildly intrigued by what they were making. But it is in closed preview at the time of writing, so I didn’t bother taking a deeper look. I was happy with Firefox.</p> +<p>That was until my friend Rahul mentioned he had been enjoying it and shared an invite to the preview. Now, after two weeks of using it as the primary browser on my macOS workstation, I want to share some thoughts.</p> +<h2 id="what-i-like">What I like</h2> +<h3 id="spaces-and-profiles">Spaces and Profiles</h3> +<p>Spaces are a way to group your tabs and bookmarks, which is Arc’s answer to multiple windows. Profiles, on the other hand, group your logins, much like Firefox Containers. The two features work well together.</p> +<p>I use these to separate my personal browsing, my work browsing and my client work browsing. I even colour-coded the Spaces to match the brand colours of the said companies, while choosing an autumn orange for my Personal Space.</p> +<p><img src="/images/arc-review/personal-space.png" alt="A screenshot of my Personal Space in Arc, with an autumn orange gradient background, showing my pinned tabs and folders in a sidebar on the left" /></p> +<p>This way, I can tell at a vague glance the Space I’m in right now. Switching Spaces with the touchpad gesture has become second nature in a short time.</p> +<h3 id="easels">Easels</h3> +<p>You can capture any rectangular area on any web page and save it to a so-called Easel. This is like a sharable board to collect stuff from various parts of the web. You can even add text, pictures and arrows to it. Think of it like a love child of Excalidraw and Pinterest.</p> +<p>And that rectangle you captured? By default, it is an ordinary screenshot with a link to the source page. But the magic starts when you press the Play button on it. This will make it update live, so you can keep an eye on a part of a page without opening the entire page. Nifty!</p> +<p>I’ve been using an Easel to track my <a href="https://inktober.com/">Inktober</a> progress. I added an image with the list of daily prompts and my to-do item which I could check right away. I also added links to the Mastodon and Twitter threads where I post the artworks.</p> +<p><img src="/images/arc-review/inktober-easel.png" alt="A screenshot of my Inktober Easel in Arc, with a heading saying “Inktober”, an image containing a list of art prompts, a Habitica to-do item saying “Inktober” and screenshots of a Mastodon thread and a Twitter thread" /></p> +<p>This lifts the overhead of deciding what to do next: everything is (literally) laid out in front of me.</p> +<h3 id="command-bar">Command Bar</h3> +<p>I use VS Code, so I’m used to summoning a genie text input and typing my wish.</p> +<p>Arc has this feature, and it’s pretty smart. Enter a URL, a web search query or a browser action, and it will know what to do.</p> +<p>Arc is also keyboard-friendly in general. Not only does it have good shortcuts, it also makes them easy to discover and change.</p> +<h3 id="little-arc">Little Arc</h3> +<p>You’re in another app, say, Slack, and you click a link. You don’t have to switch over to the main browser window. You can choose to open a smaller window right there, do your thing and close it without switching contexts.</p> +<p>I use this to check out shared links and review small pull requests. If it needs more time and space, there’s a button to open it in the main browser window.</p> +<h3 id="boosts">Boosts</h3> +<p>This is a fancy name for what are traditionally known as user styles and user scripts, except that you don’t need to install an extension.</p> +<p>The idea is that you can add custom code to some or all websites and tweak them to your liking. People have used these to theme pages, add features and remove unwanted crap among other things.</p> +<p>The major difference is that Boosts in Arc are more approachable. You can choose from pre-built templates, which come with nice code comments to guide you through the process.</p> +<p>I’m yet to write my own Boost, but I’m more likely to write one for Arc than any other browser.</p> +<p>Also, by giving it a simple name and making it more developer-friendly, Arc could even create a marketplace to share and install public Boosts. I haven’t heard of any plans to do so yet — it’s a complicated undertaking — but they could if they wanted to.</p> +<h3 id="split-view">Split view</h3> +<p>This is what it says on the tin. You can split the window to see multiple tabs at once.</p> +<p>I have often wished for this in other browsers. While this can be solved by tiling two browser windows, I am not a fan of the window management in macOS, so a built-in split view is a boon.</p> +<h2 id="what-i-don-t-like">What I don’t like</h2> +<h3 id="no-reader-mode">No reader mode</h3> +<p>Websites like to smother their articles with cookie banners, pop-ups and other annoyances.</p> +<p>With a click of a button, I can get rid of it all and focus on the content, while being able to tweak the appearance to my liking. In Firefox, that is. I sorely miss this feature in Arc.</p> +<h3 id="it-s-only-for-macos-for-now">It’s only for macOS (for now)</h3> +<p>My other devices are a phone (running Android), a laptop and a Raspberry Pi (both running Linux). Firefox syncs among all these devices. Arc does not (yet).</p> +<p>The next platform they’re planning to support is a logical choice, but one I couldn’t care less about: Windows.</p> +<h3 id="it-s-chromium">It’s Chromium</h3> +<p>It’s sad that yet another new browser has to contribute to the Chromium monopoly.</p> +<p>Even if I do swallow that pill, what’s harder for me is to get used to Chromium devtools. The UX just doesn’t compare to that of Firefox devtools. And while there are some brilliant designers working on Arc, they’re unlikely to change the devtools.</p> +<p>Furthermore, Arc uses the Chrome Web Store for extensions. This means I cannot install extensions which Google doesn’t like because they harm their ad business. The Firefox add-ons marketplace is much more relaxed in those terms.</p> +<h2 id="conclusion">Conclusion</h2> +<p>Overall, I’m happy with the direction Arc is going in. I love the features and happily use it as my default browser. That said, there are few important things missing, so I will likely switch back to Firefox soon.</p> +<p>If you are reading this as a part of the Arc team, I will keep cheering for you (unless you do something terrible). All the best, and keep up the great work!</p> +<h3 id="update-2023-03-25">Update: 2023-03-25</h3> +<p>Four months later, Arc is still my default browser, and I see no reason to switch away at this point. However, I am closely watching how the company plans to make profits. If they make a move that does not sit well with me ethically, I will pull out in a heartbeat.</p> + + + + + On Going Back to the Office + 2022-04-25T00:00:00+00:00 + 2022-04-25T00:00:00+00:00 + + + + + Unknown + + + + + + https://proseandconst.xyz/blog/back-to-office/ + + <p>My workplace has asked everyone to start coming to office at least thrice a week. Each team picks which three weekdays are best suited to them.</p> +<p>This means that I will be moving to Bengaluru this week and find a place to stay somewhere close to work.</p> +<p>I, for one, am excited about this.</p> +<h2 id="work-from-where">Work From Where?</h2> +<p>There’s a narrative that says knowledge workers no longer need offices, because they are equally productive working from home. While I respect their choice, I find myself to feel much better about my job — and life in general — while working from an office.</p> +<p>For one, it helps you set a clear boundary between work and not-work. Your mind gets into either mode based on where you are.</p> +<p>Furthermore, as a developer, you do much more than just write code. You spend a lot of time talking to people. You discuss requirements, ask for help, give help, clarify things and review code to name a few.</p> +<p>All this is possible to do over the internet, no doubt. But I find it much more organic, much more human to do it in person.</p> +<p>Our brains are more accustomed to reading facial expressions and body language than they are at processing words. And it is much easier to showcase your intent through these. Heck, it’s harder to hide your intent.</p> +<p>For example, while providing critical feedback, you don’t want to come across as bossy or arrogant. No matter how good you are at language, this is hard to do with mere words and emoji. But wearing a kind, friendly expression on your face is so natural that you don’t even stop and think about it. Think about it.</p> +<p>There’s a reason people are regularly misunderstood on social media.</p> +<p><strong>Note:</strong> I am saying all this from a subjective, neurotypical viewpoint. I mean no disrespect to people who cannot or don’t want to work from an office for any reason.</p> +<h2 id="not-work-work">Not-work Work</h2> +<p>Moving from living with my parents to living on my own also comes with an advantage. I get more time and space to work on things that matter the most to me: side projects, open source and pixel art.</p> +<p>I have been procrastinating for far too long, and it’s about time I went back to following <a href="/blog/creation-consumption">my own advice</a>.</p> + + + + + Creating Underlined Hyperlinks in Inkscape + 2021-02-11T00:00:00+00:00 + 2022-07-31T00:00:00+00:00 + + + + + Unknown + + + + + + https://proseandconst.xyz/blog/underlined-link-inkscape/ + + <p>Sometimes you want to create a vector graphic résumé or an infographic and export it as PDF. Doing this is easy in Inkscape using its <strong>Print</strong> function to create a file instead of printing on paper.</p> +<p>If your document has a web or email address, it is a good idea to make it clickable, so that anyone looking at the PDF doesn't have to copy and paste the address.</p> +<p>I'll show you how to do that.</p> +<h2 id="creating-a-link">Creating a link</h2> +<p>Using the <strong>Select</strong> tool (the mouse-pointer arrow thing), select the object which you want to turn into a hyperlink. This will usually be text, but it can be anything: a rectangle, a path, a vectorized taco, anything.</p> +<p><img src="/images/underlined-link-inkscape/text-unstyled.png" alt="" /></p> +<p>Now right click on this object and select <strong>Create Link</strong>.</p> +<p>This will open up a pane on the right that looks like this:</p> +<p><img src="/images/underlined-link-inkscape/attr-pane-empty.png" alt="" /></p> +<p>In the <strong>Href</strong> field, type your address:</p> +<p><img src="/images/underlined-link-inkscape/attr-pane-filled.png" alt="" /></p> +<p>That's it. There's no <strong>Apply</strong> button. Your object is now clickable. Go home.</p> +<p>But there's a problem. Our text doesn't <em>look like</em> it's clickable.</p> +<h2 id="adding-an-underline">Adding an underline</h2> +<p>The most foolproof way to make text look like a link is to underline it.</p> +<p>To do that, open the <strong>Object</strong> menu at the top of your window, and select an option called <strong>Selectors and CSS…</strong>. Then select your text object. This will open up another pane to the right:</p> +<p><img src="/images/underlined-link-inkscape/css-pane-default.png" alt="" /></p> +<p>What you see is a table of the various style properties applied to the text under the hood. These are the defaults, but we want to add one more property here.</p> +<p>Click the <strong>+</strong> icon at the top left corner. It will add a new row.</p> +<p>Start typing <kbd>text-decoration</kbd>.</p> +<p><img src="/images/underlined-link-inkscape/css-pane-text-decoration-typing.png" alt="" /></p> +<p>You can select the suggestion. Once done, press <kbd>Tab</kbd> to go to the next column. Here, type <kbd>underline</kbd> and hit <kbd>Enter</kbd>.</p> +<p><img src="/images/underlined-link-inkscape/css-pane-text-decoration.png" alt="" /></p> +<p>Boom! You have your underline.</p> +<p><img src="/images/underlined-link-inkscape/text-black-underline.png" alt="" /></p> +<p>But it's not over yet.</p> +<p>What if you, like myself, are not a fan of pure black text on white, and prefer some colour in your life? A black underline is no good.</p> +<h2 id="colouring-the-underline">Colouring the underline</h2> +<p>Easy. In the same pane where you added the underline, add another property called <kbd>text-decoration-color</kbd>.</p> +<p><img src="/images/underlined-link-inkscape/css-pane-text-decoration-color-typing.png" alt="" /></p> +<p>In the right column goes your colour's hex code, <kbd>#156255</kbd> in my case.</p> +<p><img src="/images/underlined-link-inkscape/css-pane-text-decoration-color.png" alt="" /></p> +<p>You should see the coloured underline now!</p> +<p><img src="/images/underlined-link-inkscape/text-coloured-underline.png" alt="" /></p> +<h2 id="references">References</h2> +<ul> +<li><a href="https://alpha.inkscape.org/vectors/www.inkscapeforum.com/viewtopicb247.html?t=2025">This one</a></li> +<li><a href="https://wallpapersite.com/en/knowledge-base/66990/how-to-underline-text-in-inkscape">This one</a></li> +<li><a href="https://graphicdesign.stackexchange.com/questions/66990/how-to-underline-text-in-inkscape">And this one</a></li> +</ul> + + + + + Implementing a ‘Select all’ Checkbox Using ES6 Set + 2020-11-21T00:00:00+00:00 + 2020-11-21T00:00:00+00:00 + + + + + Unknown + + + + + + https://proseandconst.xyz/blog/select-all-set/ + + <h2 id="problem-statement">Problem statement</h2> +<p>Say you have a list of selectable items like emails or todos. There’s a checkbox next to each item, and the user can select multiple items to do some action with them.</p> +<p>Since you love your users, you don’t want them to always select items one by one, so you provide a ‘Select all’ checkbox. There are four criteria you need to fulfill:</p> +<ol> +<li>On checking the ‘Select all’ checkbox, all item checkboxes should be checked.</li> +<li>On unchecking the ‘Select all’ checkbox, all item checkboxes should be unchecked.</li> +<li>On individually checking each item checkbox, the ‘Select all’ checkbox should also be checked.</li> +<li>On unchecking at least one item checkbox, the ‘Select all’ checkbox should also be unchecked.</li> +</ol> +<h2 id="why-use-a-set">Why use a set?</h2> +<p>You could use an array for this, and indeed, most of the code I have mentioned can be adapted for an array. However, we put our selected items in a set for these reasons:</p> +<ul> +<li>We don’t care about the order.</li> +<li>Removing an item from a set is trivial: just call <code>.delete(item)</code>. It’s not so easy for arrays. You have to find the index of that item, either implicitly or explicitly.</li> +<li>You don’t have to look out for duplicate items while adding or removing them.</li> +<li>You don’t have to look out for empty slots after removing items.</li> +</ul> +<p>I am going to provide a step-by-step solution to this. The code uses Svelte, but you should be able to adapt it to React, Angular, Vue or any other framework.</p> +<h2 id="step-1-display-the-checkboxes">Step 1: Display the checkboxes</h2> +<p>In our <code>&lt;List&gt;</code> component, we define an array of items and render each item in a list of checkboxes.</p> +<pre data-lang="html" style="background-color:#0f1419;color:#bfbab0;" class="language-html "><code class="language-html" data-lang="html"><span style="color:#39bae690;">&lt;</span><span style="color:#59c2ff;">script</span><span style="color:#39bae690;">&gt; +</span><span> </span><span style="color:#ff7733;">const </span><span>ducks </span><span style="color:#f29668;">= </span><span>[</span><span style="color:#c2d94c;">&#39;Huey&#39;</span><span style="color:#bfbab0cc;">, </span><span style="color:#c2d94c;">&#39;Dewey&#39;</span><span style="color:#bfbab0cc;">, </span><span style="color:#c2d94c;">&#39;Louie&#39;</span><span>]</span><span style="color:#bfbab0cc;">; +</span><span style="color:#39bae690;">&lt;/</span><span style="color:#59c2ff;">script</span><span style="color:#39bae690;">&gt; +</span><span> +</span><span style="color:#39bae690;">&lt;</span><span style="color:#59c2ff;">style</span><span style="color:#39bae690;">&gt; +</span><span> </span><span style="color:#59c2ff;">ol </span><span>{ +</span><span> </span><span style="color:#39bae6;">list-style-type</span><span style="color:#bfbab0cc;">: </span><span style="font-style:italic;color:#f29668;">none</span><span style="color:#bfbab0cc;">; +</span><span> </span><span style="color:#39bae6;">padding-left</span><span style="color:#bfbab0cc;">: </span><span style="color:#f29718;">0</span><span style="color:#bfbab0cc;">; +</span><span> } +</span><span style="color:#39bae690;">&lt;/</span><span style="color:#59c2ff;">style</span><span style="color:#39bae690;">&gt; +</span><span> +</span><span style="color:#39bae690;">&lt;</span><span style="color:#59c2ff;">ol</span><span style="color:#39bae690;">&gt; +</span><span> {#each ducks as duck} +</span><span> </span><span style="color:#39bae690;">&lt;</span><span style="color:#59c2ff;">li</span><span style="color:#39bae690;">&gt; +</span><span> </span><span style="color:#39bae690;">&lt;</span><span style="color:#59c2ff;">input </span><span style="color:#ffb454;">type</span><span style="color:#bfbab0cc;">=</span><span style="color:#c2d94c;">&quot;checkbox&quot; </span><span style="color:#ffb454;">id</span><span style="color:#bfbab0cc;">=</span><span style="color:#c2d94c;">{duck} </span><span style="color:#ffb454;">value</span><span style="color:#bfbab0cc;">=</span><span style="color:#c2d94c;">{duck}</span><span style="color:#39bae690;">&gt; +</span><span> </span><span style="color:#39bae690;">&lt;</span><span style="color:#59c2ff;">label </span><span style="color:#ffb454;">for</span><span style="color:#bfbab0cc;">=</span><span style="color:#c2d94c;">{duck}</span><span style="color:#39bae690;">&gt;</span><span>{duck}</span><span style="color:#39bae690;">&lt;/</span><span style="color:#59c2ff;">label</span><span style="color:#39bae690;">&gt; +</span><span> </span><span style="color:#39bae690;">&lt;/</span><span style="color:#59c2ff;">li</span><span style="color:#39bae690;">&gt; +</span><span> {/each} +</span><span style="color:#39bae690;">&lt;/</span><span style="color:#59c2ff;">ol</span><span style="color:#39bae690;">&gt; +</span></code></pre> +<p>This works as you might expect.</p> +<p><img src="/images/select-all-set/item-boxes-unchecked.png" alt="Three checkboxes saying ‘Huey’, ‘Dewey’ and ‘Louie’" /></p> +<h2 id="step-2-add-a-select-all-checkbox">Step 2: Add a ‘Select all’ checkbox</h2> +<p>We do this by adding another <code>&lt;li&gt;</code> above the loop.</p> +<pre data-lang="html" style="background-color:#0f1419;color:#bfbab0;" class="language-html "><code class="language-html" data-lang="html"><span style="color:#39bae690;">&lt;</span><span style="color:#59c2ff;">ol</span><span style="color:#39bae690;">&gt; +</span><span> </span><span style="color:#39bae690;">&lt;</span><span style="color:#59c2ff;">li</span><span style="color:#39bae690;">&gt; +</span><span> </span><span style="color:#39bae690;">&lt;</span><span style="color:#59c2ff;">input </span><span style="color:#ffb454;">type</span><span style="color:#bfbab0cc;">=</span><span style="color:#c2d94c;">&quot;checkbox&quot; </span><span style="color:#ffb454;">id</span><span style="color:#bfbab0cc;">=</span><span style="color:#c2d94c;">&quot;select-all&quot;</span><span style="color:#39bae690;">&gt; +</span><span> </span><span style="color:#39bae690;">&lt;</span><span style="color:#59c2ff;">label </span><span style="color:#ffb454;">for</span><span style="color:#bfbab0cc;">=</span><span style="color:#c2d94c;">&quot;select-all&quot;</span><span style="color:#39bae690;">&gt;&lt;</span><span style="color:#59c2ff;">strong</span><span style="color:#39bae690;">&gt;</span><span>Select all</span><span style="color:#39bae690;">&lt;/</span><span style="color:#59c2ff;">strong</span><span style="color:#39bae690;">&gt;&lt;/</span><span style="color:#59c2ff;">label</span><span style="color:#39bae690;">&gt; +</span><span> </span><span style="color:#39bae690;">&lt;/</span><span style="color:#59c2ff;">li</span><span style="color:#39bae690;">&gt; +</span><span> {#each ducks as duck} +</span><span> </span><span style="color:#39bae690;">&lt;</span><span style="color:#59c2ff;">li</span><span style="color:#39bae690;">&gt; +</span><span> </span><span style="color:#39bae690;">&lt;</span><span style="color:#59c2ff;">input </span><span style="color:#ffb454;">type</span><span style="color:#bfbab0cc;">=</span><span style="color:#c2d94c;">&quot;checkbox&quot; </span><span style="color:#ffb454;">id</span><span style="color:#bfbab0cc;">=</span><span style="color:#c2d94c;">{duck} </span><span style="color:#ffb454;">value</span><span style="color:#bfbab0cc;">=</span><span style="color:#c2d94c;">{duck}</span><span style="color:#39bae690;">&gt; +</span><span> </span><span style="color:#39bae690;">&lt;</span><span style="color:#59c2ff;">label </span><span style="color:#ffb454;">for</span><span style="color:#bfbab0cc;">=</span><span style="color:#c2d94c;">{duck}</span><span style="color:#39bae690;">&gt;</span><span>{duck}</span><span style="color:#39bae690;">&lt;/</span><span style="color:#59c2ff;">label</span><span style="color:#39bae690;">&gt; +</span><span> </span><span style="color:#39bae690;">&lt;/</span><span style="color:#59c2ff;">li</span><span style="color:#39bae690;">&gt; +</span><span> {/each} +</span><span style="color:#39bae690;">&lt;/</span><span style="color:#59c2ff;">ol</span><span style="color:#39bae690;">&gt; +</span></code></pre> +<p>It will, again, meet expectations.</p> +<p><img src="/images/select-all-set/all-boxes-unchecked.png" alt="A ‘Select all’ checkbox in above three duck checkboxes" /></p> +<h2 id="step-3-define-a-set-to-hold-the-selected-values">Step 3: Define a set to hold the selected values</h2> +<p>We initialize an empty set called <code>selectedDucks</code>. Every time a user checks a box, we add it to the set. Every time they uncheck one, we remove it from the set.</p> +<pre data-lang="html" style="background-color:#0f1419;color:#bfbab0;" class="language-html "><code class="language-html" data-lang="html"><span style="color:#39bae690;">&lt;</span><span style="color:#59c2ff;">script</span><span style="color:#39bae690;">&gt; +</span><span> </span><span style="color:#ff7733;">const </span><span>ducks </span><span style="color:#f29668;">= </span><span>[</span><span style="color:#c2d94c;">&#39;Huey&#39;</span><span style="color:#bfbab0cc;">, </span><span style="color:#c2d94c;">&#39;Dewey&#39;</span><span style="color:#bfbab0cc;">, </span><span style="color:#c2d94c;">&#39;Louie&#39;</span><span>]</span><span style="color:#bfbab0cc;">; +</span><span> +</span><span> </span><span style="color:#ff7733;">let </span><span>selectedDucks </span><span style="color:#f29668;">= </span><span style="color:#ff7733;">new </span><span style="font-style:italic;color:#39bae6;">Set</span><span>()</span><span style="color:#bfbab0cc;">; +</span><span> +</span><span> </span><span style="color:#ff7733;">const </span><span>onCheckDuck </span><span style="color:#f29668;">= </span><span style="color:#f29718;">event </span><span style="color:#ff7733;">=&gt; </span><span>{ +</span><span> </span><span style="color:#ff7733;">if </span><span>(event</span><span style="color:#f29668;">.</span><span>target</span><span style="color:#f29668;">.</span><span>checked) { +</span><span> selectedDucks</span><span style="color:#f29668;">.</span><span style="color:#ffb454;">add</span><span>(event</span><span style="color:#f29668;">.</span><span>target</span><span style="color:#f29668;">.</span><span>value)</span><span style="color:#bfbab0cc;">; +</span><span> } </span><span style="color:#ff7733;">else </span><span>{ +</span><span> selectedDucks</span><span style="color:#f29668;">.</span><span style="color:#ffb454;">delete</span><span>(event</span><span style="color:#f29668;">.</span><span>target</span><span style="color:#f29668;">.</span><span>value)</span><span style="color:#bfbab0cc;">; +</span><span> } +</span><span> selectedDucks </span><span style="color:#f29668;">= </span><span>selectedDucks</span><span style="color:#bfbab0cc;">; +</span><span> }</span><span style="color:#bfbab0cc;">; +</span><span style="color:#39bae690;">&lt;/</span><span style="color:#59c2ff;">script</span><span style="color:#39bae690;">&gt; +</span></code></pre> +<p>Notice how we add a redundant assignment? <code>selectedDucks = selectedDucks;</code> would do nothing in plain JavaScript, but we need it here to tell Svelte to rerender the component. Calling methods like <code>.add()</code> and <code>.delete()</code> on a set does not rerender it.</p> +<p>Next, we bind <code>onCheckDuck</code> to the <code>change</code> event on the checkboxes.</p> +<pre data-lang="html" style="background-color:#0f1419;color:#bfbab0;" class="language-html "><code class="language-html" data-lang="html"><span>{#each ducks as duck} +</span><span> </span><span style="color:#39bae690;">&lt;</span><span style="color:#59c2ff;">li</span><span style="color:#39bae690;">&gt; +</span><span> </span><span style="color:#39bae690;">&lt;</span><span style="color:#59c2ff;">input </span><span style="color:#ffb454;">type</span><span style="color:#bfbab0cc;">=</span><span style="color:#c2d94c;">&quot;checkbox&quot; </span><span style="color:#ffb454;">id</span><span style="color:#bfbab0cc;">=</span><span style="color:#c2d94c;">{duck} </span><span style="color:#ffb454;">value</span><span style="color:#bfbab0cc;">=</span><span style="color:#c2d94c;">{duck} </span><span style="color:#ffb454;">checked</span><span style="color:#bfbab0cc;">=</span><span style="color:#c2d94c;">{selectedDucks.has(duck)} </span><span style="color:#ffb454;">on:change</span><span style="color:#bfbab0cc;">=</span><span style="color:#c2d94c;">{onCheckDuck}</span><span style="color:#39bae690;">&gt; +</span><span> </span><span style="color:#39bae690;">&lt;</span><span style="color:#59c2ff;">label </span><span style="color:#ffb454;">for</span><span style="color:#bfbab0cc;">=</span><span style="color:#c2d94c;">{duck}</span><span style="color:#39bae690;">&gt;</span><span>{duck}</span><span style="color:#39bae690;">&lt;/</span><span style="color:#59c2ff;">label</span><span style="color:#39bae690;">&gt; +</span><span> </span><span style="color:#39bae690;">&lt;/</span><span style="color:#59c2ff;">li</span><span style="color:#39bae690;">&gt; +</span><span>{/each} +</span></code></pre> +<p>We bind the <code>checked</code> attribute of each item to its presence in the set. We need to do this one-way binding so that if the set is updated from elsewhere (which it will), the checkbox gets checked too.</p> +<h2 id="step-4-bind-the-select-all-checkbox">Step 4: Bind the ‘Select all’ checkbox</h2> +<p>Just like the item checkboxes, we handle the <code>change</code> event on the ‘Select all’ checkbox too. The difference is that when it is checked, we add all the items to the set, and when it is unchecked, we clear the set. This will affect the <code>checked</code> attribute on item checkboxes, thus satisfying our first two criteria.</p> +<pre data-lang="js" style="background-color:#0f1419;color:#bfbab0;" class="language-js "><code class="language-js" data-lang="js"><span style="color:#ff7733;">const </span><span style="color:#ffb454;">onSelectAll </span><span style="color:#f29668;">= </span><span style="color:#f29718;">event </span><span style="color:#ff7733;">=&gt; </span><span>{ +</span><span> </span><span style="color:#ff7733;">if </span><span>(event</span><span style="color:#f29668;">.</span><span>target</span><span style="color:#f29668;">.</span><span>checked) { +</span><span> selectedDucks </span><span style="color:#f29668;">= new </span><span style="color:#59c2ff;">Set</span><span>(ducks)</span><span style="color:#bfbab0cc;">; +</span><span> } </span><span style="color:#ff7733;">else </span><span>{ +</span><span> selectedDucks</span><span style="color:#f29668;">.</span><span style="color:#f07178;">clear</span><span>()</span><span style="color:#bfbab0cc;">; +</span><span> } +</span><span> selectedDucks </span><span style="color:#f29668;">= </span><span>selectedDucks</span><span style="color:#bfbab0cc;">; +</span><span>}</span><span style="color:#bfbab0cc;">; +</span></code></pre> +<pre data-lang="html" style="background-color:#0f1419;color:#bfbab0;" class="language-html "><code class="language-html" data-lang="html"><span style="color:#39bae690;">&lt;</span><span style="color:#59c2ff;">li</span><span style="color:#39bae690;">&gt; +</span><span> </span><span style="color:#39bae690;">&lt;</span><span style="color:#59c2ff;">input </span><span style="color:#ffb454;">type</span><span style="color:#bfbab0cc;">=</span><span style="color:#c2d94c;">&quot;checkbox&quot; </span><span style="color:#ffb454;">id</span><span style="color:#bfbab0cc;">=</span><span style="color:#c2d94c;">&quot;select-all&quot; </span><span style="color:#ffb454;">checked</span><span style="color:#bfbab0cc;">=</span><span style="color:#c2d94c;">{selectedDucks.size</span><span> === </span><span style="color:#ffb454;">ducks.length} on:change</span><span style="color:#bfbab0cc;">=</span><span style="color:#c2d94c;">{onSelectAll}</span><span style="color:#39bae690;">&gt; +</span><span> </span><span style="color:#39bae690;">&lt;</span><span style="color:#59c2ff;">label </span><span style="color:#ffb454;">for</span><span style="color:#bfbab0cc;">=</span><span style="color:#c2d94c;">&quot;select-all&quot;</span><span style="color:#39bae690;">&gt;&lt;</span><span style="color:#59c2ff;">strong</span><span style="color:#39bae690;">&gt;</span><span>Select all</span><span style="color:#39bae690;">&lt;/</span><span style="color:#59c2ff;">strong</span><span style="color:#39bae690;">&gt;&lt;/</span><span style="color:#59c2ff;">label</span><span style="color:#39bae690;">&gt; +</span><span style="color:#39bae690;">&lt;/</span><span style="color:#59c2ff;">li</span><span style="color:#39bae690;">&gt; +</span></code></pre> +<p>Did you see how we bound the <code>checked</code> attribute based on the size of the set? This way, the ‘Select all’ checkbox will get automatically checked and unchecked depending on whether all the item checkboxes are checked. This satisfies the third and fourth criteria.</p> +<h2 id="that-s-all-folks">That’s all, folks!</h2> +<p>We used a set to define which items the user has selected. Based on the contents of the set, we checked and unchecked a ‘Select all’ button. We also handled user interaction on the ‘Select all’ checkbox to fill or empty the set, which in turn checks or unchecks the item checkboxes.</p> +<p>Here is the full code for your reference.</p> +<pre data-lang="html" style="background-color:#0f1419;color:#bfbab0;" class="language-html "><code class="language-html" data-lang="html"><span style="color:#39bae690;">&lt;</span><span style="color:#59c2ff;">script</span><span style="color:#39bae690;">&gt; +</span><span> </span><span style="color:#ff7733;">const </span><span>ducks </span><span style="color:#f29668;">= </span><span>[</span><span style="color:#c2d94c;">&#39;Huey&#39;</span><span style="color:#bfbab0cc;">, </span><span style="color:#c2d94c;">&#39;Dewey&#39;</span><span style="color:#bfbab0cc;">, </span><span style="color:#c2d94c;">&#39;Louie&#39;</span><span>]</span><span style="color:#bfbab0cc;">; +</span><span> +</span><span> </span><span style="color:#ff7733;">let </span><span>selectedDucks </span><span style="color:#f29668;">= </span><span style="color:#ff7733;">new </span><span style="font-style:italic;color:#39bae6;">Set</span><span>()</span><span style="color:#bfbab0cc;">; +</span><span> +</span><span> </span><span style="color:#ff7733;">const </span><span>onCheckDuck </span><span style="color:#f29668;">= </span><span style="color:#f29718;">event </span><span style="color:#ff7733;">=&gt; </span><span>{ +</span><span> </span><span style="color:#ff7733;">if </span><span>(event</span><span style="color:#f29668;">.</span><span>target</span><span style="color:#f29668;">.</span><span>checked) { +</span><span> selectedDucks</span><span style="color:#f29668;">.</span><span style="color:#ffb454;">add</span><span>(event</span><span style="color:#f29668;">.</span><span>target</span><span style="color:#f29668;">.</span><span>value)</span><span style="color:#bfbab0cc;">; +</span><span> } </span><span style="color:#ff7733;">else </span><span>{ +</span><span> selectedDucks</span><span style="color:#f29668;">.</span><span style="color:#ffb454;">delete</span><span>(event</span><span style="color:#f29668;">.</span><span>target</span><span style="color:#f29668;">.</span><span>value)</span><span style="color:#bfbab0cc;">; +</span><span> } +</span><span> selectedDucks </span><span style="color:#f29668;">= </span><span>selectedDucks</span><span style="color:#bfbab0cc;">; +</span><span> }</span><span style="color:#bfbab0cc;">; +</span><span> +</span><span> </span><span style="color:#ff7733;">const </span><span>onSelectAll </span><span style="color:#f29668;">= </span><span style="color:#f29718;">event </span><span style="color:#ff7733;">=&gt; </span><span>{ +</span><span> </span><span style="color:#ff7733;">if </span><span>(event</span><span style="color:#f29668;">.</span><span>target</span><span style="color:#f29668;">.</span><span>checked) { +</span><span> selectedDucks </span><span style="color:#f29668;">= </span><span style="color:#ff7733;">new </span><span style="font-style:italic;color:#39bae6;">Set</span><span>(ducks)</span><span style="color:#bfbab0cc;">; +</span><span> } </span><span style="color:#ff7733;">else </span><span>{ +</span><span> selectedDucks</span><span style="color:#f29668;">.</span><span style="color:#ffb454;">clear</span><span>()</span><span style="color:#bfbab0cc;">; +</span><span> } +</span><span> selectedDucks </span><span style="color:#f29668;">= </span><span>selectedDucks</span><span style="color:#bfbab0cc;">; +</span><span> }</span><span style="color:#bfbab0cc;">; +</span><span style="color:#39bae690;">&lt;/</span><span style="color:#59c2ff;">script</span><span style="color:#39bae690;">&gt; +</span><span> +</span><span style="color:#39bae690;">&lt;</span><span style="color:#59c2ff;">style</span><span style="color:#39bae690;">&gt; +</span><span> </span><span style="color:#59c2ff;">ol </span><span>{ +</span><span> </span><span style="color:#39bae6;">list-style-type</span><span style="color:#bfbab0cc;">: </span><span style="font-style:italic;color:#f29668;">none</span><span style="color:#bfbab0cc;">; +</span><span> </span><span style="color:#39bae6;">padding-left</span><span style="color:#bfbab0cc;">: </span><span style="color:#f29718;">0</span><span style="color:#bfbab0cc;">; +</span><span> } +</span><span style="color:#39bae690;">&lt;/</span><span style="color:#59c2ff;">style</span><span style="color:#39bae690;">&gt; +</span><span> +</span><span style="color:#39bae690;">&lt;</span><span style="color:#59c2ff;">ol</span><span style="color:#39bae690;">&gt; +</span><span> </span><span style="color:#39bae690;">&lt;</span><span style="color:#59c2ff;">li</span><span style="color:#39bae690;">&gt; +</span><span> </span><span style="color:#39bae690;">&lt;</span><span style="color:#59c2ff;">input </span><span style="color:#ffb454;">type</span><span style="color:#bfbab0cc;">=</span><span style="color:#c2d94c;">&quot;checkbox&quot; </span><span style="color:#ffb454;">id</span><span style="color:#bfbab0cc;">=</span><span style="color:#c2d94c;">&quot;select-all&quot; </span><span style="color:#ffb454;">checked</span><span style="color:#bfbab0cc;">=</span><span style="color:#c2d94c;">{selectedDucks.size</span><span> === </span><span style="color:#ffb454;">ducks.length} on:change</span><span style="color:#bfbab0cc;">=</span><span style="color:#c2d94c;">{onSelectAll}</span><span style="color:#39bae690;">&gt; +</span><span> </span><span style="color:#39bae690;">&lt;</span><span style="color:#59c2ff;">label </span><span style="color:#ffb454;">for</span><span style="color:#bfbab0cc;">=</span><span style="color:#c2d94c;">&quot;select-all&quot;</span><span style="color:#39bae690;">&gt;&lt;</span><span style="color:#59c2ff;">strong</span><span style="color:#39bae690;">&gt;</span><span>Select all</span><span style="color:#39bae690;">&lt;/</span><span style="color:#59c2ff;">strong</span><span style="color:#39bae690;">&gt;&lt;/</span><span style="color:#59c2ff;">label</span><span style="color:#39bae690;">&gt; +</span><span> </span><span style="color:#39bae690;">&lt;/</span><span style="color:#59c2ff;">li</span><span style="color:#39bae690;">&gt; +</span><span> {#each ducks as duck} +</span><span> </span><span style="color:#39bae690;">&lt;</span><span style="color:#59c2ff;">li</span><span style="color:#39bae690;">&gt; +</span><span> </span><span style="color:#39bae690;">&lt;</span><span style="color:#59c2ff;">input </span><span style="color:#ffb454;">type</span><span style="color:#bfbab0cc;">=</span><span style="color:#c2d94c;">&quot;checkbox&quot; </span><span style="color:#ffb454;">id</span><span style="color:#bfbab0cc;">=</span><span style="color:#c2d94c;">{duck} </span><span style="color:#ffb454;">value</span><span style="color:#bfbab0cc;">=</span><span style="color:#c2d94c;">{duck} </span><span style="color:#ffb454;">checked</span><span style="color:#bfbab0cc;">=</span><span style="color:#c2d94c;">{selectedDucks.has(duck)} </span><span style="color:#ffb454;">on:change</span><span style="color:#bfbab0cc;">=</span><span style="color:#c2d94c;">{onCheckDuck}</span><span style="color:#39bae690;">&gt; +</span><span> </span><span style="color:#39bae690;">&lt;</span><span style="color:#59c2ff;">label </span><span style="color:#ffb454;">for</span><span style="color:#bfbab0cc;">=</span><span style="color:#c2d94c;">{duck}</span><span style="color:#39bae690;">&gt;</span><span>{duck}</span><span style="color:#39bae690;">&lt;/</span><span style="color:#59c2ff;">label</span><span style="color:#39bae690;">&gt; +</span><span> </span><span style="color:#39bae690;">&lt;/</span><span style="color:#59c2ff;">li</span><span style="color:#39bae690;">&gt; +</span><span> {/each} +</span><span style="color:#39bae690;">&lt;/</span><span style="color:#59c2ff;">ol</span><span style="color:#39bae690;">&gt; +</span><span> +</span><span style="color:#39bae690;">&lt;</span><span style="color:#59c2ff;">p</span><span style="color:#39bae690;">&gt;</span><span>{selectedDucks.size} ducks selected.</span><span style="color:#39bae690;">&lt;/</span><span style="color:#59c2ff;">p</span><span style="color:#39bae690;">&gt; +</span></code></pre> + + + + + Creation and Consumption + 2020-11-05T00:00:00+00:00 + 2020-11-05T00:00:00+00:00 + + + + + Unknown + + + + + + https://proseandconst.xyz/blog/creation-consumption/ + + <p>The activities you do in your free time fall into three categories: creation, recreation and consumption. In this post, I want to highlight the contrast and the relation between creation and consumption.</p> +<p>Creation is when you produce something previously nonexistent. This includes writing, cooking, painting, playing music and coding to name a few. These are activities you will always find rewarding.</p> +<p>Consumption is when you ingest content created by someone else. This could be reading, listening to music, watching a movie or browsing social media. Consumption may or may not be rewarding, depending on what you consume.</p> +<p>Creation cannot exist in itself. You have to consume to create. You cannot be a chef without first understanding how your ingredients blend together. You cannot produce good music without having listened to some.</p> +<p>Unlike creation, consumption can exist in itself. You can spend all your time consuming, but it won’t take you far. Sure, reading a good book or listening to an insightful podcast will give you knowledge. But knowledge alone is futile if you don’t also apply it.</p> +<p>This is where creation comes in. It is the application of what you know from consumption.</p> +<p>You will find your time to be the most fulfilling when you balance creation and consumption. The general principle you want to follow is:</p> +<ul> +<li>Spend as much time as you can creating something. Do it until you run out of ideas.</li> +<li>When you’re out of ideas, consume. Not just anything, mind you. Consume with the intention to create more. Be a picky consumer.</li> +</ul> +<p>Once you fall into this virtuous cycle, you will never find yourself bored, idle or disappointed in yourself. It will give you a sense of achievement and satisfaction that you can never find with consumption alone.</p> + + + + + The Keyboard Is Mightier than the Pen + 2020-09-24T00:00:00+00:00 + 2020-09-24T00:00:00+00:00 + + + + + Unknown + + + + + + https://proseandconst.xyz/blog/keyboard-pen/ + + <p>We have all been “writing” since we were toddlers. But it’s only after a certain age that we start writing for ourselves, if at all.</p> +<p>The mode in which we write depends on our personal choices, the time we were born in, and the environment we work or study in.</p> +<p>As for me, any non-trivial writing I have ever done falls into one of three modes:</p> +<ul> +<li>handwriting: for all my formal education (~18 years)</li> +<li>glide typing: since I started using a smartphone in 2011 (~9 years and counting)</li> +<li><a href="https://en.wikipedia.org/wiki/Touch_typing">touch typing</a> on a hardware keyboard: since I started my first job in 2014 (~6 years and counting)</li> +</ul> +<p>I stopped using pen and paper the moment I stepped out of college. Few people will agree, but using the pen is an activity I find painful and tedious.</p> +<p>This could be because my last memories of using a pen are largely negative. School and college required students to submit long, written assignments at the end of each term. Few students put any brain into it. I find this an unproductive, unnecessary chore which yields zero value to education.</p> +<p>As if that is not enough, there is little focus on actual programming in courses like Computer Science and Information Technology. I graduated in the latter, and landed a software job, yet I could not touch type. Because I rarely needed to type at all.</p> +<p>Such is the plight of the Indian education system.</p> +<p>That said, I’m not the one to whine. My first role at the said job was that of a manual tester. And I was unamused at the prospect of listing test scenarios in a spreadsheet. So I used that to my advantage.</p> +<p>I forced myself to touch type.</p> +<p>It was painstaking at first: I would take three seconds to type one key. It would appear as though the spreadsheet program was stuck. But I had been watching Naruto at the time and had learnt not to give up.</p> +<p>One month later, touch typing became second nature.</p> +<p>Thinking back, this month-long practice is one of the best life decisions I’ve made. To this day, I find touch typing to be the optimal way of putting down my thoughts. It puts me into a natural state of flow. Whether I am writing a blog post, styling a web page, or <a href="https://en.wikipedia.org/wiki/Free_writing">free writing</a>, the experience is nothing short of meditative.</p> +<p>Funnily though, this is the mode of writing I have spent the least time with: a mere third of what I have spent handwriting.</p> +<p>As it happens, my preference of mode is inversely proportional to the time I have spent using it. Touch typing is my go-to solution. If not possible, I will glide type on my smartphone. I do not own a pen.</p> +<p>And like any touch typist, I have strong preferences when it comes to the keyboard.</p> +<p>I am a gentle typist. My previous boss used to say that it was always an enjoyable experience to watch me typing. He said that the way I swiftly but silently pressed the keys, the keyboard would last centuries.</p> +<p>And when you type gently, a mechanical keyboard doesn’t work for you. Chiclet is the way to go. The one on my Dell Vostro is so perfect that it’s a reason I <a href="/blog/life-with-low-end-hardware">still use</a> the seven-year-old machine as my primary device.</p> +<p>But never go too far with chiclets. <a href="https://www.thenextweb.com/plugged/2019/07/07/what-hell-apple-butterfly-keyboard-keys-design/">Apple did</a>. While I am by no means their fan, I need to use a MacBook Pro for work. And I’m glad the 2020 MacBooks got rid of that butterfly monstrosity.</p> + + + + + Life with Low-end Hardware + 2020-09-20T00:00:00+00:00 + 2020-09-20T00:00:00+00:00 + + + + + Unknown + + + + + + https://proseandconst.xyz/blog/life-with-low-end-hardware/ + + <p>I am 28, and I have only owned two personal computers in my lifetime.</p> +<p>Excluding workstations, I have had one desktop and one laptop.</p> +<h2 id="desktop-2007-2015">Desktop (2007–2015)</h2> +<p>This one had a CRT monitor, a single-core AMD Sempron processor, an 80 GB hard drive and 256 MB of RAM, later upgraded to 1.25 GB. It was my high school machine and my father’s occasional taxation machine.</p> +<p>It came with Windows XP, which I later replaced with various Linux distributions.</p> +<p>Now decommissioned and sold, I thank it for sparking in me the curiosity about computer science, programming and open source.</p> +<h2 id="dell-vostro-2520-2013-present">Dell Vostro 2520 (2013–present)</h2> +<p>The laptop has a 15.6″ 1366×768 display, a dual-core 3rd generation i5, no dedicated graphics and 4 GB of RAM. I upgraded the 500 GB spinning hard drive to a 480 GB SSD last year.</p> +<p>It is a clunky box with ancient tech: a DVD drive, an RJ45 port, a VGA port and (by today’s standards) an HDMI port. Forget Type-C, it does not even have USB 3.0. There are three USB 2.0 ports, supported well even today.</p> +<p>I bought it with Ubuntu, then <a href="https://www.urbandictionary.com/define.php?term=distrohopper">distrohopped</a> for a bit before settling down with <a href="https://elementary.io/">elementary OS</a>.</p> +<p>This has been my primary machine for seven years and counting.</p> +<p>In 2020, this might sound like weak, barely running hardware, and you won’t be entirely wrong. Yet, I haven’t felt the need to replace it, even though I can afford it.</p> +<p>Let me tell you why this machine is brilliant.</p> +<h3 id="it-is-economic">It is economic.</h3> +<p>I got it for ₹33,000 (about $450). Then I made two screen replacements, two battery replacements and one SSD upgrade. The total cost including purchase has been less than ₹65,000 (about $885).</p> +<h3 id="the-keyboard-is-excellent">The keyboard is excellent.</h3> +<p>The keys are neither as flimsy as MacBook’s butterfly keyboard nor as hard as a mechanical keyboard. They are “Goldilocks” easy to press.</p> +<h3 id="it-works">It works.</h3> +<p>It serves all my needs without breaking a sweat.</p> +<p>Without the fans going off, it can:</p> +<ul> +<li><a href="https://citra-emu.org/">emulate</a> Nintendo 3DS games at 100% speed</li> +<li>run Firefox, <a href="https://vscodium.com/">VSCodium</a> and a Node.js server with no lag</li> +<li>compile Vala apps in seconds</li> +<li>build my website in milliseconds</li> +</ul> +<p>I realize that a lot of this is thanks to the SSD and would not have been so impressive before the upgrade. But as mentioned before, it is economic.</p> +<h3 id="but-it-s-growing-old">But it’s growing old.</h3> +<p>It’s not all rainbows and butterflies. The device’s age shows in a few areas:</p> +<ul> +<li>The 1366×768 resolution is fine, but I am spoilt by my HiDPI workstation.</li> +<li>The touchpad is tiny. (Again, spoilt by workstation, but I have a mouse).</li> +<li>The camera applies funky filters to your image unless you pinch the bezel.</li> +</ul> +<p>There’s this balance of good and bad things about it, and it is inevitably approaching a tipping point where the bad outweighs the good. That being said, my old buddy can pull off a few months to a year before I need an upgrade.</p> +<h2 id="final-thoughts">Final thoughts</h2> +<p>The bottom line is that it is okay to be conservative about hardware purchases. Quality hardware will last several years without needing a replacement.</p> + + + + + The Making of This Site + 2020-09-19T00:00:00+00:00 + 2021-03-15T00:00:00+00:00 + + + + + Unknown + + + + + + https://proseandconst.xyz/blog/making-of-site/ + + <p><strong>TL;DR:</strong> I moved from WordPress to a superfast static site. <a href="https://github.com/dar5hak/dar5hak.github.io">Here’s the source code</a>.</p> +<p>This is not my first site. I’ve had a WordPress blog hosted on this domain since 2013. And I recommend WordPress to anyone who wants their own site but cannot write HTML and CSS.</p> +<p>Then why did I move away from it? Because I can. As an experienced web developer, I was itching to write my own site by hand. Reasons being:</p> +<ul> +<li>I wanted to tune the performance and accessibility in very specific ways.</li> +<li>I wanted it to be a static site, which makes it inherently faster than WordPress.</li> +<li>I wanted to add personal style and navigation that was only possible if I wrote the code myself.</li> +</ul> +<p>And thus began my hunt for the right tools.</p> +<h2 id="static-site-generator">Static Site Generator</h2> +<p>A <a href="https://www.staticgen.com/">static site generator</a> is a program which takes your content and puts it into nice-looking HTML pages. You can then host these on any static web server. No back end needed.</p> +<p>There’s no shortage of such generators on the internet. But I needed something that could build my site in milliseconds, even on <a href="/blog/life-with-low-end-hardware">my low-end hardware</a>. This led me to two choices: <a href="https://gohugo.io/">Hugo</a> and <a href="https://www.getzola.org/">Zola</a>.</p> +<p>After trying them both for a while, I decided to go with Zola for its relative simplicity and ease of learning.</p> +<p>I knew I’d miss out on the huge community that comes with Hugo. But thanks to Zola’s excellent documentation and forum, I rarely felt stuck. The number of community themes was irrelevant to me since I planned to write my own.</p> +<h2 id="turbolinks-turbo"><del>Turbolinks</del> Turbo</h2> +<p>One day, I landed on a post on <a href="https://www.taniarascia.com/">taniarascia.com</a> from a web search. The site looked so clean that I decided to explore it, and was floored by how fast the navigation was. Unvisited pages opened as if they were stored offline. Something was fishy.</p> +<p>I dug around the site to find <a href="https://www.taniarascia.com/migrating-from-wordpress-to-gatsby/">a post</a> about how it was made (much like this one). It uses Gatsby, which turns the site into a single-page application. Each page load is a JSON call, and even that is likely <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Preloading_content">preloaded</a> by the current page.</p> +<p>I had no intention of switching away from Zola, but I wanted this superpower. I remembered seeing a GitHub repo that can do something similar to a site using traditional navigation. I peeped into my Pensieve (read: Firefox history) and came out with <a href="https://github.com/turbolinks/turbolinks/">Turbolinks</a>. (<strong>Update:</strong> Now using <a href="https://turbo.hotwire.dev/">Turbo</a>, the successor to Turbolinks.)</p> +<p>This library hijacks all same-origin hyperlinks on your site and fetches them in the background. Then, without causing a full page reload, it swaps out the <code>&lt;body&gt;</code> and merges the <code>&lt;head&gt;</code>, making navigation blazing fast. This way, you can still use old-school hyperlinks and your site will behave like a single-page application.</p> +<p>The best part about Turbo that there’s nothing to configure. Load it in a <code>&lt;script&gt;</code> and it starts working. And if a browser doesn’t support JavaScript, links work like they always have. Everybody wins!</p> +<p>Which brings me to—</p> +<h2 id="progressive-enhancement">Progressive Enhancement</h2> +<p>It shouldn’t take a read-through of <em><a href="https://resilientwebdesign.com/">Resilient Web Design</a></em> to understand the importance of progressive enhancement. My site had to work on everything from a command-line browser to a full-blown Firefox.</p> +<p>And that’s easy. Use accessible, semantic markup, and serve it without any client-side DOM manipulation. Everything else is an addition. Even CSS.</p> +<h3 id="snazzy-underlines">Snazzy Underlines</h3> +<p>I was itching to use the new <a href="https://www.youtube.com/watch?v=sZS-7RX_c7g">underline styles</a> now possible with pure CSS. At the time of writing, they only fully work on Firefox. How do I <a href="http://motherfuckingwebsite.com/">not break</a> over 90% of the web for some snazzy effect I felt like adding?</p> +<p>Feature queries to the rescue.</p> +<p>CSS supports the <code>@supports</code> at-rule to detect whether the browser supports a declaration. Then you can write separate styles for supporting and non-supporting browsers.</p> +<p>The only problem is IE support. It doesn’t support <code>@supports</code>, so I don’t support it.</p> +<p>Fine, I’ll stop saying ‘support’.</p> +<h3 id="keyboard-navigation">Keyboard Navigation</h3> +<p>You can navigate the menus and lists on some pages using arrow keys and Vim-style HJKL keys. You’re welcome.</p> +<p>This is a feature that games and CLI apps offer out of the box but is rare on the web. I wrote <a href="https://github.com/dar5hak/dar5hak.github.io/blob/master/static/scripts/main.mjs">some JavaScript</a> to enable it where it makes sense.</p> +<p>This is another progressive enhancement. You can still click the links as usual, with or without JavaScript.</p> +<h2 id="design">Design</h2> +<p>I felt I should let my retrogaming interest ooze into my site, so I originally designed it to look like a game straight out of 1990.</p> +<p>The font I’d have used for headings and menus was <a href="https://fonts.google.com/specimen/Press+Start+2P">Press Start 2P</a>.</p> +<p>This is also why I wanted keyboard navigation: to emulate a game controller.</p> +<p><img src="/images/making-of-site/old-design.png" alt="Old design" /></p> +<p>That dream did not last long.</p> +<p>I picked the brilliant <a href="https://www.recursive.design/">Recursive</a> font for body text. I tried it on headings too, and it looked so good that I dropped the whole blockiness idea and used Recursive for everything.</p> +<h3 id="update-2020-09-28">Update 2020-09-28</h3> +<p>After publishing the site online, I found myself writing about serious topics, and Recursive didn’t seem to fit the image of “serious”. But I was cautious about adding multiple fonts since Recursive offered so much in one font resource.</p> +<p>After reading some typography advice from <a href="https://learnui.design/blog/">Erik D. Kennedy</a> and <a href="https://www.typewolf.com/">Jeremiah Shoaf</a>, I decided to try a few different approaches to font selection. Some experimentation with Google Fonts and many iterations led me to what you see today: serious, but not too much so.</p> +<p>I even added a nice light color scheme, which looks even better than the dark one with the new typography.</p> +<h3 id="update-2020-10-03">Update 2020-10-03</h3> +<p>I rebranded from <em>Dubious Disc</em> to <em>prose&amp;const</em> and refreshed the home page and navigation styles. Again, I applied the UI design lessons learnt from the two brilliant folks mentioned above.</p> +<p>Moreover, I no longer have to compete for search results with <a href="https://bulbapedia.bulbagarden.net/wiki/Dubious_Disc">Pokémon</a>.</p> +<h2 id="performance">Performance</h2> +<p><img src="/images/making-of-site/lighthouse.png" alt="Google Lighthouse report with a Performance score of 100" /></p> +<p>Need I say more?</p> +<h2 id="final-thoughts">Final thoughts</h2> +<p>While this lacks many common features, I am happy with the result. It’s fast, responsive, privacy-respecting, <a href="https://github.com/dar5hak/dar5hak.github.io">open source</a>, and most importantly, it’s mine. It is exactly how I want it to be.</p> +<p>I recommend this to anyone who knows HTML and CSS (and has the time): if you want to make a site, write it yourself. Not only does it give you street cred and bragging rights, it is also more satisfying and rewarding. And of course, you learn a lot along the way.</p> + + + + + Machine Learning for the Offline Web + 2019-02-22T00:00:00+00:00 + 2019-02-22T00:00:00+00:00 + + + + + Unknown + + + + + + https://proseandconst.xyz/2019/02/22/ml-offline-web-tfjs/ + + <p>Offline Web apps are finally a thing. The cleverest of ideas which were previously only imagination, are now reality.</p> +<p>Thanks to the various storage mechanisms provided by modern browsers, it is now possible to save machine learning models directly on the client side. You can then use these to produce outputs without requiring a connection with the server.</p> +<p>This post demonstrates how to do that.</p> + + + + + How to Write Unfancy Web Apps + 2015-12-19T00:00:00+00:00 + 2015-12-19T00:00:00+00:00 + + + + + Unknown + + + + + + https://proseandconst.xyz/2015/12/19/how-to-write-unfancy-web-apps/ + + <p>Ever since the advent of HTML5 and ES6, the web is moving forward at the speed of the Millennium Falcon.</p> +<p>While the world was still in awe at Angular's superpowers, the React phenomenon happened. And while the average corporate Java dev gets over the overwhelming pace of events, Angular 2 and Polymer will be ready to refill their pile of things to be amazed at.</p> +<p>And that is a good thing. It means better APIs, better developer ergonomics, and most importantly, better resulting products.</p> +<p>However, sometimes people forget that they do not need a Batmobile to get to the grocery store. When you're building a simple web app that does one small thing, you do not need an MV* framework, with a component-driven view layer, powered by a Swiss Army CSS Toolkit. All you need is the bare minimum abstraction, just enough to save you from the nitty-gritty of the raw JavaScript and CSS.<!-- more --></p> +<h2 id="my-toolbox">My toolbox</h2> +<p>At work, I often have to develop simple web-based utilities that Do One Thing and Do It Well™. For times like these, I carry a small toolbox that meets my needs in under 20 kB minified and gzipped.</p> +<h3 id="zepto">Zepto</h3> +<p>Let's face it. Even those who still use jQuery, do not use every nook and cranny of it. <a href="http://zeptojs.com/">Zepto</a>, the lightweight jQuery-compatible library, meets most of your needs when it comes to DOM manipulation, event handling and AJAX. Usually, the only time you need the full weight of jQuery is when you're using one of its add-ons like jQuery UI or jQuery Mobile. In most other cases, Zepto gets the job done just fine.</p> +<p>That being said, using jQuery in 2016 is fine, really. If it works for you, then go use the heck out of it.</p> +<h3 id="mustache">Mustache</h3> +<p>You could fill your DOM with AJAX-received data using Zepto alone, but it makes your code look like really delicious spaghetti. This is where (arguably) the simplest templating engine, <a href="https://github.com/janl/mustache.js">Mustache</a>, comes in. No nonsense, logicless templates.</p> +<p>I like Mustache because it is simple <em>and</em> works cross-browser. However, it does have a slight learning curve. Some day, when the world stops using Internet Explorer, I plan on replacing Mustache in my toolbox with maybe <a href="https://github.com/trueadm/t7">t7</a>.</p> +<h3 id="pure">Pure</h3> +<p><a href="http://purecss.io/">Pure</a> is a tiny CSS library from Yahoo! which is surprisingly handy and beautiful for something that's less than 4 kB. It doesn't come with all the bells and whistles of Bootstrap, but if you want pretty forms, buttons, tables and grids, go for Pure.</p> +<h2 id="counter-argument">Counter-argument</h2> +<p>You might ask, why I prefer not to use more robust frameworks which make a far better developer experience.</p> +<p><strong>Blunt answer:</strong> because this works.</p> +<p><strong>Reasonable answer:</strong> because I'm not building a GitHub. I don't see the point of adding more kilobytes to an application, unless absolutely needed. Better developer experience is no substitute for better user experience.</p> +<h2 id="conclusion">Conclusion</h2> +<p>These tiny tools are generally enough to build a nice, clean web app that is just a semi-dynamic interface to a fairly robust backend with a solid REST API.</p> +<p>I'm not saying that Angular/React/Ember/Bootstrap/ are useless. I'm just saying, don't use them just because <a href="https://en.wikipedia.org/wiki/Law_of_the_instrument">they are there and they are cool</a>. Ask yourself if you can do the job and still keep your code uncluttered without using them. Aim for less, not more.</p> +<blockquote> +<p>"Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away."</p> +<p>— Antoine de Saint-Exupéry, French writer</p> +</blockquote> +<h4 id="update">Update</h4> +<p>I just posted this on <a href="http://www.echojs.com/">Echo JS</a>, and realized what a perfect example it is of a simple, unfancy web app. They run on just jQuery.</p> +<h4 id="update-2">Update 2</h4> +<p>Pedro Canterini developed <a href="https://github.com/pcanterini/unfancy-starter">this nifty Unfancy Starter</a>, which bundles a slightly modified and refined version of the aforementioned toolbox into an easy, preconfigured scaffold.</p> + + + + + Making BCM43142 Wireless Chipset Work on Debian + 2013-10-13T00:00:00+00:00 + 2013-10-13T00:00:00+00:00 + + + + + Unknown + + + + + + https://proseandconst.xyz/2013/10/13/making-bcm43142-wireless-driver-work-on-debian/ + + <p>So I couldn't get WiFi to work on my SolydK installation. It does come with a nifty tool called 'Device Driver Manager', but even that couldn't find a driver for my wireless chipset, the Broadcom BCM43142. Some other Broadcom drivers sure are available in the Debian repos, but this one isn't. So I did the only sensible thing to do: searched the Web. And here's the solution.<!-- more --></p> +<p><strong>Note:</strong> I assume that you know the basics of <code>apt-get</code> and <code>cd</code> commands.</p> +<h3 id="what-s-your-chipset">What's your chipset?</h3> +<p>Open the terminal and run</p> +<pre data-lang="sh" style="background-color:#0f1419;color:#bfbab0;" class="language-sh "><code class="language-sh" data-lang="sh"><span style="color:#ffb454;">lspci </span><span style="color:#f29668;">| </span><span style="color:#ffb454;">grep</span><span> BCM +</span></code></pre> +<p>and check if the output contains <code>BCM43142</code>. If it does, this post is for you.</p> +<h3 id="get-the-driver">Get the driver</h3> +<ol> +<li> +<p>Run</p> +<pre data-lang="sh" style="background-color:#0f1419;color:#bfbab0;" class="language-sh "><code class="language-sh" data-lang="sh"><span style="color:#ffb454;">sudo</span><span> apt-get install linux-headers-generic build-essential dkms broadcom-sta-modules +</span></code></pre> +<p>If it freaks out with the first package, just skip that one.</p> +</li> +<li> +<p>Download <a href="https://drive.google.com/open?id=0B1iuY5gfFnsyalVLOUxNNnotYk0">this deb package</a>.</p> +</li> +<li> +<p><code>cd</code> into the directory containing the package.</p> +</li> +<li> +<p>Install it using</p> +<pre data-lang="sh" style="background-color:#0f1419;color:#bfbab0;" class="language-sh "><code class="language-sh" data-lang="sh"><span style="color:#ffb454;">sudo</span><span> dpkg</span><span style="color:#f29718;"> -i</span><span> wireless-bcm43142-dkms_6.20.55.19-1_amd64.deb +</span></code></pre> +</li> +<li> +<p>Activate it.</p> +<pre data-lang="sh" style="background-color:#0f1419;color:#bfbab0;" class="language-sh "><code class="language-sh" data-lang="sh"><span style="color:#ffb454;">sudo</span><span> modprobe wl +</span></code></pre> +</li> +<li> +<p>Done. It should work now.</p> +</li> +</ol> +<h3 id="what-s-inside">What's inside?</h3> +<p>I haven't checked, but there's one thing I know: the person who has provided the deb package, has tweaked a copy of the driver package found inside an Ubuntu installation.</p> +<h3 id="source">Source</h3> +<p><a href="http://jas.gemnetworks.com">jas.gemnetworks.com</a></p> + + + + diff --git a/blog/arc-review/index.html b/blog/arc-review/index.html new file mode 100644 index 0000000..d6148d4 --- /dev/null +++ b/blog/arc-review/index.html @@ -0,0 +1,264 @@ + + + + + + Two-week Review of Arc Browser + · prose&const + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + + Code and musings by Darshak Parikh + + +
+ +
+
+
+

Two-week Review of Arc Browser

+ +
+
+

Arc Browser had been making waves in my social media circles, so I was mildly intrigued by what they were making. But it is in closed preview at the time of writing, so I didn’t bother taking a deeper look. I was happy with Firefox.

+

That was until my friend Rahul mentioned he had been enjoying it and shared an invite to the preview. Now, after two weeks of using it as the primary browser on my macOS workstation, I want to share some thoughts.

+

What I like

+

Spaces and Profiles

+

Spaces are a way to group your tabs and bookmarks, which is Arc’s answer to multiple windows. Profiles, on the other hand, group your logins, much like Firefox Containers. The two features work well together.

+

I use these to separate my personal browsing, my work browsing and my client work browsing. I even colour-coded the Spaces to match the brand colours of the said companies, while choosing an autumn orange for my Personal Space.

+

A screenshot of my Personal Space in Arc, with an autumn orange gradient background, showing my pinned tabs and folders in a sidebar on the left

+

This way, I can tell at a vague glance the Space I’m in right now. Switching Spaces with the touchpad gesture has become second nature in a short time.

+

Easels

+

You can capture any rectangular area on any web page and save it to a so-called Easel. This is like a sharable board to collect stuff from various parts of the web. You can even add text, pictures and arrows to it. Think of it like a love child of Excalidraw and Pinterest.

+

And that rectangle you captured? By default, it is an ordinary screenshot with a link to the source page. But the magic starts when you press the Play button on it. This will make it update live, so you can keep an eye on a part of a page without opening the entire page. Nifty!

+

I’ve been using an Easel to track my Inktober progress. I added an image with the list of daily prompts and my to-do item which I could check right away. I also added links to the Mastodon and Twitter threads where I post the artworks.

+

A screenshot of my Inktober Easel in Arc, with a heading saying “Inktober”, an image containing a list of art prompts, a Habitica to-do item saying “Inktober” and screenshots of a Mastodon thread and a Twitter thread

+

This lifts the overhead of deciding what to do next: everything is (literally) laid out in front of me.

+

Command Bar

+

I use VS Code, so I’m used to summoning a genie text input and typing my wish.

+

Arc has this feature, and it’s pretty smart. Enter a URL, a web search query or a browser action, and it will know what to do.

+

Arc is also keyboard-friendly in general. Not only does it have good shortcuts, it also makes them easy to discover and change.

+

Little Arc

+

You’re in another app, say, Slack, and you click a link. You don’t have to switch over to the main browser window. You can choose to open a smaller window right there, do your thing and close it without switching contexts.

+

I use this to check out shared links and review small pull requests. If it needs more time and space, there’s a button to open it in the main browser window.

+

Boosts

+

This is a fancy name for what are traditionally known as user styles and user scripts, except that you don’t need to install an extension.

+

The idea is that you can add custom code to some or all websites and tweak them to your liking. People have used these to theme pages, add features and remove unwanted crap among other things.

+

The major difference is that Boosts in Arc are more approachable. You can choose from pre-built templates, which come with nice code comments to guide you through the process.

+

I’m yet to write my own Boost, but I’m more likely to write one for Arc than any other browser.

+

Also, by giving it a simple name and making it more developer-friendly, Arc could even create a marketplace to share and install public Boosts. I haven’t heard of any plans to do so yet — it’s a complicated undertaking — but they could if they wanted to.

+

Split view

+

This is what it says on the tin. You can split the window to see multiple tabs at once.

+

I have often wished for this in other browsers. While this can be solved by tiling two browser windows, I am not a fan of the window management in macOS, so a built-in split view is a boon.

+

What I don’t like

+

No reader mode

+

Websites like to smother their articles with cookie banners, pop-ups and other annoyances.

+

With a click of a button, I can get rid of it all and focus on the content, while being able to tweak the appearance to my liking. In Firefox, that is. I sorely miss this feature in Arc.

+

It’s only for macOS (for now)

+

My other devices are a phone (running Android), a laptop and a Raspberry Pi (both running Linux). Firefox syncs among all these devices. Arc does not (yet).

+

The next platform they’re planning to support is a logical choice, but one I couldn’t care less about: Windows.

+

It’s Chromium

+

It’s sad that yet another new browser has to contribute to the Chromium monopoly.

+

Even if I do swallow that pill, what’s harder for me is to get used to Chromium devtools. The UX just doesn’t compare to that of Firefox devtools. And while there are some brilliant designers working on Arc, they’re unlikely to change the devtools.

+

Furthermore, Arc uses the Chrome Web Store for extensions. This means I cannot install extensions which Google doesn’t like because they harm their ad business. The Firefox add-ons marketplace is much more relaxed in those terms.

+

Conclusion

+

Overall, I’m happy with the direction Arc is going in. I love the features and happily use it as my default browser. That said, there are few important things missing, so I will likely switch back to Firefox soon.

+

If you are reading this as a part of the Arc team, I will keep cheering for you (unless you do something terrible). All the best, and keep up the great work!

+

Update: 2023-03-25

+

Four months later, Arc is still my default browser, and I see no reason to switch away at this point. However, I am closely watching how the company plans to make profits. If they make a move that does not sit well with me ethically, I will pull out in a heartbeat.

+ +
+ + + +
+
+ +
+ + + diff --git a/blog/back-to-office/index.html b/blog/back-to-office/index.html new file mode 100644 index 0000000..f3e0e6e --- /dev/null +++ b/blog/back-to-office/index.html @@ -0,0 +1,230 @@ + + + + + + On Going Back to the Office + · prose&const + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + + Code and musings by Darshak Parikh + + +
+ +
+
+
+

On Going Back to the Office

+ +
+
+

My workplace has asked everyone to start coming to office at least thrice a week. Each team picks which three weekdays are best suited to them.

+

This means that I will be moving to Bengaluru this week and find a place to stay somewhere close to work.

+

I, for one, am excited about this.

+

Work From Where?

+

There’s a narrative that says knowledge workers no longer need offices, because they are equally productive working from home. While I respect their choice, I find myself to feel much better about my job — and life in general — while working from an office.

+

For one, it helps you set a clear boundary between work and not-work. Your mind gets into either mode based on where you are.

+

Furthermore, as a developer, you do much more than just write code. You spend a lot of time talking to people. You discuss requirements, ask for help, give help, clarify things and review code to name a few.

+

All this is possible to do over the internet, no doubt. But I find it much more organic, much more human to do it in person.

+

Our brains are more accustomed to reading facial expressions and body language than they are at processing words. And it is much easier to showcase your intent through these. Heck, it’s harder to hide your intent.

+

For example, while providing critical feedback, you don’t want to come across as bossy or arrogant. No matter how good you are at language, this is hard to do with mere words and emoji. But wearing a kind, friendly expression on your face is so natural that you don’t even stop and think about it. Think about it.

+

There’s a reason people are regularly misunderstood on social media.

+

Note: I am saying all this from a subjective, neurotypical viewpoint. I mean no disrespect to people who cannot or don’t want to work from an office for any reason.

+

Not-work Work

+

Moving from living with my parents to living on my own also comes with an advantage. I get more time and space to work on things that matter the most to me: side projects, open source and pixel art.

+

I have been procrastinating for far too long, and it’s about time I went back to following my own advice.

+ +
+ + + +
+
+ +
+ + + diff --git a/blog/creation-consumption/index.html b/blog/creation-consumption/index.html new file mode 100644 index 0000000..0c56b44 --- /dev/null +++ b/blog/creation-consumption/index.html @@ -0,0 +1,227 @@ + + + + + + Creation and Consumption + · prose&const + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + + Code and musings by Darshak Parikh + + +
+ +
+
+
+

Creation and Consumption

+ +
+
+

The activities you do in your free time fall into three categories: creation, recreation and consumption. In this post, I want to highlight the contrast and the relation between creation and consumption.

+

Creation is when you produce something previously nonexistent. This includes writing, cooking, painting, playing music and coding to name a few. These are activities you will always find rewarding.

+

Consumption is when you ingest content created by someone else. This could be reading, listening to music, watching a movie or browsing social media. Consumption may or may not be rewarding, depending on what you consume.

+

Creation cannot exist in itself. You have to consume to create. You cannot be a chef without first understanding how your ingredients blend together. You cannot produce good music without having listened to some.

+

Unlike creation, consumption can exist in itself. You can spend all your time consuming, but it won’t take you far. Sure, reading a good book or listening to an insightful podcast will give you knowledge. But knowledge alone is futile if you don’t also apply it.

+

This is where creation comes in. It is the application of what you know from consumption.

+

You will find your time to be the most fulfilling when you balance creation and consumption. The general principle you want to follow is:

+
    +
  • Spend as much time as you can creating something. Do it until you run out of ideas.
  • +
  • When you’re out of ideas, consume. Not just anything, mind you. Consume with the intention to create more. Be a picky consumer.
  • +
+

Once you fall into this virtuous cycle, you will never find yourself bored, idle or disappointed in yourself. It will give you a sense of achievement and satisfaction that you can never find with consumption alone.

+ +
+ + + +
+
+ +
+ + + diff --git a/blog/fix-macos-defaults/index.html b/blog/fix-macos-defaults/index.html new file mode 100644 index 0000000..32e0013 --- /dev/null +++ b/blog/fix-macos-defaults/index.html @@ -0,0 +1,231 @@ + + + + + + Fixing the Stupid Defaults on macOS + · prose&const + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + + Code and musings by Darshak Parikh + + +
+ +
+
+
+

Fixing the Stupid Defaults on macOS

+ +
+
+

Why

+

My work laptop is usually a MacBook, and installing Linux on that is not possible for various reasons.

+

Now, being stuck with macOS isn’t all that bad. I’d take it any day over Windows. I even get to sync my dotfiles across Linux and macOS.

+

That said, one of the first things I do after receiving a new MacBook for a project is fixing some of its silly defaults and making it somewhat more sensible.

+

Auto-hide the dock

+

System Settings > Desktop & Dock > turn on Automatically hide and show the Dock

+

It’s not as smart as elementary OS, so it stays hidden even when there is no window blocking its space, but turning on this setting is more useful than giving so much real estate to something I rarely touch.

+

Stop reordering spaces

+

System Settings > Desktop & Dock > turn off Automatically rearrange Spaces based on most recent use

+

I don’t know who uses this, but I prefer to know exactly where my windows are instead of finding them by trial and error.

+

Scroll Reverser

+

Sometimes I use a mouse, sometimes the trackpad. I want natural scrolling on one but not the other, so I should change the setting for each of them, right?

+

Oh, my sweet summer child! Just because they are two different checkboxes doesn’t mean they are two different settings. They’re bound to the same thing. Changing one updates the other. The US really needs to do something about their drug problem.

+

But until then, install Scroll Reverser to keep your sanity.

+

AltTab

+

What are all these background apps doing in my Cmd + Tab switcher? Why do I see apps from other spaces? Who invited Finder?

+

AltTab fixes all that and lets you tweak it as per your needs.

+

Bluesnooze

+

You’re going for a walk, so you decide to play a podcast on your phone and listen to it on your earphones. But guess what? Your earphones get connected to your sleeping MacBook before your phone.

+

Now, you could open your backpack, take out your MacBook, unlock it, turn off Bluetooth and put it back in the pack. Or you could install Bluesnooze and get on with your life.

+

There used to be a setting to turn off this (even then) abominable default, but it’s gone now.

+

Hidden Bar

+

No, this is not the name of a shady place you go to for cheap alcohol. Hidden Bar is a tool to control the chaos of apps filling up your menu bar with icons you either never click or don’t want to look at because they’re ugly.

+ +
+ + + +
+
+ +
+ + + diff --git a/blog/index.html b/blog/index.html new file mode 100644 index 0000000..c21ce64 --- /dev/null +++ b/blog/index.html @@ -0,0 +1,217 @@ + + + + + + Blog + · prose&const + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + + Code and musings by Darshak Parikh + + +
+ +
+
+
+

Blog

+
+
+ + Two-week Review of EvoFox Katana X2 Keyboard + + + + Fixing the Stupid Defaults on macOS + + + + Two-week Review of Arc Browser + + + + On Going Back to the Office + + + + Creating Underlined Hyperlinks in Inkscape + + + + Implementing a ‘Select all’ Checkbox Using ES6 Set + + + + Creation and Consumption + + + + The Keyboard Is Mightier than the Pen + + + + Life with Low-end Hardware + + + + The Making of This Site + + + +
+
+
+ + +
+ + + diff --git a/blog/katana-x2-review/index.html b/blog/katana-x2-review/index.html new file mode 100644 index 0000000..be3c45e --- /dev/null +++ b/blog/katana-x2-review/index.html @@ -0,0 +1,240 @@ + + + + + + Two-week Review of EvoFox Katana X2 Keyboard + · prose&const + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + + Code and musings by Darshak Parikh + + +
+ +
+
+
+

Two-week Review of EvoFox Katana X2 Keyboard

+ +
+
+

First things first: I’m no expert on mechanical keyboards.

+

In fact, this is my first mechanical keyboard after spending half my life on membrane keyboards and being perfectly happy with them. So while this is not an experienced review, it does come from someone who has been somewhat sceptical of mechanical keyboards.

+

Many people have told me about their superiority, but last month, a friend finally got into my head and I decided to try out an entry-level keyboard and see how it fares.

+

A wired black-coloured mechanical keyboard with its rainbow backlights on

+

Spoiler alert: I wasn’t disappointed.

+

Buying experience: 3/5

+

I got myself the tenkeyless variant of EvoFox Katana X2 with blue switches and black colour. They have a white one with full-size layout and red switches, but that’s the only other variant at the time of writing. And on Amazon, this is listed as a variant of older generation Katana keyboards.

+

So while EvoFox makes good budget products, their cataloguing sucks.

+

I say good products, because I already have a game controller from them, which works great. So I took a leap of faith despite there being no reviews of this product other than the scant customer reviews on Flipkart and Amazon — which are extremely favourable.

+

Build quality: 4/5

+

The keyboard is sturdy and uses quality plastic. It is neither heavy nor light and can be easily carried in a backpack along with a laptop and a charger.

+

The keycaps are fairly stable, but not the most stable I’ve seen. It also claims a lifetime of 50 million keystrokes and comes with swappable switches.

+

Typing experience: 5/5

+

Feel

+

The tactile feedback is accurate, in that you can feel the exact millisecond the switch clicks. It is what you would expect from blue switches.

+

Sound

+

My more experienced friends have called it somewhat on the thockier side. I’ve felt the thock only on the larger keys like Enter, Backspace and Spacebar, while the other keys sound clicky to me.

+

Speed

+

On membrane keyboards, I used to hit 60 to 70 words per minute depending on which typing tutor I use to measure. With the Katana X2, I was at a good 50 within the first hour of usage, and by the second day, I was at my usual speeds.

+

After a couple of weeks, I’m hitting 70 to 80 words per minute, which is slightly better than my previous best.

+

Other stuff

+

The keyboard comes with a handy volume control knob at the top right corner. It also lets you control the backlight brightness after a long press.

+

Speaking of backlight, it has rainbow lighting, with fixed colours for each key. There are a bunch of lighting effects, but I’m not interested in backlights at all, so I have no opinion on that.

+

Conclusion

+

If you’ve never tried mechanical keyboards and don’t want to spend a lot before you know you’re into the hobby, and you’re okay with a wired keyboard, then the EvoFox Katana X2 is for you. It’s a bargain at the price of ₹1799–₹1899.

+ +
+ + + +
+
+ +
+ + + diff --git a/blog/keyboard-pen/index.html b/blog/keyboard-pen/index.html new file mode 100644 index 0000000..0ae2e79 --- /dev/null +++ b/blog/keyboard-pen/index.html @@ -0,0 +1,240 @@ + + + + + + The Keyboard Is Mightier than the Pen + · prose&const + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + + Code and musings by Darshak Parikh + + +
+ +
+
+
+

The Keyboard Is Mightier than the Pen

+ +
+
+

We have all been “writing” since we were toddlers. But it’s only after a certain age that we start writing for ourselves, if at all.

+

The mode in which we write depends on our personal choices, the time we were born in, and the environment we work or study in.

+

As for me, any non-trivial writing I have ever done falls into one of three modes:

+
    +
  • handwriting: for all my formal education (~18 years)
  • +
  • glide typing: since I started using a smartphone in 2011 (~9 years and counting)
  • +
  • touch typing on a hardware keyboard: since I started my first job in 2014 (~6 years and counting)
  • +
+

I stopped using pen and paper the moment I stepped out of college. Few people will agree, but using the pen is an activity I find painful and tedious.

+

This could be because my last memories of using a pen are largely negative. School and college required students to submit long, written assignments at the end of each term. Few students put any brain into it. I find this an unproductive, unnecessary chore which yields zero value to education.

+

As if that is not enough, there is little focus on actual programming in courses like Computer Science and Information Technology. I graduated in the latter, and landed a software job, yet I could not touch type. Because I rarely needed to type at all.

+

Such is the plight of the Indian education system.

+

That said, I’m not the one to whine. My first role at the said job was that of a manual tester. And I was unamused at the prospect of listing test scenarios in a spreadsheet. So I used that to my advantage.

+

I forced myself to touch type.

+

It was painstaking at first: I would take three seconds to type one key. It would appear as though the spreadsheet program was stuck. But I had been watching Naruto at the time and had learnt not to give up.

+

One month later, touch typing became second nature.

+

Thinking back, this month-long practice is one of the best life decisions I’ve made. To this day, I find touch typing to be the optimal way of putting down my thoughts. It puts me into a natural state of flow. Whether I am writing a blog post, styling a web page, or free writing, the experience is nothing short of meditative.

+

Funnily though, this is the mode of writing I have spent the least time with: a mere third of what I have spent handwriting.

+

As it happens, my preference of mode is inversely proportional to the time I have spent using it. Touch typing is my go-to solution. If not possible, I will glide type on my smartphone. I do not own a pen.

+

And like any touch typist, I have strong preferences when it comes to the keyboard.

+

I am a gentle typist. My previous boss used to say that it was always an enjoyable experience to watch me typing. He said that the way I swiftly but silently pressed the keys, the keyboard would last centuries.

+

And when you type gently, a mechanical keyboard doesn’t work for you. Chiclet is the way to go. The one on my Dell Vostro is so perfect that it’s a reason I still use the seven-year-old machine as my primary device.

+

But never go too far with chiclets. Apple did. While I am by no means their fan, I need to use a MacBook Pro for work. And I’m glad the 2020 MacBooks got rid of that butterfly monstrosity.

+ +
+ + + +
+
+ +
+ + + diff --git a/blog/life-with-low-end-hardware/index.html b/blog/life-with-low-end-hardware/index.html new file mode 100644 index 0000000..d49bbdd --- /dev/null +++ b/blog/life-with-low-end-hardware/index.html @@ -0,0 +1,252 @@ + + + + + + Life with Low-end Hardware + · prose&const + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + + Code and musings by Darshak Parikh + + +
+ +
+
+
+

Life with Low-end Hardware

+ +
+
+

I am 28, and I have only owned two personal computers in my lifetime.

+

Excluding workstations, I have had one desktop and one laptop.

+

Desktop (2007–2015)

+

This one had a CRT monitor, a single-core AMD Sempron processor, an 80 GB hard drive and 256 MB of RAM, later upgraded to 1.25 GB. It was my high school machine and my father’s occasional taxation machine.

+

It came with Windows XP, which I later replaced with various Linux distributions.

+

Now decommissioned and sold, I thank it for sparking in me the curiosity about computer science, programming and open source.

+

Dell Vostro 2520 (2013–present)

+

The laptop has a 15.6″ 1366×768 display, a dual-core 3rd generation i5, no dedicated graphics and 4 GB of RAM. I upgraded the 500 GB spinning hard drive to a 480 GB SSD last year.

+

It is a clunky box with ancient tech: a DVD drive, an RJ45 port, a VGA port and (by today’s standards) an HDMI port. Forget Type-C, it does not even have USB 3.0. There are three USB 2.0 ports, supported well even today.

+

I bought it with Ubuntu, then distrohopped for a bit before settling down with elementary OS.

+

This has been my primary machine for seven years and counting.

+

In 2020, this might sound like weak, barely running hardware, and you won’t be entirely wrong. Yet, I haven’t felt the need to replace it, even though I can afford it.

+

Let me tell you why this machine is brilliant.

+

It is economic.

+

I got it for ₹33,000 (about $450). Then I made two screen replacements, two battery replacements and one SSD upgrade. The total cost including purchase has been less than ₹65,000 (about $885).

+

The keyboard is excellent.

+

The keys are neither as flimsy as MacBook’s butterfly keyboard nor as hard as a mechanical keyboard. They are “Goldilocks” easy to press.

+

It works.

+

It serves all my needs without breaking a sweat.

+

Without the fans going off, it can:

+
    +
  • emulate Nintendo 3DS games at 100% speed
  • +
  • run Firefox, VSCodium and a Node.js server with no lag
  • +
  • compile Vala apps in seconds
  • +
  • build my website in milliseconds
  • +
+

I realize that a lot of this is thanks to the SSD and would not have been so impressive before the upgrade. But as mentioned before, it is economic.

+

But it’s growing old.

+

It’s not all rainbows and butterflies. The device’s age shows in a few areas:

+
    +
  • The 1366×768 resolution is fine, but I am spoilt by my HiDPI workstation.
  • +
  • The touchpad is tiny. (Again, spoilt by workstation, but I have a mouse).
  • +
  • The camera applies funky filters to your image unless you pinch the bezel.
  • +
+

There’s this balance of good and bad things about it, and it is inevitably approaching a tipping point where the bad outweighs the good. That being said, my old buddy can pull off a few months to a year before I need an upgrade.

+

Final thoughts

+

The bottom line is that it is okay to be conservative about hardware purchases. Quality hardware will last several years without needing a replacement.

+ +
+ + + +
+
+ +
+ + + diff --git a/blog/making-of-site/index.html b/blog/making-of-site/index.html new file mode 100644 index 0000000..441a495 --- /dev/null +++ b/blog/making-of-site/index.html @@ -0,0 +1,272 @@ + + + + + + The Making of This Site + · prose&const + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + + Code and musings by Darshak Parikh + + +
+ +
+
+
+

The Making of This Site

+ +
+
+

TL;DR: I moved from WordPress to a superfast static site. Here’s the source code.

+

This is not my first site. I’ve had a WordPress blog hosted on this domain since 2013. And I recommend WordPress to anyone who wants their own site but cannot write HTML and CSS.

+

Then why did I move away from it? Because I can. As an experienced web developer, I was itching to write my own site by hand. Reasons being:

+
    +
  • I wanted to tune the performance and accessibility in very specific ways.
  • +
  • I wanted it to be a static site, which makes it inherently faster than WordPress.
  • +
  • I wanted to add personal style and navigation that was only possible if I wrote the code myself.
  • +
+

And thus began my hunt for the right tools.

+

Static Site Generator

+

A static site generator is a program which takes your content and puts it into nice-looking HTML pages. You can then host these on any static web server. No back end needed.

+

There’s no shortage of such generators on the internet. But I needed something that could build my site in milliseconds, even on my low-end hardware. This led me to two choices: Hugo and Zola.

+

After trying them both for a while, I decided to go with Zola for its relative simplicity and ease of learning.

+

I knew I’d miss out on the huge community that comes with Hugo. But thanks to Zola’s excellent documentation and forum, I rarely felt stuck. The number of community themes was irrelevant to me since I planned to write my own.

+ +

One day, I landed on a post on taniarascia.com from a web search. The site looked so clean that I decided to explore it, and was floored by how fast the navigation was. Unvisited pages opened as if they were stored offline. Something was fishy.

+

I dug around the site to find a post about how it was made (much like this one). It uses Gatsby, which turns the site into a single-page application. Each page load is a JSON call, and even that is likely preloaded by the current page.

+

I had no intention of switching away from Zola, but I wanted this superpower. I remembered seeing a GitHub repo that can do something similar to a site using traditional navigation. I peeped into my Pensieve (read: Firefox history) and came out with Turbolinks. (Update: Now using Turbo, the successor to Turbolinks.)

+

This library hijacks all same-origin hyperlinks on your site and fetches them in the background. Then, without causing a full page reload, it swaps out the <body> and merges the <head>, making navigation blazing fast. This way, you can still use old-school hyperlinks and your site will behave like a single-page application.

+

The best part about Turbo that there’s nothing to configure. Load it in a <script> and it starts working. And if a browser doesn’t support JavaScript, links work like they always have. Everybody wins!

+

Which brings me to—

+

Progressive Enhancement

+

It shouldn’t take a read-through of Resilient Web Design to understand the importance of progressive enhancement. My site had to work on everything from a command-line browser to a full-blown Firefox.

+

And that’s easy. Use accessible, semantic markup, and serve it without any client-side DOM manipulation. Everything else is an addition. Even CSS.

+

Snazzy Underlines

+

I was itching to use the new underline styles now possible with pure CSS. At the time of writing, they only fully work on Firefox. How do I not break over 90% of the web for some snazzy effect I felt like adding?

+

Feature queries to the rescue.

+

CSS supports the @supports at-rule to detect whether the browser supports a declaration. Then you can write separate styles for supporting and non-supporting browsers.

+

The only problem is IE support. It doesn’t support @supports, so I don’t support it.

+

Fine, I’ll stop saying ‘support’.

+

Keyboard Navigation

+

You can navigate the menus and lists on some pages using arrow keys and Vim-style HJKL keys. You’re welcome.

+

This is a feature that games and CLI apps offer out of the box but is rare on the web. I wrote some JavaScript to enable it where it makes sense.

+

This is another progressive enhancement. You can still click the links as usual, with or without JavaScript.

+

Design

+

I felt I should let my retrogaming interest ooze into my site, so I originally designed it to look like a game straight out of 1990.

+

The font I’d have used for headings and menus was Press Start 2P.

+

This is also why I wanted keyboard navigation: to emulate a game controller.

+

Old design

+

That dream did not last long.

+

I picked the brilliant Recursive font for body text. I tried it on headings too, and it looked so good that I dropped the whole blockiness idea and used Recursive for everything.

+

Update 2020-09-28

+

After publishing the site online, I found myself writing about serious topics, and Recursive didn’t seem to fit the image of “serious”. But I was cautious about adding multiple fonts since Recursive offered so much in one font resource.

+

After reading some typography advice from Erik D. Kennedy and Jeremiah Shoaf, I decided to try a few different approaches to font selection. Some experimentation with Google Fonts and many iterations led me to what you see today: serious, but not too much so.

+

I even added a nice light color scheme, which looks even better than the dark one with the new typography.

+

Update 2020-10-03

+

I rebranded from Dubious Disc to prose&const and refreshed the home page and navigation styles. Again, I applied the UI design lessons learnt from the two brilliant folks mentioned above.

+

Moreover, I no longer have to compete for search results with Pokémon.

+

Performance

+

Google Lighthouse report with a Performance score of 100

+

Need I say more?

+

Final thoughts

+

While this lacks many common features, I am happy with the result. It’s fast, responsive, privacy-respecting, open source, and most importantly, it’s mine. It is exactly how I want it to be.

+

I recommend this to anyone who knows HTML and CSS (and has the time): if you want to make a site, write it yourself. Not only does it give you street cred and bragging rights, it is also more satisfying and rewarding. And of course, you learn a lot along the way.

+ +
+ + + +
+
+ +
+ + + diff --git a/blog/select-all-set/index.html b/blog/select-all-set/index.html new file mode 100644 index 0000000..3212380 --- /dev/null +++ b/blog/select-all-set/index.html @@ -0,0 +1,367 @@ + + + + + + Implementing a ‘Select all’ Checkbox Using ES6 Set + · prose&const + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + + Code and musings by Darshak Parikh + + +
+ +
+
+
+

Implementing a ‘Select all’ Checkbox Using ES6 Set

+ +
+
+

Problem statement

+

Say you have a list of selectable items like emails or todos. There’s a checkbox next to each item, and the user can select multiple items to do some action with them.

+

Since you love your users, you don’t want them to always select items one by one, so you provide a ‘Select all’ checkbox. There are four criteria you need to fulfill:

+
    +
  1. On checking the ‘Select all’ checkbox, all item checkboxes should be checked.
  2. +
  3. On unchecking the ‘Select all’ checkbox, all item checkboxes should be unchecked.
  4. +
  5. On individually checking each item checkbox, the ‘Select all’ checkbox should also be checked.
  6. +
  7. On unchecking at least one item checkbox, the ‘Select all’ checkbox should also be unchecked.
  8. +
+

Why use a set?

+

You could use an array for this, and indeed, most of the code I have mentioned can be adapted for an array. However, we put our selected items in a set for these reasons:

+
    +
  • We don’t care about the order.
  • +
  • Removing an item from a set is trivial: just call .delete(item). It’s not so easy for arrays. You have to find the index of that item, either implicitly or explicitly.
  • +
  • You don’t have to look out for duplicate items while adding or removing them.
  • +
  • You don’t have to look out for empty slots after removing items.
  • +
+

I am going to provide a step-by-step solution to this. The code uses Svelte, but you should be able to adapt it to React, Angular, Vue or any other framework.

+

Step 1: Display the checkboxes

+

In our <List> component, we define an array of items and render each item in a list of checkboxes.

+
<script>
+  const ducks = ['Huey', 'Dewey', 'Louie'];
+</script>
+
+<style>
+  ol {
+    list-style-type: none;
+    padding-left: 0;
+  }
+</style>
+
+<ol>
+  {#each ducks as duck}
+    <li>
+      <input type="checkbox" id={duck} value={duck}>
+      <label for={duck}>{duck}</label>
+    </li>
+  {/each}
+</ol>
+
+

This works as you might expect.

+

Three checkboxes saying ‘Huey’, ‘Dewey’ and ‘Louie’

+

Step 2: Add a ‘Select all’ checkbox

+

We do this by adding another <li> above the loop.

+
<ol>
+  <li>
+    <input type="checkbox" id="select-all">
+    <label for="select-all"><strong>Select all</strong></label>
+  </li>
+  {#each ducks as duck}
+    <li>
+      <input type="checkbox" id={duck} value={duck}>
+      <label for={duck}>{duck}</label>
+    </li>
+  {/each}
+</ol>
+
+

It will, again, meet expectations.

+

A ‘Select all’ checkbox in above three duck checkboxes

+

Step 3: Define a set to hold the selected values

+

We initialize an empty set called selectedDucks. Every time a user checks a box, we add it to the set. Every time they uncheck one, we remove it from the set.

+
<script>
+  const ducks = ['Huey', 'Dewey', 'Louie'];
+
+  let selectedDucks = new Set();
+
+  const onCheckDuck = event => {
+    if (event.target.checked) {
+      selectedDucks.add(event.target.value);
+    } else {
+      selectedDucks.delete(event.target.value);
+    }
+    selectedDucks = selectedDucks;
+  };
+</script>
+
+

Notice how we add a redundant assignment? selectedDucks = selectedDucks; would do nothing in plain JavaScript, but we need it here to tell Svelte to rerender the component. Calling methods like .add() and .delete() on a set does not rerender it.

+

Next, we bind onCheckDuck to the change event on the checkboxes.

+
{#each ducks as duck}
+  <li>
+    <input type="checkbox" id={duck} value={duck} checked={selectedDucks.has(duck)} on:change={onCheckDuck}>
+    <label for={duck}>{duck}</label>
+  </li>
+{/each}
+
+

We bind the checked attribute of each item to its presence in the set. We need to do this one-way binding so that if the set is updated from elsewhere (which it will), the checkbox gets checked too.

+

Step 4: Bind the ‘Select all’ checkbox

+

Just like the item checkboxes, we handle the change event on the ‘Select all’ checkbox too. The difference is that when it is checked, we add all the items to the set, and when it is unchecked, we clear the set. This will affect the checked attribute on item checkboxes, thus satisfying our first two criteria.

+
const onSelectAll = event => {
+  if (event.target.checked) {
+    selectedDucks = new Set(ducks);
+  } else {
+    selectedDucks.clear();
+  }
+  selectedDucks = selectedDucks;
+};
+
+
<li>
+  <input type="checkbox" id="select-all" checked={selectedDucks.size === ducks.length} on:change={onSelectAll}>
+  <label for="select-all"><strong>Select all</strong></label>
+</li>
+
+

Did you see how we bound the checked attribute based on the size of the set? This way, the ‘Select all’ checkbox will get automatically checked and unchecked depending on whether all the item checkboxes are checked. This satisfies the third and fourth criteria.

+

That’s all, folks!

+

We used a set to define which items the user has selected. Based on the contents of the set, we checked and unchecked a ‘Select all’ button. We also handled user interaction on the ‘Select all’ checkbox to fill or empty the set, which in turn checks or unchecks the item checkboxes.

+

Here is the full code for your reference.

+
<script>
+  const ducks = ['Huey', 'Dewey', 'Louie'];
+
+  let selectedDucks = new Set();
+
+  const onCheckDuck = event => {
+    if (event.target.checked) {
+      selectedDucks.add(event.target.value);
+    } else {
+      selectedDucks.delete(event.target.value);
+    }
+    selectedDucks = selectedDucks;
+  };
+
+  const onSelectAll = event => {
+    if (event.target.checked) {
+      selectedDucks = new Set(ducks);
+    } else {
+      selectedDucks.clear();
+    }
+    selectedDucks = selectedDucks;
+  };
+</script>
+
+<style>
+  ol {
+    list-style-type: none;
+    padding-left: 0;
+  }
+</style>
+
+<ol>
+  <li>
+    <input type="checkbox" id="select-all" checked={selectedDucks.size === ducks.length} on:change={onSelectAll}>
+    <label for="select-all"><strong>Select all</strong></label>
+  </li>
+  {#each ducks as duck}
+    <li>
+      <input type="checkbox" id={duck} value={duck} checked={selectedDucks.has(duck)} on:change={onCheckDuck}>
+      <label for={duck}>{duck}</label>
+    </li>
+  {/each}
+</ol>
+
+<p>{selectedDucks.size} ducks selected.</p>
+
+ +
+ + + +
+
+ +
+ + + diff --git a/blog/underlined-link-inkscape/index.html b/blog/underlined-link-inkscape/index.html new file mode 100644 index 0000000..7e985e7 --- /dev/null +++ b/blog/underlined-link-inkscape/index.html @@ -0,0 +1,260 @@ + + + + + + Creating Underlined Hyperlinks in Inkscape + · prose&const + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + + Code and musings by Darshak Parikh + + +
+ +
+
+
+

Creating Underlined Hyperlinks in Inkscape

+ +
+
+

Sometimes you want to create a vector graphic résumé or an infographic and export it as PDF. Doing this is easy in Inkscape using its Print function to create a file instead of printing on paper.

+

If your document has a web or email address, it is a good idea to make it clickable, so that anyone looking at the PDF doesn't have to copy and paste the address.

+

I'll show you how to do that.

+ +

Using the Select tool (the mouse-pointer arrow thing), select the object which you want to turn into a hyperlink. This will usually be text, but it can be anything: a rectangle, a path, a vectorized taco, anything.

+

+

Now right click on this object and select Create Link.

+

This will open up a pane on the right that looks like this:

+

+

In the Href field, type your address:

+

+

That's it. There's no Apply button. Your object is now clickable. Go home.

+

But there's a problem. Our text doesn't look like it's clickable.

+

Adding an underline

+

The most foolproof way to make text look like a link is to underline it.

+

To do that, open the Object menu at the top of your window, and select an option called Selectors and CSS…. Then select your text object. This will open up another pane to the right:

+

+

What you see is a table of the various style properties applied to the text under the hood. These are the defaults, but we want to add one more property here.

+

Click the + icon at the top left corner. It will add a new row.

+

Start typing text-decoration.

+

+

You can select the suggestion. Once done, press Tab to go to the next column. Here, type underline and hit Enter.

+

+

Boom! You have your underline.

+

+

But it's not over yet.

+

What if you, like myself, are not a fan of pure black text on white, and prefer some colour in your life? A black underline is no good.

+

Colouring the underline

+

Easy. In the same pane where you added the underline, add another property called text-decoration-color.

+

+

In the right column goes your colour's hex code, #156255 in my case.

+

+

You should see the coloured underline now!

+

+

References

+ + +
+ + + +
+
+ +
+ + + diff --git a/digital-garden/books/index.html b/digital-garden/books/index.html new file mode 100644 index 0000000..037b147 --- /dev/null +++ b/digital-garden/books/index.html @@ -0,0 +1,296 @@ + + + + + + Books + · prose&const + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + + Code and musings by Darshak Parikh + + +
+ +
+
+
+

Books

+ +
+
+

These are some of the books I’ve read and liked, grouped by category and sorted in no particular order. Excluded are the ones I’ve read but don’t recommend.

+

Fiction

+

Fantasy

+
    +
  • Harry Potter
    +Hands down my favourite in the genre, this is a world like none other. I’ve even reread (or relistened to in audio form) some of the books, including the Spanish translation of the first book. +
      +
    • Fantastic Beasts and Where to Find Them
    • +
    • Quidditch Through the Ages
    • +
    • Harry Potter and the Cursed Child
    • +
    +
  • +
  • Harry Potter and the Methods of Rationality
    +I don’t do fan fiction, but this one kills it. It challenges the way you see problems, scientific or otherwise. (To be honest, it is less fantasy and more sci-fi or psychological thriller.) Full of slapstick humour, anime references and playful stabs at the original, this doesn’t disappoint in the storyline either.
  • +
  • The Chronicles of Narnia
    +This is for an audience younger than that of Harry Potter. I like the saga, with my favourites being The Horse and His Boy and The Silver Chair. My least favourite is the finale: I wasn’t nearly as disappointed in Game of Thrones as I was in The Last Battle.
  • +
  • The Hobbit + The Lord of the Rings
    +Tolkien is known as a legend for a reason, and that reason cannot be summarized in a few sentences. Go, read the books. Also, the critique that The Lord of the Rings gets for being too long and too detailed is right. I didn’t feel the need to read the weather report for every day in Frodo’s journey. Despite that, this is one of the greatest works in the fantasy genre.
  • +
+

Science Fiction

+
    +
  • The Three-Body Problem trilogy by Cixin Liu
    +This gave me profound sense of existential humility. Some of the craziest ideas ever imagined by a human being, served beautifully in a three-course platter of an extremely far-fetched yet somehow credible storyline.
  • +
  • Acts of God by Kanan Gill
    +If you enjoy Kanan’s brand of cheeky geeky humour, this book is a treat. Contains unabashed use of all figures of speech you can imagine, and then some. While the comedy forms the primary terrain which happens to allow the plot to flow through, there are characters you instantly fall in love with. Oh, and I’m also biased, because the novel gives a sweet tribute to Deep Purple.
  • +
+

Detective

+
    +
  • By Agatha Christie: +
      +
    • And Then There Were None
      +Masterpiece. Highly recommended.
    • +
    • Black Coffee
    • +
    • They Do It with Mirrors
    • +
    • N or M?
    • +
    • One, Two, Buckle My Shoe
    • +
    +
  • +
  • The Cuckoo’s Calling
    +Rowling doesn’t do detective fiction as well as Christie, but if you like her elaborate writing style, this is a good book. I might read the other books in the series some day.
  • +
+

Misc

+
    +
  • The Adventures of Tom Sawyer + Adventures of Huckleberry Finn
    +I was maybe 10 when I read these, so I don’t remember much except that I liked them. Will probably revisit some time.
  • +
  • The Casual Vacancy
    +There’s no protagonist: everybody is good and bad in their own way.
  • +
  • The Old Man and the Sea
    +I read this less for the story and more to study Hemingway’s writing. And indeed, the writing is crisp and the story linear.
  • +
  • Digital Fortress
  • +
  • 1984
    +This book deserves all the praise it receives.
  • +
+

Non-fiction

+

Self-help and Philosophy

+
    +
  • By Mark Manson: +
      +
    • Models
    • +
    • The Subtle Art of Not Giving a Fuck
    • +
    • Everything Is Fucked
      +The most profound thing I have ever read. It digs down the evolution of the human brain and presents a framework that explains all historical events from a psychological perspective.
    • +
    +
  • +
  • Atomic Habits
    +Explains the science of habit-forming, so that you can use this understanding to build better habits and quit bad ones.
  • +
  • Indistractable
    +If you read Atomic Habits, read this next.
  • +
  • Barking Up the Wrong Tree
  • +
  • The Obstacle Is the Way
    +A modern approach to Stoicism. Not very practical, but offers solid, time-tested wisdom on how to make the best of any situation.
  • +
  • By Cal Newport: +
      +
    • Digital Minimalism
      +The first half is useful, actionable advice. The second half is a meandering stream of anecdotes and how they relate to the reader’s newfound leisure.
    • +
    • So Good They Can’t Ignore You
    • +
    • Deep Work
    • +
    +
  • +
  • The Psychology of Money
  • +
+

Technology

+ +

Misc

+
    +
  • Shoe Dog
  • +
  • Eats, Shoots and Leaves
  • +
+ +
+ + + +
+
+ +
+ + + diff --git a/digital-garden/commuting/index.html b/digital-garden/commuting/index.html new file mode 100644 index 0000000..d94e8be --- /dev/null +++ b/digital-garden/commuting/index.html @@ -0,0 +1,211 @@ + + + + + + In defence of commuting + · prose&const + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + + Code and musings by Darshak Parikh + + +
+ +
+
+
+

In defence of commuting

+ +
+
+

Commuting gets a bad rap, especially in large cities. But I think the problem isn’t commuting itself; it’s the stress of manoeuvring through traffic that makes for an unpleasant experience.

+

I prefer to just walk. Or use public transport. It gives me the time to switch out of work mode by letting my mind wander and silencing any residual mental buzz. This turns my commute into a rejuvenating activity instead of a tiring one.

+

Think about it: on a bus, you can engage in anything that takes away your thoughts about work. Take a nap. Read a book. Listen to music. Do anything that helps you unwind.

+

This way, when you reach home, you are no longer ranting about work to your family. If you stay alone, you have more headspace for what you want to do for the rest of the day.

+

In my experience, this is useful even when you love your job and don’t find it stressful.

+

Separating your mind into two “modes” is something I have found to be super effective for my mental health.

+ +
+ + + +
+
+ +
+ + + diff --git a/digital-garden/index.html b/digital-garden/index.html new file mode 100644 index 0000000..3e38de7 --- /dev/null +++ b/digital-garden/index.html @@ -0,0 +1,205 @@ + + + + + + Digital Garden + · prose&const + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + + Code and musings by Darshak Parikh + + +
+ +
+ +
+ + +
+ + + diff --git a/digital-garden/manga-and-friends/index.html b/digital-garden/manga-and-friends/index.html new file mode 100644 index 0000000..4076f2c --- /dev/null +++ b/digital-garden/manga-and-friends/index.html @@ -0,0 +1,300 @@ + + + + + + Manga & Friends + · prose&const + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + + Code and musings by Darshak Parikh + + +
+ +
+
+
+

Manga & Friends

+ +
+
+

This is a list of the anime I’ve watched and the manga/comics/webtoons I’ve read, in alphabetical order. Things to note:

+
    +
  • It is likely not exhaustive. I forget stuff.
  • +
  • I don’t follow everything to completion. I quit when it feels like a drag. People tell me the plot anyway.
  • +
+

Anime and Manga

+
    +
  • Beyblade
    +The first season.
  • +
  • Cardcaptors
    +My first anime ever.
  • +
  • Chainsaw Man
  • +
  • Claymore
    +The manga. The anime had to finish early because the manga didn’t catch up, but it was worth the time it took.
  • +
  • Death Note
    +Duh.
  • +
  • Demon Slayer: Kimetsu no Yaiba
  • +
  • Dragon Ball
    +Till the Majin Buu arc; haven’t followed GT or Super.
  • +
  • Elfen Lied
  • +
  • Fairy Tail
    +Till the Spriggan arc.
  • +
  • Fullmetal Alchemist
    +The manga, but I’ve been told the Brotherhood anime is awesome.
  • +
  • Grand Blue
    +The manga is hilarious, but the anime fails to capture the comic timing the same way.
  • +
  • Hyouka
    +Not everyone likes this, because it never gets exciting, but that’s precisely what I appreciate: this is something you can watch to chill after all the action-packed shōnen.
  • +
  • Inazuma Eleven
  • +
  • Jujutsu Kaisen
  • +
  • Kimi no Na wa
  • +
  • Naruto
  • +
  • One-Punch Man
  • +
  • Pokémon
    +Till some point in Unova.
  • +
  • Pokémon Horizons
    +A bit slow, but I like this format better, where the overarching story is given more importance than episodic stories.
  • +
  • Pokémon Adventures
    +Till the FireRed/LeafGreen arc. Green is BAE. 💚
  • +
  • Shingeki no Kyojin
    +Till the Marley arc.
  • +
  • Shokugeki no Soma
    +Two seasons.
  • +
  • Spy × Family
    +The manga is slightly less child-friendly than the anime, but besides being an enjoyable action comedy, I also appreciate how it shines light on topics like political psychology and parenting. Also, Anya’s expressions! 🤌
  • +
+

Webtoons

+
    +
  • Adventures of God
    +Short, hilarious strips.
  • +
  • Boyfriend of the Dead
    +Tons of geeky references.
  • +
  • City of Dead Sorcerer
    +Till the Jeeyul training arc.
  • +
  • Deadlove
  • +
  • The Gamer
  • +
  • Internet Explorer
    +Nothing interesting, except a personified representation of important entities in web history.
  • +
  • Lookism
    +High school gang wars.
  • +
  • Love Advice from the Great Duke of Hell
  • +
  • Weak Hero
    +More high school gang wars.
  • +
+

American Comics

+
    +
  • Batman: White Knight and its sequels (aka “Murphyverse”)
    +An uncanny spin on the classic Batman world. Each story is short but not rushed. The art is impeccable. Harley Quinn’s role is oddly endearing, and I don’t mean in the usual sense.
  • +
  • Hawkeye (2012)
    +This is what the Marvel Studios TV series was loosely based on. Delightfully fun. Kate Bishop has become one of my favourite Marvel characters.
  • +
  • Hawkeye (2016)
    +Where Kate Bishop is the protagonist. This run also gives a lot of attention to the women in Marvel and tries to thwart the stereotypes.
  • +
  • All-New Wolverine (2015)
    +Laura Kinney’s story as the new Wolverine. Also introduces her clone sister, Gabby, who is a sweet but badass kid and another one of my favourite Marvel characters.
  • +
  • House of M (2006)
  • +
  • Marvel’s Wastelanders
    +This is a set of dystopian stories where most heroes have been killed. A fascinating take on some of our favourite characters trying to get by in their old age in a world that has gone to shit. Here’s the reading order: +
      +
    1. Wolverine: Old Man Logan (which is Wolverine (2003) chapters #66 to #72, followed by Wolverine Giant-Size: Old Man Logan)
    2. +
    3. Old Man Logan (2015)
    4. +
    5. Old Man Logan (2016)
      +A bit dragged out, but necessary reading.
    6. +
    7. Deadpool vs. Old Man Logan
      +Optional spinoff.
    8. +
    9. Old Man Hawkeye
    10. +
    11. Dead Man Logan
    12. +
    13. Old Man Quill
    14. +
    15. Avengers of the Wastelands
    16. +
    17. Wastelanders
      +There are a few other minor appearances of Old Man Logan and Ashley Barton, but I didn’t bother checking them out.
    18. +
    +
  • +
  • The Walking Dead
    +Excellent art, storyline and dialogue. Never disappoints.
  • +
+ +
+ + + +
+
+ +
+ + + diff --git a/digital-garden/meta-confirmation-bias/index.html b/digital-garden/meta-confirmation-bias/index.html new file mode 100644 index 0000000..cc0afe9 --- /dev/null +++ b/digital-garden/meta-confirmation-bias/index.html @@ -0,0 +1,210 @@ + + + + + + Meta confirmation bias + · prose&const + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + + Code and musings by Darshak Parikh + + +
+ +
+
+
+

Meta confirmation bias

+ +
+
+

Confirmation bias exists. When you look for it, you start seeing it in various forms every day, some of which are violent and extremist.

+

When you form a habit of noticing this pattern, you also know which opinions to dismiss, because you know they were formed through the skewed lens of confirmation bias.

+

My hypothesis is that it is possible to take this too far, to a point where you disregard any and all opinions of someone you have classified as a biased person. You may lose out on valuable insights based on who said it rather than what they said.

+

Not even <insert controversial personality here> is wrong 100% of the time.

+

And there is a term for the situation where you believe something so strongly that you are blinded to the exceptions and nuances that defy your beliefs. That term is confirmation bias.

+ +
+ + + +
+
+ +
+ + + diff --git a/digital-garden/story-linux/index.html b/digital-garden/story-linux/index.html new file mode 100644 index 0000000..670215d --- /dev/null +++ b/digital-garden/story-linux/index.html @@ -0,0 +1,242 @@ + + + + + + How I got into Linux + · prose&const + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + + Code and musings by Darshak Parikh + + +
+ +
+
+
+

How I got into Linux

+ +
+
+

A schoolbook had just blown my mind.

+

I was in the 11th grade, and the Computers textbook had an intriguing chapter that had, as you know, blown my mind.

+

It introduced the concept of open source software, and explained how there were programs whose code was just out there for anyone to see and modify.

+

Now, the only programs I had written at that point were the ones where you print a triangular formation of asterisks using C. So I had no clue what it was like to write and maintain a real software project. Yet, the idea of open source hit home instantly, and lit a spark in my head. I wanted more than what the textbook gave me.

+
+

That same year, the computers in the school lab were upgraded, and the new machines ran an OS we had never seen before: Ubuntu.

+

There was a panel on top instead of bottom, and the brown colour scheme was a refreshing break from the corporatey blueness that had been Windows XP. The animations were delightful and the windows wobbly. It was more than software; it was an experience that felt like stepping out into a balcony and being greeted by a cool breeze.

+
+

Back home, we had a desktop with a space gray CRT monitor and a big-ass CPU with a whopping 1.25 GB of RAM. My father used it for work, so any major changes to it were out of question.

+

What I did do, however, was start using more open source software on Windows XP: Firefox instead of IE, VLC instead of Windows Media Player, PeaZip instead of WinZip, etc.

+

While I had largely forgotten Ubuntu after that school year, I had at least made an important decision which would drive my software choices for the rest of my life.

+
+

Three years later, a college textbook had failed to blow my mind.

+

Still an XP user, I found myself in the third semester of an Information Technology course. The subject known as Operating Systems was like any other, full of walls of text, containing information I had no idea what to do with.

+

But one day when I walked into the computer lab, I saw a few machines running an OS I hadn’t seen before: Ubuntu.

+

It was not the Ubuntu I remembered from school. There was a thick, translucent panel on the left with huge icons. The windows were no longer wobbly. It felt like… a different OS altogether. It was still refreshing but not in the same way.

+
+

This was in early 2012. Back home, my father no longer needed the computer, so I was the one calling shots on what goes into it.

+

I had brought home two copies of Ubuntu from my tinkerer friends at college: the latest 11.10 and an older 10.10. Installing and uninstalling them was a piece of cake thanks to wubi, the Windows Ubuntu Installer. You go Next, Next, Next on a wizard inside Windows, then restart the machine, et voilà! You’ve got a dual boot!

+

11.10 was what the college had been using. It was slow on my hardware, which had no GPU, not even an integrated one. And the RAM was still 1.25 GB. Unity did not deliver.

+

10.10 looked similar to what I had used earlier at school. And boy, was it fast! It booted in about half the time as XP and was snappy as fuck! (No pun intended; this was 2012.) But the real metric where it wiped the floor with Windows was the shutdown time: XP used to take over half a minute before I could turn off the power supply. Ubuntu 10.10 took four seconds tops!

+

Even the hardware support was great. On XP, I needed to install additional software to be able to go online using my USB-tethered Android phone or my 3G dongle. On Ubuntu, both worked out of the box. Not many people in 2012 could say this, but my hardware worked better on Linux than on Windows.

+

Add to that the plethora of open source software in Ubuntu Software Center and their general get-out-of-the-way attitude, and I was more than impressed. It became my primary OS, and within two months, I had decided: I was going to remove Windows and single-boot Linux.

+
+

But there was a problem. Ubuntu 10.10 would soon be outdated, so I would need to upgrade. Except that I could not upgrade. The upcoming 12.04 LTS would include the Unity desktop, which just barely ran on my box. I needed something else.

+

Your curious creature had discovered DistroWatch. There were numerous lightweight distros out there. I had my eyes on the upcoming Peppermint Three, but it was taking some time to release, so I ended up choosing the freshly launched Xubuntu 12.04. And boy, was it fast!

+
+

The next few years were a whirlpool of experimentation. I would try a new distro every couple of months, with Xubuntu being my “home distro,” something I could come back to and rely on, no matter what. I would go on to figure out how partitioning worked, what a desktop environment was, what a window manager was, what a package manager was — you get the idea.

+

At one point, I successfully made my desktop unbootable due to some partition shenanigans. Now, I had no other computer and no USB drive that happened to be bootable. What I did have was a 256 MB microSD card with Puppy Linux on it. And for some reason, the aforementioned 3G dongle had a microSD card slot on it.

+

I booted from it and got to work figuring out how to solve the partition problem using the unfamiliar Puppy system. I don’t remember how I did it, but over the course of an evening and a lifetime of head-scratching, my machine booted again. I breathed a sigh of disbelief.

+

Yes, people, I had just fixed a bricked system using a microSD card and a fucking 3G dongle. AMA.

+
+

The endless search for the perfect distro wasn’t endless after all. Sometime in 2015, I had installed elementary OS 0.3 Freya on my personal laptop, which I had bought with Ubuntu preinstalled two years before. And I had a new full-time job with little time to try out new distros every now and then. Having a stable, long-term OS was a must, and nothing worked better for me than elementary OS.

+

Since then, I have quit the distrohopping. I do occasionally try out an interesting distro on a live USB, but never replace my new “home distro.”

+

For what it’s worth, I have started investing my time in being a good citizen of the elementary community. I hang out on the community Slack and help people where I can. I make small code contributions once in a while. I developed a couple of apps for AppCenter, and will surely develop more.

+

And you know what? It gives me as much joy as distrohopping did, if not more. Sure, trying out new stuff is a lot of fun, but there’s a different kind of fulfillment in sticking to something and doing your bit to make it better.

+

And that is what I am trying to do today. That is what my Linux journey has led to. How about you?

+ +
+ + + +
+
+ +
+ + + diff --git a/digital-garden/story-retrogaming/index.html b/digital-garden/story-retrogaming/index.html new file mode 100644 index 0000000..c7cdf80 --- /dev/null +++ b/digital-garden/story-retrogaming/index.html @@ -0,0 +1,250 @@ + + + + + + How I got into retrogaming + · prose&const + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + + Code and musings by Darshak Parikh + + +
+ +
+
+
+

How I got into retrogaming

+ +
+
+

The year was 2000. Roughly, at any rate. I was a 7-year-old schoolkid living in Ahmedabad. There was a new electronic toy that everyone was talking about: the “video game.”

+

Now, that name had been applied to many things, from the handheld black-and-white mini-consoles to the fancy computer games that the rich kids had. But after the arrival of the new toy, the default meaning of the term changed for good.

+

It was an older neighbourhood kid named Chintan who got it first, and that’s how the people around me came to hear about it. Soon, my parents bought me a set as well. It came in a box just a bit larger than a shoe box. I’m too old to remember exactly what I felt, but I’m pretty sure it must have been excitement beyond measure.

+

Chintan, the neighbour, came over and helped set up the hardware with the TV. How nice of him! We inserted the bright yellow cartridge (“cassette” as we called it). The label said “9999999 in 1.”

+

It opened up a menu with square, pixelated fonts on a black background. The first page had about 20 games, some repeated thrice. The first in the list was Super Mario Bros.

+

Life was great.

+
+

I am referring, of course, to the NES, the Nintendo Entertainment System. Except that I’m not.

+

What my neighbours and I played with was an indigenous clone of the NES. Nintendo doesn’t do business in India in any meaningful sense. No other console ever became popular here, original or cloned.

+

The “video game” had its time for maybe five, seven years, and that was the last time most Indians ever saw everyone’s favourite Italian plumber. Myself included.

+

The year was 2005. Roughly, at any rate.

+
+

The year was 2003. May 12, to be exact. I was a 10-year-old schoolkid living in Ahmedabad. Children across the country were going gaga over a new “cartoon” that had just started airing.

+

This cartoon would go on to rule the TV screens, the toy stores and the snack packets which gave you surprise freebies.

+

I’m no economist, but I can tell that the companies that surfed this hype wave, made quite a killing. I remember having a box full of collectibles which I would show off to and trade with my friends.

+

Life was great.

+
+

I am referring, of course, to the Pokémon anime.

+

The hype started to fizzle out after about three years. Everyone watched till Johto. Few continued into Hoenn. Most stopped before Sinnoh.

+

The gaga kids had grown up. Myself included.

+

The year was 2006. Roughly, at any rate.

+
+

The year was 2008. Roughly, at any rate. I was a 15-year-old schoolkid living in Ahmedabad. Computers had become way more common in urban households.

+

My school friends had got their hands on a Pokémon “computer game,” in which you could have your own Pokémon adventure, catch your own Pokémon, fight your own battles and challenge the league your own way.

+

My memories of the anime had started to fade, but there was one thing I remembered clearly: that Ash Ketchum had been an incompetent idiot. And the prospect of fixing his fiascos was fascinating to me.

+

Soon, my friend Anurag came over and helped set up the emulator and the ROM. How nice of him! He explained how the game was made for a handheld called the Game Boy Advance, but we could play it on a PC with the right software.

+

Of the four people who had started playing Pokémon FireRed, I was the only one who picked Bulbasaur as a starter. I nicknamed it Verde, because I had started to learn Spanish around that time.

+

At first, the 2D pixelated graphics were disappointing to me, coming from GTA: Vice City. But FireRed didn’t take long to grow on me. All four of us friends would play at home every day and excitedly share our stories the next day at school.

+

I was a Pokémon fanboy once again.

+

Life was great.

+
+

The years went by. I was hooked. I went on to play numerous other Pokémon titles. I played spin-offs and fan-made hacks. I played some games multiple times. I even resumed watching the anime for a few seasons despite its degraded dubbing quality.

+

One would think that the global Pokémon GO hype would be my third wave of interest, but that would be untrue, because the second wave had never subsided.

+

And it wasn’t even just Pokémon any more.

+

I emulated a variety of Nintendo consoles. I learned about the oriental origins of my old “video game.” I played some NES classics for old times’ sake. I explored other games too: There was Summon Night and Fire Emblem and Final Fantasy. There was Super Mario World, and there was Mario Kart 64. There were sequels, and there were remakes. And all of these were emulated on the various devices, small and large, which I had owned through the years.

+

I showed up at many a Comic Con and bought cool merch every time.

+

Life continued to be great.

+
+

But while I had been discovering these amazing games and consoles to emulate, I was alone in playing them for the most part. There were at the most five people with whom I could talk about these.

+

Nintendo never became a household name. Sure, the names Pokémon and Mario were well-known, but as things of the past. There were no excited fans like there used to be when life was great.

+

And what irked me the most was how people on the internet, both from the West and the East, seemed to take for granted what I had to discover for myself. From Animal Crossing to Zelda, these were just games to many people. Everyone and their dog seemed to own a Switch.

+

Back in India, PlayStation is the only line of consoles that people care about. It’s not impossible to get a Switch unofficially in India, but you have to deal with either international shipping or the grey market. It takes way more time, money and patience than necessary. The fact that you need to buy a regional power adapter is a relatively minor issue.

+

And even if you do get one, it’s more of a personal thing. The social aspect of the games is lost when you cannot share your experiences with a fellow player you meet every day.

+

And if it’s not going to be social, then I don’t even feel like spending the time and money on getting the hardware any more. I continue to emulate the games in my own small world. And I’m okay with that. I don’t want to be the cheapskate who doesn’t buy his games; I just lack an official, supported way to enjoy my games. And I have learnt to enjoy my games alone.

+

The year is 2023. To this day, I always pick Bulbasaur.

+ +
+ + + +
+
+ +
+ + + diff --git a/digital-garden/when-macros/index.html b/digital-garden/when-macros/index.html new file mode 100644 index 0000000..cc9fefe --- /dev/null +++ b/digital-garden/when-macros/index.html @@ -0,0 +1,221 @@ + + + + + + When to use macros + · prose&const + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + + Code and musings by Darshak Parikh + + +
+ +
+
+
+

When to use macros

+ +
+
+

While learning about Lisps and their macro systems, I have identified the following cases when writing a macro is a better (or only) way to gain a level of abstraction.

+
    +
  • When you want to choose which arguments are evaluated, you can do it trivially in a macro. This is impossible to do directly in a function, because all arguments are evaluated before being passed to it. +
      +
    • A way to achieve this with functions is to pass the arguments as functions themselves, which the callee may choose to call based on a condition.
    • +
    +
  • +
  • When you want to evaluate the arguments more than once, such was while defining some kind of loop, you can only do it directly with a macro. +
      +
    • Same as before, this is possible by making the arguments functions similar to the JavaScript forEach.
    • +
    +
  • +
  • Macros are expanded at compile time, so when you know enough about an operation beforehand, you can save doing the same work at runtime.
  • +
  • Because macros are expanded inline, they can access the scope of the caller, so you can read or write variables in the containing scope. This is dangerous but can be powerful at times.
  • +
  • If you have a repeated code pattern, with the unique part sandwiched between the repetitive parts, you can pass the unique part as an argument to a macro which does the sandwiching for you. The names of such macros usually start with with-. A common use case is to access an external resource, do something with it and clean up afterwards.
  • +
+ +
+ + + +
+
+ +
+ + + diff --git a/elasticlunr.min.js b/elasticlunr.min.js new file mode 100644 index 0000000..79dad65 --- /dev/null +++ b/elasticlunr.min.js @@ -0,0 +1,10 @@ +/** + * elasticlunr - http://weixsong.github.io + * Lightweight full-text search engine in Javascript for browser search and offline search. - 0.9.6 + * + * Copyright (C) 2017 Oliver Nightingale + * Copyright (C) 2017 Wei Song + * MIT Licensed + * @license + */ +!function(){function e(e){if(null===e||"object"!=typeof e)return e;var t=e.constructor();for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}var t=function(e){var n=new t.Index;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),e&&e.call(n,n),n};t.version="0.9.5",lunr=t,t.utils={},t.utils.warn=function(e){return function(t){e.console&&console.warn&&console.warn(t)}}(this),t.utils.toString=function(e){return void 0===e||null===e?"":e.toString()},t.EventEmitter=function(){this.events={}},t.EventEmitter.prototype.addListener=function(){var e=Array.prototype.slice.call(arguments),t=e.pop(),n=e;if("function"!=typeof t)throw new TypeError("last argument must be a function");n.forEach(function(e){this.hasHandler(e)||(this.events[e]=[]),this.events[e].push(t)},this)},t.EventEmitter.prototype.removeListener=function(e,t){if(this.hasHandler(e)){var n=this.events[e].indexOf(t);-1!==n&&(this.events[e].splice(n,1),0==this.events[e].length&&delete this.events[e])}},t.EventEmitter.prototype.emit=function(e){if(this.hasHandler(e)){var t=Array.prototype.slice.call(arguments,1);this.events[e].forEach(function(e){e.apply(void 0,t)},this)}},t.EventEmitter.prototype.hasHandler=function(e){return e in this.events},t.tokenizer=function(e){if(!arguments.length||null===e||void 0===e)return[];if(Array.isArray(e)){var n=e.filter(function(e){return null===e||void 0===e?!1:!0});n=n.map(function(e){return t.utils.toString(e).toLowerCase()});var i=[];return n.forEach(function(e){var n=e.split(t.tokenizer.seperator);i=i.concat(n)},this),i}return e.toString().trim().toLowerCase().split(t.tokenizer.seperator)},t.tokenizer.defaultSeperator=/[\s\-]+/,t.tokenizer.seperator=t.tokenizer.defaultSeperator,t.tokenizer.setSeperator=function(e){null!==e&&void 0!==e&&"object"==typeof e&&(t.tokenizer.seperator=e)},t.tokenizer.resetSeperator=function(){t.tokenizer.seperator=t.tokenizer.defaultSeperator},t.tokenizer.getSeperator=function(){return t.tokenizer.seperator},t.Pipeline=function(){this._queue=[]},t.Pipeline.registeredFunctions={},t.Pipeline.registerFunction=function(e,n){n in t.Pipeline.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[n]=e},t.Pipeline.getRegisteredFunction=function(e){return e in t.Pipeline.registeredFunctions!=!0?null:t.Pipeline.registeredFunctions[e]},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(e){var i=t.Pipeline.getRegisteredFunction(e);if(!i)throw new Error("Cannot load un-registered function: "+e);n.add(i)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(e){t.Pipeline.warnIfFunctionNotRegistered(e),this._queue.push(e)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._queue.indexOf(e);if(-1===i)throw new Error("Cannot find existingFn");this._queue.splice(i+1,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._queue.indexOf(e);if(-1===i)throw new Error("Cannot find existingFn");this._queue.splice(i,0,n)},t.Pipeline.prototype.remove=function(e){var t=this._queue.indexOf(e);-1!==t&&this._queue.splice(t,1)},t.Pipeline.prototype.run=function(e){for(var t=[],n=e.length,i=this._queue.length,o=0;n>o;o++){for(var r=e[o],s=0;i>s&&(r=this._queue[s](r,o,e),void 0!==r&&null!==r);s++);void 0!==r&&null!==r&&t.push(r)}return t},t.Pipeline.prototype.reset=function(){this._queue=[]},t.Pipeline.prototype.get=function(){return this._queue},t.Pipeline.prototype.toJSON=function(){return this._queue.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})},t.Index=function(){this._fields=[],this._ref="id",this.pipeline=new t.Pipeline,this.documentStore=new t.DocumentStore,this.index={},this.eventEmitter=new t.EventEmitter,this._idfCache={},this.on("add","remove","update",function(){this._idfCache={}}.bind(this))},t.Index.prototype.on=function(){var e=Array.prototype.slice.call(arguments);return this.eventEmitter.addListener.apply(this.eventEmitter,e)},t.Index.prototype.off=function(e,t){return this.eventEmitter.removeListener(e,t)},t.Index.load=function(e){e.version!==t.version&&t.utils.warn("version mismatch: current "+t.version+" importing "+e.version);var n=new this;n._fields=e.fields,n._ref=e.ref,n.documentStore=t.DocumentStore.load(e.documentStore),n.pipeline=t.Pipeline.load(e.pipeline),n.index={};for(var i in e.index)n.index[i]=t.InvertedIndex.load(e.index[i]);return n},t.Index.prototype.addField=function(e){return this._fields.push(e),this.index[e]=new t.InvertedIndex,this},t.Index.prototype.setRef=function(e){return this._ref=e,this},t.Index.prototype.saveDocument=function(e){return this.documentStore=new t.DocumentStore(e),this},t.Index.prototype.addDoc=function(e,n){if(e){var n=void 0===n?!0:n,i=e[this._ref];this.documentStore.addDoc(i,e),this._fields.forEach(function(n){var o=this.pipeline.run(t.tokenizer(e[n]));this.documentStore.addFieldLength(i,n,o.length);var r={};o.forEach(function(e){e in r?r[e]+=1:r[e]=1},this);for(var s in r){var u=r[s];u=Math.sqrt(u),this.index[n].addToken(s,{ref:i,tf:u})}},this),n&&this.eventEmitter.emit("add",e,this)}},t.Index.prototype.removeDocByRef=function(e){if(e&&this.documentStore.isDocStored()!==!1&&this.documentStore.hasDoc(e)){var t=this.documentStore.getDoc(e);this.removeDoc(t,!1)}},t.Index.prototype.removeDoc=function(e,n){if(e){var n=void 0===n?!0:n,i=e[this._ref];this.documentStore.hasDoc(i)&&(this.documentStore.removeDoc(i),this._fields.forEach(function(n){var o=this.pipeline.run(t.tokenizer(e[n]));o.forEach(function(e){this.index[n].removeToken(e,i)},this)},this),n&&this.eventEmitter.emit("remove",e,this))}},t.Index.prototype.updateDoc=function(e,t){var t=void 0===t?!0:t;this.removeDocByRef(e[this._ref],!1),this.addDoc(e,!1),t&&this.eventEmitter.emit("update",e,this)},t.Index.prototype.idf=function(e,t){var n="@"+t+"/"+e;if(Object.prototype.hasOwnProperty.call(this._idfCache,n))return this._idfCache[n];var i=this.index[t].getDocFreq(e),o=1+Math.log(this.documentStore.length/(i+1));return this._idfCache[n]=o,o},t.Index.prototype.getFields=function(){return this._fields.slice()},t.Index.prototype.search=function(e,n){if(!e)return[];e="string"==typeof e?{any:e}:JSON.parse(JSON.stringify(e));var i=null;null!=n&&(i=JSON.stringify(n));for(var o=new t.Configuration(i,this.getFields()).get(),r={},s=Object.keys(e),u=0;u0&&t.push(e);for(var i in n)"docs"!==i&&"df"!==i&&this.expandToken(e+i,t,n[i]);return t},t.InvertedIndex.prototype.toJSON=function(){return{root:this.root}},t.Configuration=function(e,n){var e=e||"";if(void 0==n||null==n)throw new Error("fields should not be null");this.config={};var i;try{i=JSON.parse(e),this.buildUserConfig(i,n)}catch(o){t.utils.warn("user configuration parse failed, will use default configuration"),this.buildDefaultConfig(n)}},t.Configuration.prototype.buildDefaultConfig=function(e){this.reset(),e.forEach(function(e){this.config[e]={boost:1,bool:"OR",expand:!1}},this)},t.Configuration.prototype.buildUserConfig=function(e,n){var i="OR",o=!1;if(this.reset(),"bool"in e&&(i=e.bool||i),"expand"in e&&(o=e.expand||o),"fields"in e)for(var r in e.fields)if(n.indexOf(r)>-1){var s=e.fields[r],u=o;void 0!=s.expand&&(u=s.expand),this.config[r]={boost:s.boost||0===s.boost?s.boost:1,bool:s.bool||i,expand:u}}else t.utils.warn("field name in user configuration not found in index instance fields");else this.addAllFields2UserConfig(i,o,n)},t.Configuration.prototype.addAllFields2UserConfig=function(e,t,n){n.forEach(function(n){this.config[n]={boost:1,bool:e,expand:t}},this)},t.Configuration.prototype.get=function(){return this.config},t.Configuration.prototype.reset=function(){this.config={}},lunr.SortedSet=function(){this.length=0,this.elements=[]},lunr.SortedSet.load=function(e){var t=new this;return t.elements=e,t.length=e.length,t},lunr.SortedSet.prototype.add=function(){var e,t;for(e=0;e1;){if(r===e)return o;e>r&&(t=o),r>e&&(n=o),i=n-t,o=t+Math.floor(i/2),r=this.elements[o]}return r===e?o:-1},lunr.SortedSet.prototype.locationFor=function(e){for(var t=0,n=this.elements.length,i=n-t,o=t+Math.floor(i/2),r=this.elements[o];i>1;)e>r&&(t=o),r>e&&(n=o),i=n-t,o=t+Math.floor(i/2),r=this.elements[o];return r>e?o:e>r?o+1:void 0},lunr.SortedSet.prototype.intersect=function(e){for(var t=new lunr.SortedSet,n=0,i=0,o=this.length,r=e.length,s=this.elements,u=e.elements;;){if(n>o-1||i>r-1)break;s[n]!==u[i]?s[n]u[i]&&i++:(t.add(s[n]),n++,i++)}return t},lunr.SortedSet.prototype.clone=function(){var e=new lunr.SortedSet;return e.elements=this.toArray(),e.length=e.elements.length,e},lunr.SortedSet.prototype.union=function(e){var t,n,i;this.length>=e.length?(t=this,n=e):(t=e,n=this),i=t.clone();for(var o=0,r=n.toArray();o + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + 星星 + + + Apertium + + + + + + + + + + + + + + + + + + я + آزاد + के + ᐃᓅᔪᓕ + ð + אדם + ք + + + diff --git a/images/projects/badger-48x48.svg b/images/projects/badger-48x48.svg new file mode 100644 index 0000000..9b6f2ef --- /dev/null +++ b/images/projects/badger-48x48.svg @@ -0,0 +1,171 @@ + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + diff --git a/images/projects/cli-48x48.svg b/images/projects/cli-48x48.svg new file mode 100644 index 0000000..06cf854 --- /dev/null +++ b/images/projects/cli-48x48.svg @@ -0,0 +1,76 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/images/projects/neural-net-48x48.svg b/images/projects/neural-net-48x48.svg new file mode 100644 index 0000000..66c24c9 --- /dev/null +++ b/images/projects/neural-net-48x48.svg @@ -0,0 +1,121 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + diff --git a/images/projects/otpea-48x48.svg b/images/projects/otpea-48x48.svg new file mode 100644 index 0000000..956aa41 --- /dev/null +++ b/images/projects/otpea-48x48.svg @@ -0,0 +1,118 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + diff --git a/images/projects/vulcan-salute-48x48.svg b/images/projects/vulcan-salute-48x48.svg new file mode 100644 index 0000000..36a02a7 --- /dev/null +++ b/images/projects/vulcan-salute-48x48.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/select-all-set/all-boxes-unchecked.png b/images/select-all-set/all-boxes-unchecked.png new file mode 100644 index 0000000..b20bfcd Binary files /dev/null and b/images/select-all-set/all-boxes-unchecked.png differ diff --git a/images/select-all-set/item-boxes-unchecked.png b/images/select-all-set/item-boxes-unchecked.png new file mode 100644 index 0000000..9c03967 Binary files /dev/null and b/images/select-all-set/item-boxes-unchecked.png differ diff --git a/images/underlined-link-inkscape/attr-pane-empty.png b/images/underlined-link-inkscape/attr-pane-empty.png new file mode 100644 index 0000000..45d406f Binary files /dev/null and b/images/underlined-link-inkscape/attr-pane-empty.png differ diff --git a/images/underlined-link-inkscape/attr-pane-filled.png b/images/underlined-link-inkscape/attr-pane-filled.png new file mode 100644 index 0000000..1076a9a Binary files /dev/null and b/images/underlined-link-inkscape/attr-pane-filled.png differ diff --git a/images/underlined-link-inkscape/css-pane-default.png b/images/underlined-link-inkscape/css-pane-default.png new file mode 100644 index 0000000..7b3da4c Binary files /dev/null and b/images/underlined-link-inkscape/css-pane-default.png differ diff --git a/images/underlined-link-inkscape/css-pane-text-decoration-color-typing.png b/images/underlined-link-inkscape/css-pane-text-decoration-color-typing.png new file mode 100644 index 0000000..f703386 Binary files /dev/null and b/images/underlined-link-inkscape/css-pane-text-decoration-color-typing.png differ diff --git a/images/underlined-link-inkscape/css-pane-text-decoration-color.png b/images/underlined-link-inkscape/css-pane-text-decoration-color.png new file mode 100644 index 0000000..3064268 Binary files /dev/null and b/images/underlined-link-inkscape/css-pane-text-decoration-color.png differ diff --git a/images/underlined-link-inkscape/css-pane-text-decoration-typing.png b/images/underlined-link-inkscape/css-pane-text-decoration-typing.png new file mode 100644 index 0000000..fdcebe2 Binary files /dev/null and b/images/underlined-link-inkscape/css-pane-text-decoration-typing.png differ diff --git a/images/underlined-link-inkscape/css-pane-text-decoration.png b/images/underlined-link-inkscape/css-pane-text-decoration.png new file mode 100644 index 0000000..4c674b2 Binary files /dev/null and b/images/underlined-link-inkscape/css-pane-text-decoration.png differ diff --git a/images/underlined-link-inkscape/text-black-underline.png b/images/underlined-link-inkscape/text-black-underline.png new file mode 100644 index 0000000..2db3191 Binary files /dev/null and b/images/underlined-link-inkscape/text-black-underline.png differ diff --git a/images/underlined-link-inkscape/text-coloured-underline.png b/images/underlined-link-inkscape/text-coloured-underline.png new file mode 100644 index 0000000..8c1239e Binary files /dev/null and b/images/underlined-link-inkscape/text-coloured-underline.png differ diff --git a/images/underlined-link-inkscape/text-unstyled.png b/images/underlined-link-inkscape/text-unstyled.png new file mode 100644 index 0000000..743fbad Binary files /dev/null and b/images/underlined-link-inkscape/text-unstyled.png differ diff --git a/index.html b/index.html new file mode 100644 index 0000000..4b1a3e0 --- /dev/null +++ b/index.html @@ -0,0 +1,283 @@ + + + + + + Home + · prose&const + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + + Code and musings by Darshak Parikh + + +
+ + +
+

The name is Darshak.

+

I write apps + for elementary OS + and + the web. + And I read + books + and + stuff. +

+

This is my site. Make yourself at home.

+ +
+ + + + +
+ + + diff --git a/links.json b/links.json new file mode 100644 index 0000000..ba9cb68 --- /dev/null +++ b/links.json @@ -0,0 +1,24 @@ +{ + "pages": [ + { + "url": "/blog", + "text": "blog", + "long": "Read my blog" + }, + { + "url": "/digital-garden", + "text": "digital garden", + "long": "Visit my digital garden" + }, + { + "url": "/projects", + "text": "projects", + "long": "Look at my projects" + }, + { + "url": "/about", + "text": "about", + "long": "Know more about me" + } + ] +} diff --git a/main.css b/main.css new file mode 100644 index 0000000..465986f --- /dev/null +++ b/main.css @@ -0,0 +1 @@ +/*! minireset.css v0.0.6 | MIT License | github.com/jgthms/minireset.css */html,body,p,ol,ul,li,dl,dt,dd,blockquote,figure,fieldset,legend,textarea,pre,iframe,hr,h1,h2,h3,h4,h5,h6{margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal}ul{list-style:none}button,input,select,textarea{margin:0}html{box-sizing:border-box}*,*::before,*::after{box-sizing:inherit}img,video{height:auto;max-width:100%}iframe{border:0}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}td:not([align]),th:not([align]){text-align:left}:root{--heading-font: "Rosario", sans-serif;--body-font: "Asap", sans-serif;--monospace-font: "IBM Plex Mono", monospace;--bg-color: #eee;--bg-color-bright: white;--primary-color: #2e413d;--primary-color-dimmed: #5c5f5f;--heading-color: #307a74;--accent-color: #61c7c2;--border-color: #37a8a3;--glow-color: #84c4c0}@media (prefers-color-scheme: dark){:root{--bg-color: #0d171f;--bg-color-bright: #233842;--primary-color: #e9ecec;--primary-color-dimmed: #b6b8b9;--heading-color: #7cb1b3;--accent-color: #17837d;--border-color: #608288;--glow-color: #1a4d4a}}html{font-size:16px}@media (max-width: 719px){html{font-size:14px}}body{background-color:var(--bg-color);color:var(--primary-color);font-family:var(--body-font);font-feature-settings:"case" on;line-height:1.6}h1,h2,h3{color:var(--heading-color);font-family:var(--heading-font);font-weight:bold;line-height:1.2}h1{font-size:2em}small{font-style:italic}a{color:unset;border-radius:2px;text-decoration-color:var(--accent-color);text-decoration-skip-ink:none;text-decoration-thickness:2px;text-underline-offset:3px;transition:background-color 200ms,outline-width 200ms}a:focus{outline:4px solid var(--accent-color);background-color:var(--accent-color);text-decoration:none}address{font-size:.8em;font-style:normal}main{flex-grow:1;padding:1rem 0 0}.is-hidden{display:none}.is-centered-x,.is-centered{display:flex;justify-content:center}.is-centered-y,.is-centered{align-items:center;display:flex}.is-flex{display:flex}.is-flex-column{display:flex;flex-direction:column}.is-flex-wrap{flex-wrap:wrap}.turbo-progress-bar{background-color:var(--accent-color)}.container{align-items:stretch;display:flex;flex-direction:column;min-height:100vh;padding:1rem 1.5rem}.icon-path{fill:var(--primary-color-dimmed);transition:fill 100ms}svg:hover .icon-path,svg:focus .icon-path,svg:active .icon-path{fill:var(--accent-color)}@font-face{font-display:fallback;font-family:"Asap";font-style:italic;font-weight:400;src:local("Asap Italic"),local("Asap-Italic"),url("/fonts/Asap-Italic.woff2") format("woff2")}@font-face{font-display:fallback;font-family:"Asap";font-style:normal;font-weight:400;src:local("Asap Regular"),local("Asap-Regular"),url("/fonts/Asap-Regular.woff2") format("woff2")}@font-face{font-display:fallback;font-family:"Asap";font-style:italic;font-weight:700;src:local("Asap Bold Italic"),local("Asap-BoldItalic"),url("/fonts/Asap-BoldItalic.woff2") format("woff2")}@font-face{font-display:fallback;font-family:"Asap";font-style:normal;font-weight:700;src:local("Asap Bold"),local("Asap-Bold"),url("/fonts/Asap-Bold.woff2") format("woff2")}@font-face{font-display:fallback;font-family:"Rosario";font-style:normal;font-weight:700;src:url("/fonts/Rosario-Bold.woff2") format("woff2")}@font-face{font-display:fallback;font-family:"IBM Plex Mono";font-style:italic;font-weight:400;src:local("IBM Plex Mono Italic"),local("IBMPlexMono-Italic"),url("https://fonts.gstatic.com/s/ibmplexmono/v6/-F6pfjptAgt5VM-kVkqdyU8n1ioa1XdgregdFA.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-display:fallback;font-family:"IBM Plex Mono";font-style:normal;font-weight:400;src:local("IBM Plex Mono"),local("IBMPlexMono"),url("https://fonts.gstatic.com/s/ibmplexmono/v6/-F63fjptAgt5VM-kVkqdyU8n1i8q131nj-o.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.article{font-size:20px;max-width:72ch;width:100%}.article h1{margin:1em 0 .25em}.section-list{display:grid;gap:2.25em 1em;grid-template-columns:1fr auto;margin-top:3em}@media (max-width: 639px){.section-list{grid-template-columns:auto}}.section-list time{color:var(--primary-color-dimmed);font-size:.75em;font-variant-numeric:tabular-nums;justify-self:end;letter-spacing:.1em;text-transform:uppercase}@media (max-width: 639px){.section-list time{display:none}}.tag-list{display:flex;flex-flow:row wrap;gap:1em 1.5em;margin-top:3em}.page-wrapper{width:100%}.page{font-size:20px;max-width:72ch;width:100%}.page h1{margin:1em 0 .25em}.byline-container{color:var(--primary-color-dimmed);font-size:.7em;letter-spacing:.1em;text-transform:uppercase}.byline-container .value{font-weight:700}.byline-container .tag:not(:last-child){margin-right:.6ch}.page-body{hyphens:auto;margin:1.5em 0}.page-body h2{font-size:1.5em;margin-top:2em}.page-body h2:first-child{margin-top:1.5em}.page-body h3{font-size:1.2em;margin:2.5rem 0 0}.page-body p,.page-body ol,.page-body ul{color:var(--primary-color);margin:1.75rem 0}.page-body p li,.page-body ol li,.page-body ul li{margin:.75rem 0;}@media (max-width: 719px){.page-body p li,.page-body ol li,.page-body ul li{margin-left:1.2rem}}.page-body h3+p,.page-body h3+ol,.page-body h3+ul{margin-top:.5rem}.page-body blockquote{border-left:.25rem solid var(--accent-color);padding-left:1rem}.page-body ul{list-style-type:disc}.page-body ol ol,.page-body ul ul,.page-body ol ul,.page-body ul ol{margin:0;padding-left:1.25rem}.page-body ol ol li,.page-body ul ul li,.page-body ol ul li,.page-body ul ol li{margin:0}.page-body pre{border:2px solid var(--border-color);border-radius:.25rem;box-shadow:0 0 15px 0 var(--glow-color);line-height:1.2;overflow-x:auto;padding:1rem}.page-body pre code{font-size:.8em}.page-body pre+pre{margin-top:2rem}.page-body code{font-family:var(--monospace-font);font-size:.95em}.page-body p code,.page-body li code{color:var(--primary-color-dimmed)}.page-body kbd{border:1px solid var(--border-color);border-radius:3px;box-shadow:0 1px 1px rgba(0,0,0,.2),0 2px 0 0 rgba(255,255,255,.4);display:inline-block;font-family:var(--monospace-font);font-size:.85em;line-height:1;margin:0 2px;padding:2px 4px;white-space:nowrap}.page-body img{border:2px solid var(--border-color);border-radius:.25rem;box-shadow:0 0 15px 0 var(--glow-color);display:block;margin:auto}.page-body hr{border-top:2px solid var(--accent-color);margin:2em 0;width:5%}.footnote-definition{color:var(--primary-color-dimmed);font-size:.8em;margin-top:6rem;position:relative}.footnote-definition::before{content:"Footnotes";font-family:var(--heading-font);font-size:1.4em;position:absolute;top:-2em}.footnote-reference,.footnote-definition-label{font-size:.7em}.footnote-definition-label{margin-right:1ch;position:absolute;right:100%;text-align:right}.footnote-definition-label+p{display:inline}.page-footer{background-color:var(--bg-color-bright);border:1px solid var(--border-color);border-radius:4px;box-shadow:0 0 6px 0 var(--glow-color);color:var(--primary-color-dimmed);font-size:1em;margin:2em 0;padding:1em 2em}.page-footer p{margin:1em 0}.headshot{float:right;margin-left:.5rem;shape-margin:.5em;shape-outside:circle(50%);width:30%}.headshot img{border:2px solid var(--border-color);border-radius:50%;box-shadow:0 0 15px 0 var(--glow-color);float:right}.headshot-small{flex:1 0 auto;margin-right:1.5em;max-width:5em}.headshot-small img{border:2px solid var(--border-color);border-radius:50%;box-shadow:0 0 15px 0 var(--glow-color)}@media (max-width: 719px){.headshot-small{display:none}} \ No newline at end of file diff --git a/projects.json b/projects.json new file mode 100644 index 0000000..ec99a3f --- /dev/null +++ b/projects.json @@ -0,0 +1,145 @@ +{ + "sections": [ + { + "title": "Apps", + "items": [ + { + "name": "Badger", + "logo": "/images/projects/badger-48x48.svg", + "description": "elementary OS app to remind you to be ergonomic", + "links": [ + { + "title": "AppCenter", + "href": "https://appcenter.elementary.io/com.github.elfenware.badger" + }, + { + "title": "GitHub", + "href": "https://github.com/elfenware/badger" + } + ] + }, + { + "name": "OTPea", + "logo": "/images/projects/otpea-48x48.svg", + "description": "Time-based OTP generator for the web", + "links": [ + { + "title": "Web app", + "href": "https://otpea.surge.sh/" + }, + { + "title": "GitHub", + "href": "https://github.com/dar5hak/otpea-web" + } + ] + } + ] + }, + { + "title": "Command Line", + "items": [ + { + "name": "generator-awesome-list", + "logo": "/images/projects/cli-48x48.svg", + "description": "Yeoman generator for GitHub awesome lists", + "links": [ + { + "title": "npm", + "href": "https://www.npmjs.com/package/generator-awesome-list" + }, + { + "title": "GitHub", + "href": "https://github.com/dar5hak/generator-awesome-list" + } + ] + }, + { + "name": "totodo", + "logo": "/images/projects/cli-48x48.svg", + "description": "Simple CLI todo list", + "links": [ + { + "title": "npm", + "href": "https://www.npmjs.com/package/totodo" + }, + { + "title": "GitHub", + "href": "https://github.com/dar5hak/totodo" + } + ] + } + ] + }, + { + "title": "Educational + Experimental", + "items": [ + { + "name": "Lizard-Spock API", + "logo": "/images/projects/vulcan-salute-48x48.svg", + "description": "REST API to play Rock-Paper-Scissors-Lizard-Spock", + "links": [ + { + "title": "Swagger", + "href": "http://backend.lizardspock.xyz/api/v1/swagger/index.html" + }, + { + "title": "GitHub", + "href": "https://github.com/dar5hak/lizardspock-api" + } + ] + }, + { + "name": "Offline digit recognition", + "logo": "/images/projects/neural-net-48x48.svg", + "description": "Recognizes handwritten digits in the browser using a TensorFlow.js model saved offline", + "links": [ + { + "title": "Web app", + "href": "https://dar5hak.github.io/offline-mnist/" + }, + { + "title": "Blog post", + "href": "https://dubiousdisc.xyz/2019/02/22/ml-offline-web-tfjs/" + }, + { + "title": "GitHub", + "href": "https://github.com/dar5hak/offline-mnist" + } + ] + }, + { + "name": "English-to-French translator", + "logo": "/images/projects/neural-net-48x48.svg", + "description": "Final project for AI Nanodegree at Udacity; uses a bidirectional RNN to achieve 98% accuracy on the test data" + }, + { + "name": "Text sequence generator", + "logo": "/images/projects/neural-net-48x48.svg", + "description": "Takes a line of text from _The Adventures of Sherlock Holmes_, and generates a silly continuation", + "links": [ + { + "title": "Jupyter notebook (scroll to Problem 2)", + "href": "https://github.com/dar5hak/aind2-rnn/blob/master/RNN_project.ipynb" + } + ] + } + ] + }, + { + "title": "Google Summer of Code", + "items": [ + { + "name": "Apertium", + "logo": "/images/projects/apertium.svg", + "description": "Enhanced accuracy of English-to-Esperanto translation in Apertium, an open source machine translation program\n\n(Apertium logo by Francis Tyers, Andrej Slapnik, CC BY-SA 3.0, Link)", + "links": [ + { + "title": "Project report", + "href": "https://wiki.apertium.org/wiki/User:Darshak/GSoC_2014_Report" + } + ] + } + ] + } + ] +} diff --git a/projects/index.html b/projects/index.html new file mode 100644 index 0000000..7a298b4 --- /dev/null +++ b/projects/index.html @@ -0,0 +1,432 @@ + + + + + + Projects + · prose&const + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + + Code and musings by Darshak Parikh + + +
+ +
+
+  
+

Projects

+
+ +
+ + +

Apps

+
+ +
+ +
+

Badger

+

elementary OS app to remind you to be ergonomic

+ + +

+ AppCenter · + GitHub + +

+ +
+
+ +
+ +
+

OTPea

+

Time-based OTP generator for the web

+ + +

+ Web app · + GitHub + +

+ +
+
+ +
+ +

Command Line

+
+ +
+ +
+

generator-awesome-list

+

Yeoman generator for GitHub awesome lists

+ + +

+ npm · + GitHub + +

+ +
+
+ +
+ +
+

totodo

+

Simple CLI todo list

+ + +

+ npm · + GitHub + +

+ +
+
+ +
+ +

Educational + Experimental

+
+ +
+ +
+

Lizard-Spock API

+

REST API to play Rock-Paper-Scissors-Lizard-Spock

+ + +

+ Swagger · + GitHub + +

+ +
+
+ +
+ +
+

Offline digit recognition

+

Recognizes handwritten digits in the browser using a TensorFlow.js model saved offline

+ + +

+ Web app · + Blog post · + GitHub + +

+ +
+
+ +
+ +
+

English-to-French translator

+

Final project for AI Nanodegree at Udacity; uses a bidirectional RNN to achieve 98% accuracy on the test data

+ + +
+
+ +
+ +
+

Text sequence generator

+

Takes a line of text from The Adventures of Sherlock Holmes, and generates a silly continuation

+ + +

+ Jupyter notebook (scroll to Problem 2) + +

+ +
+
+ +
+ +

Google Summer of Code

+
+ +
+ +
+

Apertium

+

Enhanced accuracy of English-to-Esperanto translation in Apertium, an open source machine translation program

+

(Apertium logo by Francis Tyers, Andrej Slapnik, CC BY-SA 3.0, Link)

+ + +

+ Project report + +

+ +
+
+ +
+ +
+
+
+ + +
+ + + diff --git a/robots.txt b/robots.txt new file mode 100644 index 0000000..54fc9e9 --- /dev/null +++ b/robots.txt @@ -0,0 +1,4 @@ +User-agent: * +Disallow: +Allow: / +Sitemap: https://proseandconst.xyz/sitemap.xml diff --git a/search_index.en.js b/search_index.en.js new file mode 100644 index 0000000..4eb21b3 --- /dev/null +++ b/search_index.en.js @@ -0,0 +1 @@ +window.searchIndex = {"fields":["title","body"],"pipeline":["trimmer","stopWordFilter","stemmer"],"ref":"id","version":"0.9.5","index":{"body":{"root":{"docs":{},"df":0,"0":{"docs":{},"df":0,".":{"docs":{},"df":0,"3":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}},"3":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":2},"9":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}},"1":{"docs":{"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":2,".":{"docs":{},"df":0,"2":{"docs":{},"df":0,"5":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.4142135623730951}},"df":2}}},"0":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":3,".":{"docs":{},"df":0,"1":{"docs":{},"df":0,"0":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":2.0}},"df":1}}},"0":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/meta-confirmation-bias/":{"tf":1.0}},"df":2}},"1":{"docs":{},"df":0,".":{"docs":{},"df":0,"1":{"docs":{},"df":0,"0":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.4142135623730951}},"df":1}}},"t":{"docs":{},"df":0,"h":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}}},"2":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"0":{"docs":{},"df":0,"4":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.4142135623730951}},"df":1}}}},"3":{"docs":{},"df":0,"6":{"docs":{},"df":0,"6":{"docs":{},"df":0,"×":{"docs":{},"df":0,"7":{"docs":{},"df":0,"6":{"docs":{},"df":0,"8":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.4142135623730951}},"df":1}}}}}}},"5":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"6":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1}},"6":{"docs":{},"df":0,"2":{"docs":{},"df":0,"5":{"docs":{},"df":0,"5":{"docs":{"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0}},"df":1}}}}},"7":{"docs":{},"df":0,"9":{"docs":{},"df":0,"9":{"docs":{},"df":0,"–":{"docs":{},"df":0,"₹":{"docs":{},"df":0,"1":{"docs":{},"df":0,"8":{"docs":{},"df":0,"9":{"docs":{},"df":0,"9":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":1}}}}}}}}},"8":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0}},"df":1},"9":{"docs":{},"df":0,"8":{"docs":{},"df":0,"4":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}},"9":{"docs":{},"df":0,"0":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}}}},"2":{"docs":{"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"0":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1}},"0":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1,"0":{"docs":{},"df":0,"0":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1},"3":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":2},"5":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1},"6":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":2},"7":{"docs":{},"df":0,"–":{"docs":{},"df":0,"2":{"docs":{},"df":0,"0":{"docs":{},"df":0,"1":{"docs":{},"df":0,"5":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1}}}}}},"8":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}},"1":{"docs":{},"df":0,"1":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0}},"df":1},"2":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.7320508075688772}},"df":2},"3":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1,"–":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1}}}}}}}}},"4":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0}},"df":1},"5":{"docs":{"https://proseandconst.xyz/about/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":3},"6":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.4142135623730951}},"df":1}},"2":{"docs":{},"df":0,"0":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.4142135623730951}},"df":3},"3":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":2}}},"5":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1,"2":{"docs":{},"df":0,"0":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1}},"6":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":2}},"8":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":2},"d":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1},"p":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}},"3":{"docs":{"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"0":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1}},"/":{"docs":{},"df":0,"5":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":1}},"3":{"docs":{},"df":0,",":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1}}}}},"d":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1},"g":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.7320508075688772}},"df":1},"r":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1}}},"4":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0}},"df":2,"/":{"docs":{},"df":0,"5":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":1}},"5":{"docs":{},"df":0,"0":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1}},"8":{"docs":{},"df":0,"0":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1}}},"5":{"docs":{},"df":0,"/":{"docs":{},"df":0,"5":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":1}},"0":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.4142135623730951}},"df":1,"0":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1}}},"6":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0}},"df":1,"0":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":1},"4":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1},"5":{"docs":{},"df":0,",":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1}}}}},"6":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}},"7":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1,"0":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.4142135623730951}},"df":1},"2":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}},"8":{"docs":{},"df":0,"0":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":2},"8":{"docs":{},"df":0,"5":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1}}},"9":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0}},"df":1,"0":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1},"9":{"docs":{},"df":0,"9":{"docs":{},"df":0,"9":{"docs":{},"df":0,"9":{"docs":{},"df":0,"9":{"docs":{},"df":0,"9":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}}}}}}},"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0}},"df":1}}},"v":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0}},"df":2}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.0}},"df":1}}}}}}},"c":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.4142135623730951}},"df":2}}},"u":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":1},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0}},"df":1}}}}}},"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"v":{"docs":{"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.0}},"df":2}}}},"t":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.4142135623730951}},"df":4}},"v":{"docs":{"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0}},"df":3}},"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0}},"df":1}}}}},"d":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.7320508075688772},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.7320508075688772},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.4142135623730951}},"df":4,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":2}}},"d":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":2.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/blog/select-all-set/":{"tf":2.23606797749979},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.7320508075688772},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":5,"i":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":2}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.7320508075688772}},"df":1}}}}},"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0}},"df":2}}}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":3}}}}},"i":{"docs":{},"df":0,"c":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":4}}}},"f":{"docs":{},"df":0,"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1}}}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}}}}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.0}},"df":1}}}}}}}},"g":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":4,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":5}},"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0}},"df":1}}},"h":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.7320508075688772}},"df":1}}}}}}}},"i":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}},"k":{"docs":{},"df":0,"a":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}},"l":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}}}}},"o":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0}},"df":1}}}}},"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.4142135623730951}},"df":3,"g":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":2}}},"p":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":1}}}}},"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.4142135623730951}},"df":1}}}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":5}}}},"m":{"docs":{},"df":0,"a":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1,"z":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1,"o":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.4142135623730951}},"df":1}}}},"d":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1},"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}}}}},"p":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.4142135623730951}},"df":1}},"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1}}}}},"d":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":2}}}}},"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}}}},"g":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0}},"df":1}}}}},"i":{"docs":{},"df":0,"m":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":2.6457513110645907},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":2.0}},"df":4}},"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"y":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":5}}},"s":{"docs":{},"df":0,"w":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}}}},"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}}}},"y":{"docs":{},"df":0,"a":{"docs":{},"df":0,"’":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}},"o":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":3}},"t":{"docs":{},"df":0,"h":{"docs":{"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.4142135623730951}},"df":3}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}}}},"p":{"docs":{},"df":0,"p":{"docs":{"https://proseandconst.xyz/about/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.7320508075688772},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":6,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":3}}},"l":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0}},"df":1,"i":{"docs":{"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":5,"c":{"docs":{"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.4142135623730951}},"df":2}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.4142135623730951}},"df":1}}},"o":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":4}}}}}}},"r":{"docs":{},"df":0,"c":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":3.872983346207417},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":2.23606797749979}},"df":2,"’":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"a":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":2}},"g":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":2.449489742783178}},"df":1}}}}}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.4142135623730951}},"df":2}}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{"https://proseandconst.xyz/blog/select-all-set/":{"tf":2.0}},"df":1}},"i":{"docs":{},"df":0,"v":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}},"o":{"docs":{},"df":0,"g":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0}},"df":1},"w":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0}},"df":3}}},"t":{"docs":{"https://proseandconst.xyz/about/":{"tf":1.0},"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.4142135623730951}},"df":4,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}}},"w":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}}}}}},"s":{"docs":{},"df":0,"h":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"y":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}}},"k":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.4142135623730951}},"df":1},"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}}}},"s":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0}},"df":2}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}}}}}}},"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.4142135623730951}},"df":1}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.7320508075688772}},"df":1}}}}}}},"u":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}},"o":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}},"t":{"docs":{},"df":0,"o":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0}},"df":1,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0}},"df":2}}}},"u":{"docs":{},"df":0,"m":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}}}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0}},"df":3}},"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}}}}},"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/about/":{"tf":1.0},"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.7320508075688772},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":8,"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":3}}}}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.7320508075688772}},"df":1}}}}},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":2}}}},"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":1}}}}}},"d":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0}},"df":4,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}}},"e":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":2}}},"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}}}},"l":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}},"n":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}}}},"r":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.7320508075688772}},"df":2,"e":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":2},"g":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":1}}}},"k":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1},"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/meta-confirmation-bias/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.0}},"df":6}},"t":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.4142135623730951}},"df":1}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1}}},"l":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":2}}}},"e":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.7320508075688772},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.7320508075688772},"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.0}},"df":9,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}},"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}}}}}}}},"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.4142135623730951}},"df":3}},"o":{"docs":{},"df":0,"m":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":3}}},"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":2.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":2.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.4142135623730951}},"df":6,"e":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.0}},"df":1}}}}}}}},"g":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"v":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"f":{"docs":{"https://proseandconst.xyz/digital-garden/meta-confirmation-bias/":{"tf":1.0}},"df":1},"v":{"docs":{"https://proseandconst.xyz/digital-garden/meta-confirmation-bias/":{"tf":1.0}},"df":1}}}},"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"u":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0}},"df":1}}}}}}},"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/about/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":2}},"t":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":6}},"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.7320508075688772},"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.0}},"df":7}}},"w":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.0}},"df":3}}}}},"y":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}}},"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}}}},"z":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"a":{"docs":{"https://proseandconst.xyz/digital-garden/meta-confirmation-bias/":{"tf":2.0}},"df":1,"s":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/meta-confirmation-bias/":{"tf":1.0}},"df":2}},"g":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1},"n":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/select-all-set/":{"tf":2.0}},"df":1}},"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"p":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.4142135623730951}},"df":1}}}},"t":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":4}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.4142135623730951}},"df":4}},"z":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/digital-garden/meta-confirmation-bias/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0}},"df":1,"i":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}}},"g":{"docs":{"https://proseandconst.xyz/blog/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":3},"w":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1,"n":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.4142135623730951}},"df":2}}},"u":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":2,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"z":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.4142135623730951}},"df":1}}}}},"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0}},"df":1}}}}}}}},"o":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}}},"d":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":3}},"o":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":3.0},"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0}},"df":3,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}}}}},"m":{"docs":{"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0}},"df":1},"n":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1},"s":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":2.0}},"df":1}},"t":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":2.23606797749979}},"df":1,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}}}}},"r":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0}},"df":1},"n":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"s":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0}},"df":1,"i":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0}},"df":1}}},"t":{"docs":{},"df":0,"h":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":4,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":2}}},"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":2}}}},"u":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.4142135623730951}},"df":3}}},"n":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0}},"df":2,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0}},"df":1}}}}}},"x":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.7320508075688772}},"df":5},"y":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":3,"f":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}}}}}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1},"i":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":3}},"n":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":2}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":3},"t":{"docs":{},"df":0,"h":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"z":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}},"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":2}}},"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.4142135623730951}},"df":3}}}}}},"n":{"docs":{},"df":0,"g":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}}},"o":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}}}}}}},"u":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}}}},"w":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1},"s":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.7320508075688772},"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0}},"df":2,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":3.4641016151377544},"https://proseandconst.xyz/blog/making-of-site/":{"tf":2.0}},"df":2}}}}}},"u":{"docs":{"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0}},"df":1,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}},"d":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1}},"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":4},"t":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.4142135623730951}},"df":1}}},"l":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.4142135623730951}},"df":1}}}}}}},"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://proseandconst.xyz/about/":{"tf":1.0},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":2}}},"s":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":2}},"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"f":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.4142135623730951}},"df":2}}}}},"o":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.7320508075688772},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0}},"df":3}}}},"u":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1},"y":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.4142135623730951}},"df":2},"z":{"docs":{},"df":0,"z":{"docs":{"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0}},"df":1}}}},"c":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":2,"a":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}},"l":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1,"l":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.7320508075688772},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.0}},"df":9,"e":{"docs":{"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.0}},"df":1,"r":{"docs":{"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.0}},"df":1}}}},"m":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":2.0}},"df":3,"r":{"docs":{},"df":0,"a":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1}}}},"n":{"docs":{},"df":0,"’":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}},"p":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":2}}}},"r":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.7320508075688772}},"df":1,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}}}}}},"e":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":3},"r":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.4142135623730951}},"df":1}}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"g":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}}}}}},"s":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.4142135623730951}},"df":2},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}}}},"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"g":{"docs":{},"df":0,"u":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":1}}}}},"c":{"docs":{},"df":0,"h":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":2}},"e":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":2}}}}}},"u":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/about/":{"tf":1.0}},"df":1}}},"s":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}}}}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}},"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0}},"df":1}}}}},"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0}},"df":1}}}}}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"w":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}}},"r":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}},"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":2}}}}},"n":{"docs":{},"df":0,"g":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":5}},"o":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0}},"df":1},"p":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":2}}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.7320508075688772}},"df":2}}},"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":1}}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0}},"df":1,"s":{"docs":{},"df":0,"k":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}}}}}},"c":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/select-all-set/":{"tf":3.7416573867739413},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":3,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"x":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/select-all-set/":{"tf":4.898979485566356}},"df":2}}}}},"e":{"docs":{},"df":0,"k":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}},"r":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}},"f":{"docs":{"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0}},"df":1}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.4142135623730951}},"df":1}}}},"l":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":4,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}}}},"l":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}},"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.4142135623730951}},"df":1}}}}},"o":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":5}},"o":{"docs":{},"df":0,"s":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.7320508075688772},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.4142135623730951}},"df":3}},"r":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.4142135623730951}},"df":1}}}},"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1},"i":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.7320508075688772}},"df":1}}}},"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}}}}}},"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}}},"t":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":3,"z":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}}}}},"x":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":2},"f":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/digital-garden/meta-confirmation-bias/":{"tf":1.0}},"df":1}}}}},"y":{"docs":{},"df":0,"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.0}},"df":2},"r":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0}},"df":2,"l":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}}}}},"i":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1,"c":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.4142135623730951}},"df":5,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.7320508075688772}},"df":1}}},"i":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":2}}}},"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.4142135623730951}},"df":2}},"s":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.7320508075688772},"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0}},"df":2}}},"u":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1},"n":{"docs":{},"df":0,"k":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1}}}}},"m":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0}},"df":1}},"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":2.0},"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.7320508075688772},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.0}},"df":8}},"f":{"docs":{},"df":0,"f":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"b":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/about/":{"tf":1.0}},"df":1}}}}}}}},"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":2}},"g":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.7320508075688772}},"df":2}}},"o":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0}},"df":2},"u":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.7320508075688772},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":4,"'":{"docs":{"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0}},"df":1}}}},"u":{"docs":{},"df":0,"m":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.4142135623730951}},"df":1}}}},"m":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.7320508075688772},"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.7320508075688772},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":8,"d":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":2}}},"i":{"docs":{},"df":0,"c":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":2}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":2}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.0}},"df":3}},"u":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.4142135623730951}},"df":2},"t":{"docs":{"https://proseandconst.xyz/digital-garden/commuting/":{"tf":2.0}},"df":1}}},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":2}},"r":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}},"i":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.0}},"df":2}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}},"i":{"docs":{},"df":0,"c":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.4142135623730951}},"df":1}},"u":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":2.23606797749979},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.7320508075688772}},"df":4}}}},"n":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":2}}}},"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.0}},"df":1}}},"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"m":{"docs":{"https://proseandconst.xyz/digital-garden/meta-confirmation-bias/":{"tf":2.0}},"df":1}}}},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"v":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":2.23606797749979}},"df":1}},"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/about/":{"tf":1.0}},"df":1}},"m":{"docs":{"https://proseandconst.xyz/blog/creation-consumption/":{"tf":2.449489742783178}},"df":1,"p":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/creation-consumption/":{"tf":3.0}},"df":1}}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.0}},"df":4}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0}},"df":4}},"x":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"u":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.7320508075688772}},"df":1}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/about/":{"tf":1.0},"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":3}}}},"o":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.7320508075688772},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":3},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/digital-garden/meta-confirmation-bias/":{"tf":1.0}},"df":1}}}}}}}}},"o":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0}},"df":1,"i":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}},"l":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":2}},"p":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":2}},"r":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.4142135623730951}},"df":1},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0}},"df":2}}},"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"y":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}}}}}}}},"s":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1}},"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{},"df":0,"n":{"docs":{},"df":0,"’":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}}}}},"n":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":2,"r":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}}}},"p":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.4142135623730951}},"df":2}},"r":{"docs":{},"df":0,"s":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.4142135623730951}},"df":5}}}},"p":{"docs":{},"df":0,"u":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1},"z":{"docs":{},"df":0,"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/about/":{"tf":1.0},"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/creation-consumption/":{"tf":2.0},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":2.23606797749979}},"df":4,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/creation-consumption/":{"tf":2.8284271247461903}},"df":1}}},"u":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}}}},"d":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}}}},"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"p":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.7320508075688772}},"df":1}}}},"i":{"docs":{},"df":0,"c":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0}},"df":1},"q":{"docs":{},"df":0,"u":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}}}},"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}}},"t":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":2}},"s":{"docs":{},"df":0,"s":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":2.23606797749979},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0}},"df":2}},"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"’":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}}}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1},"u":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}}}},"s":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":2}}}}},"y":{"docs":{},"df":0,"c":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0}},"df":1}}}},"d":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}}},"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1},"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/about/":{"tf":1.4142135623730951}},"df":1}}}}},"y":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/meta-confirmation-bias/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":2.0}},"df":9}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":2.0}},"df":1,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"v":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}},"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}}}},"l":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1},"t":{"docs":{},"df":0,"h":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}},"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.7320508075688772},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":5},"s":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":2}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1}}}}},"r":{"docs":{"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.4142135623730951}},"df":1}}},"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"p":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.4142135623730951}},"df":1,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}}}},"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.7320508075688772},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.7320508075688772},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":4}}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0}},"df":1}}},"i":{"docs":{"https://proseandconst.xyz/digital-garden/meta-confirmation-bias/":{"tf":1.0}},"df":1,"n":{"docs":{"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.7320508075688772},"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.0}},"df":2}}},"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}}}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"(":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0}},"df":1}}}}}}}},"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1,"f":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}}}}}}},"v":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}},"l":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":2}},"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}},"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0}},"df":4}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"v":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":2.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":3}}},"k":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"p":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":2.0}},"df":3}}}},"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":3}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.4142135623730951}},"df":2}}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"p":{"docs":{"https://proseandconst.xyz/about/":{"tf":2.0},"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.4142135623730951}},"df":5}}}},"i":{"docs":{},"df":0,"c":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":3,"e":{"docs":{},"df":0,"’":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.7320508075688772}},"df":1}}}}}},"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"g":{"docs":{},"df":0,"u":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}}}},"d":{"docs":{},"df":0,"n":{"docs":{},"df":0,"’":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":5}}}},"f":{"docs":{},"df":0,"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.4142135623730951}},"df":5}}}},"g":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1,"i":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.4142135623730951}},"df":2}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1,"l":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.4142135623730951}},"df":1}}}}}},"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":5}}}}}}},"b":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"f":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}}}}}},"c":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1,"o":{"docs":{},"df":0,"v":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.4142135623730951}},"df":3}},"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0}},"df":1}}}},"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://proseandconst.xyz/digital-garden/meta-confirmation-bias/":{"tf":1.0}},"df":1}}}},"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0}},"df":2}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"g":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/digital-garden/meta-confirmation-bias/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0}},"df":1}}}}}}},"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1}}}},"o":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":2.6457513110645907}},"df":1,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"p":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.4142135623730951}},"df":2}}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}}}}}}}}}},"o":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.0}},"df":4,"c":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":2.0}},"df":1},"u":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0}},"df":2}}}}}},"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"n":{"docs":{},"df":0,"'":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.4142135623730951}},"df":1}},"’":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.4142135623730951}},"df":6}}}}},"g":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":2},"m":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}}}},"n":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0}},"df":2},"g":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.7320508075688772}},"df":1}},"’":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.7320508075688772},"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.7320508075688772},"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/blog/select-all-set/":{"tf":2.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.7320508075688772},"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.4142135623730951}},"df":12}}},"t":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0}},"df":1}}}},"u":{"docs":{},"df":0,"b":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0}},"df":1}}},"w":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.4142135623730951}},"df":3}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.4142135623730951}},"df":1,"o":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.7320508075688772},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.4142135623730951}},"df":2}}},"o":{"docs":{},"df":0,"p":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}},"u":{"docs":{},"df":0,"g":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0}},"df":1}}},"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":2}},"b":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}}}},"e":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1},"g":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1},"h":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1},"k":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}},"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0}},"df":1}}}}},"v":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1}},"y":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}}}}}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/blog/select-all-set/":{"tf":2.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":7}},"r":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":2,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}}}},"p":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.4142135623730951}},"df":1}}}}},"s":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.7320508075688772}},"df":1}},"i":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.4142135623730951}},"df":5,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0}},"df":1}},"l":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":1}}},"t":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}},"t":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}},"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.4142135623730951}},"df":1,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}}}}}}}},"d":{"docs":{},"df":0,"u":{"docs":{},"df":0,"c":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.7320508075688772}},"df":1}}},"f":{"docs":{},"df":0,"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0}},"df":3}}}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}}},"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}}}}},"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/about/":{"tf":1.0},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.7320508075688772}},"df":4}}}}}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}}},"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"w":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0}},"df":1}}}}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/about/":{"tf":1.0},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0}},"df":3}}},"b":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}}}},"o":{"docs":{},"df":0,"j":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0}},"df":1}}},"p":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.7320508075688772}},"df":1}}},"u":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":2.23606797749979}},"df":3}}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}}},"d":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":4,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.4142135623730951}},"df":1}}}}},"g":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0}},"df":1}}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.7320508075688772}},"df":1}}}},"j":{"docs":{},"df":0,"o":{"docs":{},"df":0,"y":{"docs":{"https://proseandconst.xyz/about/":{"tf":1.0},"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.4142135623730951}},"df":6}}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.0}},"df":2}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0}},"df":3,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}}}}}},"i":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":2},"t":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":1}}},"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":2}}}}}},"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}}}},"q":{"docs":{},"df":0,"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"6":{"docs":{"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0}},"df":1},"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0}},"df":1}}}},"t":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1,"c":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1},"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}}}},"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"u":{"docs":{"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.7320508075688772}},"df":1}}},"e":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":2.0},"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.7320508075688772},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.7320508075688772},"https://proseandconst.xyz/blog/making-of-site/":{"tf":2.23606797749979},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/meta-confirmation-bias/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.7320508075688772},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":2.0}},"df":10,"t":{"docs":{"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":2}},"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":2}}}},"o":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.7320508075688772}},"df":3,"e":{"docs":{},"df":0,"’":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"h":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.7320508075688772},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":4}}}}},"o":{"docs":{},"df":0,"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"x":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":2.0}},"df":1}}},"l":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}}}},"x":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":2,"l":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":3}}}},"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0}},"df":1}}}},"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"w":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}}}}}}},"e":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":3},"p":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/meta-confirmation-bias/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":6}}},"i":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.4142135623730951}},"df":3,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}}}}}},"l":{"docs":{},"df":0,"u":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":2}}}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}}}},"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/meta-confirmation-bias/":{"tf":1.0}},"df":2,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}}}}}},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.4142135623730951}},"df":1}}},"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.4142135623730951}},"df":2}},"r":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":5,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":2}}},"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":2}}}}},"t":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":3}}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0}},"df":1}}}}}},"o":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":3}}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":2}}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.7320508075688772}},"df":1}},"r":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":2,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/meta-confirmation-bias/":{"tf":1.0}},"df":1}}}}}}}},"y":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":2}},"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0}},"df":1},"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0}},"df":1}}},"t":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":2}},"d":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}},"i":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":2},"r":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1},"l":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":1}}},"t":{"docs":{},"df":0,"h":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":3}},"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":2}}}},"n":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.4142135623730951}},"df":6,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"y":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}}},"c":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":2}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.7320508075688772},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":2},"t":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}}}},"r":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/meta-confirmation-bias/":{"tf":1.0}},"df":5,"e":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":2}}},"t":{"docs":{"https://proseandconst.xyz/about/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.7320508075688772},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.4142135623730951}},"df":3,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.4142135623730951}},"df":1,"’":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1}}}}},"v":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":1,"i":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.7320508075688772},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.7320508075688772},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":3}}}}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":2.23606797749979},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.7320508075688772}},"df":2}}}},"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":2}}}}},"l":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":5}},"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}}},"t":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.7320508075688772},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":5}},"t":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":2}}},"w":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.4142135623730951}},"df":10}},"i":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}}}},"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":2.23606797749979}},"df":1}}}}},"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0}},"df":1}}},"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}},"u":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.4142135623730951}},"df":2}}},"l":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0}},"df":1},"l":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0}},"df":2},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1}}}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":5}},"d":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.7320508075688772},"https://proseandconst.xyz/blog/creation-consumption/":{"tf":2.0},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.7320508075688772},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0}},"df":8,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0}},"df":1}}},"e":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":2},"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}},"n":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1,"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"x":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":2.6457513110645907},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.7320508075688772},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":4}}},"r":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.4142135623730951}},"df":1,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"/":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"f":{"docs":{},"df":0,"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}}}}}}}}}}}}},"s":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":2.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.7320508075688772},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":2.0}},"df":9}}},"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}}},"t":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1},"v":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.4142135623730951}},"df":1}},"x":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.7320508075688772},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":4},"z":{"docs":{},"df":0,"z":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1}}},"p":{"docs":{},"df":0,"k":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":1}}}}}},"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":2}},"w":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":2}}},"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"u":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0}},"df":2}},"l":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0}},"df":2},"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.7320508075688772},"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.0}},"df":4}}}},"n":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":2.449489742783178},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":2}},"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"f":{"docs":{"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0}},"df":1}}}}}}},"r":{"docs":{},"df":0,"c":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0}},"df":1},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.0}},"df":1}}}},"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":2}},"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}}}}}},"m":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.7320508075688772},"https://proseandconst.xyz/digital-garden/meta-confirmation-bias/":{"tf":1.7320508075688772}},"df":2,"a":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0}},"df":1},"t":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":2}}},"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}}}},"u":{"docs":{},"df":0,"m":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}}},"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":3}},"r":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.4142135623730951}},"df":4,"t":{"docs":{},"df":0,"h":{"docs":{"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0}},"df":1}}}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"w":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":2}}}}}}},"e":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0}},"df":2,"b":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}}}},"y":{"docs":{},"df":0,"a":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":2.0}},"df":5,"l":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":3}}}}}},"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"’":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}},"n":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}}}},"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.4142135623730951}},"df":2}},"l":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":3}}},"l":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":6,"i":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1},"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}}}},"n":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":2,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":2.0}},"df":2}}}}},"k":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1}},"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0}},"df":1}}}}},"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0}},"df":2}}}}}}}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0}},"df":1}}}}},"g":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}},"g":{"docs":{},"df":0,"a":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.4142135623730951}},"df":1}},"i":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.0}},"df":1}},"m":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/about/":{"tf":1.0},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.7320508075688772},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":4.123105625617661}},"df":6,"r":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}},"n":{"docs":{},"df":0,"g":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.4142135623730951}},"df":1}},"r":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/digital-garden/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"s":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}}}},"v":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":3}}},"b":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":2.23606797749979},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.4142135623730951}},"df":2},"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"k":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":2}}},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.7320508075688772},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":7}},"i":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1},"r":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.4142135623730951}},"df":1},"t":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0}},"df":1,"i":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}}}},"t":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":6}},"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"u":{"docs":{},"df":0,"b":{"docs":{"https://proseandconst.xyz/about/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":2}}}},"v":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":10,"n":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0}},"df":1},"n":{"docs":{},"df":0,"c":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.4142135623730951}},"df":1}}},"o":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}}}}},"o":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.7320508075688772},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":2.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":2.0}},"df":11,"d":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":2},"e":{"docs":{"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":2},"l":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1}}}}}}},"n":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":2}},"o":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.7320508075688772},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.7320508075688772},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":10},"g":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":2}}}},"p":{"docs":{},"df":0,"u":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1},"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0}},"df":1}}}},"n":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1},"t":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}},"p":{"docs":{},"df":0,"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":3}}}},"y":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":2.23606797749979}},"df":5,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}}}},"e":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1},"t":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}},"y":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"p":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":2}},"w":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":2,"n":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}}}},"t":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":2.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":2,"a":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}},"u":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}}}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":2.0},"https://proseandconst.xyz/digital-garden/meta-confirmation-bias/":{"tf":1.0}},"df":2}}},"c":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}},"d":{"docs":{},"df":0,"n":{"docs":{},"df":0,"’":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}}}},"l":{"docs":{},"df":0,"f":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.4142135623730951}},"df":3}},"n":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":4,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.4142135623730951}},"df":1}}}},"i":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":1},"l":{"docs":{"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.4142135623730951}},"df":1},"w":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.4142135623730951}},"df":1}}}}},"g":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}},"p":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":3}},"i":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":3,"l":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}}}}},"r":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.7320508075688772}},"df":2,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0}},"df":2}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":2.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.7320508075688772},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.4142135623730951}},"df":5}}}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"y":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}},"m":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1},"r":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":2.0}},"df":1}}},"v":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":3,"n":{"docs":{},"df":0,"’":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/about/":{"tf":1.0},"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":4}}}}},"w":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"y":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.7320508075688772}},"df":1}}}}},"d":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.4142135623730951}},"df":3,"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0}},"df":1}}}}},"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0}},"df":1}}},"r":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1,"d":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1},"t":{"docs":{},"df":0,"b":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}}}}}},"v":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":1}}},"c":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0}},"df":1}},"l":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1},"p":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.7320508075688772},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.4142135623730951}},"df":5}},"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{},"df":0,"’":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":3,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/meta-confirmation-bias/":{"tf":1.0}},"df":1}}},"’":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":2}},"o":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.4142135623730951}},"df":1}},"x":{"docs":{"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0}},"df":1}},"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.7320508075688772}},"df":1}}},"e":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.4142135623730951}},"df":2},"p":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1}}},"g":{"docs":{},"df":0,"h":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.4142135623730951}},"df":2,"l":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1,"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0}},"df":1}}}}}}},"j":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.4142135623730951}},"df":1}}}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1,"i":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":2}}}}},"t":{"docs":{"https://proseandconst.xyz/about/":{"tf":1.0},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":4}},"j":{"docs":{},"df":0,"k":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"b":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":1,"t":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0}},"df":1}},"m":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/":{"tf":1.0},"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":2.449489742783178},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":7}},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}}},"o":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0}},"df":1},"k":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"z":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}}},"s":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.4142135623730951}},"df":1}},"u":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":1},"s":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.4142135623730951}},"df":1}}}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"f":{"docs":{"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0}},"df":1}}},"t":{"docs":{},"df":0,"m":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.7320508075688772}},"df":1}}},"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"b":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}}}}}}}},"g":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":2},"o":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.4142135623730951}},"df":1}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.4142135623730951}},"df":2}},"i":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.4142135623730951}},"df":1}}}},"n":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}}},"y":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"k":{"docs":{},"df":0,"a":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}}},"p":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.7320508075688772}},"df":1,"r":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.4142135623730951}},"df":2}}}}}},"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/digital-garden/meta-confirmation-bias/":{"tf":1.0}},"df":1}}}}}}}}},"i":{"docs":{},"df":0,"'":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0}},"df":1}}},"5":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1},"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":3}}},"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.7320508075688772}},"df":6},"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.0}},"df":1}}}}}},"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}}},"l":{"docs":{"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0}},"df":1}},"e":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":2},"g":{"docs":{},"df":0,"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":3,"i":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.4142135623730951}},"df":1}}}},"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"c":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0}},"df":1}}}}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0}},"df":1}}}}}}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":4,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}}}}}}},"s":{"docs":{},"df":0,"s":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.0}},"df":2}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":2}}}}}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"z":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}}}},"c":{"docs":{},"df":0,"l":{"docs":{},"df":0,"u":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.4142135623730951}},"df":5}}},"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}}}}}},"d":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":2,"x":{"docs":{"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0}},"df":1}},"i":{"docs":{},"df":0,"a":{"docs":{"https://proseandconst.xyz/about/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.7320508075688772}},"df":2,"n":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":2}},"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}}}}},"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"u":{"docs":{"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0}},"df":1}}}}}},"e":{"docs":{},"df":0,"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1}}}},"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"h":{"docs":{"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0}},"df":1}}}}},"r":{"docs":{},"df":0,"m":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.4142135623730951}},"df":2}}}},"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0}},"df":1}}}}},"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0}},"df":1}}},"k":{"docs":{},"df":0,"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.4142135623730951}},"df":1}}}},"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"b":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.0}},"df":1}}},"p":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1},"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/meta-confirmation-bias/":{"tf":1.0}},"df":2}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.7320508075688772},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.7320508075688772},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":2.0}},"df":3},"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":2}}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":2.0}},"df":4}}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"g":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}},"n":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1},"t":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":3}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/about/":{"tf":1.0},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":6}}},"n":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":4}}}}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"u":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":2}}},"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"u":{"docs":{},"df":0,"c":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":2}}}}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0}},"df":2}}}},"r":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"v":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}}}}}},"s":{"docs":{},"df":0,"n":{"docs":{},"df":0,"’":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0}},"df":2}}},"s":{"docs":{},"df":0,"u":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}}},"t":{"docs":{},"df":0,"'":{"docs":{"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.4142135623730951}},"df":1},"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}}}}},"c":{"docs":{},"df":0,"h":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.4142135623730951}},"df":1}},"e":{"docs":{},"df":0,"m":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/select-all-set/":{"tf":4.69041575982343}},"df":2},"r":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"f":{"docs":{"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0}},"df":2}}}},"’":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":2.23606797749979},"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.7320508075688772}},"df":11}},"’":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.4142135623730951}},"df":2},"l":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}},"m":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":2.23606797749979},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.7320508075688772},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":2.23606797749979}},"df":5},"v":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.7320508075688772},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.7320508075688772}},"df":6}}},"j":{"docs":{},"df":0,"a":{"docs":{},"df":0,"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.7320508075688772},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.0}},"df":3}}}}}}}}},"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"y":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"h":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}}}}}}},"o":{"docs":{},"df":0,"b":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.7320508075688772},"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":4},"h":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}}},"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"y":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":2}}}}},"y":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}}},"u":{"docs":{},"df":0,"j":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"s":{"docs":{},"df":0,"u":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}}}}}},"k":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1,"’":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":2.23606797749979}},"df":1}}},"e":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.4142135623730951}},"df":1}}},"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.7320508075688772},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0}},"df":2}},"n":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}}}}},"t":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}}}}},"y":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.7320508075688772},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.4142135623730951}},"df":4,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":3.4641016151377544},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":2.23606797749979},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.7320508075688772},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.4142135623730951}},"df":5}}}}},"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":1}}}}}}},"i":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.7320508075688772}},"df":2},"l":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":3}},"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"s":{"docs":{},"df":0,"u":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}}},"i":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}},"n":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.0}},"df":3},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"y":{"docs":{},"df":0,"’":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}}}}},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"w":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}},"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}}},"o":{"docs":{},"df":0,"b":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":1},"w":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/meta-confirmation-bias/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.0}},"df":8,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"g":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.4142135623730951}},"df":2}}}},"n":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":4}}}},"y":{"docs":{},"df":0,"o":{"docs":{},"df":0,"j":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}}}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.4142135623730951}},"df":1,"e":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}}},"c":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":2}},"g":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1},"i":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}},"n":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":2},"g":{"docs":{},"df":0,"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.4142135623730951}},"df":1}}}}},"p":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"p":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":5}}}},"r":{"docs":{},"df":0,"g":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":4,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":2}}}},"s":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":6}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":4},"s":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0}},"df":1}}}},"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"a":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}},"y":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":1}}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{},"df":0,"u":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}},"p":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":1},"r":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.0}},"df":3,"t":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":3}}},"v":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}},"d":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":2},"f":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":2}},"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}}},"n":{"docs":{"https://proseandconst.xyz/digital-garden/meta-confirmation-bias/":{"tf":1.0}},"df":1},"s":{"docs":{},"df":0,"s":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":4,"o":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}}}},"t":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0}},"df":3},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.0}},"df":2}}}},"i":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1,"b":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}}}}},"f":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":2.23606797749979}},"df":8,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":3}}}},"t":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}},"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.7320508075688772},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":3,"w":{"docs":{},"df":0,"e":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}}}}}}}}},"k":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":3}},"n":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":3,"a":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}},"k":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":2.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.7320508075688772}},"df":3},"u":{"docs":{},"df":0,"x":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":2.23606797749979}},"df":4}}},"s":{"docs":{},"df":0,"p":{"docs":{"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.0}},"df":1},"t":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":7,"e":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.7320508075688772},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0}},"df":3}}}},"t":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":3}}},"u":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1},"v":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/about/":{"tf":1.0},"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.7320508075688772}},"df":5}}},"o":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.4142135623730951}},"df":1}},"g":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":2.6457513110645907}},"df":1}},"i":{"docs":{},"df":0,"c":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1},"n":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}}},"n":{"docs":{},"df":0,"g":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":7,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.4142135623730951}},"df":4}}}},"o":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/about/":{"tf":1.0},"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":2.23606797749979},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":2.0},"https://proseandconst.xyz/digital-garden/meta-confirmation-bias/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":8,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"m":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}}},"p":{"docs":{"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.0}},"df":2},"s":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.4142135623730951}},"df":1}},"s":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/digital-garden/meta-confirmation-bias/":{"tf":1.0}},"df":1},"t":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}},"t":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":6},"v":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":5}},"w":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":2}},"t":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1,";":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"y":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}}}}}}},"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}}}}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/meta-confirmation-bias/":{"tf":1.0}},"df":1}}}}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0}},"df":1}}}}}}},"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}}}}}}}}}}}},"m":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":2,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":2.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.4142135623730951}},"df":2,"’":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1}}}}},"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":2.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":2.0}},"df":3}}},"o":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.7320508075688772},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.7320508075688772}},"df":2},"r":{"docs":{},"df":0,"o":{"docs":{"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":3.0}},"df":1}}},"d":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.7320508075688772}},"df":5}},"g":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.4142135623730951}},"df":1,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}}}}}},"j":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}},"o":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":2}}},"k":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":2.6457513110645907},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":2.23606797749979},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.0}},"df":9}},"n":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":3.3166247903554}},"df":2,"a":{"docs":{},"df":0,"g":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.4142135623730951}},"df":2}},"g":{"docs":{},"df":0,"a":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":2.6457513110645907}},"df":1,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"w":{"docs":{},"df":0,"e":{"docs":{},"df":0,"b":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}},"i":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.7320508075688772}},"df":4,"p":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}}}},"o":{"docs":{},"df":0,"e":{"docs":{},"df":0,"u":{"docs":{},"df":0,"v":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0}},"df":1}}}}},"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}},"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":2.0}},"df":1}},"k":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1,"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.4142135623730951}},"df":1}}}}}},"u":{"docs":{},"df":0,"p":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"y":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":2.0}},"df":1,"’":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}}}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}}}}},"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/about/":{"tf":1.0},"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":2}}}}}},"t":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":2}}}},"y":{"docs":{},"df":0,"b":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":2}}},"b":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":2},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":6,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":2}}}},"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":2.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":3}}}},"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":4},"t":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":2}},"m":{"docs":{},"df":0,"b":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.4142135623730951}},"df":1}}}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":2}}}},"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.4142135623730951}},"df":1}},"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0}},"df":4}}}},"u":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":4}},"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}},"e":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0}},"df":2},"g":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"a":{"docs":{"https://proseandconst.xyz/digital-garden/meta-confirmation-bias/":{"tf":1.0}},"df":1},"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":2}}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}}}}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.7320508075688772}},"df":1}}}}},"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0}},"df":1}}}}}},"l":{"docs":{},"df":0,"d":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":3}}}}}}}}},"n":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.7320508075688772}},"df":4},"e":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1},"i":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1,"m":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}},"o":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":2}},"u":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":2}}},"r":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"c":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.4142135623730951}},"df":1},"s":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":2},"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0}},"df":1}}}}}}}}}}}},"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":2.0},"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.4142135623730951}},"df":4,"l":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1},"r":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}}}},"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0}},"df":1}}}},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"y":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.4142135623730951}},"df":2}},"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":2}}}},"o":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}}}}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0}},"df":1}}}}},"t":{"docs":{},"df":0,"h":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.4142135623730951}},"df":5}}},"r":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":2.23606797749979},"https://proseandconst.xyz/blog/back-to-office/":{"tf":2.23606797749979},"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":2.449489742783178},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":2.23606797749979},"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.0}},"df":13,"o":{"docs":{},"df":0,"v":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}}}},"u":{"docs":{},"df":0,"s":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0}},"df":3}},"v":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.4142135623730951}},"df":3},"i":{"docs":{"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0}},"df":1}}},"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/back-to-office/":{"tf":2.23606797749979},"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.7320508075688772},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":7}},"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":4}}}}},"r":{"docs":{},"df":0,"p":{"docs":{},"df":0,"h":{"docs":{},"df":0,"y":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}}}}}}},"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.7320508075688772},"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0}},"df":2}}}},"y":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"f":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.7320508075688772}},"df":7}}}}}},"n":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1,"a":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1,"m":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/about/":{"tf":1.0},"https://proseandconst.xyz/blog/arc-review/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":2.0},"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.0}},"df":7}},"p":{"docs":{"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0}},"df":1},"r":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}},"r":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0}},"df":1},"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":2}}}},"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.4142135623730951}},"df":4}}},"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":2.8284271247461903}},"df":1}}}},"e":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.7320508075688772}},"df":1,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}}},"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":2}}}}}}},"e":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":2.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.7320508075688772},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.7320508075688772},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":2.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":10}},"g":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0}},"df":1},"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.4142135623730951}},"df":1,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}}}}}}}}}}},"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"y":{"docs":{},"df":0,"p":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0}},"df":1}}}}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.4142135623730951}},"df":7}}},"w":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":2.449489742783178},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.7320508075688772}},"df":7,"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}}}},"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}}}},"x":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":2.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":6}}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.4142135623730951}},"df":3},"k":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}}}}},"f":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}}},"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}}},"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":2.0}},"df":2}}}}}}},"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"j":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1}}}},"n":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":3,"e":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.4142135623730951}},"df":1,"x":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0}},"df":1}}}}}},"t":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.4142135623730951}},"df":2},"h":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":5},"i":{"docs":{},"df":0,"c":{"docs":{"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/meta-confirmation-bias/":{"tf":1.0}},"df":2}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}},"w":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.7320508075688772},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.7320508075688772},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.7320508075688772},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.7320508075688772},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":7}},"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://proseandconst.xyz/digital-garden/meta-confirmation-bias/":{"tf":1.0}},"df":1}}},"m":{"docs":{},"df":0,"b":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":2}}}}},"o":{"docs":{},"df":0,"b":{"docs":{},"df":0,"j":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":2.23606797749979}},"df":1}}}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}}}}},"c":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":2}}}}}}},"d":{"docs":{},"df":0,"d":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}}},"f":{"docs":{},"df":0,"f":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":2}},"i":{"docs":{},"df":0,"c":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":2.23606797749979}},"df":1,"i":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}}}}},"h":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":2},"k":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":3}}},"l":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":3.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":2.449489742783178}},"df":6,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":3}}}},"n":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.7320508075688772},"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.7320508075688772},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":2.449489742783178},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":2.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":2.0},"https://proseandconst.xyz/blog/select-all-set/":{"tf":2.23606797749979},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":2.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":2.23606797749979},"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.7320508075688772},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":2.23606797749979},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":2.0}},"df":14,"c":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.0}},"df":6,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"d":{"docs":{},"df":0,"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0}},"df":1}}}}}}}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":2}}}},"o":{"docs":{},"df":0,"z":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}},"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/about/":{"tf":1.0},"https://proseandconst.xyz/blog/arc-review/":{"tf":1.7320508075688772},"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.7320508075688772},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":2.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":9},"r":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.0}},"df":2}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/meta-confirmation-bias/":{"tf":1.4142135623730951}},"df":2}}}}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0}},"df":1},"o":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":2}}}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}}},"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.4142135623730951}},"df":3}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}}}}}},"g":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}}},"g":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.4142135623730951}},"df":3}}}}},"s":{"docs":{"https://proseandconst.xyz/about/":{"tf":1.0},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":2.6457513110645907}},"df":4},"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"w":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}}}}}},"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"v":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0}},"df":1}}}}},"t":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.7320508075688772},"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":2.23606797749979},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/meta-confirmation-bias/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":3.4641016151377544},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":12,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}}},"w":{"docs":{},"df":0,"e":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1}}}}}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.7320508075688772}},"df":7,"a":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1},"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}}},"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}}}}}}},"w":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":2}}},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":2,"a":{"docs":{},"df":0,"g":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}}}},"g":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":2.23606797749979},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":3.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":4}},"i":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0}},"df":1,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0}},"df":1}}}},"t":{"docs":{"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0}},"df":1}}},"n":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.7320508075688772}},"df":1,"l":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.4142135623730951}},"df":1}}},"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0}},"df":2}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":3}}},"i":{"docs":{},"df":0,"k":{"docs":{},"df":0,"h":{"docs":{"https://proseandconst.xyz/about/":{"tf":1.0}},"df":1}}},"t":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.7320508075688772},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.7320508075688772}},"df":4,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}}}},"t":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.7320508075688772}},"df":1}}}},"s":{"docs":{},"df":0,"s":{"docs":{"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.7320508075688772}},"df":1},"t":{"docs":{"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":2}},"t":{"docs":{},"df":0,"h":{"docs":{"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0}},"df":1},"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/digital-garden/meta-confirmation-bias/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.0}},"df":2}}}}}},"c":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1},"d":{"docs":{},"df":0,"f":{"docs":{"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.4142135623730951}},"df":1}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"z":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}}}},"e":{"docs":{},"df":0,"p":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}},"n":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":2.23606797749979}},"df":1,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"v":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}}}}},"o":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.7320508075688772},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.7320508075688772},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":2.449489742783178}},"df":7}}},"p":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}}}}}}}},"r":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.4142135623730951}},"df":2,"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":2,"l":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":1}}}}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"m":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.4142135623730951}},"df":1}}}},"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/meta-confirmation-bias/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":8,"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}}}},"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}}}}}},"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"p":{"docs":{},"df":0,"h":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}}}}}}},"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":3}}}},"i":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1,"c":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.4142135623730951}},"df":3,"i":{"docs":{"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}}}},"e":{"docs":{},"df":0,"c":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}},"l":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}},"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}}}}}}},"x":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/about/":{"tf":1.0},"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.4142135623730951}},"df":3}}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0}},"df":2}},"i":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0}},"df":1}},"n":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.7320508075688772},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":2},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"m":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}}},"y":{"docs":{"https://proseandconst.xyz/about/":{"tf":1.0},"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":3.0}},"df":6,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":2}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}}}}}},"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}}}}}},"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0}},"df":1}}}},"o":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":2}},"u":{"docs":{},"df":0,"m":{"docs":{},"df":0,"b":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}}}}}},"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0}},"df":2}}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/meta-confirmation-bias/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.4142135623730951}},"df":5,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0}},"df":1}}}}},"k":{"docs":{},"df":0,"é":{"docs":{},"df":0,"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.7320508075688772},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":3.1622776601683795}},"df":3}}}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}},"p":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1,"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}}}}},"r":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":2.0}},"df":1}},"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/meta-confirmation-bias/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.0}},"df":6}}}},"t":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.4142135623730951}},"df":4}},"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":2.0}},"df":1}}}},"w":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.0}},"df":3}}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.4142135623730951}},"df":2}}}},"i":{"docs":{},"df":0,"s":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}},"e":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1,"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}},"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0}},"df":4}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}}}}}},"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0}},"df":1},"t":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}},"s":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0}},"df":6}},"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":2}}},"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"w":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.4142135623730951}},"df":1}},"o":{"docs":{},"df":0,"u":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0}},"df":2,"s":{"docs":{"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0}},"df":1}}}}}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":1}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":5}}}},"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0}},"df":1}}}},"t":{"docs":{"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":2}},"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}}}}},"o":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0}},"df":1,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.4142135623730951}},"df":7}}}},"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0}},"df":2,"o":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1}}}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0}},"df":1}}}}}}},"d":{"docs":{},"df":0,"u":{"docs":{},"df":0,"c":{"docs":{"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.4142135623730951}},"df":1,"t":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.7320508075688772}},"df":2}}}},"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/about/":{"tf":1.0}},"df":1}}}}}},"i":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.4142135623730951}},"df":1},"t":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.4142135623730951}},"df":1}}}}},"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://proseandconst.xyz/about/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.4142135623730951}},"df":5}},"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.7320508075688772}},"df":2}}}}},"j":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/about/":{"tf":1.0},"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0},"https://proseandconst.xyz/projects/":{"tf":1.0}},"df":5}}}},"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}}},"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.7320508075688772}},"df":1}}}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"&":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,";":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}}}}}}}}}}},"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":2}}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":2}}}}}}},"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://proseandconst.xyz/about/":{"tf":1.0}},"df":1}}}}}}}}}}},"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.4142135623730951}},"df":2}}}}},"s":{"docs":{},"df":0,"y":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"g":{"docs":{"https://proseandconst.xyz/about/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.7320508075688772},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":3}}}}}}}},"u":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0}},"df":2},"s":{"docs":{},"df":0,"h":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}}}}},"l":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":2}},"n":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1,"c":{"docs":{},"df":0,"h":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}},"p":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.4142135623730951}},"df":1}}},"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.4142135623730951}},"df":1}}}},"e":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0}},"df":2},"p":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}},"t":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.7320508075688772},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0}},"df":4}}},"q":{"docs":{},"df":0,"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":3}}}}},"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":2}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}}}}}},"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}}}}},"l":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}},"n":{"docs":{},"df":0,"n":{"docs":{},"df":0,"’":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}},"t":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":4}}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"h":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":2}}}}},"m":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.4142135623730951}},"df":2},"n":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.4142135623730951}},"df":1,"t":{"docs":{"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0}},"df":1}},"p":{"docs":{"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0}},"df":1},"r":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.4142135623730951}},"df":3}},"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"b":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}}}}}}},"t":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":2.0}},"df":1},"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0}},"df":1},"t":{"docs":{"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0}},"df":1}},"d":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.7320508075688772},"https://proseandconst.xyz/digital-garden/books/":{"tf":3.1622776601683795},"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.7320508075688772},"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.0}},"df":8,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1,"’":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}}},"l":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.4142135623730951}},"df":2,"i":{"docs":{},"df":0,"z":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1}},"l":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0}},"df":1}}}}},"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":8}}}},"b":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}}}}},"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"i":{"docs":{},"df":0,"v":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":2}},"n":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.4142135623730951}},"df":2}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0}},"df":2},"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}}}}}}}},"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":2.0}},"df":1}}}},"d":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":1,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0}},"df":1}}}},"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.4142135623730951}},"df":5}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.4142135623730951}},"df":2}}}}},"g":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}}},"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0}},"df":1}}}}}}},"j":{"docs":{},"df":0,"u":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0}},"df":1}}}}},"l":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":2,"a":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":2},"x":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}}},"i":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}}}},"o":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"b":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.7320508075688772}},"df":4}}},"o":{"docs":{},"df":0,"v":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/select-all-set/":{"tf":2.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":3}}},"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0}},"df":1}}}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0}},"df":1}}}}},"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.0}},"df":2}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.0}},"df":1}}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":2.23606797749979},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":2}}},"o":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1,"r":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}}}}}},"q":{"docs":{},"df":0,"u":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0}},"df":2}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}},"n":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.4142135623730951}},"df":1}}}},"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"u":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}},"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"u":{"docs":{"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0}},"df":1}},"l":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":2}}},"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1}}},"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.0}},"df":2}}}},"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":2}}},"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}}}},"t":{"docs":{"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":2,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}}}},"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.4142135623730951}},"df":1}},"m":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}}},"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{"https://proseandconst.xyz/about/":{"tf":1.0}},"df":1,"g":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":2}}}}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.4142135623730951}},"df":1}}},"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"w":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":2.0}},"df":3}},"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}}}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":2}}}}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}},"d":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0}},"df":2},"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.7320508075688772},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":2.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":7}}},"n":{"docs":{},"df":0,"g":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.4142135623730951}},"df":1}}},"j":{"docs":{},"df":0,"4":{"docs":{},"df":0,"5":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":2}},"m":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1},"u":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":2.0}},"df":1}}}}},"w":{"docs":{"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0}},"df":1,"l":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}},"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":2}},"n":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":5,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"h":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}},"é":{"docs":{},"df":0,"s":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0}},"df":1}}}}},"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1},"g":{"docs":{},"df":0,"a":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}},"k":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}},"m":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.4142135623730951}},"df":6}},"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"w":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.4142135623730951}},"df":1}}}}},"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0}},"df":1}}},"i":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.4142135623730951}},"df":2}}}}},"v":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.0}},"df":2}},"w":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":2,"y":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}}},"y":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":2}},"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0}},"df":1}}}}},"p":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":1}}}}},"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":2}}},"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":2.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.4142135623730951}},"df":6,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}}}},"k":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.7320508075688772}},"df":1}}}}}}},"i":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.4142135623730951}},"df":3},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}}}}},"o":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.4142135623730951}},"df":1}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}}}},"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":2,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}}}}}}},"i":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.7320508075688772}},"df":1}}}}},"e":{"docs":{},"df":0,"a":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1,"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":3}}},"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":2}}}},"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":7}}}},"e":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/meta-confirmation-bias/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":9,"m":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.4142135623730951}},"df":2},"n":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.4142135623730951}},"df":2}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/blog/select-all-set/":{"tf":4.242640687119285},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":2.449489742783178}},"df":3,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"d":{"docs":{},"df":0,"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.7320508075688772}},"df":1}}}}}},"o":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0}},"df":1}}}}},"f":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}}},"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1}}}}},"n":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/about/":{"tf":1.0}},"df":1},"s":{"docs":{"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":5,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}}}},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0}},"df":3}}},"q":{"docs":{},"df":0,"u":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":2}}}},"r":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":2,"o":{"docs":{},"df":0,"u":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.7320508075688772}},"df":1}}},"v":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":3,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":2}}}},"t":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":2.449489742783178},"https://proseandconst.xyz/blog/select-all-set/":{"tf":4.123105625617661},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.7320508075688772}},"df":5,"t":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":3},"r":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1}}},"x":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/about/":{"tf":1.0}},"df":1}}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}}},"e":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":2.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.4142135623730951}},"df":2}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}}}}}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1},"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"k":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}}}},"p":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1},"t":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}},"o":{"docs":{},"df":0,"a":{"docs":{},"df":0,"f":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}},"e":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":2},"k":{"docs":{},"df":0,"u":{"docs":{},"df":0,"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"k":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}}}}},"o":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.4142135623730951}},"df":3,"a":{"docs":{},"df":0,"g":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}},"c":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}}}}},"t":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1},"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{},"df":0,"n":{"docs":{},"df":0,"’":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}}}}}},"w":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.4142135623730951}},"df":4,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0}},"df":1}}}}},"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}}}}}},"ō":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}}}},"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/about/":{"tf":1.0},"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":4}},"g":{"docs":{},"df":0,"h":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0}},"df":1},"t":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0}},"df":1}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}}},"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.0}},"df":3}}}},"p":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1,"i":{"docs":{},"df":0,"c":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}}}}},"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":3}},"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"h":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}}},"t":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1,"e":{"docs":{"https://proseandconst.xyz/about/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":4.358898943540674}},"df":2},"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/meta-confirmation-bias/":{"tf":1.0}},"df":2}}}},"z":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":3}}},"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"w":{"docs":{"https://proseandconst.xyz/digital-garden/meta-confirmation-bias/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":2}},"p":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}}}}},"y":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}}},"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":2}}}}}},"o":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":2},"w":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":2}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.4142135623730951}},"df":3,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0}},"df":2,"p":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.4142135623730951}},"df":1}}}}}}},"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}}}}}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}},"p":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}}},"z":{"docs":{},"df":0,"z":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.4142135623730951}},"df":1}}}}},"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.4142135623730951}},"df":4}}}},"f":{"docs":{},"df":0,"t":{"docs":{},"df":0,"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/about/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":2.8284271247461903},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":4}}}}},"l":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1},"i":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}},"u":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0}},"df":2}},"v":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":2}},"m":{"docs":{},"df":0,"a":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1},"e":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/meta-confirmation-bias/":{"tf":1.0}},"df":3}},"t":{"docs":{},"df":0,"h":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.7320508075688772},"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/meta-confirmation-bias/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.7320508075688772},"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.0}},"df":9},"i":{"docs":{},"df":0,"m":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":3}}},"w":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.4142135623730951}},"df":2}},"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0}},"df":1}}}}}},"o":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.4142135623730951}},"df":3}},"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}},"e":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1},"t":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}},"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":2}},"r":{"docs":{},"df":0,"c":{"docs":{"https://proseandconst.xyz/about/":{"tf":1.0},"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":2.0}},"df":6}}}},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":2.6457513110645907},"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":2.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":4,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":1}}}}},"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":2}}}},"r":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":2}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":1}},"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}},"d":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":2}},"n":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":4},"t":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.7320508075688772}},"df":1}}},"i":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1,"n":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":3,"o":{"docs":{},"df":0,"f":{"docs":{},"df":0,"f":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.7320508075688772}},"df":1}}},"o":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":1}},"t":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.4142135623730951}},"df":1}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.4142135623730951}},"df":1}}}}}}}},"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"g":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}}}}}},"q":{"docs":{},"df":0,"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.7320508075688772}},"df":1}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1,"l":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":2}},"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1}}}}},"r":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.7320508075688772},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/meta-confirmation-bias/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":2.23606797749979},"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.0}},"df":9,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0}},"df":1,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0}},"df":1}}}}},"i":{"docs":{},"df":0,"c":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":2.23606797749979}},"df":1}}},"y":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0}},"df":3}},"e":{"docs":{},"df":0,"p":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/select-all-set/":{"tf":2.449489742783178},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":3},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"y":{"docs":{},"df":0,"p":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}}}}}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}},"l":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.7320508075688772}},"df":4}}},"o":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"m":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}}}},"p":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":5},"r":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":3},"i":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":2.23606797749979},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":3},"y":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":2}}}}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"s":{"docs":{"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.4142135623730951}},"df":1}}},"i":{"docs":{},"df":0,"p":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}},"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0}},"df":1,"l":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/digital-garden/meta-confirmation-bias/":{"tf":1.0}},"df":1}}}}}},"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":3}},"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.4142135623730951}},"df":1}}},"i":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":2,"o":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}},"f":{"docs":{},"df":0,"f":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":4}},"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":1}}}},"y":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":2.23606797749979},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":5}}}},"u":{"docs":{},"df":0,"b":{"docs":{},"df":0,"j":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":2}}}},"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}}},"t":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}},"c":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"f":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}}}}},"o":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}}}}}},"h":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.4142135623730951}},"df":3},"k":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":1}},"g":{"docs":{},"df":0,"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0}},"df":1}}}}},"i":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0}},"df":1}},"m":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0}},"df":1}},"o":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":2}}}},"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.4142135623730951}},"df":3,"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":1}}},"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}}}}},"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":3.3166247903554},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":5}}}}},"r":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.4142135623730951}},"df":3},"f":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1},"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}}}}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.4142135623730951}},"df":1}}}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}}}},"p":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":1}}}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":3}}},"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"t":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":2.23606797749979},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":2.23606797749979},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.4142135623730951}},"df":5,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0}},"df":1}}}}}}},"y":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0}},"df":2}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.7320508075688772},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.0}},"df":5}}}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0}},"df":3,"l":{"docs":{"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0}},"df":1}},"c":{"docs":{},"df":0,"o":{"docs":{"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0}},"df":1},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}},"k":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/meta-confirmation-bias/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.7320508075688772}},"df":10}},"l":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/about/":{"tf":1.0},"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.4142135623730951}},"df":3}},"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}}}}}}}}}}}}},"x":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0}},"df":2}},"c":{"docs":{},"df":0,"h":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1,"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"g":{"docs":{"https://proseandconst.xyz/about/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":4}}}}}}},"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0}},"df":1}}}},"l":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":5}},"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}}}}},"n":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"y":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":1}}}}}}}},"r":{"docs":{},"df":0,"m":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/meta-confirmation-bias/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":5},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}}}}},"s":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":2,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}}}},"x":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":2.8284271247461903},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":4,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.7320508075688772}},"df":1}}}}}}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":3}},"t":{"docs":{},"df":0,"'":{"docs":{"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0}},"df":1},"’":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":5}}},"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":2},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"v":{"docs":{"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.0}},"df":1}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"'":{"docs":{"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.4142135623730951}},"df":1},"’":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":7}}},"y":{"docs":{},"df":0,"’":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.4142135623730951}},"df":2}}}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}},"n":{"docs":{},"df":0,"g":{"docs":{"https://proseandconst.xyz/about/":{"tf":1.0},"https://proseandconst.xyz/blog/arc-review/":{"tf":1.7320508075688772},"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":2.0}},"df":10},"k":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":5}},"r":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":4}}},"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":1,"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":1}}}}},"s":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}},"u":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":2,"t":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0}},"df":5}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}},"e":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":7}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":2}},"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}}}},"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}},"u":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/meta-confirmation-bias/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":7}}}}},"u":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0}},"df":2},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}}}},"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1},"l":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":2.449489742783178},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":2}},"m":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.7320508075688772},"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.7320508075688772},"https://proseandconst.xyz/blog/creation-consumption/":{"tf":2.0},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":2.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/meta-confirmation-bias/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":2.449489742783178},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":2.8284271247461903},"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.4142135623730951}},"df":14}},"n":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1,"i":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1},"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}}}},"p":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1},"r":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,";":{"docs":{},"df":0,"d":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}}}},"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":3,"’":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1}}},"d":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0}},"df":1}}}},"o":{"docs":{"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0}},"df":1}},"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0}},"df":2}}}},"l":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":2},"k":{"docs":{},"df":0,"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}}}},"m":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1},"n":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1},"o":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":3},"l":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0}},"df":3}},"p":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.4142135623730951}},"df":3,"i":{"docs":{},"df":0,"c":{"docs":{"https://proseandconst.xyz/about/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":3}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1}}},"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":2.6457513110645907}},"df":2,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":2}}}}}},"y":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.7320508075688772}},"df":1}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0}},"df":1}}}}},"d":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1},"i":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}}}}}},"f":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}},"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}},"u":{"docs":{},"df":0,"c":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}}},"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0}},"df":1}}}}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}},"e":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}},"i":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.7320508075688772},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":2.23606797749979}},"df":4,"a":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0}},"df":1},"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}}}}}}},"b":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"g":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}}},"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.0}},"df":3}}}}}},"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.7320508075688772}},"df":1,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.7320508075688772}},"df":1}}}}}},"n":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":2.23606797749979},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":6}},"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":1}}}},"v":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.4142135623730951}},"df":2},"w":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0}},"df":2}}},"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}}}}},"o":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":2.0},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.7320508075688772},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.7320508075688772}},"df":10}},"y":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":3.4641016151377544},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.7320508075688772}},"df":5},"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.4142135623730951}},"df":1}}},"o":{"docs":{},"df":0,"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"h":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":2}}}}}}}}}},"u":{"docs":{},"df":0,"b":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":3.3166247903554}},"df":2}}}}},"g":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0}},"df":1}}},"i":{"docs":{"https://proseandconst.xyz/about/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":2},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}}},"m":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0}},"df":1}}}},"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}}}},"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}}},"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/blog/select-all-set/":{"tf":3.0}},"df":1}}}}},"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0}},"df":1,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":3.0}},"df":2}}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":3}}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}}}}}},"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}}}}}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}}}}},"q":{"docs":{},"df":0,"u":{"docs":{"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.4142135623730951}},"df":1}},"t":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.4142135623730951}},"df":1}}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":2}}},"i":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0}},"df":2}},"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0}},"df":1}}}},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0}},"df":1}}}}}}}}},"o":{"docs":{},"df":0,"f":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}}}}},"v":{"docs":{},"df":0,"a":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}},"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0}},"df":1}}}}}}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0}},"df":3}},"r":{"docs":{},"df":0,"u":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}}},"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}}}}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0}},"df":1}}}}},"p":{"docs":{"https://proseandconst.xyz/about/":{"tf":1.0},"https://proseandconst.xyz/blog/arc-review/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":2.23606797749979},"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.0}},"df":10,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.4142135623730951}},"df":1}}},"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.7320508075688772},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0}},"df":4}}},"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":2.23606797749979},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.7320508075688772}},"df":2}}}}},"r":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}}},"l":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}},"s":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":3.1622776601683795},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":2.23606797749979},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.7320508075688772},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":3.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":3.0},"https://proseandconst.xyz/blog/select-all-set/":{"tf":2.23606797749979},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.7320508075688772},"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":3.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.4142135623730951}},"df":12,"a":{"docs":{},"df":0,"g":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":1}},"b":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.7320508075688772}},"df":2},"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/select-all-set/":{"tf":2.23606797749979},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":3}},"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.0}},"df":6}}}},"x":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}},"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}}},"g":{"docs":{},"df":0,"u":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}},"l":{"docs":{},"df":0,"a":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1},"u":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0}},"df":2,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/digital-garden/meta-confirmation-bias/":{"tf":1.0}},"df":1}}}}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.0}},"df":1}},"n":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.7320508075688772}},"df":1}}},"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"u":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/meta-confirmation-bias/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":6}}}}},"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.4142135623730951}},"df":1}}}},"r":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1},"i":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":2}}},"g":{"docs":{},"df":0,"a":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}},"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"o":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.7320508075688772}},"df":1}}},"e":{"docs":{},"df":0,"w":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.4142135623730951}},"df":1,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0}},"df":1}}}}}}},"m":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1},"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/meta-confirmation-bias/":{"tf":1.0}},"df":1}}}}},"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0}},"df":1}}}}}},"l":{"docs":{},"df":0,"c":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}},"o":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}},"l":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":2}}}}},"s":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":2,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1}}}}}}},"u":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0}},"df":1}}},"w":{"docs":{},"df":0,"a":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1,"l":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":4},"l":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}},"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0}},"df":1}}},"t":{"docs":{"https://proseandconst.xyz/about/":{"tf":1.0},"https://proseandconst.xyz/blog/arc-review/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":2.6457513110645907},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.7320508075688772},"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.4142135623730951}},"df":13}},"r":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.4142135623730951}},"df":1},"s":{"docs":{},"df":0,"n":{"docs":{},"df":0,"’":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":4}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.7320508075688772}},"df":1}}}}}}},"t":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.4142135623730951}},"df":5}}},"v":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.7320508075688772}},"df":2}},"y":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.7320508075688772},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.7320508075688772},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.7320508075688772},"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":2.0},"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.4142135623730951}},"df":11}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":2},"r":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0}},"df":1},"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}}}},"b":{"docs":{"https://proseandconst.xyz/about/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/arc-review/":{"tf":2.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":2.449489742783178},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":7,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":2}}},"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}}}},"e":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.4142135623730951}},"df":3,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0}},"df":1}}}}},"l":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}}},"l":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.4142135623730951}},"df":4}},"n":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.4142135623730951}},"df":2}},"s":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"’":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0}},"df":3}}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"l":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}}}}}},"t":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":4}}},"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}},"p":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1},"s":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":2.8284271247461903},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.7320508075688772},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":3.3166247903554}},"df":5}}},"z":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}}}},"p":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}},"h":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.4142135623730951}},"df":1}},"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":2}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.7320508075688772},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.7320508075688772}},"df":4}}}}},"z":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}}}}},"o":{"docs":{},"df":0,"b":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.4142135623730951}},"df":1}}},"l":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":2.23606797749979}},"df":1}}}}}},"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}},"n":{"docs":{},"df":0,"’":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":2}}},"r":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.4142135623730951}},"df":2,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":2.0}},"df":1}}}}}},"k":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":2.23606797749979},"https://proseandconst.xyz/blog/back-to-office/":{"tf":3.1622776601683795},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.7320508075688772},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/blog/making-of-site/":{"tf":2.0},"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.7320508075688772},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":2.449489742783178},"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.0}},"df":12,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0}},"df":1}},"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.7320508075688772}},"df":2}}}}},"l":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.4142135623730951},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.4142135623730951}},"df":3}},"t":{"docs":{},"df":0,"h":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":2}}}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/about/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/arc-review/":{"tf":1.7320508075688772},"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0},"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":2.6457513110645907},"https://proseandconst.xyz/blog/making-of-site/":{"tf":2.6457513110645907},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.7320508075688772},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.4142135623730951}},"df":10},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":2}}}}},"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/meta-confirmation-bias/":{"tf":1.0}},"df":3}},"t":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.4142135623730951}},"df":1}}}},"u":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}}}},"x":{"docs":{},"df":0,"2":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":2.0}},"df":1},"p":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":2.449489742783178}},"df":2},"u":{"docs":{},"df":0,"b":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.4142135623730951}},"df":1}}}}}}},"y":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}}},"e":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":2.0},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":2.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":2.23606797749979},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":3.605551275463989}},"df":4}},"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}}}}},"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0}},"df":1}}}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"f":{"docs":{"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":2}}}}},"’":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.4142135623730951},"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":5},"v":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":2}}}}},"z":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"o":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.7320508075688772}},"df":1,"’":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}}}}}}},"title":{"root":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}}},"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"a":{"docs":{"https://proseandconst.xyz/digital-garden/meta-confirmation-bias/":{"tf":1.0}},"df":1}},"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"g":{"docs":{"https://proseandconst.xyz/blog/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/digital-garden/books/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0}},"df":1}}}}}}},"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"x":{"docs":{"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0}},"df":1}}}}}}},"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"m":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0}},"df":1}}}},"n":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"m":{"docs":{"https://proseandconst.xyz/digital-garden/meta-confirmation-bias/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0}},"df":1}}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0}},"df":1,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/creation-consumption/":{"tf":1.0}},"df":1}}}}}}}},"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0}},"df":1}}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://proseandconst.xyz/digital-garden/commuting/":{"tf":1.0}},"df":1}}}}},"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/digital-garden/":{"tf":1.0}},"df":1}}}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"6":{"docs":{"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0}},"df":1}},"v":{"docs":{},"df":0,"o":{"docs":{},"df":0,"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"x":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":1}}}}}},"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"x":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}}}}},"g":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/digital-garden/":{"tf":1.0}},"df":1}}}}},"o":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0}},"df":1}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{},"df":0,"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1}}}}}},"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/":{"tf":1.0}},"df":1}}},"y":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0}},"df":1}}}}}}}}},"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0}},"df":1}}}}}}}},"n":{"docs":{},"df":0,"k":{"docs":{},"df":0,"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0}},"df":1}}}}}}},"k":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":1}}}}},"e":{"docs":{},"df":0,"y":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0},"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0}},"df":2}}}}}}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1}},"n":{"docs":{},"df":0,"u":{"docs":{},"df":0,"x":{"docs":{"https://proseandconst.xyz/digital-garden/story-linux/":{"tf":1.0}},"df":1}}}},"o":{"docs":{},"df":0,"w":{"docs":{"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"tf":1.0}},"df":1}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0}},"df":1},"r":{"docs":{},"df":0,"o":{"docs":{"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.0}},"df":1}}},"k":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}},"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"a":{"docs":{"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"tf":1.0}},"df":1}}}},"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{"https://proseandconst.xyz/digital-garden/meta-confirmation-bias/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0}},"df":1}}}}}}}},"o":{"docs":{},"df":0,"f":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://proseandconst.xyz/blog/back-to-office/":{"tf":1.0}},"df":1}}}}},"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/keyboard-pen/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"j":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/projects/":{"tf":1.0}},"df":1}}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"g":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"tf":1.0}},"df":1}}}}}},"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"w":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":2}}}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0}},"df":1}}}},"t":{"docs":{"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0}},"df":1}},"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{"https://proseandconst.xyz/blog/making-of-site/":{"tf":1.0}},"df":1}}},"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://proseandconst.xyz/blog/fix-macos-defaults/":{"tf":1.0}},"df":1}}}}}},"t":{"docs":{},"df":0,"w":{"docs":{},"df":0,"o":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":2}}},"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"tf":1.0}},"df":1}}}}}}},"s":{"docs":{"https://proseandconst.xyz/blog/select-all-set/":{"tf":1.0},"https://proseandconst.xyz/digital-garden/when-macros/":{"tf":1.0}},"df":2}},"w":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"k":{"docs":{"https://proseandconst.xyz/blog/arc-review/":{"tf":1.0},"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":2}}}},"x":{"docs":{},"df":0,"2":{"docs":{"https://proseandconst.xyz/blog/katana-x2-review/":{"tf":1.0}},"df":1}}}}},"documentStore":{"save":true,"docs":{"https://proseandconst.xyz/":{"body":"","id":"https://proseandconst.xyz/","title":"Home"},"https://proseandconst.xyz/about/":{"body":"\nMy name is Darshak Parikh. I am a UI developer living in India.\nI write about technology, open source software and psychology among other things.\nWeb development caught my interest in 2015, and I haven’t looked back since. I enjoy writing fast, sexy web apps and sites. I do that professionally at CoffeeBeans Consulting.\nI also develop a bunch of side projects, most of which are on GitHub. I contribute to and develop apps for elementary OS.\nBesides programming, I create pixel art and play retro games.\nIf you want to talk about these or any other topics, hit me up on Mastodon. Or send me an email at darshak at protonmail.com.\n","id":"https://proseandconst.xyz/about/","title":"About Me"},"https://proseandconst.xyz/blog/":{"body":"","id":"https://proseandconst.xyz/blog/","title":"Blog"},"https://proseandconst.xyz/blog/arc-review/":{"body":"Arc Browser had been making waves in my social media circles, so I was mildly intrigued by what they were making. But it is in closed preview at the time of writing, so I didn’t bother taking a deeper look. I was happy with Firefox.\nThat was until my friend Rahul mentioned he had been enjoying it and shared an invite to the preview. Now, after two weeks of using it as the primary browser on my macOS workstation, I want to share some thoughts.\nWhat I like\nSpaces and Profiles\nSpaces are a way to group your tabs and bookmarks, which is Arc’s answer to multiple windows. Profiles, on the other hand, group your logins, much like Firefox Containers. The two features work well together.\nI use these to separate my personal browsing, my work browsing and my client work browsing. I even colour-coded the Spaces to match the brand colours of the said companies, while choosing an autumn orange for my Personal Space.\n\nThis way, I can tell at a vague glance the Space I’m in right now. Switching Spaces with the touchpad gesture has become second nature in a short time.\nEasels\nYou can capture any rectangular area on any web page and save it to a so-called Easel. This is like a sharable board to collect stuff from various parts of the web. You can even add text, pictures and arrows to it. Think of it like a love child of Excalidraw and Pinterest.\nAnd that rectangle you captured? By default, it is an ordinary screenshot with a link to the source page. But the magic starts when you press the Play button on it. This will make it update live, so you can keep an eye on a part of a page without opening the entire page. Nifty!\nI’ve been using an Easel to track my Inktober progress. I added an image with the list of daily prompts and my to-do item which I could check right away. I also added links to the Mastodon and Twitter threads where I post the artworks.\n\nThis lifts the overhead of deciding what to do next: everything is (literally) laid out in front of me.\nCommand Bar\nI use VS Code, so I’m used to summoning a genie text input and typing my wish.\nArc has this feature, and it’s pretty smart. Enter a URL, a web search query or a browser action, and it will know what to do.\nArc is also keyboard-friendly in general. Not only does it have good shortcuts, it also makes them easy to discover and change.\nLittle Arc\nYou’re in another app, say, Slack, and you click a link. You don’t have to switch over to the main browser window. You can choose to open a smaller window right there, do your thing and close it without switching contexts.\nI use this to check out shared links and review small pull requests. If it needs more time and space, there’s a button to open it in the main browser window.\nBoosts\nThis is a fancy name for what are traditionally known as user styles and user scripts, except that you don’t need to install an extension.\nThe idea is that you can add custom code to some or all websites and tweak them to your liking. People have used these to theme pages, add features and remove unwanted crap among other things.\nThe major difference is that Boosts in Arc are more approachable. You can choose from pre-built templates, which come with nice code comments to guide you through the process.\nI’m yet to write my own Boost, but I’m more likely to write one for Arc than any other browser.\nAlso, by giving it a simple name and making it more developer-friendly, Arc could even create a marketplace to share and install public Boosts. I haven’t heard of any plans to do so yet — it’s a complicated undertaking — but they could if they wanted to.\nSplit view\nThis is what it says on the tin. You can split the window to see multiple tabs at once.\nI have often wished for this in other browsers. While this can be solved by tiling two browser windows, I am not a fan of the window management in macOS, so a built-in split view is a boon.\nWhat I don’t like\nNo reader mode\nWebsites like to smother their articles with cookie banners, pop-ups and other annoyances.\nWith a click of a button, I can get rid of it all and focus on the content, while being able to tweak the appearance to my liking. In Firefox, that is. I sorely miss this feature in Arc.\nIt’s only for macOS (for now)\nMy other devices are a phone (running Android), a laptop and a Raspberry Pi (both running Linux). Firefox syncs among all these devices. Arc does not (yet).\nThe next platform they’re planning to support is a logical choice, but one I couldn’t care less about: Windows.\nIt’s Chromium\nIt’s sad that yet another new browser has to contribute to the Chromium monopoly.\nEven if I do swallow that pill, what’s harder for me is to get used to Chromium devtools. The UX just doesn’t compare to that of Firefox devtools. And while there are some brilliant designers working on Arc, they’re unlikely to change the devtools.\nFurthermore, Arc uses the Chrome Web Store for extensions. This means I cannot install extensions which Google doesn’t like because they harm their ad business. The Firefox add-ons marketplace is much more relaxed in those terms.\nConclusion\nOverall, I’m happy with the direction Arc is going in. I love the features and happily use it as my default browser. That said, there are few important things missing, so I will likely switch back to Firefox soon.\nIf you are reading this as a part of the Arc team, I will keep cheering for you (unless you do something terrible). All the best, and keep up the great work!\nUpdate: 2023-03-25\nFour months later, Arc is still my default browser, and I see no reason to switch away at this point. However, I am closely watching how the company plans to make profits. If they make a move that does not sit well with me ethically, I will pull out in a heartbeat.\n","id":"https://proseandconst.xyz/blog/arc-review/","title":"Two-week Review of Arc Browser"},"https://proseandconst.xyz/blog/back-to-office/":{"body":"My workplace has asked everyone to start coming to office at least thrice a week. Each team picks which three weekdays are best suited to them.\nThis means that I will be moving to Bengaluru this week and find a place to stay somewhere close to work.\nI, for one, am excited about this.\nWork From Where?\nThere’s a narrative that says knowledge workers no longer need offices, because they are equally productive working from home. While I respect their choice, I find myself to feel much better about my job — and life in general — while working from an office.\nFor one, it helps you set a clear boundary between work and not-work. Your mind gets into either mode based on where you are.\nFurthermore, as a developer, you do much more than just write code. You spend a lot of time talking to people. You discuss requirements, ask for help, give help, clarify things and review code to name a few.\nAll this is possible to do over the internet, no doubt. But I find it much more organic, much more human to do it in person.\nOur brains are more accustomed to reading facial expressions and body language than they are at processing words. And it is much easier to showcase your intent through these. Heck, it’s harder to hide your intent.\nFor example, while providing critical feedback, you don’t want to come across as bossy or arrogant. No matter how good you are at language, this is hard to do with mere words and emoji. But wearing a kind, friendly expression on your face is so natural that you don’t even stop and think about it. Think about it.\nThere’s a reason people are regularly misunderstood on social media.\nNote: I am saying all this from a subjective, neurotypical viewpoint. I mean no disrespect to people who cannot or don’t want to work from an office for any reason.\nNot-work Work\nMoving from living with my parents to living on my own also comes with an advantage. I get more time and space to work on things that matter the most to me: side projects, open source and pixel art.\nI have been procrastinating for far too long, and it’s about time I went back to following my own advice.\n","id":"https://proseandconst.xyz/blog/back-to-office/","title":"On Going Back to the Office"},"https://proseandconst.xyz/blog/creation-consumption/":{"body":"The activities you do in your free time fall into three categories: creation, recreation and consumption. In this post, I want to highlight the contrast and the relation between creation and consumption.\nCreation is when you produce something previously nonexistent. This includes writing, cooking, painting, playing music and coding to name a few. These are activities you will always find rewarding.\nConsumption is when you ingest content created by someone else. This could be reading, listening to music, watching a movie or browsing social media. Consumption may or may not be rewarding, depending on what you consume.\nCreation cannot exist in itself. You have to consume to create. You cannot be a chef without first understanding how your ingredients blend together. You cannot produce good music without having listened to some.\nUnlike creation, consumption can exist in itself. You can spend all your time consuming, but it won’t take you far. Sure, reading a good book or listening to an insightful podcast will give you knowledge. But knowledge alone is futile if you don’t also apply it.\nThis is where creation comes in. It is the application of what you know from consumption.\nYou will find your time to be the most fulfilling when you balance creation and consumption. The general principle you want to follow is:\n\nSpend as much time as you can creating something. Do it until you run out of ideas.\nWhen you’re out of ideas, consume. Not just anything, mind you. Consume with the intention to create more. Be a picky consumer.\n\nOnce you fall into this virtuous cycle, you will never find yourself bored, idle or disappointed in yourself. It will give you a sense of achievement and satisfaction that you can never find with consumption alone.\n","id":"https://proseandconst.xyz/blog/creation-consumption/","title":"Creation and Consumption"},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"body":"Why\nMy work laptop is usually a MacBook, and installing Linux on that is not possible for various reasons.\nNow, being stuck with macOS isn’t all that bad. I’d take it any day over Windows. I even get to sync my dotfiles across Linux and macOS.\nThat said, one of the first things I do after receiving a new MacBook for a project is fixing some of its silly defaults and making it somewhat more sensible.\nAuto-hide the dock\nSystem Settings > Desktop & Dock > turn on Automatically hide and show the Dock\nIt’s not as smart as elementary OS, so it stays hidden even when there is no window blocking its space, but turning on this setting is more useful than giving so much real estate to something I rarely touch.\nStop reordering spaces\nSystem Settings > Desktop & Dock > turn off Automatically rearrange Spaces based on most recent use\nI don’t know who uses this, but I prefer to know exactly where my windows are instead of finding them by trial and error.\nScroll Reverser\nSometimes I use a mouse, sometimes the trackpad. I want natural scrolling on one but not the other, so I should change the setting for each of them, right?\nOh, my sweet summer child! Just because they are two different checkboxes doesn’t mean they are two different settings. They’re bound to the same thing. Changing one updates the other. The US really needs to do something about their drug problem.\nBut until then, install Scroll Reverser to keep your sanity.\nAltTab\nWhat are all these background apps doing in my Cmd + Tab switcher? Why do I see apps from other spaces? Who invited Finder?\nAltTab fixes all that and lets you tweak it as per your needs.\nBluesnooze\nYou’re going for a walk, so you decide to play a podcast on your phone and listen to it on your earphones. But guess what? Your earphones get connected to your sleeping MacBook before your phone.\nNow, you could open your backpack, take out your MacBook, unlock it, turn off Bluetooth and put it back in the pack. Or you could install Bluesnooze and get on with your life.\nThere used to be a setting to turn off this (even then) abominable default, but it’s gone now.\nHidden Bar\nNo, this is not the name of a shady place you go to for cheap alcohol. Hidden Bar is a tool to control the chaos of apps filling up your menu bar with icons you either never click or don’t want to look at because they’re ugly.\n","id":"https://proseandconst.xyz/blog/fix-macos-defaults/","title":"Fixing the Stupid Defaults on macOS"},"https://proseandconst.xyz/blog/katana-x2-review/":{"body":"First things first: I’m no expert on mechanical keyboards.\nIn fact, this is my first mechanical keyboard after spending half my life on membrane keyboards and being perfectly happy with them. So while this is not an experienced review, it does come from someone who has been somewhat sceptical of mechanical keyboards.\nMany people have told me about their superiority, but last month, a friend finally got into my head and I decided to try out an entry-level keyboard and see how it fares.\n\nSpoiler alert: I wasn’t disappointed.\nBuying experience: 3/5\nI got myself the tenkeyless variant of EvoFox Katana X2 with blue switches and black colour. They have a white one with full-size layout and red switches, but that’s the only other variant at the time of writing. And on Amazon, this is listed as a variant of older generation Katana keyboards.\nSo while EvoFox makes good budget products, their cataloguing sucks.\nI say good products, because I already have a game controller from them, which works great. So I took a leap of faith despite there being no reviews of this product other than the scant customer reviews on Flipkart and Amazon — which are extremely favourable.\nBuild quality: 4/5\nThe keyboard is sturdy and uses quality plastic. It is neither heavy nor light and can be easily carried in a backpack along with a laptop and a charger.\nThe keycaps are fairly stable, but not the most stable I’ve seen. It also claims a lifetime of 50 million keystrokes and comes with swappable switches.\nTyping experience: 5/5\nFeel\nThe tactile feedback is accurate, in that you can feel the exact millisecond the switch clicks. It is what you would expect from blue switches.\nSound\nMy more experienced friends have called it somewhat on the thockier side. I’ve felt the thock only on the larger keys like Enter, Backspace and Spacebar, while the other keys sound clicky to me.\nSpeed\nOn membrane keyboards, I used to hit 60 to 70 words per minute depending on which typing tutor I use to measure. With the Katana X2, I was at a good 50 within the first hour of usage, and by the second day, I was at my usual speeds.\nAfter a couple of weeks, I’m hitting 70 to 80 words per minute, which is slightly better than my previous best.\nOther stuff\nThe keyboard comes with a handy volume control knob at the top right corner. It also lets you control the backlight brightness after a long press.\nSpeaking of backlight, it has rainbow lighting, with fixed colours for each key. There are a bunch of lighting effects, but I’m not interested in backlights at all, so I have no opinion on that.\nConclusion\nIf you’ve never tried mechanical keyboards and don’t want to spend a lot before you know you’re into the hobby, and you’re okay with a wired keyboard, then the EvoFox Katana X2 is for you. It’s a bargain at the price of ₹1799–₹1899.\n","id":"https://proseandconst.xyz/blog/katana-x2-review/","title":"Two-week Review of EvoFox Katana X2 Keyboard"},"https://proseandconst.xyz/blog/keyboard-pen/":{"body":"We have all been “writing” since we were toddlers. But it’s only after a certain age that we start writing for ourselves, if at all.\nThe mode in which we write depends on our personal choices, the time we were born in, and the environment we work or study in.\nAs for me, any non-trivial writing I have ever done falls into one of three modes:\n\nhandwriting: for all my formal education (~18 years)\nglide typing: since I started using a smartphone in 2011 (~9 years and counting)\ntouch typing on a hardware keyboard: since I started my first job in 2014 (~6 years and counting)\n\nI stopped using pen and paper the moment I stepped out of college. Few people will agree, but using the pen is an activity I find painful and tedious.\nThis could be because my last memories of using a pen are largely negative. School and college required students to submit long, written assignments at the end of each term. Few students put any brain into it. I find this an unproductive, unnecessary chore which yields zero value to education.\nAs if that is not enough, there is little focus on actual programming in courses like Computer Science and Information Technology. I graduated in the latter, and landed a software job, yet I could not touch type. Because I rarely needed to type at all.\nSuch is the plight of the Indian education system.\nThat said, I’m not the one to whine. My first role at the said job was that of a manual tester. And I was unamused at the prospect of listing test scenarios in a spreadsheet. So I used that to my advantage.\nI forced myself to touch type.\nIt was painstaking at first: I would take three seconds to type one key. It would appear as though the spreadsheet program was stuck. But I had been watching Naruto at the time and had learnt not to give up.\nOne month later, touch typing became second nature.\nThinking back, this month-long practice is one of the best life decisions I’ve made. To this day, I find touch typing to be the optimal way of putting down my thoughts. It puts me into a natural state of flow. Whether I am writing a blog post, styling a web page, or free writing, the experience is nothing short of meditative.\nFunnily though, this is the mode of writing I have spent the least time with: a mere third of what I have spent handwriting.\nAs it happens, my preference of mode is inversely proportional to the time I have spent using it. Touch typing is my go-to solution. If not possible, I will glide type on my smartphone. I do not own a pen.\nAnd like any touch typist, I have strong preferences when it comes to the keyboard.\nI am a gentle typist. My previous boss used to say that it was always an enjoyable experience to watch me typing. He said that the way I swiftly but silently pressed the keys, the keyboard would last centuries.\nAnd when you type gently, a mechanical keyboard doesn’t work for you. Chiclet is the way to go. The one on my Dell Vostro is so perfect that it’s a reason I still use the seven-year-old machine as my primary device.\nBut never go too far with chiclets. Apple did. While I am by no means their fan, I need to use a MacBook Pro for work. And I’m glad the 2020 MacBooks got rid of that butterfly monstrosity.\n","id":"https://proseandconst.xyz/blog/keyboard-pen/","title":"The Keyboard Is Mightier than the Pen"},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"body":"I am 28, and I have only owned two personal computers in my lifetime.\nExcluding workstations, I have had one desktop and one laptop.\nDesktop (2007–2015)\nThis one had a CRT monitor, a single-core AMD Sempron processor, an 80 GB hard drive and 256 MB of RAM, later upgraded to 1.25 GB. It was my high school machine and my father’s occasional taxation machine.\nIt came with Windows XP, which I later replaced with various Linux distributions.\nNow decommissioned and sold, I thank it for sparking in me the curiosity about computer science, programming and open source.\nDell Vostro 2520 (2013–present)\nThe laptop has a 15.6″ 1366×768 display, a dual-core 3rd generation i5, no dedicated graphics and 4 GB of RAM. I upgraded the 500 GB spinning hard drive to a 480 GB SSD last year.\nIt is a clunky box with ancient tech: a DVD drive, an RJ45 port, a VGA port and (by today’s standards) an HDMI port. Forget Type-C, it does not even have USB 3.0. There are three USB 2.0 ports, supported well even today.\nI bought it with Ubuntu, then distrohopped for a bit before settling down with elementary OS.\nThis has been my primary machine for seven years and counting.\nIn 2020, this might sound like weak, barely running hardware, and you won’t be entirely wrong. Yet, I haven’t felt the need to replace it, even though I can afford it.\nLet me tell you why this machine is brilliant.\nIt is economic.\nI got it for ₹33,000 (about $450). Then I made two screen replacements, two battery replacements and one SSD upgrade. The total cost including purchase has been less than ₹65,000 (about $885).\nThe keyboard is excellent.\nThe keys are neither as flimsy as MacBook’s butterfly keyboard nor as hard as a mechanical keyboard. They are “Goldilocks” easy to press.\nIt works.\nIt serves all my needs without breaking a sweat.\nWithout the fans going off, it can:\n\nemulate Nintendo 3DS games at 100% speed\nrun Firefox, VSCodium and a Node.js server with no lag\ncompile Vala apps in seconds\nbuild my website in milliseconds\n\nI realize that a lot of this is thanks to the SSD and would not have been so impressive before the upgrade. But as mentioned before, it is economic.\nBut it’s growing old.\nIt’s not all rainbows and butterflies. The device’s age shows in a few areas:\n\nThe 1366×768 resolution is fine, but I am spoilt by my HiDPI workstation.\nThe touchpad is tiny. (Again, spoilt by workstation, but I have a mouse).\nThe camera applies funky filters to your image unless you pinch the bezel.\n\nThere’s this balance of good and bad things about it, and it is inevitably approaching a tipping point where the bad outweighs the good. That being said, my old buddy can pull off a few months to a year before I need an upgrade.\nFinal thoughts\nThe bottom line is that it is okay to be conservative about hardware purchases. Quality hardware will last several years without needing a replacement.\n","id":"https://proseandconst.xyz/blog/life-with-low-end-hardware/","title":"Life with Low-end Hardware"},"https://proseandconst.xyz/blog/making-of-site/":{"body":"TL;DR: I moved from WordPress to a superfast static site. Here’s the source code.\nThis is not my first site. I’ve had a WordPress blog hosted on this domain since 2013. And I recommend WordPress to anyone who wants their own site but cannot write HTML and CSS.\nThen why did I move away from it? Because I can. As an experienced web developer, I was itching to write my own site by hand. Reasons being:\n\nI wanted to tune the performance and accessibility in very specific ways.\nI wanted it to be a static site, which makes it inherently faster than WordPress.\nI wanted to add personal style and navigation that was only possible if I wrote the code myself.\n\nAnd thus began my hunt for the right tools.\nStatic Site Generator\nA static site generator is a program which takes your content and puts it into nice-looking HTML pages. You can then host these on any static web server. No back end needed.\nThere’s no shortage of such generators on the internet. But I needed something that could build my site in milliseconds, even on my low-end hardware. This led me to two choices: Hugo and Zola.\nAfter trying them both for a while, I decided to go with Zola for its relative simplicity and ease of learning.\nI knew I’d miss out on the huge community that comes with Hugo. But thanks to Zola’s excellent documentation and forum, I rarely felt stuck. The number of community themes was irrelevant to me since I planned to write my own.\nTurbolinks Turbo\nOne day, I landed on a post on taniarascia.com from a web search. The site looked so clean that I decided to explore it, and was floored by how fast the navigation was. Unvisited pages opened as if they were stored offline. Something was fishy.\nI dug around the site to find a post about how it was made (much like this one). It uses Gatsby, which turns the site into a single-page application. Each page load is a JSON call, and even that is likely preloaded by the current page.\nI had no intention of switching away from Zola, but I wanted this superpower. I remembered seeing a GitHub repo that can do something similar to a site using traditional navigation. I peeped into my Pensieve (read: Firefox history) and came out with Turbolinks. (Update: Now using Turbo, the successor to Turbolinks.)\nThis library hijacks all same-origin hyperlinks on your site and fetches them in the background. Then, without causing a full page reload, it swaps out the <body> and merges the <head>, making navigation blazing fast. This way, you can still use old-school hyperlinks and your site will behave like a single-page application.\nThe best part about Turbo that there’s nothing to configure. Load it in a <script> and it starts working. And if a browser doesn’t support JavaScript, links work like they always have. Everybody wins!\nWhich brings me to—\nProgressive Enhancement\nIt shouldn’t take a read-through of Resilient Web Design to understand the importance of progressive enhancement. My site had to work on everything from a command-line browser to a full-blown Firefox.\nAnd that’s easy. Use accessible, semantic markup, and serve it without any client-side DOM manipulation. Everything else is an addition. Even CSS.\nSnazzy Underlines\nI was itching to use the new underline styles now possible with pure CSS. At the time of writing, they only fully work on Firefox. How do I not break over 90% of the web for some snazzy effect I felt like adding?\nFeature queries to the rescue.\nCSS supports the @supports at-rule to detect whether the browser supports a declaration. Then you can write separate styles for supporting and non-supporting browsers.\nThe only problem is IE support. It doesn’t support @supports, so I don’t support it.\nFine, I’ll stop saying ‘support’.\nKeyboard Navigation\nYou can navigate the menus and lists on some pages using arrow keys and Vim-style HJKL keys. You’re welcome.\nThis is a feature that games and CLI apps offer out of the box but is rare on the web. I wrote some JavaScript to enable it where it makes sense.\nThis is another progressive enhancement. You can still click the links as usual, with or without JavaScript.\nDesign\nI felt I should let my retrogaming interest ooze into my site, so I originally designed it to look like a game straight out of 1990.\nThe font I’d have used for headings and menus was Press Start 2P.\nThis is also why I wanted keyboard navigation: to emulate a game controller.\n\nThat dream did not last long.\nI picked the brilliant Recursive font for body text. I tried it on headings too, and it looked so good that I dropped the whole blockiness idea and used Recursive for everything.\nUpdate 2020-09-28\nAfter publishing the site online, I found myself writing about serious topics, and Recursive didn’t seem to fit the image of “serious”. But I was cautious about adding multiple fonts since Recursive offered so much in one font resource.\nAfter reading some typography advice from Erik D. Kennedy and Jeremiah Shoaf, I decided to try a few different approaches to font selection. Some experimentation with Google Fonts and many iterations led me to what you see today: serious, but not too much so.\nI even added a nice light color scheme, which looks even better than the dark one with the new typography.\nUpdate 2020-10-03\nI rebranded from Dubious Disc to prose&const and refreshed the home page and navigation styles. Again, I applied the UI design lessons learnt from the two brilliant folks mentioned above.\nMoreover, I no longer have to compete for search results with Pokémon.\nPerformance\n\nNeed I say more?\nFinal thoughts\nWhile this lacks many common features, I am happy with the result. It’s fast, responsive, privacy-respecting, open source, and most importantly, it’s mine. It is exactly how I want it to be.\nI recommend this to anyone who knows HTML and CSS (and has the time): if you want to make a site, write it yourself. Not only does it give you street cred and bragging rights, it is also more satisfying and rewarding. And of course, you learn a lot along the way.\n","id":"https://proseandconst.xyz/blog/making-of-site/","title":"The Making of This Site"},"https://proseandconst.xyz/blog/select-all-set/":{"body":"Problem statement\nSay you have a list of selectable items like emails or todos. There’s a checkbox next to each item, and the user can select multiple items to do some action with them.\nSince you love your users, you don’t want them to always select items one by one, so you provide a ‘Select all’ checkbox. There are four criteria you need to fulfill:\n\nOn checking the ‘Select all’ checkbox, all item checkboxes should be checked.\nOn unchecking the ‘Select all’ checkbox, all item checkboxes should be unchecked.\nOn individually checking each item checkbox, the ‘Select all’ checkbox should also be checked.\nOn unchecking at least one item checkbox, the ‘Select all’ checkbox should also be unchecked.\n\nWhy use a set?\nYou could use an array for this, and indeed, most of the code I have mentioned can be adapted for an array. However, we put our selected items in a set for these reasons:\n\nWe don’t care about the order.\nRemoving an item from a set is trivial: just call .delete(item). It’s not so easy for arrays. You have to find the index of that item, either implicitly or explicitly.\nYou don’t have to look out for duplicate items while adding or removing them.\nYou don’t have to look out for empty slots after removing items.\n\nI am going to provide a step-by-step solution to this. The code uses Svelte, but you should be able to adapt it to React, Angular, Vue or any other framework.\nStep 1: Display the checkboxes\nIn our <List> component, we define an array of items and render each item in a list of checkboxes.\n\nThis works as you might expect.\n\nStep 2: Add a ‘Select all’ checkbox\nWe do this by adding another <li> above the loop.\n\nIt will, again, meet expectations.\n\nStep 3: Define a set to hold the selected values\nWe initialize an empty set called selectedDucks. Every time a user checks a box, we add it to the set. Every time they uncheck one, we remove it from the set.\n\nNotice how we add a redundant assignment? selectedDucks = selectedDucks; would do nothing in plain JavaScript, but we need it here to tell Svelte to rerender the component. Calling methods like .add() and .delete() on a set does not rerender it.\nNext, we bind onCheckDuck to the change event on the checkboxes.\n\nWe bind the checked attribute of each item to its presence in the set. We need to do this one-way binding so that if the set is updated from elsewhere (which it will), the checkbox gets checked too.\nStep 4: Bind the ‘Select all’ checkbox\nJust like the item checkboxes, we handle the change event on the ‘Select all’ checkbox too. The difference is that when it is checked, we add all the items to the set, and when it is unchecked, we clear the set. This will affect the checked attribute on item checkboxes, thus satisfying our first two criteria.\n\n\nDid you see how we bound the checked attribute based on the size of the set? This way, the ‘Select all’ checkbox will get automatically checked and unchecked depending on whether all the item checkboxes are checked. This satisfies the third and fourth criteria.\nThat’s all, folks!\nWe used a set to define which items the user has selected. Based on the contents of the set, we checked and unchecked a ‘Select all’ button. We also handled user interaction on the ‘Select all’ checkbox to fill or empty the set, which in turn checks or unchecks the item checkboxes.\nHere is the full code for your reference.\n\n","id":"https://proseandconst.xyz/blog/select-all-set/","title":"Implementing a ‘Select all’ Checkbox Using ES6 Set"},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"body":"Sometimes you want to create a vector graphic résumé or an infographic and export it as PDF. Doing this is easy in Inkscape using its Print function to create a file instead of printing on paper.\nIf your document has a web or email address, it is a good idea to make it clickable, so that anyone looking at the PDF doesn't have to copy and paste the address.\nI'll show you how to do that.\nCreating a link\nUsing the Select tool (the mouse-pointer arrow thing), select the object which you want to turn into a hyperlink. This will usually be text, but it can be anything: a rectangle, a path, a vectorized taco, anything.\n\nNow right click on this object and select Create Link.\nThis will open up a pane on the right that looks like this:\n\nIn the Href field, type your address:\n\nThat's it. There's no Apply button. Your object is now clickable. Go home.\nBut there's a problem. Our text doesn't look like it's clickable.\nAdding an underline\nThe most foolproof way to make text look like a link is to underline it.\nTo do that, open the Object menu at the top of your window, and select an option called Selectors and CSS…. Then select your text object. This will open up another pane to the right:\n\nWhat you see is a table of the various style properties applied to the text under the hood. These are the defaults, but we want to add one more property here.\nClick the + icon at the top left corner. It will add a new row.\nStart typing text-decoration.\n\nYou can select the suggestion. Once done, press Tab to go to the next column. Here, type underline and hit Enter.\n\nBoom! You have your underline.\n\nBut it's not over yet.\nWhat if you, like myself, are not a fan of pure black text on white, and prefer some colour in your life? A black underline is no good.\nColouring the underline\nEasy. In the same pane where you added the underline, add another property called text-decoration-color.\n\nIn the right column goes your colour's hex code, #156255 in my case.\n\nYou should see the coloured underline now!\n\nReferences\n\nThis one\nThis one\nAnd this one\n\n","id":"https://proseandconst.xyz/blog/underlined-link-inkscape/","title":"Creating Underlined Hyperlinks in Inkscape"},"https://proseandconst.xyz/digital-garden/":{"body":"","id":"https://proseandconst.xyz/digital-garden/","title":"Digital Garden"},"https://proseandconst.xyz/digital-garden/books/":{"body":"These are some of the books I’ve read and liked, grouped by category and sorted in no particular order. Excluded are the ones I’ve read but don’t recommend.\nFiction\nFantasy\n\nHarry Potter\nHands down my favourite in the genre, this is a world like none other. I’ve even reread (or relistened to in audio form) some of the books, including the Spanish translation of the first book.\n\nFantastic Beasts and Where to Find Them\nQuidditch Through the Ages\nHarry Potter and the Cursed Child\n\n\nHarry Potter and the Methods of Rationality\nI don’t do fan fiction, but this one kills it. It challenges the way you see problems, scientific or otherwise. (To be honest, it is less fantasy and more sci-fi or psychological thriller.) Full of slapstick humour, anime references and playful stabs at the original, this doesn’t disappoint in the storyline either.\nThe Chronicles of Narnia\nThis is for an audience younger than that of Harry Potter. I like the saga, with my favourites being The Horse and His Boy and The Silver Chair. My least favourite is the finale: I wasn’t nearly as disappointed in Game of Thrones as I was in The Last Battle.\nThe Hobbit + The Lord of the Rings\nTolkien is known as a legend for a reason, and that reason cannot be summarized in a few sentences. Go, read the books. Also, the critique that The Lord of the Rings gets for being too long and too detailed is right. I didn’t feel the need to read the weather report for every day in Frodo’s journey. Despite that, this is one of the greatest works in the fantasy genre.\n\nScience Fiction\n\nThe Three-Body Problem trilogy by Cixin Liu\nThis gave me profound sense of existential humility. Some of the craziest ideas ever imagined by a human being, served beautifully in a three-course platter of an extremely far-fetched yet somehow credible storyline.\nActs of God by Kanan Gill\nIf you enjoy Kanan’s brand of cheeky geeky humour, this book is a treat. Contains unabashed use of all figures of speech you can imagine, and then some. While the comedy forms the primary terrain which happens to allow the plot to flow through, there are characters you instantly fall in love with. Oh, and I’m also biased, because the novel gives a sweet tribute to Deep Purple.\n\nDetective\n\nBy Agatha Christie:\n\nAnd Then There Were None\nMasterpiece. Highly recommended.\nBlack Coffee\nThey Do It with Mirrors\nN or M?\nOne, Two, Buckle My Shoe\n\n\nThe Cuckoo’s Calling\nRowling doesn’t do detective fiction as well as Christie, but if you like her elaborate writing style, this is a good book. I might read the other books in the series some day.\n\nMisc\n\nThe Adventures of Tom Sawyer + Adventures of Huckleberry Finn\nI was maybe 10 when I read these, so I don’t remember much except that I liked them. Will probably revisit some time.\nThe Casual Vacancy\nThere’s no protagonist: everybody is good and bad in their own way.\nThe Old Man and the Sea\nI read this less for the story and more to study Hemingway’s writing. And indeed, the writing is crisp and the story linear.\nDigital Fortress\n1984\nThis book deserves all the praise it receives.\n\nNon-fiction\nSelf-help and Philosophy\n\nBy Mark Manson:\n\nModels\nThe Subtle Art of Not Giving a Fuck\nEverything Is Fucked\nThe most profound thing I have ever read. It digs down the evolution of the human brain and presents a framework that explains all historical events from a psychological perspective.\n\n\nAtomic Habits\nExplains the science of habit-forming, so that you can use this understanding to build better habits and quit bad ones.\nIndistractable\nIf you read Atomic Habits, read this next.\nBarking Up the Wrong Tree\nThe Obstacle Is the Way\nA modern approach to Stoicism. Not very practical, but offers solid, time-tested wisdom on how to make the best of any situation.\nBy Cal Newport:\n\nDigital Minimalism\nThe first half is useful, actionable advice. The second half is a meandering stream of anecdotes and how they relate to the reader’s newfound leisure.\nSo Good They Can’t Ignore You\nDeep Work\n\n\nThe Psychology of Money\n\nTechnology\n\nResilient Web Design\nPractical Typography\n\nMisc\n\nShoe Dog\nEats, Shoots and Leaves\n\n","id":"https://proseandconst.xyz/digital-garden/books/","title":"Books"},"https://proseandconst.xyz/digital-garden/commuting/":{"body":"Commuting gets a bad rap, especially in large cities. But I think the problem isn’t commuting itself; it’s the stress of manoeuvring through traffic that makes for an unpleasant experience.\nI prefer to just walk. Or use public transport. It gives me the time to switch out of work mode by letting my mind wander and silencing any residual mental buzz. This turns my commute into a rejuvenating activity instead of a tiring one.\nThink about it: on a bus, you can engage in anything that takes away your thoughts about work. Take a nap. Read a book. Listen to music. Do anything that helps you unwind.\nThis way, when you reach home, you are no longer ranting about work to your family. If you stay alone, you have more headspace for what you want to do for the rest of the day.\nIn my experience, this is useful even when you love your job and don’t find it stressful.\nSeparating your mind into two “modes” is something I have found to be super effective for my mental health.\n","id":"https://proseandconst.xyz/digital-garden/commuting/","title":"In defence of commuting"},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"body":"This is a list of the anime I’ve watched and the manga/comics/webtoons I’ve read, in alphabetical order. Things to note:\n\nIt is likely not exhaustive. I forget stuff.\nI don’t follow everything to completion. I quit when it feels like a drag. People tell me the plot anyway.\n\nAnime and Manga\n\nBeyblade\nThe first season.\nCardcaptors\nMy first anime ever.\nChainsaw Man\nClaymore\nThe manga. The anime had to finish early because the manga didn’t catch up, but it was worth the time it took.\nDeath Note\nDuh.\nDemon Slayer: Kimetsu no Yaiba\nDragon Ball\nTill the Majin Buu arc; haven’t followed GT or Super.\nElfen Lied\nFairy Tail\nTill the Spriggan arc.\nFullmetal Alchemist\nThe manga, but I’ve been told the Brotherhood anime is awesome.\nGrand Blue\nThe manga is hilarious, but the anime fails to capture the comic timing the same way.\nHyouka\nNot everyone likes this, because it never gets exciting, but that’s precisely what I appreciate: this is something you can watch to chill after all the action-packed shōnen.\nInazuma Eleven\nJujutsu Kaisen\nKimi no Na wa\nNaruto\nOne-Punch Man\nPokémon\nTill some point in Unova.\nPokémon Horizons\nA bit slow, but I like this format better, where the overarching story is given more importance than episodic stories.\nPokémon Adventures\nTill the FireRed/LeafGreen arc. Green is BAE. 💚\nShingeki no Kyojin\nTill the Marley arc.\nShokugeki no Soma\nTwo seasons.\nSpy × Family\nThe manga is slightly less child-friendly than the anime, but besides being an enjoyable action comedy, I also appreciate how it shines light on topics like political psychology and parenting. Also, Anya’s expressions! 🤌\n\nWebtoons\n\nAdventures of God\nShort, hilarious strips.\nBoyfriend of the Dead\nTons of geeky references.\nCity of Dead Sorcerer\nTill the Jeeyul training arc.\nDeadlove\nThe Gamer\nInternet Explorer\nNothing interesting, except a personified representation of important entities in web history.\nLookism\nHigh school gang wars.\nLove Advice from the Great Duke of Hell\nWeak Hero\nMore high school gang wars.\n\nAmerican Comics\n\nBatman: White Knight and its sequels (aka “Murphyverse”)\nAn uncanny spin on the classic Batman world. Each story is short but not rushed. The art is impeccable. Harley Quinn’s role is oddly endearing, and I don’t mean in the usual sense.\nHawkeye (2012)\nThis is what the Marvel Studios TV series was loosely based on. Delightfully fun. Kate Bishop has become one of my favourite Marvel characters.\nHawkeye (2016)\nWhere Kate Bishop is the protagonist. This run also gives a lot of attention to the women in Marvel and tries to thwart the stereotypes.\nAll-New Wolverine (2015)\nLaura Kinney’s story as the new Wolverine. Also introduces her clone sister, Gabby, who is a sweet but badass kid and another one of my favourite Marvel characters.\nHouse of M (2006)\nMarvel’s Wastelanders\nThis is a set of dystopian stories where most heroes have been killed. A fascinating take on some of our favourite characters trying to get by in their old age in a world that has gone to shit. Here’s the reading order:\n\nWolverine: Old Man Logan (which is Wolverine (2003) chapters #66 to #72, followed by Wolverine Giant-Size: Old Man Logan)\nOld Man Logan (2015)\nOld Man Logan (2016)\nA bit dragged out, but necessary reading.\nDeadpool vs. Old Man Logan\nOptional spinoff.\nOld Man Hawkeye\nDead Man Logan\nOld Man Quill\nAvengers of the Wastelands\nWastelanders\nThere are a few other minor appearances of Old Man Logan and Ashley Barton, but I didn’t bother checking them out.\n\n\nThe Walking Dead\nExcellent art, storyline and dialogue. Never disappoints.\n\n","id":"https://proseandconst.xyz/digital-garden/manga-and-friends/","title":"Manga & Friends"},"https://proseandconst.xyz/digital-garden/meta-confirmation-bias/":{"body":"Confirmation bias exists. When you look for it, you start seeing it in various forms every day, some of which are violent and extremist.\nWhen you form a habit of noticing this pattern, you also know which opinions to dismiss, because you know they were formed through the skewed lens of confirmation bias.\nMy hypothesis is that it is possible to take this too far, to a point where you disregard any and all opinions of someone you have classified as a biased person. You may lose out on valuable insights based on who said it rather than what they said.\nNot even <insert controversial personality here> is wrong 100% of the time.\nAnd there is a term for the situation where you believe something so strongly that you are blinded to the exceptions and nuances that defy your beliefs. That term is confirmation bias.\n","id":"https://proseandconst.xyz/digital-garden/meta-confirmation-bias/","title":"Meta confirmation bias"},"https://proseandconst.xyz/digital-garden/story-linux/":{"body":"A schoolbook had just blown my mind.\nI was in the 11th grade, and the Computers textbook had an intriguing chapter that had, as you know, blown my mind.\nIt introduced the concept of open source software, and explained how there were programs whose code was just out there for anyone to see and modify.\nNow, the only programs I had written at that point were the ones where you print a triangular formation of asterisks using C. So I had no clue what it was like to write and maintain a real software project. Yet, the idea of open source hit home instantly, and lit a spark in my head. I wanted more than what the textbook gave me.\n\nThat same year, the computers in the school lab were upgraded, and the new machines ran an OS we had never seen before: Ubuntu.\nThere was a panel on top instead of bottom, and the brown colour scheme was a refreshing break from the corporatey blueness that had been Windows XP. The animations were delightful and the windows wobbly. It was more than software; it was an experience that felt like stepping out into a balcony and being greeted by a cool breeze.\n\nBack home, we had a desktop with a space gray CRT monitor and a big-ass CPU with a whopping 1.25 GB of RAM. My father used it for work, so any major changes to it were out of question.\nWhat I did do, however, was start using more open source software on Windows XP: Firefox instead of IE, VLC instead of Windows Media Player, PeaZip instead of WinZip, etc.\nWhile I had largely forgotten Ubuntu after that school year, I had at least made an important decision which would drive my software choices for the rest of my life.\n\nThree years later, a college textbook had failed to blow my mind.\nStill an XP user, I found myself in the third semester of an Information Technology course. The subject known as Operating Systems was like any other, full of walls of text, containing information I had no idea what to do with.\nBut one day when I walked into the computer lab, I saw a few machines running an OS I hadn’t seen before: Ubuntu.\nIt was not the Ubuntu I remembered from school. There was a thick, translucent panel on the left with huge icons. The windows were no longer wobbly. It felt like… a different OS altogether. It was still refreshing but not in the same way.\n\nThis was in early 2012. Back home, my father no longer needed the computer, so I was the one calling shots on what goes into it.\nI had brought home two copies of Ubuntu from my tinkerer friends at college: the latest 11.10 and an older 10.10. Installing and uninstalling them was a piece of cake thanks to wubi, the Windows Ubuntu Installer. You go Next, Next, Next on a wizard inside Windows, then restart the machine, et voilà! You’ve got a dual boot!\n11.10 was what the college had been using. It was slow on my hardware, which had no GPU, not even an integrated one. And the RAM was still 1.25 GB. Unity did not deliver.\n10.10 looked similar to what I had used earlier at school. And boy, was it fast! It booted in about half the time as XP and was snappy as fuck! (No pun intended; this was 2012.) But the real metric where it wiped the floor with Windows was the shutdown time: XP used to take over half a minute before I could turn off the power supply. Ubuntu 10.10 took four seconds tops!\nEven the hardware support was great. On XP, I needed to install additional software to be able to go online using my USB-tethered Android phone or my 3G dongle. On Ubuntu, both worked out of the box. Not many people in 2012 could say this, but my hardware worked better on Linux than on Windows.\nAdd to that the plethora of open source software in Ubuntu Software Center and their general get-out-of-the-way attitude, and I was more than impressed. It became my primary OS, and within two months, I had decided: I was going to remove Windows and single-boot Linux.\n\nBut there was a problem. Ubuntu 10.10 would soon be outdated, so I would need to upgrade. Except that I could not upgrade. The upcoming 12.04 LTS would include the Unity desktop, which just barely ran on my box. I needed something else.\nYour curious creature had discovered DistroWatch. There were numerous lightweight distros out there. I had my eyes on the upcoming Peppermint Three, but it was taking some time to release, so I ended up choosing the freshly launched Xubuntu 12.04. And boy, was it fast!\n\nThe next few years were a whirlpool of experimentation. I would try a new distro every couple of months, with Xubuntu being my “home distro,” something I could come back to and rely on, no matter what. I would go on to figure out how partitioning worked, what a desktop environment was, what a window manager was, what a package manager was — you get the idea.\nAt one point, I successfully made my desktop unbootable due to some partition shenanigans. Now, I had no other computer and no USB drive that happened to be bootable. What I did have was a 256 MB microSD card with Puppy Linux on it. And for some reason, the aforementioned 3G dongle had a microSD card slot on it.\nI booted from it and got to work figuring out how to solve the partition problem using the unfamiliar Puppy system. I don’t remember how I did it, but over the course of an evening and a lifetime of head-scratching, my machine booted again. I breathed a sigh of disbelief.\nYes, people, I had just fixed a bricked system using a microSD card and a fucking 3G dongle. AMA.\n\nThe endless search for the perfect distro wasn’t endless after all. Sometime in 2015, I had installed elementary OS 0.3 Freya on my personal laptop, which I had bought with Ubuntu preinstalled two years before. And I had a new full-time job with little time to try out new distros every now and then. Having a stable, long-term OS was a must, and nothing worked better for me than elementary OS.\nSince then, I have quit the distrohopping. I do occasionally try out an interesting distro on a live USB, but never replace my new “home distro.”\nFor what it’s worth, I have started investing my time in being a good citizen of the elementary community. I hang out on the community Slack and help people where I can. I make small code contributions once in a while. I developed a couple of apps for AppCenter, and will surely develop more.\nAnd you know what? It gives me as much joy as distrohopping did, if not more. Sure, trying out new stuff is a lot of fun, but there’s a different kind of fulfillment in sticking to something and doing your bit to make it better.\nAnd that is what I am trying to do today. That is what my Linux journey has led to. How about you?\n","id":"https://proseandconst.xyz/digital-garden/story-linux/","title":"How I got into Linux"},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"body":"The year was 2000. Roughly, at any rate. I was a 7-year-old schoolkid living in Ahmedabad. There was a new electronic toy that everyone was talking about: the “video game.”\nNow, that name had been applied to many things, from the handheld black-and-white mini-consoles to the fancy computer games that the rich kids had. But after the arrival of the new toy, the default meaning of the term changed for good.\nIt was an older neighbourhood kid named Chintan who got it first, and that’s how the people around me came to hear about it. Soon, my parents bought me a set as well. It came in a box just a bit larger than a shoe box. I’m too old to remember exactly what I felt, but I’m pretty sure it must have been excitement beyond measure.\nChintan, the neighbour, came over and helped set up the hardware with the TV. How nice of him! We inserted the bright yellow cartridge (“cassette” as we called it). The label said “9999999 in 1.”\nIt opened up a menu with square, pixelated fonts on a black background. The first page had about 20 games, some repeated thrice. The first in the list was Super Mario Bros.\nLife was great.\n\nI am referring, of course, to the NES, the Nintendo Entertainment System. Except that I’m not.\nWhat my neighbours and I played with was an indigenous clone of the NES. Nintendo doesn’t do business in India in any meaningful sense. No other console ever became popular here, original or cloned.\nThe “video game” had its time for maybe five, seven years, and that was the last time most Indians ever saw everyone’s favourite Italian plumber. Myself included.\nThe year was 2005. Roughly, at any rate.\n\nThe year was 2003. May 12, to be exact. I was a 10-year-old schoolkid living in Ahmedabad. Children across the country were going gaga over a new “cartoon” that had just started airing.\nThis cartoon would go on to rule the TV screens, the toy stores and the snack packets which gave you surprise freebies.\nI’m no economist, but I can tell that the companies that surfed this hype wave, made quite a killing. I remember having a box full of collectibles which I would show off to and trade with my friends.\nLife was great.\n\nI am referring, of course, to the Pokémon anime.\nThe hype started to fizzle out after about three years. Everyone watched till Johto. Few continued into Hoenn. Most stopped before Sinnoh.\nThe gaga kids had grown up. Myself included.\nThe year was 2006. Roughly, at any rate.\n\nThe year was 2008. Roughly, at any rate. I was a 15-year-old schoolkid living in Ahmedabad. Computers had become way more common in urban households.\nMy school friends had got their hands on a Pokémon “computer game,” in which you could have your own Pokémon adventure, catch your own Pokémon, fight your own battles and challenge the league your own way.\nMy memories of the anime had started to fade, but there was one thing I remembered clearly: that Ash Ketchum had been an incompetent idiot. And the prospect of fixing his fiascos was fascinating to me.\nSoon, my friend Anurag came over and helped set up the emulator and the ROM. How nice of him! He explained how the game was made for a handheld called the Game Boy Advance, but we could play it on a PC with the right software.\nOf the four people who had started playing Pokémon FireRed, I was the only one who picked Bulbasaur as a starter. I nicknamed it Verde, because I had started to learn Spanish around that time.\nAt first, the 2D pixelated graphics were disappointing to me, coming from GTA: Vice City. But FireRed didn’t take long to grow on me. All four of us friends would play at home every day and excitedly share our stories the next day at school.\nI was a Pokémon fanboy once again.\nLife was great.\n\nThe years went by. I was hooked. I went on to play numerous other Pokémon titles. I played spin-offs and fan-made hacks. I played some games multiple times. I even resumed watching the anime for a few seasons despite its degraded dubbing quality.\nOne would think that the global Pokémon GO hype would be my third wave of interest, but that would be untrue, because the second wave had never subsided.\nAnd it wasn’t even just Pokémon any more.\nI emulated a variety of Nintendo consoles. I learned about the oriental origins of my old “video game.” I played some NES classics for old times’ sake. I explored other games too: There was Summon Night and Fire Emblem and Final Fantasy. There was Super Mario World, and there was Mario Kart 64. There were sequels, and there were remakes. And all of these were emulated on the various devices, small and large, which I had owned through the years.\nI showed up at many a Comic Con and bought cool merch every time.\nLife continued to be great.\n\nBut while I had been discovering these amazing games and consoles to emulate, I was alone in playing them for the most part. There were at the most five people with whom I could talk about these.\nNintendo never became a household name. Sure, the names Pokémon and Mario were well-known, but as things of the past. There were no excited fans like there used to be when life was great.\nAnd what irked me the most was how people on the internet, both from the West and the East, seemed to take for granted what I had to discover for myself. From Animal Crossing to Zelda, these were just games to many people. Everyone and their dog seemed to own a Switch.\nBack in India, PlayStation is the only line of consoles that people care about. It’s not impossible to get a Switch unofficially in India, but you have to deal with either international shipping or the grey market. It takes way more time, money and patience than necessary. The fact that you need to buy a regional power adapter is a relatively minor issue.\nAnd even if you do get one, it’s more of a personal thing. The social aspect of the games is lost when you cannot share your experiences with a fellow player you meet every day.\nAnd if it’s not going to be social, then I don’t even feel like spending the time and money on getting the hardware any more. I continue to emulate the games in my own small world. And I’m okay with that. I don’t want to be the cheapskate who doesn’t buy his games; I just lack an official, supported way to enjoy my games. And I have learnt to enjoy my games alone.\nThe year is 2023. To this day, I always pick Bulbasaur.\n","id":"https://proseandconst.xyz/digital-garden/story-retrogaming/","title":"How I got into retrogaming"},"https://proseandconst.xyz/digital-garden/when-macros/":{"body":"While learning about Lisps and their macro systems, I have identified the following cases when writing a macro is a better (or only) way to gain a level of abstraction.\n\nWhen you want to choose which arguments are evaluated, you can do it trivially in a macro. This is impossible to do directly in a function, because all arguments are evaluated before being passed to it.\n\nA way to achieve this with functions is to pass the arguments as functions themselves, which the callee may choose to call based on a condition.\n\n\nWhen you want to evaluate the arguments more than once, such was while defining some kind of loop, you can only do it directly with a macro.\n\nSame as before, this is possible by making the arguments functions similar to the JavaScript forEach.\n\n\nMacros are expanded at compile time, so when you know enough about an operation beforehand, you can save doing the same work at runtime.\nBecause macros are expanded inline, they can access the scope of the caller, so you can read or write variables in the containing scope. This is dangerous but can be powerful at times.\nIf you have a repeated code pattern, with the unique part sandwiched between the repetitive parts, you can pass the unique part as an argument to a macro which does the sandwiching for you. The names of such macros usually start with with-. A common use case is to access an external resource, do something with it and clean up afterwards.\n\n","id":"https://proseandconst.xyz/digital-garden/when-macros/","title":"When to use macros"},"https://proseandconst.xyz/projects/":{"body":"","id":"https://proseandconst.xyz/projects/","title":"Projects"}},"docInfo":{"https://proseandconst.xyz/":{"body":0,"title":1},"https://proseandconst.xyz/about/":{"body":60,"title":0},"https://proseandconst.xyz/blog/":{"body":0,"title":1},"https://proseandconst.xyz/blog/arc-review/":{"body":540,"title":5},"https://proseandconst.xyz/blog/back-to-office/":{"body":194,"title":3},"https://proseandconst.xyz/blog/creation-consumption/":{"body":150,"title":2},"https://proseandconst.xyz/blog/fix-macos-defaults/":{"body":233,"title":4},"https://proseandconst.xyz/blog/katana-x2-review/":{"body":267,"title":7},"https://proseandconst.xyz/blog/keyboard-pen/":{"body":299,"title":3},"https://proseandconst.xyz/blog/life-with-low-end-hardware/":{"body":289,"title":4},"https://proseandconst.xyz/blog/making-of-site/":{"body":587,"title":2},"https://proseandconst.xyz/blog/select-all-set/":{"body":298,"title":6},"https://proseandconst.xyz/blog/underlined-link-inkscape/":{"body":206,"title":4},"https://proseandconst.xyz/digital-garden/":{"body":0,"title":2},"https://proseandconst.xyz/digital-garden/books/":{"body":395,"title":1},"https://proseandconst.xyz/digital-garden/commuting/":{"body":94,"title":2},"https://proseandconst.xyz/digital-garden/manga-and-friends/":{"body":389,"title":2},"https://proseandconst.xyz/digital-garden/meta-confirmation-bias/":{"body":62,"title":3},"https://proseandconst.xyz/digital-garden/story-linux/":{"body":625,"title":1},"https://proseandconst.xyz/digital-garden/story-retrogaming/":{"body":597,"title":1},"https://proseandconst.xyz/digital-garden/when-macros/":{"body":117,"title":2},"https://proseandconst.xyz/projects/":{"body":0,"title":1}},"length":22},"lang":"English"} \ No newline at end of file diff --git a/site.webmanifest b/site.webmanifest new file mode 100644 index 0000000..0b1f056 --- /dev/null +++ b/site.webmanifest @@ -0,0 +1,19 @@ +{ + "name": "prose&const", + "short_name": "prose&const", + "description": "Code and musings by Darshak Parikh", + "icons": [ + { + "src": "/android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "/android-chrome-512x512.png", + "sizes": "512x512", + "type": "image/png" + } + ], + "theme_color": "#0d171f", + "background_color": "#0d171f" +} diff --git a/sitemap.xml b/sitemap.xml new file mode 100644 index 0000000..e0c686d --- /dev/null +++ b/sitemap.xml @@ -0,0 +1,112 @@ + + + + https://proseandconst.xyz/ + + + https://proseandconst.xyz/2013/10/13/making-bcm43142-wireless-driver-work-on-debian/ + 2013-10-13 + + + https://proseandconst.xyz/2015/12/19/how-to-write-unfancy-web-apps/ + 2015-12-19 + + + https://proseandconst.xyz/2019/02/22/ml-offline-web-tfjs/ + 2019-02-22 + + + https://proseandconst.xyz/about/ + + + https://proseandconst.xyz/blog/ + + + https://proseandconst.xyz/blog/arc-review/ + 2023-03-25 + + + https://proseandconst.xyz/blog/back-to-office/ + 2022-04-25 + + + https://proseandconst.xyz/blog/creation-consumption/ + 2020-11-05 + + + https://proseandconst.xyz/blog/fix-macos-defaults/ + 2024-10-06 + + + https://proseandconst.xyz/blog/katana-x2-review/ + 2024-10-08 + + + https://proseandconst.xyz/blog/keyboard-pen/ + 2020-09-24 + + + https://proseandconst.xyz/blog/life-with-low-end-hardware/ + 2020-09-20 + + + https://proseandconst.xyz/blog/making-of-site/ + 2021-03-15 + + + https://proseandconst.xyz/blog/select-all-set/ + 2020-11-21 + + + https://proseandconst.xyz/blog/underlined-link-inkscape/ + 2022-07-31 + + + https://proseandconst.xyz/digital-garden/ + + + https://proseandconst.xyz/digital-garden/books/ + + + https://proseandconst.xyz/digital-garden/commuting/ + + + https://proseandconst.xyz/digital-garden/manga-and-friends/ + + + https://proseandconst.xyz/digital-garden/meta-confirmation-bias/ + + + https://proseandconst.xyz/digital-garden/story-linux/ + + + https://proseandconst.xyz/digital-garden/story-retrogaming/ + + + https://proseandconst.xyz/digital-garden/when-macros/ + + + https://proseandconst.xyz/projects/ + + + https://proseandconst.xyz/tags/ + + + https://proseandconst.xyz/tags/hardware/ + + + https://proseandconst.xyz/tags/inkscape/ + + + https://proseandconst.xyz/tags/psychology/ + + + https://proseandconst.xyz/tags/svg/ + + + https://proseandconst.xyz/tags/web/ + + + https://proseandconst.xyz/tags/writing/ + + diff --git a/tags/hardware/index.html b/tags/hardware/index.html new file mode 100644 index 0000000..eda4cbd --- /dev/null +++ b/tags/hardware/index.html @@ -0,0 +1,186 @@ + + + + + + #hardware + · prose&const + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + + Code and musings by Darshak Parikh + + +
+ +
+ +
+ + +
+ + + diff --git a/tags/index.html b/tags/index.html new file mode 100644 index 0000000..e5c7450 --- /dev/null +++ b/tags/index.html @@ -0,0 +1,187 @@ + + + + + + Tags + · prose&const + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + + Code and musings by Darshak Parikh + + +
+ +
+ +
+ + +
+ + + diff --git a/tags/inkscape/index.html b/tags/inkscape/index.html new file mode 100644 index 0000000..2002dbb --- /dev/null +++ b/tags/inkscape/index.html @@ -0,0 +1,180 @@ + + + + + + #Inkscape + · prose&const + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + + Code and musings by Darshak Parikh + + +
+ +
+ +
+ + +
+ + + diff --git a/tags/psychology/index.html b/tags/psychology/index.html new file mode 100644 index 0000000..4a3a2bf --- /dev/null +++ b/tags/psychology/index.html @@ -0,0 +1,183 @@ + + + + + + #psychology + · prose&const + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + + Code and musings by Darshak Parikh + + +
+ +
+ +
+ + +
+ + + diff --git a/tags/svg/index.html b/tags/svg/index.html new file mode 100644 index 0000000..8e4658c --- /dev/null +++ b/tags/svg/index.html @@ -0,0 +1,180 @@ + + + + + + #SVG + · prose&const + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + + Code and musings by Darshak Parikh + + +
+ +
+ +
+ + +
+ + + diff --git a/tags/web/index.html b/tags/web/index.html new file mode 100644 index 0000000..ff57194 --- /dev/null +++ b/tags/web/index.html @@ -0,0 +1,186 @@ + + + + + + #web + · prose&const + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + + Code and musings by Darshak Parikh + + +
+ +
+ +
+ + +
+ + + diff --git a/tags/writing/index.html b/tags/writing/index.html new file mode 100644 index 0000000..ff53f6f --- /dev/null +++ b/tags/writing/index.html @@ -0,0 +1,180 @@ + + + + + + #writing + · prose&const + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + + Code and musings by Darshak Parikh + + +
+ +
+ +
+ + +
+ + +