# Building Personal Search Infrastructure for Your Knowledge and Code [See Within Blog Graph]

tags: #literature #relational-thinking #projects uid: 202302201705

NOTE 02-20-23: This is an excellent follow-up note to Building my own metadata library” 202301292209 that I’ve been referencing a lot recently. If I grow tired of my Airtable setup, I should try following the advice in this article to build a truly central, localized repository of all my data (if I do so choose to do so). I don’t imagine the need to do so, because I can build 80-90% good enough search in Airtable with minimal effort, and I happen to be aware that significantly better, full-text search is coming to Airtable in the next few months anyway.

• my personal notes, tasks and knowledge repository (this blog included) • all digital trace I’m leaving (tweets, internet comments, annotations) • chat logs with people • books and papers I’m reading • code that I’m working on • information on the Internet (duh!) Source: https://read.readwise.io/read/01gr0zqrp2tbf80exmknfpyb8v

To find something in my Kobo ebook, I need to reach my device physically and type the query using the virtual keyboard (yep, e-ink lag!). Not a very pleasant experience.

It’s something I own and have read. Why does it have to be so hard? Source: https://read.readwise.io/read/01gr0zqepw3pjtagdq2seh7rpy

That gives me source data for a search engine over anything I’ve ever:

• tweeted • bookmarked on Pinboard • highlighted in Instapaper or Kobo • saved or upvoted on Reddit • etc., etc Source: https://read.readwise.io/read/01gr114dvyrf57wm926hgm8htj

I would love to have this? I’m sort of replicating this with my current setup but it’s not exactly what I want.

I’ll write about searching in

• my personal notes, tasks and knowledge repository (this blog included) • all digital trace I’m leaving (tweets, internet comments, annotations) • chat logs with people • books and papers I’m reading • code that I’m working on • information on the Internet (duh!) Source: https://read.readwise.io/read/01gr0zqrp2tbf80exmknfpyb8v

I’ll write about searching in

• my personal notes, tasks and knowledge repository (this blog included) • all digital trace I’m leaving (tweets, internet comments, annotations) • chat logs with people • books and papers I’m reading • code that I’m working on • information on the Internet (duh!) Source: https://read.readwise.io/read/01gr0zqrp2tbf80exmknfpyb8v

February 22, 2023 See Within Blog Graph

Recipes to use for instapot cooking

In terms of Instant Pot cookbooks to get you started, they are a relatively new genre, and a *lot* of them are only available as Kindle or other digital format books. Personally, I like to have a physical book when it comes to cookbooks, and so I like this one…you can’t go wrong with America’s Test Kitchen cookbooks, and their pressure cooker cookbook is no exception:

Pressure Cooker Perfection

I also happen to be a strict vegetarian, and for vegetarian and vegan Instant Pot cooking, this book by J.L. Fields is considered the best book out there (it’s pretty darned good!):

Vegan Pressure Cooking: Delicious Beans, Grains, and One-Pot Meals in Minutes

And if you also are vegetarian or vegan, you’ll appreciate the recipes in this one:

O M Gee Good! Instant Pot Meals, Plant-Based & Oil-free

..and this one:

Vegan Under Pressure: Perfect Vegan Meals Made Quick and Easy in Your Pressure Cooker

And speaking of recipes - here is how to make those poached eggs, and baked potatoes.

Poached Eggs: Lightly grease 1 to 4 (depending on how many poached eggs you want) Pyrex custard cups with butter or oil. Put a cup of water in the bottom of your Instant Pot, put a steamer basket or trivet in the pot (making sure that the water doesn’t come over the top), and set your Pyrex cups in the steamer basket or on the trivet. I use my Oxo steamer basket for this, and I love that when they are done I can just grab the handle and pull the whole shebang out (remember the handle will be HOT, be sure to wear an oven mitt). Use Manual setting, low pressure, for 2 to 3 minutes. 2 minutes will probably be enough unless you’re at a high altitude.

