added first true commit

This commit is contained in:
liph
2026-05-07 14:39:10 +02:00
parent d8ce45f44a
commit c5605678f0
463 changed files with 175645 additions and 0 deletions
Vendored Executable
+7
View File
@@ -0,0 +1,7 @@
{
"attachmentFolderPath": "Attachments",
"alwaysUpdateLinks": true,
"livePreview": true,
"defaultViewMode": "source",
"promptDelete": false
}
+1
View File
@@ -0,0 +1 @@
{}
+3
View File
@@ -0,0 +1,3 @@
[
"templater-obsidian"
]
+33
View File
@@ -0,0 +1,33 @@
{
"file-explorer": true,
"global-search": true,
"switcher": true,
"graph": true,
"backlink": true,
"outgoing-link": false,
"tag-pane": true,
"page-preview": true,
"daily-notes": true,
"templates": true,
"note-composer": true,
"command-palette": true,
"slash-command": false,
"editor-status": true,
"markdown-importer": true,
"zk-prefixer": true,
"random-note": true,
"outline": true,
"word-count": false,
"slides": false,
"audio-recorder": false,
"workspaces": true,
"file-recovery": true,
"publish": false,
"sync": false,
"canvas": true,
"properties": false,
"bookmarks": true,
"footnotes": false,
"bases": true,
"webviewer": false
}
+4
View File
@@ -0,0 +1,4 @@
{
"folder": "Daily",
"template": "Templates/Daily Note Template"
}
+38
View File
@@ -0,0 +1,38 @@
{
"editor:insert-wikilink": [
{
"modifiers": [
"Alt",
"Shift"
],
"key": "L"
}
],
"zk-prefixer": [
{
"modifiers": [
"Alt",
"Shift"
],
"key": "N"
}
],
"templater-obsidian:insert-templater": [
{
"modifiers": [
"Alt",
"Shift"
],
"key": "T"
}
],
"daily-notes": [
{
"modifiers": [
"Alt",
"Shift"
],
"key": "D"
}
]
}
+38
View File
@@ -0,0 +1,38 @@
{
"command_timeout": 5,
"templates_folder": "Templates",
"templates_pairs": [
[
"",
""
]
],
"trigger_on_file_creation": false,
"auto_jump_to_cursor": false,
"enable_system_commands": false,
"shell_path": "",
"user_scripts_folder": "",
"enable_folder_templates": true,
"folder_templates": [
{
"folder": "",
"template": ""
}
],
"enable_file_templates": false,
"file_templates": [
{
"regex": ".*",
"template": ""
}
],
"syntax_highlighting": true,
"syntax_highlighting_mobile": false,
"enabled_templates_hotkeys": [
""
],
"startup_templates": [
""
],
"intellisense_render": 1
}
File diff suppressed because one or more lines are too long
+11
View File
@@ -0,0 +1,11 @@
{
"id": "templater-obsidian",
"name": "Templater",
"version": "2.16.2",
"description": "Create and use templates",
"minAppVersion": "1.5.0",
"author": "SilentVoid",
"authorUrl": "https://github.com/SilentVoid13",
"helpUrl": "https://silentvoid13.github.io/Templater/",
"isDesktopOnly": false
}
+226
View File
@@ -0,0 +1,226 @@
.templater_search {
width: calc(100% - 20px);
}
.templater_div {
border-top: 1px solid var(--background-modifier-border);
}
.templater_div > .setting-item {
border-top: none !important;
align-self: center;
}
.templater_div > .setting-item > .setting-item-control {
justify-content: space-around;
padding: 0;
width: 100%;
}
.templater_div
> .setting-item
> .setting-item-control
> .setting-editor-extra-setting-button {
align-self: center;
}
.templater_donating {
margin: 10px;
}
.templater_title {
margin: 0;
padding: 0;
margin-top: 5px;
text-align: center;
}
.templater_template {
align-self: center;
margin-left: 5px;
margin-right: 5px;
width: 70%;
}
.templater_cmd {
margin-left: 5px;
margin-right: 5px;
font-size: 14px;
width: 100%;
}
.templater_div2 > .setting-item {
align-content: center;
justify-content: center;
}
.templater-prompt-div,
.templater-multisuggester-div {
display: flex;
}
.templater-prompt-form {
display: flex;
flex-grow: 1;
}
.templater-prompt-input,
.templater-multisuggester-input {
flex-grow: 1;
}
.templater-button-div {
display: flex;
flex-direction: column;
align-items: center;
margin-top: 1rem;
}
textarea.templater-prompt-input {
height: 10rem;
}
textarea.templater-prompt-input:focus {
border-color: var(--interactive-accent);
}
.templater-multisuggester-list {
margin: 1.5em 0;
}
.cm-s-obsidian .templater-command-bg {
left: 0px;
right: 0px;
background-color: var(--background-primary-alt);
}
.cm-s-obsidian .cm-templater-command {
font-size: 0.85em;
font-family: var(--font-monospace);
line-height: 1.3;
}
.cm-s-obsidian .templater-inline .cm-templater-command {
background-color: var(--background-primary-alt);
}
.cm-s-obsidian .cm-templater-command.cm-templater-opening-tag {
font-weight: bold;
}
.cm-s-obsidian .cm-templater-command.cm-templater-closing-tag {
font-weight: bold;
}
.cm-s-obsidian .cm-templater-command.cm-templater-interpolation-tag {
color: var(--code-property, #008bff);
}
.cm-s-obsidian .cm-templater-command.cm-templater-execution-tag {
color: var(--code-function, #c0d700);
}
.cm-s-obsidian .cm-templater-command.cm-keyword {
color: var(--code-keyword, #00a7aa);
font-weight: normal;
}
.cm-s-obsidian .cm-templater-command.cm-atom {
color: var(--code-normal, #f39b35);
}
.cm-s-obsidian .cm-templater-command.cm-value,
.cm-s-obsidian .cm-templater-command.cm-number,
.cm-s-obsidian .cm-templater-command.cm-type {
color: var(--code-value, #a06fca);
}
.cm-s-obsidian .cm-templater-command.cm-def,
.cm-s-obsidian .cm-templater-command.cm-type.cm-def {
color: var(--code-normal, var(--text-normal));
}
.cm-s-obsidian .cm-templater-command.cm-property,
.cm-s-obsidian .cm-templater-command.cm-property.cm-def,
.cm-s-obsidian .cm-templater-command.cm-attribute {
color: var(--code-function, #98e342);
}
.cm-s-obsidian .cm-templater-command.cm-variable,
.cm-s-obsidian .cm-templater-command.cm-variable-2,
.cm-s-obsidian .cm-templater-command.cm-variable-3,
.cm-s-obsidian .cm-templater-command.cm-meta {
color: var(--code-property, #d4d4d4);
}
.cm-s-obsidian .cm-templater-command.cm-callee,
.cm-s-obsidian .cm-templater-command.cm-operator,
.cm-s-obsidian .cm-templater-command.cm-qualifier,
.cm-s-obsidian .cm-templater-command.cm-builtin {
color: var(--code-operator, #fc4384);
}
.cm-s-obsidian .cm-templater-command.cm-tag {
color: var(--code-tag, #fc4384);
}
.cm-s-obsidian .cm-templater-command.cm-comment,
.cm-s-obsidian .cm-templater-command.cm-comment.cm-tag,
.cm-s-obsidian .cm-templater-command.cm-comment.cm-attribute {
color: var(--code-comment, #696d70);
}
.cm-s-obsidian .cm-templater-command.cm-string,
.cm-s-obsidian .cm-templater-command.cm-string-2 {
color: var(--code-string, #e6db74);
}
.cm-s-obsidian .cm-templater-command.cm-header,
.cm-s-obsidian .cm-templater-command.cm-hr {
color: var(--code-keyword, #da7dae);
}
.cm-s-obsidian .cm-templater-command.cm-link {
color: var(--code-normal, #696d70);
}
.cm-s-obsidian .cm-templater-command.cm-error {
border-bottom: 1px solid #c42412;
}
.CodeMirror-hints {
position: absolute;
z-index: 10;
overflow: hidden;
list-style: none;
margin: 0;
padding: 2px;
-webkit-box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.2);
box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.2);
border-radius: 3px;
border: 1px solid silver;
background: white;
font-size: 90%;
font-family: monospace;
max-height: 20em;
overflow-y: auto;
}
.CodeMirror-hint {
margin: 0;
padding: 0 4px;
border-radius: 2px;
white-space: pre;
color: black;
cursor: pointer;
}
li.CodeMirror-hint-active {
background: #08f;
color: white;
}
+3
View File
@@ -0,0 +1,3 @@
{
"folder": "Templates"
}
Vendored Executable
+55
View File
@@ -0,0 +1,55 @@
{
"types": {
"aliases": "aliases",
"cssclasses": "multitext",
"tags": "tags",
"categories": "multitext",
"created": "date",
"genre": "multitext",
"director": "multitext",
"last": "date",
"date": "date",
"topics": "multitext",
"rating": "number",
"year": "number",
"coordinates": "multitext",
"model": "text",
"lotsqft": "number",
"isbn13": "number",
"isbn": "number",
"ingredients": "multitext",
"imdbId": "text",
"system": "text",
"sqft": "number",
"speaker": "multitext",
"season": "number",
"series": "multitext",
"source": "text",
"status": "multitext",
"twitter": "text",
"trade": "text",
"purchased": "date",
"producer": "multitext",
"process": "text",
"phone": "text",
"role": "text",
"birthday": "date",
"guests": "multitext",
"cuisine": "multitext",
"conference": "text",
"end": "date",
"address": "text",
"start": "date",
"shares": "number",
"variety": "text",
"price": "number",
"author": "multitext",
"published": "date",
"where": "multitext",
"loc": "multitext",
"monthly-uses": "number",
"runtime": "number",
"pages": "number",
"acquired": "date"
}
}
+202
View File
@@ -0,0 +1,202 @@
{
"main": {
"id": "c535fcbd66ff15f1",
"type": "split",
"children": [
{
"id": "4f62eb42528d84e2",
"type": "tabs",
"children": [
{
"id": "b8a1d6a7b9f31a0a",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
"file": "Templates/Meditation Template.md",
"mode": "source",
"source": false
},
"icon": "lucide-file",
"title": "Meditation Template"
}
}
]
}
],
"direction": "vertical"
},
"left": {
"id": "f9356b3161224c4b",
"type": "split",
"children": [
{
"id": "c5cc35386beaa9f9",
"type": "tabs",
"children": [
{
"id": "9ef441043be4d5ca",
"type": "leaf",
"state": {
"type": "file-explorer",
"state": {
"sortOrder": "alphabetical",
"autoReveal": false
},
"icon": "lucide-folder-closed",
"title": "Files"
}
},
{
"id": "bce3ddf1ba148620",
"type": "leaf",
"state": {
"type": "search",
"state": {
"query": "",
"matchingCase": false,
"explainSearch": false,
"collapseAll": false,
"extraContext": false,
"sortOrder": "alphabetical"
},
"icon": "lucide-search",
"title": "Search"
}
},
{
"id": "2aa417dffa146c84",
"type": "leaf",
"state": {
"type": "bookmarks",
"state": {},
"icon": "lucide-bookmark",
"title": "Bookmarks"
}
}
]
}
],
"direction": "horizontal",
"width": 300
},
"right": {
"id": "ed8f3bfcfcab5820",
"type": "split",
"children": [
{
"id": "c8b1776937708de4",
"type": "tabs",
"children": [
{
"id": "f2ef3dc240ab922f",
"type": "leaf",
"state": {
"type": "backlink",
"state": {
"collapseAll": false,
"extraContext": false,
"sortOrder": "alphabetical",
"showSearch": false,
"searchQuery": "",
"backlinkCollapsed": false,
"unlinkedCollapsed": true
},
"icon": "links-coming-in",
"title": "Backlinks"
}
},
{
"id": "bb9ad16ae46f7b0a",
"type": "leaf",
"state": {
"type": "tag",
"state": {
"sortOrder": "frequency",
"useHierarchy": true,
"showSearch": false,
"searchQuery": ""
},
"icon": "lucide-tags",
"title": "Tags"
}
},
{
"id": "a8ef48791b671ad0",
"type": "leaf",
"state": {
"type": "outline",
"state": {
"file": "2025-12-04 1307.md",
"followCursor": false,
"showSearch": false,
"searchQuery": ""
},
"icon": "lucide-list",
"title": "Outline of 2025-12-04 1307"
}
}
]
}
],
"direction": "horizontal",
"width": 300,
"collapsed": true
},
"left-ribbon": {
"hiddenItems": {
"switcher:Open quick switcher": false,
"graph:Open graph view": false,
"canvas:Create new canvas": false,
"daily-notes:Open today's daily note": false,
"templates:Insert template": false,
"command-palette:Open command palette": false,
"markdown-importer:Open format converter": false,
"zk-prefixer:Create new unique note": false,
"random-note:Open random note": false,
"workspaces:Manage workspace layouts": false,
"bases:Create new base": false,
"templater-obsidian:Templater": false
}
},
"active": "9ef441043be4d5ca",
"lastOpenFiles": [
"Templates/People Template.md",
"Templates/Podcast Episode Template.md",
"Templates/Show Template.md",
"Templates/Product Template.md",
"Templates/Post Template.md",
"Templates/Bases/Games.base",
"Templates/Bases/Everything.base",
"Templates/Bases/Evergreen.base",
"Templates/Bases/Companies.base",
"Templates/Bases/Board games.base",
"Templates/Bases/Attachments.base",
"Templates/Bases/Albums.base",
"Categories/Podcast episodes.md",
"Categories/Companies.md",
"Categories/Clippings.md",
"Categories/Books.md",
"Categories/Board games.md",
"Categories/Albums.md",
"Categories/Posts.md",
"Categories/Podcasts.md",
"Categories/People.md",
"Categories/Movies.md",
"Categories/Meetings.md",
"Templates/Bases/Ratings.base",
"Templates/Daily Note Template.md",
"Templates/Bases/Map.base",
"References/Fushimi Inari.md",
"Templates/Bases/Places.base",
"Notes/2023-09-12 Meeting with Steph.md",
"References/Out of Control.md",
"Notes/Minimal Theme.md",
"Notes/Product usage analysis.md",
"Notes/Evergreen notes turn ideas into objects that you can manipulate.md",
"Clippings/Buy wisely.md",
"Untitled 1.md",
"Untitled 2.md",
"Attachments/out-of-control.jpg"
]
}
+5
View File
@@ -0,0 +1,5 @@
{
"format": "YYYY-MM-DD HHmm",
"folder": "/",
"template": "Templates/Journal Template"
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 105 KiB

+6
View File
@@ -0,0 +1,6 @@
---
tags:
- categories
---
![[Albums.base]]
+6
View File
@@ -0,0 +1,6 @@
---
tags:
- categories
---
![[Board games.base]]
+6
View File
@@ -0,0 +1,6 @@
---
tags:
- categories
---
![[Books.base]]
+6
View File
@@ -0,0 +1,6 @@
---
tags:
- categories
---
![[Clippings.base]]
+6
View File
@@ -0,0 +1,6 @@
---
tags:
- categories
---
![[Companies.base]]
+6
View File
@@ -0,0 +1,6 @@
---
tags:
- categories
---
![[Events.base]]
+7
View File
@@ -0,0 +1,7 @@
---
tags:
- categories
---
An evergreen note is an idea. It doesn't have to be something that I agree with, but something is [[Composability|composable]]. In a way, every idiom is a kind of evergreen idea.
![[Evergreen.base]]
+6
View File
@@ -0,0 +1,6 @@
---
tags:
- categories
---
![[Games.base]]
+6
View File
@@ -0,0 +1,6 @@
---
tags:
- categories
---
![[Journal.base]]
+5
View File
@@ -0,0 +1,5 @@
---
tags:
- categories
---
![[Meetings.base]]
+14
View File
@@ -0,0 +1,14 @@
---
tags:
- categories
---
## Favorites
![[Movies.base#Favorites]]
## Last seen
![[Movies.base#Last seen]]
+6
View File
@@ -0,0 +1,6 @@
---
tags:
- categories
---
![[People.base]]
+7
View File
@@ -0,0 +1,7 @@
---
tags:
- categories
---
![[Map.base]]
![[Places.base]]
+6
View File
@@ -0,0 +1,6 @@
---
tags:
- categories
---
![[Podcast episodes.base]]
+7
View File
@@ -0,0 +1,7 @@
---
tags:
- categories
related: "[[Podcast episodes]]"
---
![[Podcasts.base]]
+6
View File
@@ -0,0 +1,6 @@
---
tags:
- categories
---
![[Posts.base]]
+6
View File
@@ -0,0 +1,6 @@
---
tags:
- categories
---
![[Products.base]]
+6
View File
@@ -0,0 +1,6 @@
---
tags:
- categories
---
![[Projects.base]]
+6
View File
@@ -0,0 +1,6 @@
---
tags:
- categories
---
![[Recipes.base]]
+6
View File
@@ -0,0 +1,6 @@
---
tags:
- categories
---
![[Shows.base]]
+6
View File
@@ -0,0 +1,6 @@
---
tags:
- categories
---
![[Trips.base]]
+3
View File
@@ -0,0 +1,3 @@
## Notes
![[Daily.base]]
+80
View File
@@ -0,0 +1,80 @@
---
categories:
- "[[Clippings]]"
author:
- "[[Kevin Kelly]]"
url: https://kk.org/thetechnium/68-bits-of-unsolicited-advice/
created: 2023-09-12
published: 2020-04-28
topics: []
---
Its my birthday. Im 68. I feel like pulling up a rocking chair and dispensing advice to the young uns. Here are 68 pithy bits of unsolicited advice which I offer as my birthday present to all of you.
- Learn how to learn from those you disagree with, or even offend you. See if you can find the truth in what they believe.
- Being enthusiastic is worth 25 IQ points.
- Always demand a deadline. A deadline weeds out the extraneous and the ordinary. It prevents you from trying to make it perfect, so you have to make it different. Different is better.
- Dont be afraid to ask a question that may sound stupid because 99% of the time everyone else is thinking of the same question and is too embarrassed to ask it.
- Being able to listen well is a superpower. While listening to someone you love keep asking them “Is there more?”, until there is no more.
- A worthy goal for a year is to learn enough about a subject so that you cant believe how ignorant you were a year earlier.
- Gratitude will unlock all other virtues and is something you can get better at.
- Treating a person to a meal never fails, and is so easy to do. Its powerful with old friends and a great way to make new friends.
- Dont trust all-purpose glue.
- Reading to your children regularly will bond you together and kickstart their imaginations.
- Never use a credit card for credit. The only kind of credit, or debt, that is acceptable is debt to acquire something whose exchange value is extremely likely to increase, like in a home. The exchange value of most things diminishes or vanishes the moment you purchase them. Dont be in debt to losers.
- Pros are just amateurs who know how to gracefully recover from their mistakes.
- Extraordinary claims should require extraordinary evidence to be believed.
- Dont be the smartest person in the room. Hangout with, and learn from, people smarter than yourself. Even better, find smart people who will disagree with you.
- Rule of 3 in conversation. To get to the real reason, ask a person to go deeper than what they just said. Then again, and once more. The third times answer is close to the truth.
- Dont be the best. Be the only.
- Everyone is shy. Other people are waiting for you to introduce yourself to them, they are waiting for you to send them an email, they are waiting for you to ask them on a date. Go ahead.
- Dont take it personally when someone turns you down. Assume they are like you: busy, occupied, distracted. Try again later. Its amazing how often a second try works.
- The purpose of a habit is to remove that action from self-negotiation. You no longer expend energy deciding whether to do it. You just do it. Good habits can range from telling the truth, to flossing.
- Promptness is a sign of respect.
- When you are young spend at least 6 months to one year living as poor as you can, owning as little as you possibly can, eating beans and rice in a tiny room or tent, to experience what your “worst” lifestyle might be. That way any time you have to risk something in the future you wont be afraid of the worst case scenario.
- Trust me: There is no “them”.
- The more you are interested in others, the more interesting they find you. To be interesting, be interested.
- Optimize your generosity. No one on their deathbed has ever regretted giving too much away.
- To make something good, just do it. To make something great, just re-do it, re-do it, re-do it. The secret to making fine things is in remaking them.
- The Golden Rule will never fail you. It is the foundation of all other virtues.
- If you are looking for something in your house, and you finally find it, when youre done with it, dont put it back where you found it. Put it back where you first looked for it.
- Saving money and investing money are both good habits. Small amounts of money invested regularly for many decades without deliberation is one path to wealth.
- To make mistakes is human. To own your mistakes is divine. Nothing elevates a person higher than quickly admitting and taking personal responsibility for the mistakes you make and then fixing them fairly. If you mess up, fess up. Its astounding how powerful this ownership is.
- Never get involved in a land war in Asia.
- You can obsess about serving your customers/audience/clients, or you can obsess about beating the competition. Both work, but of the two, obsessing about your customers will take you further.
- Show up. Keep showing up. Somebody successful said: 99% of success is just showing up.
- Separate the processes of creation from improving. You cant write and edit, or sculpt and polish, or make and analyze at the same time. If you do, the editor stops the creator. While you invent, dont select. While you sketch, dont inspect. While you write the first draft, dont reflect. At the start, the creator mind must be unleashed from judgement.
- If you are not falling down occasionally, you are just coasting.
- Perhaps the most counter-intuitive truth of the universe is that the more you give to others, the more youll get. Understanding this is the beginning of wisdom.
- Friends are better than money. Almost anything money can do, friends can do better. In so many ways a friend with a boat is better than owning a boat.
- This is true: Its hard to cheat an honest man.
- When an object is lost, 95% of the time it is hiding within arms reach of where it was last seen. Search in all possible locations in that radius and youll find it.
- You are what you do. Not what you say, not what you believe, not how you vote, but what you spend your time on.
- If you lose or forget to bring a cable, adapter or charger, check with your hotel. Most hotels now have a drawer full of cables, adapters and chargers others have left behind, and probably have the one you are missing. You can often claim it after borrowing it.
- Hatred is a curse that does not affect the hated. It only poisons the hater. Release a grudge as if it was a poison.
- There is no limit on better. Talent is distributed unfairly, but there is no limit on how much we can improve what we start with.
- Be prepared: When you are 90% done any large project (a house, a film, an event, an app) the rest of the myriad details will take a second 90% to complete.
- When you die you take absolutely nothing with you except your reputation.
- Before you are old, attend as many funerals as you can bear, and listen. Nobody talks about the departeds achievements. The only thing people will remember is what kind of person you were while you were achieving.
- For every dollar you spend purchasing something substantial, expect to pay a dollar in repairs, maintenance, or disposal by the end of its life.
- Anything real begins with the fiction of what could be. Imagination is therefore the most potent force in the universe, and a skill you can get better at. Its the one skill in life that benefits from ignoring what everyone else knows.
- When crisis and disaster strike, dont waste them. No problems, no progress.
- On vacation go to the most remote place on your itinerary first, bypassing the cities. Youll maximize the shock of otherness in the remote, and then later youll welcome the familiar comforts of a city on the way back.
- When you get an invitation to do something in the future, ask yourself: would you accept this if it was scheduled for tomorrow? Not too many promises will pass that immediacy filter.
- Dont say anything about someone in email you would not be comfortable saying to them directly, because eventually they will read it.
- If you desperately need a job, you are just another problem for a boss; if you can solve many of the problems the boss has right now, you are hired. To be hired, think like your boss.
- Art is in what you leave out.
- Acquiring things will rarely bring you deep satisfaction. But acquiring experiences will.
- Rule of 7 in research. You can find out anything if you are willing to go seven levels. If the first source you ask doesnt know, ask them who you should ask next, and so on down the line. If you are willing to go to the 7th source, youll almost always get your answer.
- How to apologize: Quickly, specifically, sincerely.
- Dont ever respond to a solicitation or a proposal on the phone. The urgency is a disguise.
- When someone is nasty, rude, hateful, or mean with you, pretend they have a disease. That makes it easier to have empathy toward them which can soften the conflict.
- Eliminating clutter makes room for your true treasures.
- You really dont want to be famous. Read the biography of any famous person.
- Experience is overrated. When hiring, hire for aptitude, train for skills. Most really amazing or great things are done by people doing them for the first time.
- A vacation + a disaster = an adventure.
- Buying tools: Start by buying the absolute cheapest tools you can find. Upgrade the ones you use a lot. If you wind up using some tool for a job, buy the very best you can afford.
- Learn how to take a 20-minute power nap without embarrassment.
- Following your bliss is a recipe for paralysis if you dont know what you are passionate about. A better motto for most youth is “master something, anything”. Through mastery of one thing, you can drift towards extensions of that mastery that bring you more joy, and eventually discover where your bliss is.
- Im positive that in 100 years much of what I take to be true today will be proved to be wrong, maybe even embarrassingly wrong, and I try really hard to identify what it is that I am wrong about today.
- Over the long term, the future is decided by optimists. To be an optimist you dont have to ignore all the many problems we create; you just have to imagine improving our capacity to solve problems.
+134
View File
@@ -0,0 +1,134 @@
---
categories:
- "[[Clippings]]"
- "[[Posts]]"
author:
- "[[Steph Ango]]"
source: https://stephango.com/buy-wisely
clipped: 2023-11-18
published: 2023-09-29
status:
- "[[Published]]"
topics:
- "[[Products]]"
- "[[Product usage analysis]]"
---
Whenever I buy things I try to prioritize *cost per use*. Sometimes I consider other priorities such as *cost per smile*, *cost per thrill*, *cost per externality*, and *cost per lesson*.
## Cost per use
*Cost per use* is a heuristic that helps me make decisions about most non-perishable purchases such as clothes, vehicles, tools, devices, and even services. How much will it cost me if I divide the price by its expected number of uses?
*Cost per use* accounts for longevity. Durable and repairable things may cost more upfront, but over time they cost less than things that break and need to be replaced.
For example, I buy wool socks from a brand called [Darn Tough](https://darntough.com/). They cost about four times as much as cheap socks, but theyre durable, comfortable, and have a lifetime guarantee.
How many times do you wear a pair of socks before they develop holes? It may sound silly, but if you amortize the price of each pair of socks over their expected number of uses, a good pair of socks is a worthwhile investment.
Quality
Price
Uses
Cost per use
Poor
$5
10
$0.50
Good
$10
50
$0.20
Best
$20
200
$0.10
Not only will durable socks save you money, they also save you the hassle of throwing out old socks and buying new ones. Your time has value.
The best things asymptote to *zero dollars per use* over their lifetime. Not all products that have a low *cost per use* are expensive. Some things are both affordable and durable.
*Cost per use* can also be used to measure the value you expect to get out of services like gym memberships, healthcare, or *all-you-can-eat* subscriptions like streaming services.
## How to assess durability
My aim is to have fewer but better things. These are some of the questions I ask of the things that I incorporate into my life:
- Will it be as useful to me in the future as it is now?
- Is it made of durable and maintainable materials?
- Does it have a timeless [style](https://stephango.com/style) and aesthetic?
- Does it age well, wear well, build a [wabi-sabi](https://stephango.com/scars) patina?
- Does it retain its resale value? Would someone else want to own it?
- Can it be disassembled and repaired?
- Does it have replaceable, non-proprietary parts that are easy to acquire?
- Can it be powered with a standard plug or replaceable batteries?
- Can it be modified and upgraded?
- Has the maker existed for at least as long as I hope to keep the product?
- Can it perform many jobs, or only one?
- Does it have a guarantee?
- Does it rely on other products or technologies that arent durable?
Not all questions are relevant to all things. Not all things need to satisfy every requirement. However, I feel better about buying things that check many of these boxes. A movement called “buy it for life” has sprung up around similar priorities.
## How to estimate uses
To make purchasing decisions based on *cost per use*, you should try to guess how many times you will use the product. This sounds obvious, but it can be hard to determine, especially if its something youve never bought before.
If you are new to a hobby, like cooking or skiing, you may not yet know how many times you will use a piece of gear. Its easy to significantly overestimate or underestimate how many times you will use something.
You should, however, be able to guess the frequency of use. Is this something you might use once per hour, day, week, month, year? This will help you determine your budget. How many dollars per month do you want to spend on this?
If you dont know the frequency yet consider borrowing, renting, or otherwise trialing. Remember the ideal *cost per use* trends to $0. The most cost-effective choice is to not buy something you dont need.
There is an opportunity cost to every dollar. A dollar you spend on a something that wont get much use is a dollar you cant save for something that will.
If youre only going to use something once, then *cost per use* may not be the right heuristic for this decision. If you have disposable income, then the *cost per use* lens should nonetheless guide you towards something with good resale value.
The best things to splurge on are the things you use the most. If you sit on a chair eight hours a day, then a nice chair is probably a good investment.
## Reducing the cost side
Durable things reduce *cost per use* by giving you more uses before they break. But you can also reduce *cost per use* by acquiring products at a discount. You may be able to buy second-hand, inherit, or barter.
Durable things can often be great second-hand purchases *because* they are durable, and may not be the current fashion.
## Alternative heuristics
*Cost per use* is not the only way to make buying decisions. For things like consumables and experiences, you may need to approach the decision differently.
### Cost per smile
How much joy can you get out of each dollar? Some things bring lots of joy for a small amount of money: ice cream, sunsets, nature walks. A cheap date can bring many smiles per dollar.
Some things have excellent *cost per use* but few *smiles per use*. I dont smile every time I put my nice socks on. A few years ago I bought a fairly expensive electric road bike. It probably didnt have the best *cost per use*, but it gives me the most *joy per use* of any product I purchased in recent memory. Its worth it to me.
### Cost per thrill
Some experiences have high *intensity per dollar*. A potency, concentration, or strength of experience. For example, foods can have high *flavor per dollar* — like hot sauce, pickles, curry, garlic, or mustard. Roller coasters, bungee jumping, or skydiving may give you a *thrill per dollar* that you cant beat.
### Cost per externality
Some purchases may have externalities that are incompatible with your values. For example, you may wish to buy organic produce, pasture-raised eggs, or fair trade coffee. You may wish to buy products that preserve privacy, reduce environmental impact, or support a cause you believe in.
You can choose to incorporate externalities into the cost that you are paying instead of letting that cost be borne by others, or by society at large. This may increase your personal *cost per use*, but it might help change how society values things, or simply make you feel good.
### Cost per lesson
Knowledge has a cost. Sometimes that cost is monetary, sometimes that cost is time, sometimes that cost is pain. Sometimes its all three.
You might learn more about investing by purchasing a handful of shares in public companies than going to graduate school. You might learn more about making movies by trying to film one on your phone than going to film school.
Acquiring new ideas and perspectives can have a worthwhile cost. Being an early adopter of a product often has a poor *cost per use*, but its value is in the learning and experience per dollar.
+27
View File
@@ -0,0 +1,27 @@
---
categories:
- "[[Clippings]]"
- "[[Posts]]"
author:
- "[[Steph Ango]]"
url: https://stephango.com/in-good-hands
created: 2023-09-12
published: 2023-08-06
status:
- "[[Published]]"
topics:
---
There is a feeling I search for: *being in good hands*. It is the feeling I look to give and the feeling I look to receive.
I know I am in good hands when I sense a cohesive point of view expressed with attention to detail.
I can feel it almost instantly. In any medium. Music, film, fashion, architecture, writing, software. At a Japanese restaurant its what *omakase* aims to be. I leave it up to you, chef.
When I am in good hands I open myself to a state of curiosity and appreciation. I allow myself to suspend preconceived notions. I give you freedom to take me where you want to go. I immerse myself in your worldview and pause judgement.
I want to be convinced of something new. I want my mind to be changed. Later I may disagree, but for now I am letting the experience soak in.
That trust doesnt come easily. As an audience member its about feeling cared for from the moment I interact with your work. Its about feeling a well-defined point of view permeate what you make.
If my mind was changed, I must have been in good hands.
+3
View File
@@ -0,0 +1,3 @@
## Notes
![[Daily.base]]
+10
View File
@@ -0,0 +1,10 @@
---
categories:
- "[[Trips]]"
start: 2023-09-12
end: 2023-09-30
loc:
- "[[Kyoto]]"
- "[[Japan]]"
---
+15
View File
@@ -0,0 +1,15 @@
---
categories:
- "[[Meetings]]"
type: []
date: 2023-09-14
org:
- "[[Obsidian]]"
loc:
- Remote
people:
- "[[Steph Ango]]"
topics:
- "[[Emergence]]"
---
- Discussed the book [[Out of Control]] on the topic of [[Emergence]]
@@ -0,0 +1,38 @@
---
categories:
- "[[Posts]]"
- "[[Clippings]]"
created: 2023-09-14
url: https://stephango.com/evergreen-notes
author:
- "[[Steph Ango]]"
published: 2022-09-16
topics:
- "[[Evergreen]]"
tags:
- 0🌲
status:
- "[[Published]]"
---
Using [[evergreen]] notes in Obsidian has been the most impactful change to how I think.
Evergreen notes allow you to think about complex ideas by building them up from smaller composable ideas.
My evergreen notes have titles that distill each idea in a succinct and memorable way, that I can use in a sentence. For example:
- [[A company is a superorganism]]
- [[All input is error]]
- [[Calmness is a superpower]]
- [[Cross the chasm]]
- [[Everything is a remix]]
- [[Writing is telepathy]]
- [[You have no obligation to your former self]]
- etc
You dont need to agree with the idea for it to become an evergreen note. Evergreen notes can be very short.
I have an evergreen note called [[Creativity is combinatory uniqueness]] that is built on top of another evergreen note:
> If you believe [[Everything is a remix]], then creativity is defined by the uniqueness and appeal of the combination of elements.
Evergreen notes turn ideas into objects. By turning ideas into objects you can manipulate them, combine them, stack them. You dont need to hold them all in your head at the same time.
+17
View File
@@ -0,0 +1,17 @@
---
categories:
- "[[Projects]]"
type:
- "[[UI]]"
org:
- "[[Obsidian]]"
year: 2020
url: https://minimal.guide
status:
- "[[Active]]"
---
## To-do
- [x] Color schemes
- [x] E-ink mode
- [x] Mobile support
+3
View File
@@ -0,0 +1,3 @@
Analysis of cost per use, see [[Buy wisely]]
![[Products.base#Cost per use]]
+11
View File
@@ -0,0 +1,11 @@
---
categories:
- "[[Albums]]"
genre:
- "[[Jazz]]"
artist: "[[Paul Chambers]]"
year: 1957
rating: 7
created: 2023-09-12
---
+17
View File
@@ -0,0 +1,17 @@
---
categories:
- "[[Movies]]"
cover: https://m.media-amazon.com/images/M/MV5BNzQzMzJhZTEtOWM4NS00MTdhLTg0YjgtMjM4MDRkZjUwZDBlXkEyXkFqcGdeQXVyNjU0OTQ0OTY@._V1_SX300.jpg
genre:
- "[[Sci-fi]]"
director:
- "[[Ridley Scott]]"
cast:
- "[[Harrison Ford]]"
rating: 7
year: 1982
last: 2023-09-14
imdbId: tt0083658
---
+81
View File
@@ -0,0 +1,81 @@
---
categories:
- "[[Recipes]]"
- "[[Clippings]]"
cuisine:
- "[[American]]"
type:
- "[[Dessert]]"
ingredients:
- "[[Nectarine]]"
author:
- "[[Steph Ango]]"
url: https://stephango.com/brown-butter-nectarine-tart
servings: 8 slices (11 inch tart)
rating: 7
published: 2023-07-30
created: 2023-09-12
last: 2023-09-12
---
It seems like every summer I have the impromptu and magical experience of suddenly smelling the delicate aroma of ripe nectarines wafting through the air. At that moment, whether it's at a farmer's market or grocery store, I know it's time to make this recipe.
This is my favorite summer dessert. It is another of my mother's recipes, but this one has almost no changes aside from conversion to grams. I asked my mom to make this tart so many times when I was growing up that I am unable to tell how much of my appreciation for it is the pure nostalgia of every slice.
The filling is fluffy and light, not too sweet. It develops a wonderful almost meringue-like crispy shell that adds beautiful texture.
This recipe is scaled for an 11 inch tart pan. I highly recommend a tart pan with a removable bottom. I like to double the recipe for the crust and keep one ball of dough in the freezer in case of emergency.
## Ingredients
### Pastry
- 170g (1 ⅓ cups) all-purpose flour
- 1 tbsp sugar
- ½ tsp salt
- 113g (1 stick or 8 tbsp) cold butter
- 3-4 tbsp ice water
### Filling
- 1 large egg
- 90g (7 tbsp) sugar
- 15g (2 tbsp) flour
- 75g (5 tbsp) butter
- 1 tsp vanilla extract
- 4 nectarines or peaches cut into eights
## Directions
Making and blind-baking the crust
1. Preheat oven to 425F/220C (use convection if you have it).
2. Combine flour, sugar and salt in bowl.
3. Using your finger tips combine the in butter until mixture resembles crumbs, work quickly so that it stays cool.
4. Add ice water, tossing with a fork or lightly with fingers until pastry holds together.
5. Shape into a ball and flatten.
6. On lightly floured surface, roll out into an 13 inch circle.
7. Fit into 11 inch tart pan.
8. Fold in pastry overhang against sides.
9. Use a fork to poke holes throughout the bottom of the dough. This will allow steam to escape and prevent the bottom from lifting up.
10. Line with parchment paper or foil and fill with dried beans or rice.
11. Blind bake 12 minutes. Remove parchment paper and beans carefully and bake.
12. Bake 10 minutes more until light golden, don't overdo it.
13. Cool on a wire rack.
Lower oven to 350F/180C (use convection if you have it)
1. Melt butter in a small saucepan over medium heat until lightly browned, the milk solids should become a vibrant rusty red color. Watch it closely because it can burn easily.
2. Remove from heat and pour into a bowl to cool.
3. In a separate bowl, beat egg and sugar until pale and fluffy.
4. Stir in flour, then cooled browned butter and vanilla extract.
5. Spread filling in tart shell; arrange nectarine slices on top.
6. Bake on a cookie sheet 30 minutes until a deep gold. May need more or less time depending on your oven.
## Tips
- If your oven doesn't have a convection fan, the baking times will take a little longer.
- This tart goes very well with homemade whipped cream.
- Keep the pastry shell in the tart pan throughout the whole recipe. Once the tart has been baked, do not try to remove tart from pan right away. Let it cool 10-15 minutes before trying to remove it from the tart pan as the crust is very tender.
- I prefer nectarines to peaches in this recipe because the texture of the skin is less noticeable, but either works perfectly. I have also made this recipe with pears, and I am sure it would work with many stone fruits as long as they are not overly juicy.
- If it's a hot day, place the butter in the freezer for a few minutes before making the pastry to give yourself more working time.
- To make extra pastry crust, I double the pastry recipe. I split the finished dough ball in half and wrap it cling wrap. Then place it in a zip top bag. When it's time to back it only need 15 minutes to thaw at which point you can start beating it down to shape with a rolling pin. The fact that it's cold makes it easier to work with.
+8
View File
@@ -0,0 +1,8 @@
---
categories:
- "[[Board games]]"
type: []
maker:
rating: 7
last: 2023-09-01
---
+15
View File
@@ -0,0 +1,15 @@
---
categories:
- "[[Places]]"
type:
- "[[Parks]]"
- "[[Shrines]]"
loc:
- "[[Kyoto]]"
- "[[Japan]]"
rating: 7
created: 2023-09-12
coordinates:
- "34.9689499"
- "135.7692576"
---
+9
View File
@@ -0,0 +1,9 @@
---
categories:
- "[[Shows]]"
genre:
- "[[Sci-fi]]"
rating: 7
created: 2023-09-12
last: 2023-09-12
---
+6
View File
@@ -0,0 +1,6 @@
---
tags:
- music/genres
---
![[Albums.base#Genre]]
+18
View File
@@ -0,0 +1,18 @@
---
categories:
- "[[People]]"
type:
- "[[Authors]]"
created: 2023-09-12
---
## Books
![[Books.base#Author]]
# Clippings
![[Clippings.base#Author]]
# Podcast episodes
![[Podcast episodes.base#Guest]]
+21
View File
@@ -0,0 +1,21 @@
---
categories:
- "[[Places]]"
type:
- "[[Cities]]"
loc:
- "[[Japan]]"
coordinates:
- "35.021041"
- "135.7556075"
rating: 7
created: 2023-09-12
---
## Trips
![[Trips.base#Location]]
## Places
![[Map.base#Location]]
![[Places.base#Location]]
+8
View File
@@ -0,0 +1,8 @@
---
categories:
- "[[Companies]]"
- "[[Apps]]"
type:
- "[[Apps]]"
url: https://obsidian.md/
---
+19
View File
@@ -0,0 +1,19 @@
---
categories:
- "[[Books]]"
cover: "[[out-of-control.jpg]]"
isbn: 201483408
isbn13: 9780201483406
pages: 528
year: 1992
author:
- "[[Kevin Kelly]]"
genre:
- "[[Futurism]]"
- "[[Nonfiction]]"
topics:
- "[[Emergence]]"
created: 2023-09-12
last: 2023-09-12
rating: 7
---
+11
View File
@@ -0,0 +1,11 @@
---
tags:
- places/types
icon: trees
color: green
---
## Places
![[Map.base#Type]]
![[Places.base#Type]]
+10
View File
@@ -0,0 +1,10 @@
---
categories:
- "[[People]]"
type:
- "[[Musicians]]"
created: 2023-09-13
---
## Albums
![[Albums.base#Artist]]
+5
View File
@@ -0,0 +1,5 @@
---
tags:
- genres
---
![[Genre.base]]
+18
View File
@@ -0,0 +1,18 @@
---
categories:
- "[[People]]"
type:
- "[[Authors]]"
org:
- "[[Obsidian]]"
created: 2023-09-12
twitter: kepano
url: https://stephango.com/
---
## Clippings
![[Clippings.base#Author]]
## Meetings
![[Meetings.base#Person]]
@@ -0,0 +1,13 @@
---
categories:
- "[[Games]]"
system: "[[Nintendo Switch]]"
maker: "[[Nintendo]]"
genre:
- "[[Open world]]"
aliases:
- BOTW
last: "[[2022-04]]"
rating: 7
year: 2017
---
+27
View File
@@ -0,0 +1,27 @@
---
categories:
- "[[Books]]"
author:
- "[[E. M. Forster]]"
cover:
genre:
- "[[Sci-fi]]"
year: 1909
rating: 7
topics:
- "[[Humanism]]"
created: 2023-09-12
last: 2023-09-12
tags:
- to-read
---
## Quotes
Replace "accumulations" with "notifications"
> There were buttons and switches everywhere — buttons to call for food for music, for clothing. There was the hot-bath button, by pressure of which a basin of (imitation) marble rose out of the floor, filled to the brim with a warm deodorized liquid. There was the cold-bath button. There was the button that produced literature. And there were of course the buttons by which she communicated with her friends. The room, though it contained nothing, was in touch with all that she cared for in the world
>
> Vashtis next move was to turn off the isolation switch, and all the accumulations of the last three minutes burst upon her. The room was filled with the noise of bells, and speaking-tubes. What was the new food like? Could she recommend it? Has she had any ideas lately? Might one tell her ones own ideas? Would she make an engagement to visit the public nurseries at an early date? — say this day month.
>
> To most of these questions she replied with irritation — a growing quality in that accelerated age. She said that the new food was horrible. That she could not visit the public nurseries through press of engagements. That she had no ideas of her own but had just been told one-that four stars and three in the middle were like a man: she doubted there was much in it. Then she switched off her correspondents, for it was time to deliver her lecture on Australian music
+12
View File
@@ -0,0 +1,12 @@
---
categories:
- "[[Podcast episodes]]"
show: "[[Well Made]]"
guests:
- "[[Kevin Kelly]]"
topics: []
episode: "145"
rating: 7
published: 2021-04-15
last: 2023-09-12
---
+10
View File
@@ -0,0 +1,10 @@
---
categories:
- "[[Podcasts]]"
host:
- "[[Steph Ango]]"
rating:
---
## Episodes
![[Podcast episodes.base#Show]]
+8
View File
@@ -0,0 +1,8 @@
---
categories: "[[People]]"
type:
- "[[Actors]]"
---
## Movies
![[Movies.base#Actor]]
+10
View File
@@ -0,0 +1,10 @@
---
categories:
- "[[Albums]]"
genre: []
artist: ""
year:
created: <% tp.date.now() %>
rating:
---
+5
View File
@@ -0,0 +1,5 @@
---
categories: "[[Apps]]"
maker: ""
rating:
---
+8
View File
@@ -0,0 +1,8 @@
---
categories: "[[People]]"
type:
- "[[Authors]]"
---
## Books
![[Books.base#Author]]
+48
View File
@@ -0,0 +1,48 @@
filters:
and:
- note.categories.contains(link("Albums"))
- '!file.name.contains("Template")'
properties:
file.name:
displayName: Album
note.year:
displayName: Year
note.artist:
displayName: Artist
note.created:
displayName: Added
note.rating:
displayName: Rating
note.genre:
displayName: Genre
views:
- type: table
name: Albums
order:
- file.name
- artist
- rating
- year
- genre
- type: table
name: Artist
filters:
and:
- list(artist).contains(this)
order:
- file.name
- artist
- rating
- year
- genre
- type: table
name: Genre
filters:
and:
- list(genre).contains(this)
order:
- file.name
- artist
- rating
- year
- genre
+32
View File
@@ -0,0 +1,32 @@
formulas:
Embeds: if(file.embeds[0].containsAny("jpg","gif","webp","jpeg","avif"), file.embeds[0])
Date: if(created,created,if(start,start))
links: file.
views:
- type: cards
name: Images
filters:
and:
- this.file.hasLink(file)
- '!file.ext.containsAny("base", "canvas", "pdf", "md")'
- file == ""
order: []
sort:
- property: file.name
direction: ASC
image: file.file
cardSize: 70
- type: table
name: Images 2
filters:
and:
- '!file.ext.containsAny("base", "canvas", "pdf", "md")'
order:
- file.name
- file.links
- formula.links
sort:
- property: file.name
direction: ASC
image: file.file
cardSize: 90
+31
View File
@@ -0,0 +1,31 @@
filters:
and:
- file.hasLink(this)
formulas:
Path: file.path
properties:
note.created:
displayName: Date
file.name:
displayName: Title
note.categories:
displayName: Categories
views:
- type: table
name: Backlinks
order:
- file.name
- categories
- created
sort:
- property: created
direction: DESC
- type: table
name: Recent entries
order:
- file.name
- created
sort:
- property: created
direction: DESC
limit: 20
+18
View File
@@ -0,0 +1,18 @@
filters:
and:
- categories.contains(link("Board games"))
- '!file.name.contains("Template")'
properties:
file.name:
displayName: Game
note.rating:
displayName: Rating
note.last:
displayName: Last
views:
- type: table
name: Table
order:
- file.name
- rating
- last
+57
View File
@@ -0,0 +1,57 @@
filters:
and:
- categories.contains(link("Books"))
- '!file.name.contains("Template")'
properties:
note.author:
displayName: Author
file.name:
displayName: Name
note.year:
displayName: Year
note.genre:
displayName: Genre
views:
- type: table
name: Books
order:
- file.name
- author
- length
- year
- rating
- topics
- last
sort:
- property: file.name
direction: ASC
- type: table
name: Top rated
order:
- file.name
- rating
- last
sort:
- property: last
direction: DESC
- type: table
name: Author
filters:
and:
- list(author).contains(this)
order:
- file.name
- year
- genre
sort:
- property: genre
direction: ASC
- type: table
name: Genre
filters:
and:
- list(genre).contains(this)
order:
- file.name
- year
- genre
+39
View File
@@ -0,0 +1,39 @@
filters:
and:
- note.categories.contains(link("Clippings"))
- '!file.name.contains("Template")'
properties:
file.name:
displayName: Title
note.author:
displayName: Author
note.created:
displayName: Clipped
note.published:
displayName: Published
views:
- type: table
name: Clippings
order:
- file.name
- author
- created
- published
sort:
- property: created
direction: DESC
columnSize:
note.author: 140
- type: table
name: Author
filters:
and:
- list(author).contains(this)
order:
- file.name
- author
- created
- published
sort:
- property: clipped
direction: DESC
+22
View File
@@ -0,0 +1,22 @@
filters:
and:
- categories.contains(link("Companies"))
- '!file.name.contains("Template")'
properties:
file.name:
displayName: Company
property.url:
displayName: Link
note.url:
displayName: URL
note.people:
displayName: People
views:
- type: table
name: Companies
order:
- file.name
- url
- people
columnSize:
note.url: 239
+69
View File
@@ -0,0 +1,69 @@
filters:
or:
- file.name.contains(this.file.name)
- created.toString().contains(this.file.name)
- start.toString().contains(this.file.name)
- end.toString().contains(this.file.name)
- file.links.contains(this.file)
properties:
file.name:
displayName: Entry
note.categories:
displayName: Categories
note.created:
displayName: Created
note.tags:
displayName: Tags
views:
- type: table
name: Daily notes
filters:
and:
- '!tags.contains("daily")'
- '!tags.contains("monthly")'
order:
- file.name
- created
- categories
- tags
sort:
- property: tags
direction: ASC
- property: created
direction: DESC
- property: file.name
direction: ASC
- property: categories
direction: ASC
columnSize:
file.name: 287
note.created: 128
note.categories: 119
- type: table
name: Monthly
filters:
and:
- '!tags.contains("daily")'
- '!tags.contains("monthly")'
order:
- file.name
- categories
- created
sort:
- property: file.name
direction: ASC
- property: created
direction: DESC
- type: table
name: Yearly
filters:
and:
- '!tags.contains("daily")'
- '!tags.contains("monthly")'
order:
- file.name
- categories
- created
sort:
- property: created
direction: ASC
+46
View File
@@ -0,0 +1,46 @@
filters:
and:
- categories.contains(link("Events"))
- '!file.name.contains("Template")'
properties:
note.end:
displayName: End
note.loc:
displayName: Location
note.start:
displayName: Start
views:
- type: table
name: Events
order:
- file.name
- start
- end
- loc
sort:
- property: start
direction: DESC
- type: table
name: Type
filters:
and:
- list(type).contains(this)
order:
- file.name
- start
- loc
sort:
- property: start
direction: DESC
- type: table
name: Location
filters:
and:
- list(loc).contains(this)
order:
- file.name
- start
- loc
sort:
- property: start
direction: DESC
+18
View File
@@ -0,0 +1,18 @@
filters:
and:
- tags.contains("0🌲")
- '!file.name.contains("Template")'
properties:
file.name:
displayName: Name
note.created:
displayName: Created
views:
- type: table
name: Evergreen
order:
- file.name
- created
sort:
- property: created
direction: DESC
+36
View File
@@ -0,0 +1,36 @@
formulas:
Embeds: if(file.embeds[0].containsAny("jpg","gif","webp","jpeg","avif"), file.embeds[0])
Date: if(created,created,if(start,start))
views:
- type: table
name: All files
order:
- file.name
- file.mtime
- file.path
- file.ext
- type: cards
name: Images
filters:
and:
- '!file.ext.containsAny("base", "canvas", "pdf", "md")'
order:
- file.name
sort:
- property: file.name
direction: ASC
image: file.file
- type: cards
name: Images in posts
filters:
and:
- "!formula.Embeds.isEmpty()"
order:
- file.name
- formula.Date
sort:
- property: file.name
direction: ASC
- property: date
direction: DESC
image: formula.Embeds
+51
View File
@@ -0,0 +1,51 @@
filters:
and:
- note.categories.contains(link("Games"))
- '!file.name.contains("Template")'
properties:
file.name:
displayName: Games
note.year:
displayName: Year
note.maker:
displayName: Maker
note.rating:
displayName: Rating
note.genre:
displayName: Genre
note.last:
displayName: Last played
views:
- type: table
name: Games
order:
- file.name
- maker
- genre
- year
- rating
- last
- type: table
name: Studio
filters:
and:
- list(maker).contains(this)
order:
- file.name
- maker
- genre
- year
- rating
- last
- type: table
name: Genre
filters:
and:
- list(genre).contains(this)
order:
- file.name
- maker
- genre
- year
- rating
- last
+24
View File
@@ -0,0 +1,24 @@
filters:
and:
- list(genre).contains(this)
display:
note.rating: Rating
note.categories: Category
note.last: Last
file.name: Name
views:
- type: table
name: Genre
order:
- file.name
- rating
- categories
- last
sort:
- column: note.rating
direction: DESC
- column: note.last
direction: DESC
columnSize:
file.name: 248
note.categories: 170
+15
View File
@@ -0,0 +1,15 @@
filters:
and:
- '!file.name.contains("Template")'
- tags.contains("journal")
properties:
file.name:
displayName: Entry
note.created:
displayName: Created
views:
- type: table
name: Table
order:
- file.name
- created
+89
View File
@@ -0,0 +1,89 @@
filters:
and:
- categories.contains(link("Places"))
- '!file.name.contains("Template")'
formulas:
Icon: list(type)[0].asFile().properties.icon
Color: list(type)[0].asFile().properties.color
properties:
note.type:
displayName: Type
note.rating:
displayName: Rating
note.loc:
displayName: Location
file.name:
displayName: Name
note.last:
displayName: Last
views:
- type: map
name: Map
order:
- file.name
- rating
- loc
- type
- last
- formula.Icon
sort:
- property: last
direction: DESC
- property: type
direction: ASC
- property: loc
direction: ASC
defaultZoom: 2
coordinates: note.coordinates
markerIcon: formula.Icon
markerColor: formula.Color
- type: map
name: Location
filters:
or:
- list(loc).contains(this)
- list(loc).containsAny(this.related)
order:
- file.name
sort:
- property: last
direction: DESC
- property: type
direction: ASC
- property: loc
direction: ASC
columnSize:
file.name: 162
note.rating: 84
note.loc: 145
note.type: 199
coordinates: note.coordinates
defaultZoom: 10.6
markerIcon: formula.Icon
markerColor: formula.Color
- type: map
name: Type
filters:
and:
- list(type).contains(this)
order:
- file.name
- rating
- type
- formula.Color
sort:
- property: last
direction: DESC
- property: type
direction: ASC
- property: loc
direction: ASC
columnSize:
file.name: 162
note.rating: 84
note.loc: 145
note.type: 199
coordinates: note.coordinates
defaultZoom: 3.1
markerIcon: formula.Icon
markerColor: formula.Color
+52
View File
@@ -0,0 +1,52 @@
filters:
and:
- categories.contains(link("Meetings"))
- '!file.name.contains("Template")'
properties:
note.date:
displayName: Date
note.people:
displayName: People
note.type:
displayName: Type
file.name:
displayName: Meeting
note.org:
displayName: Org
views:
- type: table
name: Meetings
order:
- file.name
- date
- type
- people
sort:
- property: date
direction: ASC
- type: table
name: Person
filters:
and:
- list(people).contains(this)
order:
- file.name
- date
- type
- people
sort:
- property: date
direction: ASC
- type: table
name: Type
filters:
and:
- list(type).contains(this)
order:
- file.name
- date
- people
- org
sort:
- property: date
direction: DESC
+239
View File
@@ -0,0 +1,239 @@
filters:
and:
- categories.contains(link("Movies"))
- '!file.name.contains("Template")'
properties:
file.name:
displayName: Name
note.last:
displayName: Last
note.rating:
displayName: Rating
note.year:
displayName: Year
note.director:
displayName: Director
note.genre:
displayName: Genre
note.cast:
displayName: Cast
note.scoreImdb:
displayName: IMDB
note.scoreRT:
displayName: RT
note.runtime:
displayName: Runtime
note.watchlist:
displayName: Added
views:
- type: table
name: All
order:
- file.name
- year
- director
- rating
- last
- plot
- genre
sort:
- property: director
direction: ASC
- property: plot
direction: ASC
columnSize:
file.name: 193
note.director: 205
note.plot: 233
note.genre: 261
- type: table
name: To-watch
filters:
and:
- last.isEmpty()
- rating.isEmpty()
order:
- file.name
- year
- scoreImdb
- scoreRT
- runtime
- watchlist
- director
- genre
sort:
- property: scoreImdb
direction: DESC
- property: scoreRT
direction: DESC
- property: watchlist
direction: DESC
- property: file.name
direction: ASC
- property: director
direction: ASC
columnSize:
file.name: 283
note.year: 68
note.scoreRT: 67
note.director: 238
- type: table
name: Favorites
filters:
and:
- note.rating > 6
order:
- file.name
- director
- year
- genre
- rating
- ratingImdb
- last
sort:
- property: file.name
direction: ASC
- property: ratingImdb
direction: DESC
columnSize:
file.name: 283
note.director: 221
note.year: 68
- type: table
name: Last seen
filters:
and:
- "!last.isEmpty()"
order:
- file.name
- year
- rating
- last
- director
- genre
sort:
- property: last
direction: DESC
- property: file.name
direction: ASC
limit: 20
- type: table
name: Actor
filters:
and:
- list(cast).contains(this)
order:
- file.name
- year
- director
- genre
- ratingImdb
sort:
- property: ratingImdb
direction: DESC
- type: table
name: Genre
filters:
and:
- list(genre).contains(this)
order:
- file.name
- rating
- year
- director
- last
- genre
sort:
- property: last
direction: DESC
- property: genre
direction: ASC
- property: rating
direction: DESC
columnSize:
note.director: 166
note.last: 115
- type: table
name: Director
filters:
and:
- list(director).contains(this)
order:
- file.name
- year
- rating
- last
- cast
- genre
sort:
- property: last
direction: DESC
- property: rating
direction: ASC
- property: year
direction: DESC
columnSize:
file.name: 186
note.year: 79
note.rating: 96
note.genre: 243
- type: table
name: Soundtrack
filters:
and:
- list(music).contains(this)
order:
- file.name
- year
- rating
- last
- cast
- genre
sort:
- property: last
direction: DESC
- property: rating
direction: ASC
- property: year
direction: DESC
columnSize:
file.name: 186
note.year: 79
note.rating: 96
note.genre: 243
- type: table
name: Theater
filters:
and:
- file.links.contains(this.file)
order:
- file.name
- rating
- last
- year
- scoreImdb
- runtime
- scoreRT
- watchlist
- director
- genre
sort:
- property: last
direction: DESC
- property: scoreImdb
direction: DESC
- property: scoreRT
direction: DESC
- property: watchlist
direction: DESC
- property: file.name
direction: ASC
- property: director
direction: ASC
columnSize:
file.name: 283
note.rating: 94
note.year: 68
note.scoreRT: 67
note.director: 238
note.genre: 243
+33
View File
@@ -0,0 +1,33 @@
filters:
and:
- '!file.name.contains("Template")'
- note.tags.contains("people")
formulas:
Age: (now() - birthday).years.floor()
properties:
file.name:
displayName: Name
note.tags:
displayName: Tags
note.birthday:
displayName: Birthday
views:
- type: table
name: All people
order:
- file.name
- tags
- birthday
- formula.Age
sort:
- property: file.name
direction: ASC
- property: tags
direction: ASC
- property: formula.Age
direction: DESC
- property: birthday
direction: DESC
columnSize:
note.tags: 209
formula.Age: 99
+115
View File
@@ -0,0 +1,115 @@
filters:
and:
- note.categories.contains(link("Places"))
- '!file.name.contains("Template")'
properties:
note.type:
displayName: Type
note.rating:
displayName: Rating
note.loc:
displayName: Location
file.name:
displayName: Name
note.last:
displayName: Last
views:
- type: table
name: Places
order:
- file.name
- rating
- loc
- type
- last
sort:
- property: last
direction: DESC
- property: type
direction: ASC
- property: loc
direction: ASC
columnSize:
file.name: 162
note.loc: 145
note.type: 199
- type: table
name: Location
filters:
and:
- list(loc).contains(this)
order:
- file.name
- type
- rating
- last
sort:
- property: rating
direction: DESC
- property: last
direction: DESC
- property: loc
direction: ASC
columnSize:
note.type: 197
- type: table
name: Type
filters:
and:
- list(type).contains(this)
order:
- file.name
- type
- rating
- last
sort:
- property: last
direction: DESC
- property: loc
direction: ASC
columnSize:
note.type: 153
- type: table
name: Related
filters:
and:
- file.hasLink(this)
- '!tags.containsAny("cities", "countries")'
order:
- file.name
- rating
- loc
- type
- last
sort:
- property: rating
direction: DESC
- property: last
direction: DESC
- property: type
direction: ASC
- property: loc
direction: ASC
columnSize:
file.name: 162
note.rating: 65
note.loc: 145
note.type: 199
- type: table
name: Metatype
filters:
or:
- list(type).contains(this)
- list(type).containsAny(this.topics)
order:
- file.name
- type
- rating
- last
sort:
- property: last
direction: DESC
- property: loc
direction: ASC
columnSize:
note.type: 153
+56
View File
@@ -0,0 +1,56 @@
filters:
and:
- note.categories.contains(link("Podcast episodes"))
- '!file.name.contains("Template")'
properties:
file.name:
displayName: Podcast
note.show:
displayName: Show
note.guests:
displayName: Guests
note.episode:
displayName: Episode
note.rating:
displayName: Rating
note.published:
displayName: Published
note.guest:
displayName: Guest
views:
- type: table
name: All episodes
order:
- file.name
- show
- guests
- episode
- rating
- published
sort:
- property: published
direction: DESC
- type: table
name: Show
filters:
and:
- list(show).contains(this)
order:
- file.name
- show
- episode
- rating
- published
- guest
- type: table
name: Guest
filters:
and:
- list(guest).contains(this)
order:
- file.name
- show
- guests
- episode
- rating
- published
+15
View File
@@ -0,0 +1,15 @@
filters:
and:
- note.categories.contains(link("Podcasts"))
- '!file.name.contains("Template")'
properties:
file.name:
displayName: Podcast
note.host:
displayName: Host
views:
- type: table
name: Table
order:
- file.name
- host
+21
View File
@@ -0,0 +1,21 @@
properties:
file.name:
displayName: Title
note.status:
displayName: Status
note.published:
displayName: Published
views:
- type: table
name: All
filters:
and:
- list(categories).contains(link("Posts"))
- '!file.name.contains("Template")'
order:
- file.name
- status
- published
sort:
- column: note.published
direction: DESC
+149
View File
@@ -0,0 +1,149 @@
filters:
and:
- note.categories.contains(link("Products"))
- '!file.name.contains("Template")'
formulas:
Owned: ((now() - acquired).months).round()
totalUses: monthlyUses * formula.Owned.round()
perUse: (price / formula.totalUses).toFixed(2)
properties:
note.monthlyUses:
displayName: Uses/month
formula.Owned:
displayName: Months
formula.totalUses:
displayName: Total uses
formula.perUse:
displayName: Per use
note.price:
displayName: Price
note.rating:
displayName: Rating
note.acquired:
displayName: Acquired
note.type:
displayName: Type
file.name:
displayName: Product
views:
- type: table
name: Products
order:
- file.name
- acquired
- rating
- price
- monthlyUses
- formula.perUse
- formula.Owned
- formula.totalUses
- type
sort:
- property: formula.perUse
direction: ASC
- property: formula.totalUses
direction: ASC
- property: acquired
direction: DESC
- property: file.name
direction: DESC
- property: rating
direction: DESC
- property: formula.Owned
direction: ASC
columnSize:
file.name: 209
note.acquired: 112
note.price: 78
note.monthlyUses: 123
formula.perUse: 102
formula.Owned: 113
formula.totalUses: 115
- type: table
name: Cost per use
filters:
and:
- note.monthlyUses > 0
order:
- file.name
- acquired
- monthlyUses
- price
- formula.Owned
- formula.totalUses
- formula.perUse
- type
- rating
sort:
- property: acquired
direction: ASC
- property: monthlyUses
direction: DESC
- property: rating
direction: DESC
columnSize:
file.name: 207
note.acquired: 112
note.monthlyUses: 131
note.price: 78
formula.Owned: 99
formula.totalUses: 100
formula.perUse: 93
- type: table
name: Maker
filters:
and:
- list(maker).contains(this)
order:
- file.name
- rating
- formula.perUse
- monthlyUses
- price
- formula.totalUses
- formula.Owned
- acquired
- type
sort:
- property: file.name
direction: ASC
- property: formula.totalUses
direction: DESC
- property: acquired
direction: DESC
- property: monthlyUses
direction: DESC
columnSize:
file.name: 209
note.monthlyUses: 82
formula.totalUses: 115
- type: table
name: Type
filters:
and:
- list(type).contains(this)
order:
- file.name
- rating
- formula.perUse
- monthlyUses
- price
- formula.totalUses
- formula.Owned
- acquired
- type
sort:
- property: rating
direction: DESC
- property: file.name
direction: ASC
- property: formula.totalUses
direction: DESC
- property: acquired
direction: DESC
- property: monthlyUses
direction: DESC
columnSize:
file.name: 209
note.monthlyUses: 82
formula.totalUses: 115
+32
View File
@@ -0,0 +1,32 @@
filters:
and:
- '!file.name.contains("Template")'
- note.categories.contains(link("Projects"))
properties:
note.status:
displayName: Status
note.url:
displayName: URL
file.name:
displayName: Name
note.type:
displayName: Type
note.year:
displayName: Year
views:
- type: table
name: Table
order:
- file.name
- type
- year
- status
- url
sort:
- column: note.status
direction: ASC
- column: note.year
direction: DESC
columnSize:
file.name: 209
note.type: 199
+39
View File
@@ -0,0 +1,39 @@
filters:
and:
- rating > 0
properties:
note.rating:
displayName: Rating
note.last:
displayName: Last
file.name:
displayName: Name
note.categories:
displayName: Categories
views:
- type: table
name: Ratings
order:
- file.name
- rating
- last
- categories
sort:
- property: last
direction: DESC
columnSize:
file.name: 238
- type: table
name: Recent
filters:
and:
- last > now() - "60d"
order:
- file.name
- rating
- last
- categories
sort:
- property: last
direction: DESC
limit: 100
+30
View File
@@ -0,0 +1,30 @@
filters:
and:
- note.categories.contains(link("Recipes"))
- '!file.name.contains("Template")'
properties:
file.name:
displayName: Name
note.author:
displayName: Author
note.type:
displayName: Type
note.ingredients:
displayName: Ingredients
note.cuisine:
displayName: Cuisine
note.rating:
displayName: Rating
views:
- type: table
name: Recipes
order:
- file.name
- type
- cuisine
- author
- ingredients
- rating
columnSize:
note.type: 201
note.cuisine: 174
+40
View File
@@ -0,0 +1,40 @@
filters:
and:
- file.path != this.file.path
formulas:
LinksOverlap: formula.Related.length
Related: list(this.file.links).filter(list(file.links).containsAny(value)).unique()
BacklinksCount: file.backlinks.length
TagsOverlap: list(this.file.tags).filter(list(file.tags).containsAny(value)).unique().length
properties:
formula.LinksOverlap:
displayName: Links overlap
file.name:
displayName: Name
formula.BacklinksCount:
displayName: Backlinks count
formula.TagsOverlap:
displayName: Tags overlap
formula.Related:
displayName: Links
views:
- type: table
name: Related
filters:
or:
- formula.LinksOverlap > 2
- file.hasLink(this)
- this.file.hasLink(file)
order:
- file.name
- formula.Related
sort:
- property: formula.LinksOverlap
direction: DESC
- property: formula.TagsOverlap
direction: DESC
- property: formula.BacklinksCount
direction: DESC
limit: 20
columnSize:
file.name: 220
+94
View File
@@ -0,0 +1,94 @@
filters:
and:
- '!file.name.contains("Template")'
- note.categories.contains(link("Shows"))
properties:
file.name:
displayName: Name
note.last:
displayName: Last
note.rating:
displayName: Rating
note.year:
displayName: Year
note.director:
displayName: Director
note.genre:
displayName: Genre
note.cast:
displayName: Cast
views:
- type: table
name: All
order:
- file.name
- year
- rating
- last
- director
- genre
sort:
- column: note.rating
direction: DESC
- column: file.name
direction: ASC
- column: note.director
direction: ASC
- type: table
name: Favorites
filters:
and:
- note.rating > 6
order:
- file.name
- year
- rating
- last
- director
- genre
- type: table
name: Last seen
filters:
and:
- not(empty(note.last))
order:
- file.name
- year
- rating
- last
- director
- genre
sort:
- column: note.last
direction: DESC
limit: 20
- type: table
name: Actor
filters:
and:
- list(cast).contains(this)
order:
- file.name
- year
- director
- genre
- type: table
name: Genre
filters:
and:
- list(genre).contains(this)
order:
- file.name
- year
- director
- genre
- type: table
name: Director
filters:
and:
- list(director).contains(this)
order:
- file.name
- year
- cast
- genre
+12
View File
@@ -0,0 +1,12 @@
filters:
and:
- file.path.contains("/Templates")
views:
- type: table
name: Table
order:
- file.name
- categories
sort: []
columnSize:
file.name: 234
+38
View File
@@ -0,0 +1,38 @@
filters:
and:
- note.categories.contains(link("Trips"))
- '!file.name.contains("Template")'
properties:
note.start:
displayName: Start
note.end:
displayName: End
file.name:
displayName: Trip
note.loc:
displayName: Location
views:
- type: table
name: All trips
filters:
and:
- '!file.name.contains("Planning")'
order:
- file.name
- start
- end
- loc
sort:
- property: end
direction: DESC
columnSize:
file.name: 255
- type: table
name: Location
filters:
and:
- list(loc).contains(this)
order:
- file.name
- start
- end
+9
View File
@@ -0,0 +1,9 @@
---
categories:
- "[[Board games]]"
type: []
maker:
year:
rating:
last: <% tp.date.now() %>
---

Some files were not shown because too many files have changed in this diff Show More