vault backup: 2026-05-28 18:30:17

This commit is contained in:
2026-05-28 18:30:17 -04:00
parent e42491a238
commit 67d3358c86
47 changed files with 1708 additions and 144 deletions
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1,7 +1,7 @@
{
"id": "easy-copy",
"name": "Easy Copy",
"version": "1.6.4",
"version": "1.7.1",
"minAppVersion": "1.8.7",
"description": "Easily copy the text within inline code, bold text (and many other formats), or quickly generate an elegant link to a heading.",
"author": "Moy",
+8
View File
@@ -0,0 +1,8 @@
/*!
* Inline Spoilers for Obsidian
* https://github.com/logonoff/obsidian-inline-spoilers
* SPDX-License-Identifier: GPL-3.0-or-later
*/
"use strict";var u=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var N=Object.getOwnPropertyNames;var A=Object.prototype.hasOwnProperty;var C=(t,e)=>{for(var i in e)u(t,i,{get:e[i],enumerable:!0})},_=(t,e,i,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of N(e))!A.call(t,o)&&o!==i&&u(t,o,{get:()=>e[o],enumerable:!(s=y(e,o))||s.enumerable});return t};var v=t=>_(u({},"__esModule",{value:!0}),t);var H={};C(H,{default:()=>g});module.exports=v(H);var D=require("@codemirror/language"),x=require("@codemirror/state"),c=require("@codemirror/view"),n=require("obsidian"),P=/\|\|(.+?)\|\|/g,M="p, li, h1, h2, h3, h4, h5, h6, blockquote, em, strong, b, i, a, th, td",T=t=>{if(t.nodeType===Node.TEXT_NODE){if(!t.textContent||!t.parentNode)return;let e=t.textContent.split(/(\|\|[^|]+\|\|)/g),i=document.createDocumentFragment();for(let s of e)if(P.test(s)){let o=s.slice(2,-2),l=createSpan({cls:"inline_spoilers-spoiler",text:o});i.appendChild(l)}else{let o=document.createTextNode(s);i.appendChild(o)}t.parentNode.replaceChild(i,t)}else t.nodeType===Node.ELEMENT_NODE&&Array.from(t.childNodes).forEach(T)},w=(t,e)=>{let i=t.findAll(M);for(let o of i)Array.from(o.childNodes).forEach(T);let s=t.findAll(".inline_spoilers-spoiler");for(let o of s)e.registerDomEvent(o,"click",()=>{o.classList.toggle("inline_spoilers-revealed")})},V=t=>{let e=Array.from(t.containerEl.querySelectorAll(".inline_spoilers-spoiler"));for(let i of e){let s=i.parentNode,o=document.createTextNode(`||${i.innerText}||`);s&&s.replaceChild(o,i)}},L=c.Decoration.mark({class:"inline_spoilers-editor-spoiler",tagName:"span"}),R=c.Decoration.mark({class:"inline_spoilers-editor-spoiler-delimiter",tagName:"span"}),m=class{constructor(e){this.decorations=this.buildDecorations(e)}update(e){(e.docChanged||e.viewportChanged)&&(this.decorations=this.buildDecorations(e.view))}destroy(){}buildDecorations(e){let i=new x.RangeSetBuilder,s=[];for(let{from:o,to:l}of e.visibleRanges)(0,D.syntaxTree)(e.state).iterate({from:o,to:l,enter(E){let k=e.state.sliceDoc(E.from,E.to),h;for(;(h=P.exec(k))!==null;){let a=h.index,p=a+h[0].length,S=e.state.sliceDoc(a,p);!S.startsWith("||")&&!S.endsWith("||")||(s.push({from:a,to:a+2,isDelimiter:!0}),s.push({from:a+2,to:p-2,isDelimiter:!1}),s.push({from:p-2,to:p,isDelimiter:!0}))}}});s.sort((o,l)=>o.from-l.from);for(let o of s)i.add(o.from,o.to,o.isDelimiter?R:L);return i.finish()}},I={decorations:t=>t.decorations},d=c.ViewPlugin.fromClass(m,I),r=[],O=t=>{r.includes(d)||r.push(d),t.updateOptions()},b=t=>{let e=r.indexOf(d);e!==-1&&r.splice(e,1),t.updateOptions()},W={showAllSpoilers:!1,enableEditorMode:!1},f=class extends n.PluginSettingTab{constructor(e,i){super(e,i),this.plugin=i}display(){let{containerEl:e}=this;e.empty(),new n.Setting(e).setName("Reveal all spoilers").setDesc("Always show all inline spoilers, regardless of whether they are clicked or not.").addToggle(i=>i.setValue(this.plugin.settings.showAllSpoilers).onChange(async s=>{this.plugin.settings.showAllSpoilers=s,this.app.workspace.containerEl.toggleClass("inline_spoilers-revealed",s),await this.plugin.saveSettings()})),new n.Setting(e).setName("Hide spoilers in editor view (experimental)").setDesc("Hide spoilers in the editor until your cursor is on the same line as the spoiler.").addToggle(i=>i.setValue(this.plugin.settings.enableEditorMode).onChange(async s=>{this.plugin.settings.enableEditorMode=s,s?O(this.app.workspace):b(this.app.workspace),await this.plugin.saveSettings()}))}},g=class extends n.Plugin{async onload(){await this.loadSettings();let e=this.app.workspace.containerEl.querySelector(".markdown-reading-view");e&&w(e,this),this.registerMarkdownPostProcessor(i=>{w(i,this)}),this.addCommand({id:"create-spoiler",name:"Create spoiler",editorCallback:i=>{let s=i.getSelection();i.replaceSelection(`||${s}||`)}}),this.registerEditorExtension(r),this.addSettingTab(new f(this.app,this))}onunload(){this.app.workspace.containerEl.classList.remove("inline_spoilers-revealed"),V(this.app.workspace),b(this.app.workspace)}async loadSettings(){this.settings=Object.assign({},W,await this.loadData()),this.app.workspace.containerEl.toggleClass("inline_spoilers-revealed",this.settings.showAllSpoilers),this.settings.enableEditorMode&&r.push(d)}async saveSettings(){await this.saveData(this.settings)}};
/* nosourcemap */
+10
View File
@@ -0,0 +1,10 @@
{
"id": "inline-spoilers",
"name": "Inline spoilers",
"version": "1.2.5",
"minAppVersion": "1.6.5",
"description": "Adds Discord-like syntax for inline spoilers.",
"author": "logonoff",
"authorUrl": "https://logonoff.co",
"isDesktopOnly": false
}
+72
View File
@@ -0,0 +1,72 @@
/*!
* Inline Spoilers for Obsidian
* https://github.com/logonoff/obsidian-inline-spoilers
* SPDX-License-Identifier: GPL-3.0-or-later
*/
body {
--inline-spoilers-hidden-foreground: transparent;
--inline-spoilers-hidden-background: var(--interactive-accent);
--inline-spoilers-revealed-foreground: var(--text-accent);
--inline-spoilers-revealed-background: hsla(var(--color-accent-hsl), 0.075);
--inline-spoilers-spoiler-radius: var(--radius-s);
}
/* spoiler bar */
.inline_spoilers-spoiler,
.inline_spoilers-editor-spoiler,
.inline_spoilers-editor-spoiler-delimiter {
/* obscured */
background-color: var(--inline-spoilers-hidden-background) !important;
color: var(--inline-spoilers-hidden-foreground) !important;
}
/** used when a hidden spoiler is revealed by clicking in reader mode */
.inline_spoilers-spoiler.inline_spoilers-revealed,
/** used when a hidden spoiler is revealed in editor mode */
.cm-active .inline_spoilers-editor-spoiler,
.cm-active .inline_spoilers-editor-spoiler-delimiter,
/** used when a hidden spoiler is revealed using "Reveal all spoilers" */
.inline_spoilers-revealed .inline_spoilers-spoiler,
.inline_spoilers-revealed .inline_spoilers-editor-spoiler,
.inline_spoilers-revealed .inline_spoilers-editor-spoiler-delimiter {
/* revealed */
background-color: var(--inline-spoilers-revealed-background) !important;
color: var(--inline-spoilers-revealed-foreground) !important;
}
/* reader */
.inline_spoilers-spoiler {
border-radius: var(--inline-spoilers-spoiler-radius);
}
/* editor */
.is-live-preview .inline_spoilers-editor-spoiler {
border-radius: var(--inline-spoilers-spoiler-radius);
}
.is-live-preview .cm-active .inline_spoilers-editor-spoiler {
/* contiguous border radius with the delimiter */
border-radius: 0em;
}
/* delimiter */
.cm-line .inline_spoilers-editor-spoiler-delimiter {
&:has(+ .inline_spoilers-editor-spoiler) {
border-radius: var(--inline-spoilers-spoiler-radius) 0 0 var(--inline-spoilers-spoiler-radius);
}
&:is(.inline_spoilers-editor-spoiler + .inline_spoilers-editor-spoiler-delimiter) {
border-radius: 0 var(--inline-spoilers-spoiler-radius) var(--inline-spoilers-spoiler-radius) 0;
}
}
.is-live-preview .inline_spoilers-editor-spoiler-delimiter {
display: none;
}
.is-live-preview .cm-active .inline_spoilers-editor-spoiler-delimiter {
display: unset;
}
+3 -1
View File
@@ -85,7 +85,7 @@
"pageTransclusionCharLimit": 200,
"wordWrappingDefault": 0,
"removeTransclusionQuoteSigns": true,
"iframelyAllowed": true,
"oEmbedAllowed": false,
"pngExportScale": 1,
"exportWithTheme": true,
"exportWithBackground": true,
@@ -99,6 +99,7 @@
"embedType": "excalidraw",
"embedMarkdownCommentLinks": true,
"embedWikiLink": true,
"embedPlaceholderImage": true,
"syncExcalidraw": false,
"experimentalFileType": false,
"experimentalFileTag": "✏️",
@@ -111,6 +112,7 @@
"zoteroCompatibility": false,
"fieldSuggester": true,
"enableOnloadScripts": false,
"enableCommandLinks": false,
"compatibilityMode": false,
"drawingOpenCount": 0,
"library": "deprecated",
File diff suppressed because one or more lines are too long
+3 -3
View File
@@ -1,12 +1,12 @@
{
"id": "obsidian-excalidraw-plugin",
"name": "Excalidraw",
"version": "2.23.3",
"minAppVersion": "1.5.7",
"version": "2.23.7",
"minAppVersion": "1.8.7",
"description": "Sketch Your Mind. Edit and view Excalidraw drawings. Enter the world of 4D Visual PKM.",
"author": "Zsolt Viczian",
"authorUrl": "https://excalidraw-obsidian.online",
"fundingUrl": "https://ko-fi.com/zsolt",
"helpUrl": "https://github.com/zsviczian/obsidian-excalidraw-plugin#readme",
"isDesktopOnly": false
}
}
File diff suppressed because one or more lines are too long
+11
View File
@@ -0,0 +1,11 @@
{
"id": "obsidian-quiet-outline",
"name": "Quiet Outline",
"version": "0.5.14",
"minAppVersion": "1.7.2",
"description": "Make outline quiet and more powerful, including no-auto-expand, rendering heading as markdown, and search support.",
"author": "the_tree",
"authorUrl": "",
"fundingUrl": "https://www.buymeacoffee.com/thtree",
"isDesktopOnly": false
}
+430
View File
@@ -0,0 +1,430 @@
.quiet-outline .n-tree {
padding-top: 5px;
}
/* RTL language support */
.quiet-outline .n-tree .n-tree-node-content :is(p, h1, h2, h3, h4, h5) {
unicode-bidi: var(--f4d4e7c4);
}
/* ============ */
/* 彩虹大纲线 */
/* rainbow line */
/* ============ */
.quiet-outline .n-tree .n-tree-node-indent {
content: "";
height: unset;
align-self: stretch;
}
.quiet-outline .n-tree-node-indent {
position: relative;
}
.quiet-outline .n-tree-node-indent::after {
content: "";
position: absolute;
height: 100%;
right: 8px;
}
:is(
.quiet-outline .level-2 .n-tree-node-indent:first-child,
.quiet-outline .level-3 .n-tree-node-indent:first-child,
.quiet-outline .level-4 .n-tree-node-indent:first-child,
.quiet-outline .level-5 .n-tree-node-indent:first-child,
.quiet-outline .level-6 .n-tree-node-indent:first-child
)::after {
border-right: var(--nav-indentation-guide-width) solid var(--v04832a3a);
/* border-right: 2px solid rgb(253, 139, 31, 0.6); */
}
:is(
.quiet-outline .level-3 .n-tree-node-indent:nth-child(2),
.quiet-outline .level-4 .n-tree-node-indent:nth-child(2),
.quiet-outline .level-5 .n-tree-node-indent:nth-child(2),
.quiet-outline .level-6 .n-tree-node-indent:nth-child(2)
)::after {
border-right: var(--nav-indentation-guide-width) solid var(--v04832a38);
/* border-right: 2px solid rgb(255, 223, 0, 0.6); */
}
:is(
.quiet-outline .level-4 .n-tree-node-indent:nth-child(3),
.quiet-outline .level-5 .n-tree-node-indent:nth-child(3),
.quiet-outline .level-6 .n-tree-node-indent:nth-child(3)
)::after {
border-right: var(--nav-indentation-guide-width) solid var(--v04832a36);
/* border-right: 2px solid rgb(7, 235, 35, 0.6); */
}
:is(
.quiet-outline .level-5 .n-tree-node-indent:nth-child(4),
.quiet-outline .level-6 .n-tree-node-indent:nth-child(4)
)::after {
border-right: var(--nav-indentation-guide-width) solid var(--v04832a34);
/* border-right: 2px solid rgb(45, 143, 240, 0.6); */
}
.quiet-outline .level-6 .n-tree-node-indent:nth-child(5)::after {
border-right: var(--nav-indentation-guide-width) solid var(--v04832a32);
/* border-right: 2px solid rgb(188, 1, 226, 0.6); */
}
/* located heading*/
.n-tree-node.located p {
color: var(--v1c14051a);
}
/* adjust indent */
/* .quiet-outline .n-tree .n-tree-node .n-tree-node-content {
padding-left: 0;
} */
.quiet-outline .n-tree .n-tree-node .n-tree-node-content .n-tree-node-content__prefix {
margin-right: 0;
}
.quiet-outline .n-tree .n-tree-node .n-tree-node-content .n-tree-node-content__prefix > *:last-child {
margin-right: 8px;
}
.n-tree-node-switcher__icon {
display: flex;
align-items: center;
justify-content: center;
}
/* Tab Styles */
/* Custom Style Variables */
.quiet-outline {
--custom-font-size: var(--nav-item-size);
--custom-font-family: inherit;
--custom-font-weight: inherit;
--custom-line-height: 1.6em;
--custom-line-gap: 0px;
--h1-color: inherit;
--h2-color: inherit;
--h3-color: inherit;
--h4-color: inherit;
--h5-color: inherit;
--h6-color: inherit;
}
/* ConfirmModal: improve spacing/typography for a cleaner layout */
.quiet-outline-confirm-modal {
/* Slightly increase line-height for multi-line warnings */
line-height: 1.5;
}
/* Title spacing */
.quiet-outline-confirm-modal .modal-title {
margin-bottom: 8px;
}
/* Paragraph spacing (supports multi-paragraph messages) */
.quiet-outline-confirm-modal p {
margin: 0;
}
/* Spacing between paragraphs */
.quiet-outline-confirm-modal p + p {
margin-top: 10px;
}
/* ConfirmModal: right-aligned buttons with spacing + vertically centered icons */
.quiet-outline-confirm-modal .quiet-outline-confirm-modal__buttons {
display: flex;
justify-content: flex-end;
gap: 10px;
margin-top: 14px;
}
/* Make buttons feel consistent and aligned */
.quiet-outline-confirm-modal .quiet-outline-confirm-modal__buttons button {
display: inline-flex;
align-items: center;
min-height: 30px;
}
/* Add spacing between icon and label, and keep the icon vertically centered */
.quiet-outline-confirm-modal .quiet-outline-confirm-modal__btn-icon {
display: inline-flex;
align-items: center;
justify-content: center;
margin-right: 6px;
}
/* Fix SVG baseline alignment so it appears visually centered inside the button */
.quiet-outline-confirm-modal .quiet-outline-confirm-modal__btn-icon svg {
display: block;
}
.quiet-outline-tabs {
display: flex;
border-bottom: 1px solid var(--background-modifier-border);
margin-bottom: 16px;
}
.quiet-outline-tabs button {
background: none;
border: none;
padding: 8px 16px;
cursor: pointer;
color: var(--text-muted);
border-bottom: 2px solid transparent;
transition: all 0.2s ease;
font-size: var(--font-ui-medium);
}
.quiet-outline-tabs button:hover {
color: var(--text-normal);
background-color: var(--background-modifier-hover);
}
.quiet-outline-tabs button.active {
color: var(--text-accent);
border-bottom-color: var(--text-accent);
font-weight: var(--font-semibold);
}
.quiet-outline-export-format-input {
width: 100%;
}
.quiet-outline-tab-content {
min-height: 400px;
}
.quiet-outline .n-tree {
font-size: var(--custom-font-size);
font-family: var(--custom-font-family);
font-weight: var(--custom-font-weight);
}
.quiet-outline .n-tree-node-wrapper {
padding: 0px;
}
.quiet-outline .n-tree-node.n-tree-node--selectable {
align-items: center;
}
/* heading的间距,通过行高来设置 */
/* heading line spacing */
.quiet-outline .n-tree-node .n-tree-node-content {
line-height: var(--custom-line-height);
min-height: 10px;
margin-bottom: var(--custom-line-gap);
}
.quiet-outline .n-tree-node-content__text p {
margin: 0;
}
/* ellipsis */
.quiet-outline .n-tree.ellipsis {
overflow-x: hidden;
}
.quiet-outline .n-tree.ellipsis .n-tree-node .n-tree-node-content p {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.quiet-outline .n-tree.ellipsis .n-tree-node-content__text {
overflow: hidden;
}
.quiet-outline .n-tree.ellipsis .n-tree-node-content {
overflow: hidden;
flex: 1;
}
.quiet-outline
.n-tree.n-tree--block-line
.n-tree-node:not(.n-tree-node--disabled).n-tree-node--pending {
background-color: unset;
}
/* 悬浮时的背景颜色 */
.quiet-outline
.n-tree.n-tree--block-line
.n-tree-node:not(.n-tree-node--disabled):hover {
color: var(--nav-item-color-active);
background-color: var(--nav-item-background-active);
font-weight: var(--nav-item-weight-active);
}
/* 功能栏 */
.quiet-outline .function-bar {
display: flex;
align-items: center;
padding: 0px;
margin-bottom: 5px;
}
.quiet-outline .function-bar .n-button {
margin-right: 5px;
text-align: center;
}
.quiet-outline .function-bar .n-input {
flex: 1;
min-width: 10px;
}
/* avoid <input> style overriding by theme */
.quiet-outline .function-bar input[type="text"] {
&:hover,
&:focus {
background-color: transparent;
box-shadow: none;
border: none;
}
background-color: transparent;
box-shadow: none;
border: none;
}
/* 图标大小 */
.quiet-outline .n-button__icon {
--n-icon-size: 22px;
font-size: 22px;
}
.quiet-outline .n-tree-node-content .n-input {
.n-input-wrapper {
padding: 0px;
/*padding-left: 4px;
padding-right: 4px;*/
}
.n-input__input-el {
line-height: var(--custom-line-height);
font-size: var(--custom-font-size);
height: var(--custom-line-height);
}
}
.quiet-outline code {
/* color:var(--text-color-code, var(--code-normal)); */
font-weight: bold;
/* font-size: var(--font-size-code, var(--code-size)); */
font-family: var(--font-monospace);
background-color: var(--code-background);
border-radius: var(--radius-s);
}
.quiet-outline a.tag {
white-space: nowrap;
padding: 0.2em 0.6em;
}
.quiet-outline a:not(.tag) {
color: var(--link-external-color);
}
.quiet-outline span.internal-link {
color: var(--link-color);
}
.quiet-outline mark {
background-color: var(--text-highlight-bg);
color: var(--text-normal);
}
/* ===================== */
/* 对不同级别标题进行设置 */
/* ===================== */
.n-tree .n-tree-node-switcher {
height: 0px;
}
/* 设置除一级标题之外的所有标题 */
/* setting h2-h6 */
.quiet-outline [class*="level-"]:not(.level-1) .n-tree-node-content {
/*
color: red;
font-weight:bold;
*/
font-size: 1em;
}
/* Custom font colors for different heading levels */
.quiet-outline .level-1 .n-tree-node-content {
color: var(--h1-color);
}
.quiet-outline .level-2 .n-tree-node-content {
color: var(--h2-color);
}
.quiet-outline .level-3 .n-tree-node-content {
color: var(--h3-color);
}
.quiet-outline .level-4 .n-tree-node-content {
color: var(--h4-color);
}
.quiet-outline .level-5 .n-tree-node-content {
color: var(--h5-color);
}
.quiet-outline .level-6 .n-tree-node-content {
color: var(--h6-color);
}
/* location */
.n-tree-node.located {
font-weight: bold !important;
:is(a) {
font-weight: bold !important;
}
}
/* .n-tree-node code {
font-weight: 500 !important;
} */
.n-tree-node.located code {
font-weight: 1000 !important;
}
.n-tree-node.located mjx-math {
font-weight: bold;
}
.n-tree.n-tree--block-line
.n-tree-node-wrapper
.n-tree-node:not(.n-tree-node--disabled).n-tree-node--selected {
background-color: transparent;
}
.n-tree.n-tree--block-line:focus
.n-tree-node:not(.n-tree-node--disabled).n-tree-node--selected {
box-shadow: 0 0 0 2px var(--background-modifier-border-focus);
}
.view-content:has(.quiet-outline) {
padding-bottom: 0px;
}
.quiet-outline .n-tree.n-tree--block-node.n-tree--block-line {
padding-bottom: var(--size-4-8);
}
/* 固定功能栏 */
.quiet-outline {
height: 100%;
}
.quiet-outline .n-config-provider {
display: flex;
flex-direction: column;
height: 100%;
}
.quiet-outline .n-tree {
overflow: auto;
padding-inline: 2px;
}
/*remove 'no data'*/
.n-tree__empty {
display: none;
}
/*fix content blur in canvas embed markdown*/
.canvas-node .markdown-embed-content .is-flashing {
mix-blend-mode: normal;
}
/* experimental */
/*$vite$:1*/
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1,7 +1,7 @@
{
"id": "templater-obsidian",
"name": "Templater",
"version": "2.20.4",
"version": "2.20.5",
"description": "Advanced templating and automation using handlebars-like syntax.",
"minAppVersion": "1.12.2",
"author": "SilentVoid",
+1 -2
View File
@@ -8,8 +8,7 @@ tags:
type: article
title: Rev. William Alexander And Wife Killed In Airplane Crash
url: https://gateway.okhistory.org/ark:/67531/metadc2193346/
authors:
- Robert H. Peterson
author: Robert H. Peterson
journal: Durant Daily Democrat (Durant, Okla.)
volume: 59
number: 172
+1 -1
View File
@@ -3,7 +3,7 @@ title: AACE International Canons of Ethics
tags:
- exclude-from-word-count
- type/media/other
author: AACE (Association for the Advancement of Cost Engineering) International
author: "[[aace-international]]"
url: https://web.aacei.org/about/about-aace/govdocuments
---
# AACE International Canons of Ethics
+2 -5
View File
@@ -3,11 +3,8 @@ title: On Exactitude in Science
tags:
- exclude-from-word-count
- type/media
creator:
- type: author
text: Jorge Luis Borges
- type: translator
text: Andrew Hurley
author: Jorge Luis Borges
translator: Andrew Hurley
year: 1946
---
# On Exactitude in Science
+1 -3
View File
@@ -6,9 +6,7 @@ tags:
- topic/math/statistics
- type/media/book
- exclude-from-word-count
authors:
- George E. P. Box
- Norman Richard Draper
author: George E. P. Box & Norman Richard Draper
date: 1987
---
# Empirical Model-Building and Response Surfaces
+2 -2
View File
@@ -5,8 +5,8 @@ tags:
- exclude-from-word-count
- status/complete
- type/media/poetry
authors:
- Karel Čapek
up: "[[poetry]]"
author: Karel Čapek
booktitle: "Intimate Things: Stories from Everyday Life"
language: English
origlanguage: Czech
+1 -2
View File
@@ -5,8 +5,7 @@ tags:
- exclude-from-word-count
- topic/individualism
- type/media/book
authors:
- James Clear
author: James Clear
published: 2018-10-16
type: book
---
+1 -3
View File
@@ -3,9 +3,7 @@ title: "Sham project compliance behaviour: Necessarily masking the reality of pr
tags:
- exclude-from-word-count
- type/media/article
authors:
- Eric John Darling
- Stephen Jonathan Whitty
author: Eric John Darling & Stephen Jonathan Whitty
doi: 10.1108/IJMPB-05-2019-0118
eprint: https://www.emerald.com/ijmpb/article-pdf/14/2/497/956331/ijmpb-05-2019-0118.pdf
issn: 1753-8378
+1 -2
View File
@@ -5,8 +5,7 @@ tags:
- exclude-from-word-count
- topic/software
- type/media/book
authors:
- Alan Mark Davis
author: Alan Mark Davis
date: 1990
---
# Software Requirements: Analysis and Specification
+1 -2
View File
@@ -12,8 +12,7 @@ title: _Electrical Estimators Manual_
type: book
title: Electrical Estimators Manual
subtitle: How to Estimate Electrical Construction Projects Including Everyday Labor Installation Rates
authors:
- William Penn
author: William Penn
```
## Pros
+1 -2
View File
@@ -4,8 +4,7 @@ tags:
- authorship/other
- exclude-from-word-count
- type/media/book
authors:
- Mike C. Holt
author: Mike C. Holt
pages: 234
publisher: Mike Holt Enterprises
type: book
+2
View File
@@ -1,4 +1,6 @@
---
aliases:
- Home
title: Home
tags: []
---
+37 -33
View File
@@ -1,16 +1,18 @@
---
title: "The Failure of Risk Management: Why It's Broken and How to Fix It, Second Edition"
title: The Failure of Risk Management
tags:
- authorship/other
- exclude-from-word-count
- topic/risk
- type/media/book
authors: Douglas W. Hubbard
publisher: John Wiley & Sons, Inc.
author: Douglas W. Hubbard
edition: Second
publisher: John Wiley & Sons
subtitle: Why It's Broken and How to Fix It
type: book
year: 2020
---
# The Failure of Risk Management: Why It's Broken and How to Fix It, Second Edition
# The Failure of Risk Management
%%
This note, with the exception of comments like this one
@@ -146,10 +148,10 @@ For commentary see the companion
#### A Note About Black Swans
The *exsupero ursus* fallacy is reinforced by authors of very popular books
The _exsupero ursus_ fallacy is reinforced by authors of very popular books
who seem to depend heavily on some version of the fallacy.
One such author is former Wall Street trader and mathematician Nassim Taleb.
He wrote *The Black Swan*
He wrote _The Black Swan_
and other books critical of common practice in risk management,
especially in (but not limited to) the financial world,
as well as the nonquantitative hubris of Wall Street.
@@ -168,7 +170,7 @@ he riled up one such prizewinner to the point of red-faced, fist-pounding anger.
Taleb bases a lot of his thesis on the fact that the impact of chance
is unappreciated by mostly everyone.
He sees the most significant events in history as being completely unforeseeable.
He calls these events *black swans* in reference to an old European expression
He calls these events _black swans_ in reference to an old European expression
that went something like "That's about as likely as finding a black swan."
The expression was based on the fact that no European
had ever seen a swan that was black---until Europeans traveled to Australia.
@@ -176,7 +178,7 @@ Until the first black swans were sighted, black swans were a metaphor for imposs
Taleb puts September 11, 2001, stock market crashes, major scientific discoveries,
and the rise of Google in his set of black swans.
Each event, he argues, was not only unforeseen
but *utterly unforeseeable* based on our previous experience.
but _utterly unforeseeable_ based on our previous experience.
People will routinely confuse luck with competence
and they will presume that the lack of seeing an unusual event to date
is somehow proof that the event cannot occur.
@@ -197,7 +199,7 @@ and will discuss this further in the next chapter.
I might even include Taleb as one source of inspiration
for identifying new categories of fallacies
(and giving it a Latin name in order to sound official).
Taleb coined a fallacy he refers to as the *ludic fallacy*,
Taleb coined a fallacy he refers to as the _ludic fallacy_,
derived from the Latin word for "games of chance."
Taleb defines the ludic fallacy as the assumption that the real world
necessarily follows the same rules as well-defined games of chance.
@@ -205,7 +207,7 @@ necessarily follows the same rules as well-defined games of chance.
Now, here is where Taleb errs.
He doesn't just argue that risk management is flawed.
He argues that risk management itself is impossible
and that all we can do is make ourselves *antifragile*.
and that all we can do is make ourselves _antifragile_.
I think he is just using a very different definition of risk management---
which even he uses inconsistently.
No matter what he calls it, he is promoting a particular set of (vaguely defined) methods
@@ -221,7 +223,7 @@ He focuses on particular approaches to it, but it is risk management just the sa
Confusion and inconsistency about whether managing fragility is, in practice,
part of managing risks is not the only problem in his thesis.
Taleb commits every form of the *exsupero ursus* fallacy
Taleb commits every form of the _exsupero ursus_ fallacy
throughout most of what he writes.
Specifically,
@@ -232,7 +234,7 @@ when looking for evidence of relative performance, and
(3) he presumes that a given model was even being used
when he identifies them as the culprit in major risk events.
In an interview for *Fortune* Taleb claimed,
In an interview for _Fortune_ Taleb claimed,
"No model is better than a faulty model."
Again, having no model is never an option.
One way or another, a model is being used.
@@ -286,7 +288,7 @@ Yes, the rare events---black swans---
are individually impossible to predict precisely.
But unless he can show that his alternative model (apparently his intuition)
would also have predicted such events exactly,
then he commits *exsupero ursus* when he says imperfection alone
then he commits _exsupero ursus_ when he says imperfection alone
is sufficient to prefer intuition over statistics.
In addition to Kahneman,
@@ -298,20 +300,21 @@ Now, if the objective of card counting was to predict every hand,
even the most extraordinarily rare combinations as Taleb would seem to require,
then Ed Thorp's method certainly fails.
But Ed Thorp's method works---that's why the casinos quit letting him play---
because his system resulted in better bets on average after a large number of hands.
because his system resulted in better bets on average
after a large number of hands.
Taleb is also a fan of the mathematician Benoit Mandelbrot,
who used the mathematics of *fractals* to model financial markets.
who used the mathematics of _fractals_ to model financial markets.
Similar to Thorp and Taleb,
Mandelbrot was equally unable to predict specific extraordinary events exactly,
but his models are preferred by some
because they seem to generate more realistic patterns
that look like they *could* be from real data.
that look like they _could_ be from real data.
If anecdotal evidence were sufficient to compare model performance,
one could simply point out that Taleb's investment firm, Empirica Capital LLC,
closed in 2004 after several years of mediocre returns.[^09-13]
He had one very good year in 2000 (a 60 percent return)
because while everyone else was betting on dot-com, he bet on *dot-bomb*.
because while everyone else was betting on dot-com, he bet on _dot-bomb_.
But the returns the following years were far enough below the market average
that the good times couldn't outweigh the bad for his fund.
@@ -366,19 +369,19 @@ Taleb criticizes the use of historical data in forecasts
but apparently sees no irony in his argument.
He looks at several examples in which history was a poor predictor.
In other words, he is assessing the validity of using historical examples
by using *historical examples*.
by using _historical examples_.
What Taleb and others prove with such examples
is merely that what I will call a *naive* historical analysis can be very misleading.
is merely that what I will call a _naive_ historical analysis can be very misleading.
Taleb demonstrates his point by using the example of a turkey.
The turkey had a great life right up until Thanksgiving.
So, for that turkey, history was a poor indicator.
So how is Taleb able to see this problem?
He simply looks at the larger history of turkeys.
All he is doing is using what we may call a *history of histories*,
or *meta-historical analysis*, to show how wrong naive historical analysis can be.
All he is doing is using what we may call a _history of histories_,
or _meta-historical analysis_, to show how wrong naive historical analysis can be.
The error in historical analysis in a stock price, for example,
is to look only at the history of *that* stock and only for recent history.
is to look only at the history of _that_ stock and only for recent history.
If we look at all historical analysis for a very long period of time,
we find how often naive historical analysis can be wrong.
@@ -392,8 +395,8 @@ It just doesn't happen.
Even Taleb's ludic fallacy seems to be a fallacy itself.
Sam Savage calls it the "ludic fallacy-fallacy."
As Savage describes it, we cannot rationally address real-world problems of uncertainty
"*without* first understanding the simple arithmetic of dice, cards, and spinners."
Of course, Taleb is right when he says we shouldn't *assume*
"_without_ first understanding the simple arithmetic of dice, cards, and spinners."
Of course, Taleb is right when he says we shouldn't _assume_
that we have defined any problem perfectly.
That certainly would be an error, and if that were Taleb's point, that would be valid.
But, again, whether a particular model is perfect is not the right question.
@@ -427,18 +430,19 @@ So, which one would you measure first and how much would you be willing to spend
For years, I've been computing the value of additional information on every uncertain variable in a model.
Suppose we ran ten thousand scenarios in a simulation and determined that 1,500 of these scenarios resulted in a net loss.
If we decide to go ahead with this product development, and we get one of these undesirable scenarios, the amount of money we would lose is the *opportunity loss (OL)*---the cost of making the wrong choice.
If we decide to go ahead with this product development, and we get one of these undesirable scenarios, the amount of money we would lose is the _opportunity loss (OL)_---the cost of making the wrong choice.
If we didn't lose money, then the OL was zero.
We can also have an OL if we decide not to approve the product but then find out we *could* have made money.
We can also have an OL if we decide not to approve the product but then find out we _could_ have made money.
In the case of rejecting the product, the OL is the difference between the lease and the money we made on the widgets if we would have made money---zero if the equipment did not make money (in which case we were right to reject the idea).
The *expected opportunity loss (EOL)* is each possible opportunity loss times the chance of that loss---in other words, the chance of being wrong times the cost of being wrong.
The _expected opportunity loss (EOL)_ is each possible opportunity loss times the chance of that loss---in other words, the chance of being wrong times the cost of being wrong.
In our Monte Carlo simulation, we simply average the OL for all of the scenarios.
For now, let's say that given the current level of uncertainty about this product, you still think the lease is a good idea.
So we average all 1500 scenarios the OL was positive (we lost money) and 8500 scenarios where OL was zero (me made the right choice).
Suppose we find that the EOL is about $600,000.
The EOL is equivalent to another term called the *expected value of perfect information (EVPI)*.
The EOL is equivalent to another term
called the _expected value of perfect information (EVPI)_.
The EVPI is the most you would reasonably be willing to pay if you could eliminate all uncertainty about this decision.
Although it is almost impossible to ever get perfect information and eliminate all uncertainty, this value is useful as an absolute upper bound.
If we can reduce the $600,000 EOL by half with a market survey that would cost $18,000, then the survey is probably a good deal.
@@ -451,14 +455,14 @@ From this, I've seen patterns that still persist every time I add more analysis
The two main findings are:
* Relatively few variables require further measurement---
but there are almost always *some*.
but there are almost always _some_.
* The uncertain variables with the highest EVPI
(highest value for further measurement)
tend to be those that the organization almost never measures,
*and* the variables they *have* been measuring have, on average, the lowest EVPI.
_and_ the variables they _have_ been measuring have, on average, the lowest EVPI.
I call this second finding the *measurement inversion*,
I call this second finding the _measurement inversion_,
and I've seen it in IT portfolios, military logistics, environmental policy,
venture capital, market forecasts, and every other place I've looked.
@@ -486,7 +490,7 @@ I've even seen risks estimated to be 80 percent, 90 percent,
or even 100 percent probable in the next twelve months.
At that level, that is more of a reliable cost of doing business.
Of course, cost control is also important but it's not the same as risk management.
If it is something you routinely *budget* for, it might not be the kind of risk
If it is something you routinely _budget_ for, it might not be the kind of risk
upper management needs to see in a risk assessment.
Also, as an analyst myself as well as a manager of many analysts,
@@ -707,7 +711,7 @@ by insisting the standards move in this direction.
11. Most of the fresh water on Earth is in the polar ice caps.
12. The Academy Awards ("Oscars") began over a century ago.
13. There are fewer than two hundred billionaires in the world.
14. In Excel, ^ means "take to the power of."
14. In Excel, `^` means "take to the power of."
15. The average annual salary of airline captains is over \$150,000.
16. By 1997, Bill Gates was worth more than \$10 billion.
17. Cannons were used in European warfare by the eleventh century.
+1 -4
View File
@@ -4,10 +4,7 @@ tags:
- authorship/other
- type/media/book
- exclude-from-word-count
authors:
- Douglas W. Hubbard
- Dr. Alexander Budzier
- Andreas Bang Leed
author: Douglas W. Hubbard & Dr. Alexander Budzier & 3
---
# How to Measure Anything in Project Management
+1 -2
View File
@@ -5,8 +5,7 @@ tags:
- exclude-from-word-count
- topic/strategy
- type/media/book
authors:
- Daniel Kahneman
author: Daniel Kahneman
---
# Thinking, Fast and Slow
+2 -5
View File
@@ -5,12 +5,9 @@ tags:
- exclude-from-word-count
- topic/risk
- type/media/book
authors:
- Gordon E. Willmot
- Harry H. Panjer
- Stuart A. Klugman
author: Gordon E. Willmot & Harry H. Panjer & 3
edition: Fifth
publisher: John Wiley & Sons, Inc.
publisher: John Wiley & Sons
series: Wiley Series in Probability and Statistics
subtitle: From Data to Decisions
type: book
+2 -6
View File
@@ -6,13 +6,9 @@ tags:
- authorship/other
- exclude-from-word-count
- type/media/book
authors:
- Deese, James
- Leslie, Louis A.
- Poe, Roy W.
- Zoubek, Charles E.
author: James Deese & Louis A. Leslie & Roy W. Poe & Charles E. Zoubek
edition: Second
publisher: McGraw-Hill, Inc.
publisher: McGraw-Hill
subtitle: A Personal-Use Shorthand & Integrated Instruction in How to Make Notes
type: book
year: 1968
+1 -2
View File
@@ -6,8 +6,7 @@ tags:
- status/complete
- topic/writing
- type/media/article
authors:
- Howard Phillips Lovecraft
author: Howard Phillips Lovecraft
type: article
year: 1937
up: "[[writing]]"
+1 -2
View File
@@ -3,8 +3,7 @@ title: Contract Strategies for Major Projects
tags:
- exclude-from-word-count
- type/media/book
authors:
- Edward W. Merrow
author: Edward W. Merrow
year: 2022
---
# Contract Strategies for Major Projects
+1 -2
View File
@@ -3,8 +3,7 @@ title: Pot Liquor or Potlikker?
tags:
- exclude-from-word-count
- type/media/article
authors:
- Zell Miller
author: Zell Miller
journal: New York Times
pages: "18"
source: _New York Times_, Section A, Page 18, February 23, 1982
+1 -2
View File
@@ -6,8 +6,7 @@ tags:
- topic/construction/electrical
- topic/estimating
- type/media/article
authors:
- Godwin Ashley Dilibe Offiah
author: Godwin Ashley Dilibe Offiah
date: 2017
up: "[[electrical-construction]]"
---
+1 -2
View File
@@ -5,8 +5,7 @@ tags:
- exclude-from-word-count
- status/complete
- type/media/poetry
authors:
- Maurice Ogden
author: Maurice Ogden
year: 1951
up: "[[poetry]]"
---
+1 -4
View File
@@ -3,10 +3,7 @@ title: "Hotel Design: Planning and Development, Second Edition"
tags:
- type/media/book
- exclude-from-word-count
authors:
- Lawrence Adams
- Richard Penner
- Stephani K. A. Robson
author: Lawrence Adams & Richard Penner & 3
year: 2013
---
# Hotel Design: Planning and Development, Second Edition
+1 -2
View File
@@ -5,8 +5,7 @@ tags:
- exclude-from-word-count
- status/complete
- type/media/poetry
authors:
- Al Purdy
author: Al Purdy
collection: Poems for All the Annettes
type: poem
year: 1962
+1 -2
View File
@@ -4,8 +4,7 @@ tags:
- authorship/other
- exclude-from-word-count
- type/media/poetry
authors:
- Dr. Seuss
author: Dr. Seuss
date: 1937
up: "[[poetry]]"
---
+1 -2
View File
@@ -5,8 +5,7 @@ tags:
- topic/construction/electrical
- type/media/article
- exclude-from-word-count
authors:
- David A. Snyder, PE
author: David A. Snyder, PE
year: 2020
up: "[[electrical-construction]]"
---
+1 -2
View File
@@ -6,8 +6,7 @@ tags:
- topic/math/statistics
- topic/risk
- type/media/book
authors:
- Nassim Nicholas Taleb
author: Nassim Nicholas Taleb
identifiers:
- isbn:0-8129-7521-9
- oclc:60349198
+1 -2
View File
@@ -5,8 +5,7 @@ tags:
- exclude-from-word-count
- status/complete
- type/media/poetry
authors:
- Alfred Lord Tennyson
author: Alfred Lord Tennyson
up: "[[poetry]]"
---
# Ulysses
+1 -2
View File
@@ -6,8 +6,7 @@ tags:
- authorship/other
- exclude-from-word-count
- type/media/book
authors:
- Henry David Thoreau
author: Henry David Thoreau
type: book
year: 1854
---
+57
View File
@@ -0,0 +1,57 @@
---
id: 2026-05-28T09:17:29-0400
title: 2026-05-28 09:17:29
tags: []
daily: "[[2026-05-28]]"
---
# 2026-05-28 09:17:29
## Mariposa Spa Electrical
[[303-mariposa-residence]]
~~E2.01 we have 10 pump connections~~
~~roughly near where the spa drawings put the pool equipment room~~
~~not shown on mech, plumbing, otherwise~~
~~despite Keynote 4 "SEE MECHANICAL WATER PIPING DIAGRAM FOR EXACT LOCATIONS OF PUMPS."~~
~~We could assume that these are intended for the pool equipment~~
~~and delete the takeoff.~~
> M3.00, being a diagram, does not show exact locations,
> _but does show the pumps being used for domestic water._
> (Also the diagram suggests
> that the pumps may be spread much far than implied by Electrical,
> that our takeoff may be missing a large amount of cable.)
> (Also four water heaters are shown
> which were not shown on electrical.)
SP400 shows an electrical panel Keynote 16
"NOT SHOWN ON PLANS.
PROVIDE DISCONNECTS IF PANEL IS NOT IN EQUIPMENT ROOM.
IF ELECTRICAL PANEL IS LOCATED IN EQUIPMENT ROOM,
THEN THE PANEL MUST BE NEMA-4X RATED..."
No panel schedule is provided.
SP400 Pool Equipment Room is not shown
on the Arch, Elec, Mech, or Plumbing sets.
It is not shown enclosed, even on the Spa set.
It seems like the Spa set was done last
with no coordination with other disciplines.
With no other information I'd assume PVC, LFMC, and NEMA 4X disconnects to all equipment shown on SP400
from the Garage panels.
Water Feature plans are a similar case.
> [!quote] [[josh-komis]] 2026-05-28 around 10:30 (pp.)
> Assume a single-point connection
> to a pool equipment panel.
> 100A for the spa.
> Scope for equipment downstream of the panel
> should be excluded.
Neither [[jared-defanti]] nor I am satisfied with this answer.
This would mean excluding a significant number of connections.
> [!quote] [[joel-jansen]] 2026-05-28 13:10 (pp.)
>
+1 -2
View File
@@ -7,8 +7,7 @@ tags:
- exclude-from-word-count
- topic/hobbies/reading
- type/media/book
authors:
- Gene Wolfe
author: Gene Wolfe
series: The Book of the New Sun
type: book
year: 1980
+1 -2
View File
@@ -7,8 +7,7 @@ tags:
- exclude-from-word-count
- topic/hobbies/reading
- type/media/book
authors:
- Gene Wolfe
author: Gene Wolfe
series: The Book of the New Sun
type: book
year: 1981
+1 -2
View File
@@ -7,8 +7,7 @@ tags:
- exclude-from-word-count
- topic/hobbies/reading
- type/media/book
authors:
- Gene Wolfe
author: Gene Wolfe
series: The Book of the New Sun
type: book
year: 1981
+1 -2
View File
@@ -7,8 +7,7 @@ tags:
- exclude-from-word-count
- topic/hobbies/reading
- type/media/book
authors:
- Gene Wolfe
author: Gene Wolfe
series: The Book of the New Sun
type: book
year: 1982
+1 -2
View File
@@ -7,8 +7,7 @@ tags:
- exclude-from-word-count
- topic/hobbies/reading
- type/media/book
authors:
- Gene Wolfe
author: Gene Wolfe
series: The Book of the New Sun
type: book
year: 1987