Baked Potatoes: Remember how I said you could make baked potatoes in 12 minutes? And remember how I said that the recipe times are for the time *at pressure*? ;~) Still, even given the time to come to pressure, and to have the pressure come back down, you can have perfectly steam-baked potatoes in under half an hour, and the best part is that you can start them, and then *walk away*! When you are ready for your potatoes, they will be perfectly done and waiting for you, even if you have abandoned them for hours! Just put water in the bottom of your Instant Pot, flip the legs down on your Oxo steamer, put the steamer in the pot and then dump your potatoes in on top of the steamer. Using the Manual setting, set the cooking time for 12 minutes, using high pressure. Then walk away! Now, because these are steam baked’ (i.e. cooked whole over steam, but not in water), the skins will not be crisp, but these are otherwise exactly like the baked potatoes you know and love - they’re great with butter, sour cream, etc.! This works with new potatoes, and regular potatoes!

Created from: Things To Know About Instapot Before Buying 202302201040


uid: 202302201048 tags: #inbox

February 22, 2023

Accessories to get for the instapot

Now, here are the *the best* accessories (in my opinion) that you will want for your Instant Pot.

You definitely will want  this steamer basket  for your Instant Pot (the Instant Pot comes with a little steaming trivet, but this steamer basket is *way* more useful - in fact it’s how you make both poached eggs and baked potatoes). Actually you will want *a* steamer basket, but trust me, this is the one you want, both because of the big handle, the fact that the handle telescopes, and, most importantly, you can use it with or without the little legs flipped down, and when you flip the little legs down, they give you plenty of space for as much water for steaming as you could ever need without worrying about the water touching the food that’s in the basket.

Or, instead of, or in addition to, the above steamer, you can get  this steamer basket and steaming rack / trivet set . The legs on this trivet are an inch and a half high (the rack that comes with your Instant Pot only gives 3/4 of an inch of clearance). and the flat-bottomed steamer is very versatile.

Personally, I have both, as they each serve their own purpose, and the trivet that comes with the set is really useful for pot-in-pot cooking, at which you may also want to try your hand. Pot-in-pot (or PIP) is where you put a second, smaller vessel inside your Instant Pot’s main internal pot. There are different reasons for doing this, ranging from I only want to cook a small amount of something like oatmeal” to I want to cook a cheesecake in my Instant Pot” to I want to cook two different things at the same time in my Instant Pot (like cooking beans, and having a bowl of rice on a trivet (see why you want a good trivet?) above the beans, steam cooking at the same time).

For pot-in-pot cooking, I recommend any stainless steel vessel that is no greater in diameter than 7.5 inches, and no taller than 4 or so inches (your internal pot has a diameter of just over 8.5 inches and a height of about 6 inches). Lots of people use glass vessels such as Pyrex or Corningware, but I personally prefer to use stainless steel because if you drop it you’ll just have a mess, rather than a mess plus broken glass.

If you’re really keen on making cheesecakes, steamed puddings, flans, and that sort of thing in your Instant Pot, you may also want to grab this stainless steel  pot-in-pot dessert insert’ pan set , which includes two stacking pans. and a rack to set them on which has handles that close up over the pans to secure them.

You will also want this separate  glass lid  that is sold by the Instant Pot people. This lid fits on your *inner metal pot*, and this way when you are using your Instant Pot for *non-pressurized* cooking, such as when using it as a slow cooker, or with the sauté function, you will be able to see what is going on in there. Basically, in these usages, you can think of your Instant Pot as a counter-top stove burner (albeit one with really cool bells and whistles) - that may help you to understand why you want a (see-through!) lid for that inner pot. Plus, once you are done cooking in any mode, you can use the inner pot to store the leftovers in your fridge, and use this lid to cover it.

Created from: Things To Know About Instapot Before Buying 202302201040


uid: 202302201047 tags: #instapot

February 22, 2023

Brass Birmingham Strategy

  • Try to lay as few canals down as possible in the canal era. The less you lay canals, the more actions you have to develop for more points and economy later. If you are going to put a canal down for points, try to make it worth at least 5 VPs.

  • Don’t give anybody free iron if you don’t have to in the canal era. Actions are your most precious resource, and you should force other players to build a canal before dropping iron if you can.

  • Know some common openings. As first player, you can guarantee yourself to be the first person to drop an iron in round 2 by either taking a loan or scouting as your first action. As second player, you can, for example, follow up by dropping a canal/coal (connected to the ironworks), or by developing multiple times.

  • Developing pays off. Developing into cotton II/III in canal is a common and powerful strategy since they will score multiple times.

  • Pottery is very opportunistic. Pottery I is generally weak to play in canal because it’s worth 10 points whether or not you drop it in canal or rail era, but if you can drop both Pottery I and III in canal era, you’re in good shape. The difficulty here is that people will almost certainly not help you make the canal connections to do that easily.

  • Don’t overdo it on coal. Lots of people build too much coal and end up with a very high income and nothing to spend it on. There are some engine building elements, but a lot of games are won with relatively low income (7-12 lbs. / turn).

  • In general, things I see winning players do include getting a lot of iron out in canal without having to build connections, getting multiple high level cotton out in canal, monopolizing the north (around Uttoxeter) with rails, and getting all their beer out by the end of the game.

  • Beer is incredibly cost efficient and worth a lot of points; it is hard to win the game if you don’t spend effort trying to get as much beer out on the board as possible.

  • Generally speaking, more available beer in the rail era favors people going for lots of rail points, and less beer available favors people developing industries.


uid: 202302082050 tags: #inbox

February 22, 2023

Main upgrade follow-ups

Created from: Journal entry: 02-06-23 202302060801


uid: 202302061338 tags: #inbox

February 22, 2023

# Node.js multithreading: Worker threads and why they matter - LogRocket Blog

source: https://ift.tt/JRySq7t tags: #literature #programming #software-engineering #airtable #javascript uid: 202301260141

The need for threads to perform CPU-intensive tasks What happens if we need to do synchronous-intense stuff, such as making complex calculations in memory in a large dataset? Then we might have a synchronous block of code that takes a lot of time and will block the rest of the code.

Imagine that a calculation takes 10 seconds. If we are running a web server, that means that all of the other requests get blocked for at least 10s because of that calculation. That’s a disaster; anything more than 100ms could be too much.

JavaScript and Node.js were not meant to be used for CPU-bound tasks. Since JavaScript is single-threaded, this will freeze the UI in the browser and queue any I/O events in Node.js.

The naive solution: Synchronous code-splitting Node.js won’t evaluate the next code block in the event queue until the previous one has finished executing. So, one simple thing we can do is split our code into smaller synchronous code blocks and call setImmediate(callback) to tell Node.js we are done. This way, it can continue executing things that are pending in the queue; or, in other words, it can move on to the next iteration (or tick”) of the event loop.

This is a pretty good hack for splitting up synchronous work in Javascript. Good to be aware of #programming #insights

The reality is that we can already do background processing in Node.js: we can fork the process and do exactly that using message passing, which you can imagine as simply as passing a message from one process to another. This achieves the following goals:

The main process can communicate with the child process by sending and receiving events No memory is shared All the data exchanged is cloned,” meaning that changing it in one side doesn’t change it on the other side If we don’t share memory, we don’t have race conditions, and we don’t need threads! Well, hold on. This is a solution, but it’s not the ideal solution. Forking a process is expensive and slow — it means running a new virtual machine from scratch and using a lot of memory, since processes don’t share memory.

What are Worker threads? Worker threads have isolated contexts. They exchange information with the main process using message passing, so we avoid the race conditions problem regular threads have! But they do live in the same process, so they use a lot less memory.

February 22, 2023