dubai commit

main
iOS 2 years ago
parent 50df64a793
commit c4ffe5e631

@ -95,6 +95,6 @@
"repelStrength": 10, "repelStrength": 10,
"linkStrength": 1, "linkStrength": 1,
"linkDistance": 250, "linkDistance": 250,
"scale": 0.19021905925912766, "scale": 0.49848494282901484,
"close": true "close": true
} }

File diff suppressed because one or more lines are too long

@ -1,7 +1,7 @@
{ {
"id": "customizable-page-header-buttons", "id": "customizable-page-header-buttons",
"name": "Customizable Page Header and Title Bar", "name": "Customizable Page Header and Title Bar",
"version": "4.3.0", "version": "4.5.0",
"minAppVersion": "0.12.19", "minAppVersion": "0.12.19",
"description": "This plugin lets you add buttons for executing commands to the page header and on desktop to the title bar.", "description": "This plugin lets you add buttons for executing commands to the page header and on desktop to the title bar.",
"author": "kometenstaub", "author": "kometenstaub",

@ -1,7 +1,7 @@
/* /*
MIT License MIT License
Copyright (c) 2021-2022 kometenstaub Copyright (c) 2021-2022 kometenstaub and contributors
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal of this software and associated documentation files (the "Software"), to deal
@ -47,4 +47,4 @@ settings:
format: px format: px
*/ */
.page-header-button.titlebar-center{flex-grow:1;font-size:12px;height:100%;left:0;letter-spacing:.05em;opacity:.8;position:absolute;text-align:center;top:0;width:100%}:not(.is-mobile) .view-actions{align-items:center}:not(.is-mobile) .view-action.pane-relief{display:flex;position:unset}:not(.is-mobile) .view-action.pane-relief.app\:go-back:before,:not(.is-mobile) .view-action.pane-relief.app\:go-forward:after{display:inline;font-size:1em;line-height:1;vertical-align:text-top}:not(.is-mobile) .view-action.pane-relief.app\:go-forward:after{content:var(--pane-relief-forward-count);padding-left:.4em}:not(.is-mobile) .view-action.pane-relief.app\:go-back:before{content:var(--pane-relief-backward-count);padding-right:.4em}:not(.is-mobile) .view-action:not(:last-child){margin-right:var(--page-header-spacing-desktop)}:not(.is-mobile) .pane-relief body:not(.no-svg-replace) svg{vertical-align:top}.is-mobile .view-action:not(:last-child){margin-right:var(--page-header-spacing-mobile)} .page-header-button.titlebar-center{flex-grow:1;font-size:12px;height:100%;left:0;letter-spacing:.05em;opacity:.8;position:absolute;text-align:center;top:0;width:100%}:not(.is-mobile) .view-actions{align-items:center}:not(.is-mobile) .view-action,:not(.is-mobile) .view-action.pane-relief{display:flex;position:unset}:not(.is-mobile) .view-action.pane-relief.app\:go-back:before,:not(.is-mobile) .view-action.pane-relief.app\:go-forward:after{display:inline;font-size:1em;line-height:1;vertical-align:text-top}:not(.is-mobile) .view-action.pane-relief.app\:go-forward:after{content:var(--pane-relief-forward-count);padding-left:.4em}:not(.is-mobile) .view-action.pane-relief.app\:go-back:before{content:var(--pane-relief-backward-count);padding-right:.4em}:not(.is-mobile) .view-action:not(:last-child){margin-right:var(--page-header-spacing-desktop)}:not(.is-mobile) .pane-relief body:not(.no-svg-replace) svg{vertical-align:top}.is-mobile .view-action:not(:last-child){margin-right:var(--page-header-spacing-mobile)}

File diff suppressed because one or more lines are too long

@ -1,7 +1,7 @@
{ {
"id": "dataview", "id": "dataview",
"name": "Dataview", "name": "Dataview",
"version": "0.5.36", "version": "0.5.38",
"minAppVersion": "0.13.11", "minAppVersion": "0.13.11",
"description": "Complex data views for the data-obsessed.", "description": "Complex data views for the data-obsessed.",
"author": "Michael Brenan <blacksmithgu@gmail.com>", "author": "Michael Brenan <blacksmithgu@gmail.com>",

@ -66,9 +66,7 @@
/*******************/ /*******************/
.dataview.inline-field-key { .dataview.inline-field-key {
border-top-left-radius: 250px; padding-left: 8px;
border-bottom-left-radius: 250px;
padding-left: 16px;
padding-right: 8px; padding-right: 8px;
font-family: var(--font-monospace); font-family: var(--font-monospace);
background-color: var(--background-primary-alt); background-color: var(--background-primary-alt);
@ -76,19 +74,16 @@
} }
.dataview.inline-field-value { .dataview.inline-field-value {
border-top-right-radius: 250px;
border-bottom-right-radius: 250px;
padding-left: 8px; padding-left: 8px;
padding-right: 16px; padding-right: 8px;
font-family: var(--font-monospace); font-family: var(--font-monospace);
background-color: var(--background-secondary-alt); background-color: var(--background-secondary-alt);
color: var(--text-nav-selected); color: var(--text-nav-selected);
} }
.dataview.inline-field-standalone-value { .dataview.inline-field-standalone-value {
border-radius: 250px; padding-left: 8px;
padding-left: 16px; padding-right: 8px;
padding-right: 16px;
font-family: var(--font-monospace); font-family: var(--font-monospace);
background-color: var(--background-secondary-alt); background-color: var(--background-secondary-alt);
color: var(--text-nav-selected); color: var(--text-nav-selected);

@ -0,0 +1,313 @@
{
"appData": {},
"state": {
"01.02 Home/@Main Dashboard.md": {
"0": {
"data": {
"headers": [
{
"id": "988cdc9a-b0fb-434d-8fe6-4b966fd790ce",
"initialIndex": 0,
"content": "6",
"sortName": "default",
"width": "100px",
"type": "text"
},
{
"id": "93641fed-7762-453b-b239-bf6832b7fcf5",
"initialIndex": 1,
"content": "",
"sortName": "default",
"width": "100px",
"type": "text"
},
{
"id": "5a25868c-0590-46e9-82f3-33137b908cf3",
"initialIndex": 2,
"content": "",
"sortName": "default",
"width": "100px",
"type": "text"
},
{
"id": "d467dbfb-a18e-48e6-822a-0997165b5084",
"initialIndex": 3,
"content": "",
"sortName": "default",
"width": "100px",
"type": "text"
},
{
"id": "12b8c2ba-bb79-4388-a20c-21b272c39552",
"initialIndex": 4,
"content": "",
"sortName": "default",
"width": "100px",
"type": "text"
},
{
"id": "4dcc7e18-5cc6-4faa-9490-08e1840d22a4",
"initialIndex": 5,
"content": "",
"sortName": "default",
"width": "100px",
"type": "text"
}
],
"rows": [
{
"id": "a4515f1d-3295-4add-8ce3-b2928998e75c",
"initialIndex": 0,
"creationTime": 1656838156183
},
{
"id": "0846b610-8a88-443a-802c-3cd287e6935c",
"initialIndex": 1,
"creationTime": 1656838156360
},
{
"id": "2f2921da-a7a6-48ae-995c-24c8e01816d9",
"initialIndex": 2,
"creationTime": 1656838155941
},
{
"id": "c42f6c45-bb57-46ee-83e3-fde0ca633646",
"initialIndex": 3,
"creationTime": 1656838155632
},
{
"id": "67c103b4-f53b-483d-8728-f2b13474d01e",
"initialIndex": 4,
"creationTime": 1656838155473
},
{
"id": "4ca02c89-87c1-4f72-bf9b-f8eaf2440c37",
"initialIndex": 5,
"creationTime": 1656838155744
}
],
"cells": [
{
"id": "dd453999-9147-42a1-8485-69b4b31b201d",
"rowId": "a4515f1d-3295-4add-8ce3-b2928998e75c",
"headerId": "988cdc9a-b0fb-434d-8fe6-4b966fd790ce",
"type": "text",
"text": "&lt;span&gt;&lt;/span&gt;"
},
{
"id": "2d966e0f-8006-4430-b74a-dad335bb03ed",
"rowId": "a4515f1d-3295-4add-8ce3-b2928998e75c",
"headerId": "93641fed-7762-453b-b239-bf6832b7fcf5",
"type": "text",
"text": "&lt;ul class=\"dataview dataview-ul dataview-result-list-ul\"&gt;&lt;li class=\"dataview-result-list-li\"&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=\"dataview-result-list-li\"&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;"
},
{
"id": "c43e5614-f74b-4921-954c-700ff6e4aa4b",
"rowId": "a4515f1d-3295-4add-8ce3-b2928998e75c",
"headerId": "5a25868c-0590-46e9-82f3-33137b908cf3",
"type": "text",
"text": "&lt;span&gt;&lt;/span&gt;"
},
{
"id": "104281a2-5915-404c-9a57-f418803265f6",
"rowId": "a4515f1d-3295-4add-8ce3-b2928998e75c",
"headerId": "d467dbfb-a18e-48e6-822a-0997165b5084",
"type": "text",
"text": "&lt;span&gt;&lt;/span&gt;"
},
{
"id": "4f98fe52-f1f7-43fa-bfd8-bbc18a1725a6",
"rowId": "a4515f1d-3295-4add-8ce3-b2928998e75c",
"headerId": "12b8c2ba-bb79-4388-a20c-21b272c39552",
"type": "text",
"text": "&lt;span&gt;&lt;/span&gt;"
},
{
"id": "4fc4a448-0a49-4c6f-bd8a-67abf60e6634",
"rowId": "0846b610-8a88-443a-802c-3cd287e6935c",
"headerId": "988cdc9a-b0fb-434d-8fe6-4b966fd790ce",
"type": "text",
"text": "&lt;span&gt;&lt;/span&gt;"
},
{
"id": "cec15449-e0fd-41f5-9b2e-0b5f9acf2aa7",
"rowId": "0846b610-8a88-443a-802c-3cd287e6935c",
"headerId": "93641fed-7762-453b-b239-bf6832b7fcf5",
"type": "text",
"text": "&lt;ul class=\"dataview dataview-ul dataview-result-list-ul\"&gt;&lt;li class=\"dataview-result-list-li\"&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=\"dataview-result-list-li\"&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=\"dataview-result-list-li\"&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;"
},
{
"id": "420fb293-c4bb-4d81-b146-ac392d3c242a",
"rowId": "0846b610-8a88-443a-802c-3cd287e6935c",
"headerId": "5a25868c-0590-46e9-82f3-33137b908cf3",
"type": "text",
"text": "&lt;span&gt;&lt;/span&gt;"
},
{
"id": "22d33f4e-fce8-4676-8fad-3ffd9c6b7698",
"rowId": "0846b610-8a88-443a-802c-3cd287e6935c",
"headerId": "d467dbfb-a18e-48e6-822a-0997165b5084",
"type": "text",
"text": "&lt;span&gt;&lt;/span&gt;"
},
{
"id": "a4bedfb5-ec7d-4e15-a84b-b4785d190f21",
"rowId": "0846b610-8a88-443a-802c-3cd287e6935c",
"headerId": "12b8c2ba-bb79-4388-a20c-21b272c39552",
"type": "text",
"text": "&lt;span&gt;&lt;/span&gt;"
},
{
"id": "948c9b4c-cdf8-4c9c-9965-6e36afe92730",
"rowId": "2f2921da-a7a6-48ae-995c-24c8e01816d9",
"headerId": "988cdc9a-b0fb-434d-8fe6-4b966fd790ce",
"type": "text",
"text": "&lt;span&gt;&lt;/span&gt;"
},
{
"id": "64069871-f8aa-4fed-9a09-36662d922058",
"rowId": "2f2921da-a7a6-48ae-995c-24c8e01816d9",
"headerId": "93641fed-7762-453b-b239-bf6832b7fcf5",
"type": "text",
"text": "&lt;ul class=\"dataview dataview-ul dataview-result-list-ul\"&gt;&lt;li class=\"dataview-result-list-li\"&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=\"dataview-result-list-li\"&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=\"dataview-result-list-li\"&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;"
},
{
"id": "c3d2fa37-5a80-4d43-924d-945b3203dc5c",
"rowId": "2f2921da-a7a6-48ae-995c-24c8e01816d9",
"headerId": "5a25868c-0590-46e9-82f3-33137b908cf3",
"type": "text",
"text": "&lt;span&gt;&lt;/span&gt;"
},
{
"id": "cdc700f2-8675-4096-b9d8-0a9d7c6f14ec",
"rowId": "2f2921da-a7a6-48ae-995c-24c8e01816d9",
"headerId": "d467dbfb-a18e-48e6-822a-0997165b5084",
"type": "text",
"text": "&lt;span&gt;&lt;/span&gt;"
},
{
"id": "119f9d39-d44a-45b9-9c68-f89213fa3344",
"rowId": "2f2921da-a7a6-48ae-995c-24c8e01816d9",
"headerId": "12b8c2ba-bb79-4388-a20c-21b272c39552",
"type": "text",
"text": "&lt;span&gt;&lt;/span&gt;"
},
{
"id": "48c9fc5e-82df-40ff-b863-a77ea3cbb21e",
"rowId": "c42f6c45-bb57-46ee-83e3-fde0ca633646",
"headerId": "988cdc9a-b0fb-434d-8fe6-4b966fd790ce",
"type": "text",
"text": "&lt;span&gt;&lt;/span&gt;"
},
{
"id": "911cfdf4-14ba-4491-9510-7ee7907485cd",
"rowId": "c42f6c45-bb57-46ee-83e3-fde0ca633646",
"headerId": "93641fed-7762-453b-b239-bf6832b7fcf5",
"type": "text",
"text": "&lt;ul class=\"dataview dataview-ul dataview-result-list-ul\"&gt;&lt;li class=\"dataview-result-list-li\"&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=\"dataview-result-list-li\"&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=\"dataview-result-list-li\"&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;"
},
{
"id": "97d3f381-0ce0-44b0-93d2-f083b619e254",
"rowId": "c42f6c45-bb57-46ee-83e3-fde0ca633646",
"headerId": "5a25868c-0590-46e9-82f3-33137b908cf3",
"type": "text",
"text": "&lt;span&gt;&lt;/span&gt;"
},
{
"id": "9b692efd-301c-484a-969e-b820074cf146",
"rowId": "c42f6c45-bb57-46ee-83e3-fde0ca633646",
"headerId": "d467dbfb-a18e-48e6-822a-0997165b5084",
"type": "text",
"text": "&lt;span&gt;&lt;/span&gt;"
},
{
"id": "ab3ae097-0f79-4235-8575-1c040a72cdc8",
"rowId": "c42f6c45-bb57-46ee-83e3-fde0ca633646",
"headerId": "12b8c2ba-bb79-4388-a20c-21b272c39552",
"type": "text",
"text": "&lt;span&gt;&lt;/span&gt;"
},
{
"id": "4aea83ed-9cc5-4f28-a153-ba5aa1fccb01",
"rowId": "67c103b4-f53b-483d-8728-f2b13474d01e",
"headerId": "988cdc9a-b0fb-434d-8fe6-4b966fd790ce",
"type": "text",
"text": "&lt;span&gt;&lt;/span&gt;"
},
{
"id": "1f2bfe95-1112-4b18-a36c-4e22ce69676f",
"rowId": "67c103b4-f53b-483d-8728-f2b13474d01e",
"headerId": "93641fed-7762-453b-b239-bf6832b7fcf5",
"type": "text",
"text": "&lt;ul class=\"dataview dataview-ul dataview-result-list-ul\"&gt;&lt;li class=\"dataview-result-list-li\"&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=\"dataview-result-list-li\"&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=\"dataview-result-list-li\"&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;"
},
{
"id": "4f148c66-5f38-42f1-a611-0f8d087b946a",
"rowId": "67c103b4-f53b-483d-8728-f2b13474d01e",
"headerId": "5a25868c-0590-46e9-82f3-33137b908cf3",
"type": "text",
"text": "&lt;span&gt;&lt;/span&gt;"
},
{
"id": "03ef235c-4ccc-4579-9436-e1ae9a886efc",
"rowId": "67c103b4-f53b-483d-8728-f2b13474d01e",
"headerId": "d467dbfb-a18e-48e6-822a-0997165b5084",
"type": "text",
"text": "&lt;span&gt;&lt;/span&gt;"
},
{
"id": "de4a3474-aa4e-44d3-9c47-0f46a3e75ce9",
"rowId": "67c103b4-f53b-483d-8728-f2b13474d01e",
"headerId": "12b8c2ba-bb79-4388-a20c-21b272c39552",
"type": "text",
"text": "&lt;span&gt;&lt;/span&gt;"
},
{
"id": "8f106fc9-cf01-4262-841c-4c80828d104d",
"rowId": "4ca02c89-87c1-4f72-bf9b-f8eaf2440c37",
"headerId": "988cdc9a-b0fb-434d-8fe6-4b966fd790ce",
"type": "text",
"text": "&lt;span&gt;&lt;/span&gt;"
},
{
"id": "c1a965c1-434d-457c-9ce1-1678d01ffa4c",
"rowId": "4ca02c89-87c1-4f72-bf9b-f8eaf2440c37",
"headerId": "93641fed-7762-453b-b239-bf6832b7fcf5",
"type": "text",
"text": "&lt;ul class=\"dataview dataview-ul dataview-result-list-ul\"&gt;&lt;li class=\"dataview-result-list-li\"&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=\"dataview-result-list-li\"&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=\"dataview-result-list-li\"&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=\"dataview-result-list-li\"&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;"
},
{
"id": "b080bcba-e90e-4d5d-99db-64773ba95713",
"rowId": "4ca02c89-87c1-4f72-bf9b-f8eaf2440c37",
"headerId": "5a25868c-0590-46e9-82f3-33137b908cf3",
"type": "text",
"text": "&lt;span&gt;&lt;/span&gt;"
},
{
"id": "29642a1f-17e2-48eb-a8cb-b228e898f9f7",
"rowId": "4ca02c89-87c1-4f72-bf9b-f8eaf2440c37",
"headerId": "d467dbfb-a18e-48e6-822a-0997165b5084",
"type": "text",
"text": "&lt;span&gt;&lt;/span&gt;"
},
{
"id": "fb1e3c6b-7a8d-437c-a8f3-2bf0a87eb3d1",
"rowId": "4ca02c89-87c1-4f72-bf9b-f8eaf2440c37",
"headerId": "12b8c2ba-bb79-4388-a20c-21b272c39552",
"type": "text",
"text": "&lt;span&gt;&lt;/span&gt;"
}
],
"tags": []
},
"shouldUpdate": false,
"viewType": "reading"
}
}
},
"focusedElement": {
"id": "-1",
"type": "unfocused"
},
"excludedFiles": []
}

File diff suppressed because it is too large Load Diff

@ -6,5 +6,5 @@
"author": "Trey Wallis", "author": "Trey Wallis",
"authorUrl": "https://github.com/trey-wallis", "authorUrl": "https://github.com/trey-wallis",
"isDesktopOnly": false, "isDesktopOnly": false,
"version": "3.5.3" "version": "4.0.0"
} }

@ -40,8 +40,6 @@
} }
/* src/app/components/Menu/styles.css */ /* src/app/components/Menu/styles.css */
.NLT__menu {
}
.NLT__menu-container { .NLT__menu-container {
position: absolute; position: absolute;
border-radius: 4px; border-radius: 4px;
@ -55,6 +53,7 @@
/* src/app/components/TextCellEdit/styles.css */ /* src/app/components/TextCellEdit/styles.css */
.NLT__textarea { .NLT__textarea {
width: 100%; width: 100%;
height: 100%;
padding: 4px 10px; padding: 4px 10px;
border: 0; border: 0;
overflow: hidden; overflow: hidden;

@ -12,8 +12,8 @@
"checkpointList": [ "checkpointList": [
{ {
"path": "/", "path": "/",
"date": "2022-06-25", "date": "2022-07-04",
"size": 5392766 "size": 5529752
} }
], ],
"activityHistory": [ "activityHistory": [
@ -686,7 +686,43 @@
}, },
{ {
"date": "2022-06-25", "date": "2022-06-25",
"value": 1218 "value": 2078
},
{
"date": "2022-06-26",
"value": 122484
},
{
"date": "2022-06-27",
"value": 1349
},
{
"date": "2022-06-28",
"value": 1033
},
{
"date": "2022-06-29",
"value": 1261
},
{
"date": "2022-06-30",
"value": 1022
},
{
"date": "2022-07-01",
"value": 5578
},
{
"date": "2022-07-02",
"value": 2255
},
{
"date": "2022-07-03",
"value": 1511
},
{
"date": "2022-07-04",
"value": 1021
} }
] ]
} }

@ -4237,12 +4237,12 @@
"00.03 News/Waiting for keys, unable to break down doors Uvalde schools police chief defends delay in confronting gunman.md": { "00.03 News/Waiting for keys, unable to break down doors Uvalde schools police chief defends delay in confronting gunman.md": {
"size": 33818, "size": 33818,
"tags": 3, "tags": 3,
"links": 1 "links": 2
}, },
"00.03 News/Dianne Feinstein, the Institutionalist.md": { "00.03 News/Dianne Feinstein, the Institutionalist.md": {
"size": 55609, "size": 55609,
"tags": 3, "tags": 3,
"links": 1 "links": 2
}, },
"00.03 News/The Follower.md": { "00.03 News/The Follower.md": {
"size": 39302, "size": 39302,
@ -4307,7 +4307,7 @@
"03.02 Travels/@@Travels.md": { "03.02 Travels/@@Travels.md": {
"size": 1653, "size": 1653,
"tags": 2, "tags": 2,
"links": 7 "links": 9
}, },
"03.02 Travels/@France.md": { "03.02 Travels/@France.md": {
"size": 1015, "size": 1015,
@ -4355,61 +4355,149 @@
"links": 2 "links": 2
}, },
"00.01 Admin/Calendars/2022-06-25.md": { "00.01 Admin/Calendars/2022-06-25.md": {
"size": 1236,
"tags": 0,
"links": 9
},
"00.01 Admin/Calendars/2022-06-26.md": {
"size": 1108, "size": 1108,
"tags": 0, "tags": 0,
"links": 4
},
"00.03 News/At 88, Poker Legend Doyle Brunson Is Still Bluffing. Or Is He.md": {
"size": 54388,
"tags": 3,
"links": 2
},
"00.03 News/Jeff Bezoss Next Monopoly The Press.md": {
"size": 38039,
"tags": 3,
"links": 2
},
"00.03 News/The Biggest Change in Media Since Cable Is Happening Right Now.md": {
"size": 25351,
"tags": 3,
"links": 2
},
"03.02 Travels/@Bahrein.md": {
"size": 1494,
"tags": 0,
"links": 1
},
"01.03 Family/Amélie Solanet.md": {
"size": 1509,
"tags": 1,
"links": 5 "links": 5
},
"00.01 Admin/Calendars/2022-06-27.md": {
"size": 1108,
"tags": 0,
"links": 4
},
"00.01 Admin/Calendars/2022-06-28.md": {
"size": 1009,
"tags": 0,
"links": 4
},
"00.01 Admin/Calendars/2022-06-29.md": {
"size": 1108,
"tags": 0,
"links": 4
},
"00.01 Admin/Calendars/2022-06-30.md": {
"size": 1108,
"tags": 0,
"links": 4
},
"00.01 Admin/Calendars/2022-07-01.md": {
"size": 1108,
"tags": 0,
"links": 6
},
"05.01 Computer setup/末 Git from the Bottom Up.md": {
"size": 4106,
"tags": 0,
"links": 1
},
"00.01 Admin/Calendars/2022-07-02.md": {
"size": 1011,
"tags": 0,
"links": 4
},
"03.02 Travels/@Dubaï.md": {
"size": 1154,
"tags": 1,
"links": 1
},
"00.01 Admin/Calendars/2022-07-03.md": {
"size": 1108,
"tags": 0,
"links": 4
},
"00.01 Admin/Calendars/2022-07-04.md": {
"size": 1108,
"tags": 0,
"links": 4
} }
}, },
"commitTypes": { "commitTypes": {
"/": { "/": {
"Refactor": 589, "Refactor": 613,
"Create": 539, "Create": 557,
"Link": 1099, "Link": 1130,
"Expand": 499 "Expand": 507
} }
}, },
"dailyCommits": { "dailyCommits": {
"/": { "/": {
"0": 56, "0": 58,
"1": 21, "1": 21,
"2": 2, "2": 3,
"3": 9, "3": 9,
"4": 12, "4": 12,
"5": 6, "5": 6,
"6": 18, "6": 18,
"7": 187, "7": 188,
"8": 289, "8": 290,
"9": 227, "9": 229,
"10": 149, "10": 154,
"11": 104, "11": 105,
"12": 122, "12": 129,
"13": 223, "13": 247,
"14": 150, "14": 162,
"15": 106, "15": 106,
"16": 96, "16": 97,
"17": 122, "17": 123,
"18": 282, "18": 282,
"19": 128, "19": 134,
"20": 121, "20": 126,
"21": 65, "21": 67,
"22": 180, "22": 190,
"23": 51 "23": 51
} }
}, },
"weeklyCommits": { "weeklyCommits": {
"/": { "/": {
"Mon": 430, "Mon": 434,
"Tue": 243, "Tue": 246,
"Wed": 264, "Wed": 268,
"Thu": 329, "Thu": 332,
"Fri": 247, "Fri": 266,
"Sat": 0, "Sat": 0,
"Sun": 1213 "Sun": 1261
} }
}, },
"recentCommits": { "recentCommits": {
"/": { "/": {
"Expanded": [ "Expanded": [
"<a class=\"internal-link\" href=\"03.02 Travels/@Dubaï.md\"> @Dubaï </a>",
"<a class=\"internal-link\" href=\"03.02 Travels/@Dubaï.md\"> @Dubaï </a>",
"<a class=\"internal-link\" href=\"03.02 Travels/@Dubaï.md\"> @Dubaï </a>",
"<a class=\"internal-link\" href=\"03.02 Travels/@Bahrein.md\"> @Bahrein </a>",
"<a class=\"internal-link\" href=\"03.02 Travels/@Bahrein.md\"> @Bahrein </a>",
"<a class=\"internal-link\" href=\"03.02 Travels/@Bahrein.md\"> @Bahrein </a>",
"<a class=\"internal-link\" href=\"03.02 Travels/Bahrein.md\"> Bahrein </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-06-25.md\"> 2022-06-25 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-06-17.md\"> 2022-06-17 </a>", "<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-06-17.md\"> 2022-06-17 </a>",
"<a class=\"internal-link\" href=\"01.02 Home/Bandes Dessinées.md\"> Bandes Dessinées </a>", "<a class=\"internal-link\" href=\"01.02 Home/Bandes Dessinées.md\"> Bandes Dessinées </a>",
"<a class=\"internal-link\" href=\"Bandes Dessinées.md\"> Bandes Dessinées </a>", "<a class=\"internal-link\" href=\"Bandes Dessinées.md\"> Bandes Dessinées </a>",
@ -4452,17 +4540,27 @@
"<a class=\"internal-link\" href=\"La Réserve.md\"> La Réserve </a>", "<a class=\"internal-link\" href=\"La Réserve.md\"> La Réserve </a>",
"<a class=\"internal-link\" href=\"01.02 Home/Household.md\"> Household </a>", "<a class=\"internal-link\" href=\"01.02 Home/Household.md\"> Household </a>",
"<a class=\"internal-link\" href=\"01.02 Home/Household.md\"> Household </a>", "<a class=\"internal-link\" href=\"01.02 Home/Household.md\"> Household </a>",
"<a class=\"internal-link\" href=\"05.02 Networks/Configuring UFW.md\"> Configuring UFW </a>", "<a class=\"internal-link\" href=\"05.02 Networks/Configuring UFW.md\"> Configuring UFW </a>"
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-29.md\"> 2022-05-29 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-28.md\"> 2022-05-28 </a>",
"<a class=\"internal-link\" href=\"06.02 Investments/Crypto Tasks.md\"> Crypto Tasks </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-26.md\"> 2022-05-26 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-06-02 Departure to London.md\"> 2022-06-02 Departure to London </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-06-05 Retour a Zurich.md\"> 2022-06-05 Retour a Zurich </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-06-02 Departure to London.md\"> 2022-06-02 Departure to London </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-25.md\"> 2022-05-25 </a>"
], ],
"Created": [ "Created": [
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-07-04.md\"> 2022-07-04 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-07-03.md\"> 2022-07-03 </a>",
"<a class=\"internal-link\" href=\"Untitled.md\"> Untitled </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-07-02.md\"> 2022-07-02 </a>",
"<a class=\"internal-link\" href=\"Untitled.md\"> Untitled </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/Git from the Bottom Up.md\"> Git from the Bottom Up </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-07-01.md\"> 2022-07-01 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-06-30.md\"> 2022-06-30 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-06-29.md\"> 2022-06-29 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-06-28.md\"> 2022-06-28 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-06-27.md\"> 2022-06-27 </a>",
"<a class=\"internal-link\" href=\"e Priso Le Bastart.md\"> e Priso Le Bastart </a>",
"<a class=\"internal-link\" href=\"01.03 Family/Séraphine Priso Le Bastart 1.md\"> Séraphine Priso Le Bastart 1 </a>",
"<a class=\"internal-link\" href=\"Bahrein.md\"> Bahrein </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/Jeff Bezoss Next Monopoly The Press.md\"> Jeff Bezoss Next Monopoly The Press </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/The Biggest Change in Media Since Cable Is Happening Right Now.md\"> The Biggest Change in Media Since Cable Is Happening Right Now </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/At 88, Poker Legend Doyle Brunson Is Still Bluffing. Or Is He.md\"> At 88, Poker Legend Doyle Brunson Is Still Bluffing. Or Is He </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-06-26.md\"> 2022-06-26 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-06-25.md\"> 2022-06-25 </a>", "<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-06-25.md\"> 2022-06-25 </a>",
"<a class=\"internal-link\" href=\"Untitled.md\"> Untitled </a>", "<a class=\"internal-link\" href=\"Untitled.md\"> Untitled </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-06-24.md\"> 2022-06-24 </a>", "<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-06-24.md\"> 2022-06-24 </a>",
@ -4495,27 +4593,30 @@
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-06-10.md\"> 2022-06-10 </a>", "<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-06-10.md\"> 2022-06-10 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-06-09.md\"> 2022-06-09 </a>", "<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-06-09.md\"> 2022-06-09 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-06-08.md\"> 2022-06-08 </a>", "<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-06-08.md\"> 2022-06-08 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-06-07.md\"> 2022-06-07 </a>", "<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-06-07.md\"> 2022-06-07 </a>"
"<a class=\"internal-link\" href=\"00.02 Inbox/Albert Camus The philosopher who resisted despair.md\"> Albert Camus The philosopher who resisted despair </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-06-06.md\"> 2022-06-06 </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/Youtube - YouTube.md\"> Youtube - YouTube </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/Riding Londons Unexpectedly Fantastic Elizabeth Line.md\"> Riding Londons Unexpectedly Fantastic Elizabeth Line </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/He was my high school journalism teacher. Then I investigated his relationships with teenage girls..md\"> He was my high school journalism teacher. Then I investigated his relationships with teenage girls. </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/Its 10 PM. Do You Know Where Your Cat Is Hakai Magazine.md\"> Its 10 PM. Do You Know Where Your Cat Is Hakai Magazine </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/The making of Prince William.md\"> The making of Prince William </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/NPR Cookie Consent and Choices.md\"> NPR Cookie Consent and Choices </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/When Cars Kill Pedestrians.md\"> When Cars Kill Pedestrians </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-06-05.md\"> 2022-06-05 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-06-04.md\"> 2022-06-04 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-06-03.md\"> 2022-06-03 </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/The Incredible True Story of Jody Harris, Con Artist Extraordinaire..md\"> The Incredible True Story of Jody Harris, Con Artist Extraordinaire. </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-06-02.md\"> 2022-06-02 </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/SPACs Are Warning They May Go Bust.md\"> SPACs Are Warning They May Go Bust </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-06-01.md\"> 2022-06-01 </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/The Women Who Ran Genghis Khans Empire.md\"> The Women Who Ran Genghis Khans Empire </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-31.md\"> 2022-05-31 </a>"
], ],
"Renamed": [ "Renamed": [
"<a class=\"internal-link\" href=\"03.02 Travels/@Dubaï.md\"> @Dubaï </a>",
"<a class=\"internal-link\" href=\"@Dubaï.md\"> @Dubaï </a>",
"<a class=\"internal-link\" href=\"05.01 Computer setup/末 Git from the Bottom Up.md\"> 末 Git from the Bottom Up </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/末 Git from the Bottom Up.md\"> 末 Git from the Bottom Up </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/末 test.md\"> 末 test </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/test.md\"> test </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/01 test.md\"> 01 test </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/•test.md\"> •test </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/$ test.md\"> $ test </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/£ test.md\"> £ test </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/~ test.md\"> ~ test </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/~test.md\"> ~test </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/!test.md\"> !test </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/¥test.md\"> ¥test </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/%test.md\"> %test </a>",
"<a class=\"internal-link\" href=\"01.03 Family/Amélie Solanet.md\"> Amélie Solanet </a>",
"<a class=\"internal-link\" href=\"03.02 Travels/@Bahrein.md\"> @Bahrein </a>",
"<a class=\"internal-link\" href=\"03.02 Travels/Bahrein.md\"> Bahrein </a>",
"<a class=\"internal-link\" href=\"00.03 News/The Biggest Change in Media Since Cable Is Happening Right Now.md\"> The Biggest Change in Media Since Cable Is Happening Right Now </a>",
"<a class=\"internal-link\" href=\"00.03 News/Jeff Bezoss Next Monopoly The Press.md\"> Jeff Bezoss Next Monopoly The Press </a>",
"<a class=\"internal-link\" href=\"00.03 News/At 88, Poker Legend Doyle Brunson Is Still Bluffing. Or Is He.md\"> At 88, Poker Legend Doyle Brunson Is Still Bluffing. Or Is He </a>",
"<a class=\"internal-link\" href=\"01.02 Home/Bandes Dessinées.md\"> Bandes Dessinées </a>", "<a class=\"internal-link\" href=\"01.02 Home/Bandes Dessinées.md\"> Bandes Dessinées </a>",
"<a class=\"internal-link\" href=\"03.02 Travels/Marseille.md\"> Marseille </a>", "<a class=\"internal-link\" href=\"03.02 Travels/Marseille.md\"> Marseille </a>",
"<a class=\"internal-link\" href=\"03.02 Travels/Arles.md\"> Arles </a>", "<a class=\"internal-link\" href=\"03.02 Travels/Arles.md\"> Arles </a>",
@ -4545,30 +4646,14 @@
"<a class=\"internal-link\" href=\"02.03 Zürich/No Idea.md\"> No Idea </a>", "<a class=\"internal-link\" href=\"02.03 Zürich/No Idea.md\"> No Idea </a>",
"<a class=\"internal-link\" href=\"02.03 Zürich/La Réserve.md\"> La Réserve </a>", "<a class=\"internal-link\" href=\"02.03 Zürich/La Réserve.md\"> La Réserve </a>",
"<a class=\"internal-link\" href=\"La Réserve.md\"> La Réserve </a>", "<a class=\"internal-link\" href=\"La Réserve.md\"> La Réserve </a>",
"<a class=\"internal-link\" href=\"00.03 News/The rise of the Strangler.md\"> The rise of the Strangler </a>", "<a class=\"internal-link\" href=\"00.03 News/The rise of the Strangler.md\"> The rise of the Strangler </a>"
"<a class=\"internal-link\" href=\"00.03 News/The Richest Black Girl in America.md\"> The Richest Black Girl in America </a>",
"<a class=\"internal-link\" href=\"00.03 News/After Christendom.md\"> After Christendom </a>",
"<a class=\"internal-link\" href=\"00.03 News/A new generation of white supremacist killer - Los Angeles Times.md\"> A new generation of white supremacist killer - Los Angeles Times </a>",
"<a class=\"internal-link\" href=\"00.03 News/A Search for Family, a Love for Horses and How It All Led to Kentucky Derby Glory.md\"> A Search for Family, a Love for Horses and How It All Led to Kentucky Derby Glory </a>",
"<a class=\"internal-link\" href=\"00.03 News/American Racism and the Buffalo Shooting.md\"> American Racism and the Buffalo Shooting </a>",
"<a class=\"internal-link\" href=\"00.03 News/Coffeezilla, the YouTuber Exposing Crypto Scams.md\"> Coffeezilla, the YouTuber Exposing Crypto Scams </a>",
"<a class=\"internal-link\" href=\"00.03 News/How Hollywoods Blockbuster Golden Boys Went Weird Los Angeles Magazine.md\"> How Hollywoods Blockbuster Golden Boys Went Weird Los Angeles Magazine </a>",
"<a class=\"internal-link\" href=\"02.02 Paris/Inavoué.md\"> Inavoué </a>",
"<a class=\"internal-link\" href=\"02.02 Paris/Chez Robert.md\"> Chez Robert </a>",
"<a class=\"internal-link\" href=\"00.03 News/The Untold Story of the White Houses Record Collection.md\"> The Untold Story of the White Houses Record Collection </a>",
"<a class=\"internal-link\" href=\"00.03 News/The Clockwork Orgasm - Common Reader.md\"> The Clockwork Orgasm - Common Reader </a>",
"<a class=\"internal-link\" href=\"00.03 News/North Korea Hacked Him. So He Took Down Its Internet.md\"> North Korea Hacked Him. So He Took Down Its Internet </a>",
"<a class=\"internal-link\" href=\"00.03 News/How a billionaires boys club came to dominate the public square.md\"> How a billionaires boys club came to dominate the public square </a>",
"<a class=\"internal-link\" href=\"00.03 News/Did Jesse James Bury Confederate Gold These Treasure Hunters Think So..md\"> Did Jesse James Bury Confederate Gold These Treasure Hunters Think So. </a>",
"<a class=\"internal-link\" href=\"00.03 News/There was an enormous amount of drugs being taken Graham Nash on groupies, feuds, divorce and ego.md\"> There was an enormous amount of drugs being taken Graham Nash on groupies, feuds, divorce and ego </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/There was an enormous amount of drugs being taken Graham Nash on groupies, feuds, divorce and ego.md\"> There was an enormous amount of drugs being taken Graham Nash on groupies, feuds, divorce and ego </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/There was an enormous amount of drugs being taken Graham Nash on groupies, feuds, divorce and ego.md\"> There was an enormous amount of drugs being taken Graham Nash on groupies, feuds, divorce and ego </a>",
"<a class=\"internal-link\" href=\"00.03 News/Are the Next Global Tennis Stars Among These Tweens.md\"> Are the Next Global Tennis Stars Among These Tweens </a>",
"<a class=\"internal-link\" href=\"00.03 News/Is Everything Falling Apart.md\"> Is Everything Falling Apart </a>",
"<a class=\"internal-link\" href=\"03.03 Food & Wine/Spiced Eggs with Tzatziki.md\"> Spiced Eggs with Tzatziki </a>",
"<a class=\"internal-link\" href=\"05.02 Networks/GitHub - onceuponBash-Oneliner A collection of handy Bash One-Liners and terminal tricks for data processing and Linux system maintenance..md\"> GitHub - onceuponBash-Oneliner A collection of handy Bash One-Liners and terminal tricks for data processing and Linux system maintenance. </a>"
], ],
"Tagged": [ "Tagged": [
"<a class=\"internal-link\" href=\"03.02 Travels/@Dubaï.md\"> @Dubaï </a>",
"<a class=\"internal-link\" href=\"01.03 Family/Amélie Solanet.md\"> Amélie Solanet </a>",
"<a class=\"internal-link\" href=\"00.03 News/At 88, Poker Legend Doyle Brunson Is Still Bluffing. Or Is He.md\"> At 88, Poker Legend Doyle Brunson Is Still Bluffing. Or Is He </a>",
"<a class=\"internal-link\" href=\"00.03 News/Jeff Bezoss Next Monopoly The Press.md\"> Jeff Bezoss Next Monopoly The Press </a>",
"<a class=\"internal-link\" href=\"00.03 News/The Biggest Change in Media Since Cable Is Happening Right Now.md\"> The Biggest Change in Media Since Cable Is Happening Right Now </a>",
"<a class=\"internal-link\" href=\"Bandes Dessinées.md\"> Bandes Dessinées </a>", "<a class=\"internal-link\" href=\"Bandes Dessinées.md\"> Bandes Dessinées </a>",
"<a class=\"internal-link\" href=\"03.02 Travels/Avignon.md\"> Avignon </a>", "<a class=\"internal-link\" href=\"03.02 Travels/Avignon.md\"> Avignon </a>",
"<a class=\"internal-link\" href=\"03.02 Travels/Avignon.md\"> Avignon </a>", "<a class=\"internal-link\" href=\"03.02 Travels/Avignon.md\"> Avignon </a>",
@ -4614,12 +4699,7 @@
"<a class=\"internal-link\" href=\"00.03 News/Are the Next Global Tennis Stars Among These Tweens.md\"> Are the Next Global Tennis Stars Among These Tweens </a>", "<a class=\"internal-link\" href=\"00.03 News/Are the Next Global Tennis Stars Among These Tweens.md\"> Are the Next Global Tennis Stars Among These Tweens </a>",
"<a class=\"internal-link\" href=\"05.02 Networks/VPS Console Dialogue.md\"> VPS Console Dialogue </a>", "<a class=\"internal-link\" href=\"05.02 Networks/VPS Console Dialogue.md\"> VPS Console Dialogue </a>",
"<a class=\"internal-link\" href=\"03.03 Food & Wine/Big Shells With Spicy Lamb Sausage and Pistachios.md\"> Big Shells With Spicy Lamb Sausage and Pistachios </a>", "<a class=\"internal-link\" href=\"03.03 Food & Wine/Big Shells With Spicy Lamb Sausage and Pistachios.md\"> Big Shells With Spicy Lamb Sausage and Pistachios </a>",
"<a class=\"internal-link\" href=\"00.03 News/Is Everything Falling Apart.md\"> Is Everything Falling Apart </a>", "<a class=\"internal-link\" href=\"00.03 News/Is Everything Falling Apart.md\"> Is Everything Falling Apart </a>"
"<a class=\"internal-link\" href=\"00.02 Inbox/Is Everything Falling Apart.md\"> Is Everything Falling Apart </a>",
"<a class=\"internal-link\" href=\"Spiced Eggs with Tzatziki.md\"> Spiced Eggs with Tzatziki </a>",
"<a class=\"internal-link\" href=\"05.02 Networks/GitHub - onceuponBash-Oneliner A collection of handy Bash One-Liners and terminal tricks for data processing and Linux system maintenance..md\"> GitHub - onceuponBash-Oneliner A collection of handy Bash One-Liners and terminal tricks for data processing and Linux system maintenance. </a>",
"<a class=\"internal-link\" href=\"00.03 News/A Crime Beyond Belief.md\"> A Crime Beyond Belief </a>",
"<a class=\"internal-link\" href=\"00.03 News/S.F. spent millions to shelter homeless in hotels. These are the disastrous results.md\"> S.F. spent millions to shelter homeless in hotels. These are the disastrous results </a>"
], ],
"Refactored": [ "Refactored": [
"<a class=\"internal-link\" href=\"01.02 Home/@Main Dashboard.md\"> @Main Dashboard </a>", "<a class=\"internal-link\" href=\"01.02 Home/@Main Dashboard.md\"> @Main Dashboard </a>",
@ -4660,9 +4740,12 @@
"<a class=\"internal-link\" href=\"02.03 Zürich/@Restaurants Zürich.md\"> @Restaurants Zürich </a>", "<a class=\"internal-link\" href=\"02.03 Zürich/@Restaurants Zürich.md\"> @Restaurants Zürich </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-06-20.md\"> 2022-06-20 </a>", "<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-06-20.md\"> 2022-06-20 </a>",
"<a class=\"internal-link\" href=\"03.02 Travels/@France.md\"> @France </a>", "<a class=\"internal-link\" href=\"03.02 Travels/@France.md\"> @France </a>",
"<a class=\"internal-link\" href=\"03.02 Travels/Avignon.md\"> Avignon </a>" "<a class=\"internal-link\" href=\"03.02 Travels/Avignon.md\"> Avignon </a>",
"<a class=\"internal-link\" href=\"03.02 Travels/Bahrein.md\"> Bahrein </a>"
], ],
"Deleted": [ "Deleted": [
"<a class=\"internal-link\" href=\"00.02 Inbox/末 test.md\"> 末 test </a>",
"<a class=\"internal-link\" href=\"e Priso Le Bastart.md\"> e Priso Le Bastart </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/NPR Cookie Consent and Choices.md\"> NPR Cookie Consent and Choices </a>", "<a class=\"internal-link\" href=\"00.02 Inbox/NPR Cookie Consent and Choices.md\"> NPR Cookie Consent and Choices </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/SPACs Are Warning They May Go Bust.md\"> SPACs Are Warning They May Go Bust </a>", "<a class=\"internal-link\" href=\"00.02 Inbox/SPACs Are Warning They May Go Bust.md\"> SPACs Are Warning They May Go Bust </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/Make the Most of Your Salads With Balsamic Honey Salad Dressing.md\"> Make the Most of Your Salads With Balsamic Honey Salad Dressing </a>", "<a class=\"internal-link\" href=\"00.02 Inbox/Make the Most of Your Salads With Balsamic Honey Salad Dressing.md\"> Make the Most of Your Salads With Balsamic Honey Salad Dressing </a>",
@ -4711,11 +4794,35 @@
"<a class=\"internal-link\" href=\"00.01 Admin/Memos/2022-01-22.md\"> 2022-01-22 </a>", "<a class=\"internal-link\" href=\"00.01 Admin/Memos/2022-01-22.md\"> 2022-01-22 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Templates/SendFile.md\"> SendFile </a>", "<a class=\"internal-link\" href=\"00.01 Admin/Templates/SendFile.md\"> SendFile </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/Digital Cover - Method Man - Essence.md\"> Digital Cover - Method Man - Essence </a>", "<a class=\"internal-link\" href=\"00.02 Inbox/Digital Cover - Method Man - Essence.md\"> Digital Cover - Method Man - Essence </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/Digital Cover - Method Man - Essence.md\"> Digital Cover - Method Man - Essence </a>", "<a class=\"internal-link\" href=\"00.02 Inbox/Digital Cover - Method Man - Essence.md\"> Digital Cover - Method Man - Essence </a>"
"<a class=\"internal-link\" href=\"00.01 Admin/Templates/ShoppingListto0.md\"> ShoppingListto0 </a>",
"<a class=\"internal-link\" href=\"00.04 IT/Wordle self hosting.md\"> Wordle self hosting </a>"
], ],
"Linked": [ "Linked": [
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-07-04.md\"> 2022-07-04 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-07-01.md\"> 2022-07-01 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-07-03.md\"> 2022-07-03 </a>",
"<a class=\"internal-link\" href=\"03.02 Travels/@Dubaï.md\"> @Dubaï </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-07-02.md\"> 2022-07-02 </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/Git from the Bottom Up.md\"> Git from the Bottom Up </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-07-01.md\"> 2022-07-01 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-06-30.md\"> 2022-06-30 </a>",
"<a class=\"internal-link\" href=\"00.03 News/Jeff Bezoss Next Monopoly The Press.md\"> Jeff Bezoss Next Monopoly The Press </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-06-29.md\"> 2022-06-29 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-06-28.md\"> 2022-06-28 </a>",
"<a class=\"internal-link\" href=\"00.03 News/At 88, Poker Legend Doyle Brunson Is Still Bluffing. Or Is He.md\"> At 88, Poker Legend Doyle Brunson Is Still Bluffing. Or Is He </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-06-27.md\"> 2022-06-27 </a>",
"<a class=\"internal-link\" href=\"01.03 Family/Amélie Solanet.md\"> Amélie Solanet </a>",
"<a class=\"internal-link\" href=\"03.02 Travels/@@Travels.md\"> @@Travels </a>",
"<a class=\"internal-link\" href=\"03.02 Travels/Bahrein.md\"> Bahrein </a>",
"<a class=\"internal-link\" href=\"00.03 News/The Biggest Change in Media Since Cable Is Happening Right Now.md\"> The Biggest Change in Media Since Cable Is Happening Right Now </a>",
"<a class=\"internal-link\" href=\"00.03 News/At 88, Poker Legend Doyle Brunson Is Still Bluffing. Or Is He.md\"> At 88, Poker Legend Doyle Brunson Is Still Bluffing. Or Is He </a>",
"<a class=\"internal-link\" href=\"00.03 News/Jeff Bezoss Next Monopoly The Press.md\"> Jeff Bezoss Next Monopoly The Press </a>",
"<a class=\"internal-link\" href=\"00.03 News/The Biggest Change in Media Since Cable Is Happening Right Now.md\"> The Biggest Change in Media Since Cable Is Happening Right Now </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-06-26.md\"> 2022-06-26 </a>",
"<a class=\"internal-link\" href=\"00.03 News/Dianne Feinstein, the Institutionalist.md\"> Dianne Feinstein, the Institutionalist </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-06-25.md\"> 2022-06-25 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-06-25.md\"> 2022-06-25 </a>",
"<a class=\"internal-link\" href=\"00.03 News/Waiting for keys, unable to break down doors Uvalde schools police chief defends delay in confronting gunman.md\"> Waiting for keys, unable to break down doors Uvalde schools police chief defends delay in confronting gunman </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-06-25.md\"> 2022-06-25 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-06-25.md\"> 2022-06-25 </a>", "<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-06-25.md\"> 2022-06-25 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-06-21.md\"> 2022-06-21 </a>", "<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-06-21.md\"> 2022-06-21 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-06-24.md\"> 2022-06-24 </a>", "<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-06-24.md\"> 2022-06-24 </a>",
@ -4740,33 +4847,7 @@
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-06-10.md\"> 2022-06-10 </a>", "<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-06-10.md\"> 2022-06-10 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-09.md\"> 2022-05-09 </a>", "<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-09.md\"> 2022-05-09 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-04-18.md\"> 2022-04-18 </a>", "<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-04-18.md\"> 2022-04-18 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-02.md\"> 2022-05-02 </a>", "<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-02.md\"> 2022-05-02 </a>"
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-06-20.md\"> 2022-06-20 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-06-20.md\"> 2022-06-20 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-06-19.md\"> 2022-06-19 </a>",
"<a class=\"internal-link\" href=\"00.03 News/Deshaun Watsons Massages Were Enabled by the Texans and a Spa Owner.md\"> Deshaun Watsons Massages Were Enabled by the Texans and a Spa Owner </a>",
"<a class=\"internal-link\" href=\"00.03 News/Two Professors Found What Creates a Mass Shooter. Will Politicians Pay Attention.md\"> Two Professors Found What Creates a Mass Shooter. Will Politicians Pay Attention </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-06-18.md\"> 2022-06-18 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-06-17.md\"> 2022-06-17 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-06-17.md\"> 2022-06-17 </a>",
"<a class=\"internal-link\" href=\"00.03 News/As El Salvadors president tries to silence free press, journalist brothers expose his ties to street gangs - Los Angeles Times.md\"> As El Salvadors president tries to silence free press, journalist brothers expose his ties to street gangs - Los Angeles Times </a>",
"<a class=\"internal-link\" href=\"00.03 News/The Follower.md\"> The Follower </a>",
"<a class=\"internal-link\" href=\"00.03 News/Hazing, fighting, sexual assaults How Valley Forge Military Academy devolved into “Lord of the Flies”.md\"> Hazing, fighting, sexual assaults How Valley Forge Military Academy devolved into “Lord of the Flies” </a>",
"<a class=\"internal-link\" href=\"00.03 News/What did the ancient Maya see in the stars Their descendants team up with scientists to find out.md\"> What did the ancient Maya see in the stars Their descendants team up with scientists to find out </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-06-16.md\"> 2022-06-16 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-06-15.md\"> 2022-06-15 </a>",
"<a class=\"internal-link\" href=\"00.03 News/As El Salvadors president tries to silence free press, journalist brothers expose his ties to street gangs - Los Angeles Times.md\"> As El Salvadors president tries to silence free press, journalist brothers expose his ties to street gangs - Los Angeles Times </a>",
"<a class=\"internal-link\" href=\"00.03 News/Two Professors Found What Creates a Mass Shooter. Will Politicians Pay Attention.md\"> Two Professors Found What Creates a Mass Shooter. Will Politicians Pay Attention </a>",
"<a class=\"internal-link\" href=\"00.03 News/Hazing, fighting, sexual assaults How Valley Forge Military Academy devolved into “Lord of the Flies”.md\"> Hazing, fighting, sexual assaults How Valley Forge Military Academy devolved into “Lord of the Flies” </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/What did the ancient Maya see in the stars Their descendants team up with scientists to find out.md\"> What did the ancient Maya see in the stars Their descendants team up with scientists to find out </a>",
"<a class=\"internal-link\" href=\"00.03 News/Dianne Feinstein, the Institutionalist.md\"> Dianne Feinstein, the Institutionalist </a>",
"<a class=\"internal-link\" href=\"00.03 News/The Follower.md\"> The Follower </a>",
"<a class=\"internal-link\" href=\"00.03 News/Deshaun Watsons Massages Were Enabled by the Texans and a Spa Owner.md\"> Deshaun Watsons Massages Were Enabled by the Texans and a Spa Owner </a>",
"<a class=\"internal-link\" href=\"00.03 News/Waiting for keys, unable to break down doors Uvalde schools police chief defends delay in confronting gunman.md\"> Waiting for keys, unable to break down doors Uvalde schools police chief defends delay in confronting gunman </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-06-14.md\"> 2022-06-14 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-06-13.md\"> 2022-06-13 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-06-12.md\"> 2022-06-12 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-06-11.md\"> 2022-06-11 </a>"
], ],
"Removed Tags from": [ "Removed Tags from": [
"<a class=\"internal-link\" href=\"06.02 Investments/Le Miel de Paris.md\"> Le Miel de Paris </a>", "<a class=\"internal-link\" href=\"06.02 Investments/Le Miel de Paris.md\"> Le Miel de Paris </a>",

@ -1635,7 +1635,7 @@ var createPopper = /* @__PURE__ */ popperGenerator({
var pluginName = "obsidian-media-db-plugin"; var pluginName = "obsidian-media-db-plugin";
var contactEmail = "m.projects.code@gmail.com"; var contactEmail = "m.projects.code@gmail.com";
var mediaDbTag = "mediaDB"; var mediaDbTag = "mediaDB";
var mediaDbVersion = "0.3.0"; var mediaDbVersion = "0.3.1";
var debug = false; var debug = false;
function wrapAround(value, size) { function wrapAround(value, size) {
return (value % size + size) % size; return (value % size + size) % size;
@ -1936,8 +1936,10 @@ var FileSuggest = class extends TextInputSuggest {
// src/settings/Settings.ts // src/settings/Settings.ts
var DEFAULT_SETTINGS = { var DEFAULT_SETTINGS = {
folder: "Media DB", folder: "Media DB",
sfwFilter: true,
OMDbKey: "", OMDbKey: "",
sfwFilter: true,
useCustomYamlStringifier: true,
templates: true,
movieTemplate: "", movieTemplate: "",
seriesTemplate: "", seriesTemplate: "",
gameTemplate: "", gameTemplate: "",
@ -1952,8 +1954,7 @@ var DEFAULT_SETTINGS = {
seriesPropertyConversionRules: "", seriesPropertyConversionRules: "",
gamePropertyConversionRules: "", gamePropertyConversionRules: "",
wikiPropertyConversionRules: "", wikiPropertyConversionRules: "",
musicReleasePropertyConversionRules: "", musicReleasePropertyConversionRules: ""
templates: true
}; };
var MediaDbSettingTab = class extends import_obsidian4.PluginSettingTab { var MediaDbSettingTab = class extends import_obsidian4.PluginSettingTab {
constructor(app, plugin) { constructor(app, plugin) {
@ -1983,6 +1984,12 @@ var MediaDbSettingTab = class extends import_obsidian4.PluginSettingTab {
this.plugin.saveSettings(); this.plugin.saveSettings();
}); });
}); });
new import_obsidian4.Setting(containerEl).setName("YAML formatter").setDesc("Add optional quotation marks around strings in the metadata block.").addToggle((cb) => {
cb.setValue(this.plugin.settings.useCustomYamlStringifier).onChange((data) => {
this.plugin.settings.useCustomYamlStringifier = data;
this.plugin.saveSettings();
});
});
new import_obsidian4.Setting(containerEl).setName("Resolve {{ tags }} in templates").setDesc("Whether to resolve {{ tags }} in templates. The spaces inside the curly braces are important.").addToggle((cb) => { new import_obsidian4.Setting(containerEl).setName("Resolve {{ tags }} in templates").setDesc("Whether to resolve {{ tags }} in templates. The spaces inside the curly braces are important.").addToggle((cb) => {
cb.setValue(this.plugin.settings.templates).onChange((data) => { cb.setValue(this.plugin.settings.templates).onChange((data) => {
this.plugin.settings.templates = data; this.plugin.settings.templates = data;
@ -2591,17 +2598,20 @@ var SelectModal = class extends import_obsidian6.Modal {
} }
onOpen() { onOpen() {
return __async(this, null, function* () { return __async(this, null, function* () {
var _a;
const { contentEl } = this; const { contentEl } = this;
contentEl.createEl("h2", { text: this.title }); contentEl.createEl("h2", { text: this.title });
contentEl.createEl("p", { text: this.description }); contentEl.createEl("p", { text: this.description });
contentEl.addClass("media-db-plugin-select-modal");
const elementWrapper = contentEl.createDiv({ cls: "media-db-plugin-select-wrapper" }); const elementWrapper = contentEl.createDiv({ cls: "media-db-plugin-select-wrapper" });
let i = 0; let i = 0;
for (const element of this.elements) { for (const element of this.elements) {
const selectModalElement = new SelectModalElement(element, contentEl, i, this, false); const selectModalElement = new SelectModalElement(element, elementWrapper, i, this, false);
this.selectModalElements.push(selectModalElement); this.selectModalElements.push(selectModalElement);
this.renderElement(element, selectModalElement.element); this.renderElement(element, selectModalElement.element);
i += 1; i += 1;
} }
(_a = this.selectModalElements.first()) == null ? void 0 : _a.element.scrollIntoView();
const bottomSetting = new import_obsidian6.Setting(contentEl); const bottomSetting = new import_obsidian6.Setting(contentEl);
bottomSetting.addButton((btn) => btn.setButtonText("Cancel").onClick(() => this.close())); bottomSetting.addButton((btn) => btn.setButtonText("Cancel").onClick(() => this.close()));
if (this.skipButton) { if (this.skipButton) {
@ -2703,7 +2713,7 @@ var MALAPI = class extends APIModel {
} }
searchByTitle(title) { searchByTitle(title) {
return __async(this, null, function* () { return __async(this, null, function* () {
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l; var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s;
console.log(`MDB | api "${this.apiName}" queried by Title`); console.log(`MDB | api "${this.apiName}" queried by Title`);
const searchUrl = `https://api.jikan.moe/v4/anime?q=${encodeURIComponent(title)}&limit=20${this.plugin.settings.sfwFilter ? "&sfw" : ""}`; const searchUrl = `https://api.jikan.moe/v4/anime?q=${encodeURIComponent(title)}&limit=20${this.plugin.settings.sfwFilter ? "&sfw" : ""}`;
const fetchData = yield fetch(searchUrl); const fetchData = yield fetch(searchUrl);
@ -2715,25 +2725,32 @@ var MALAPI = class extends APIModel {
debugLog(data); debugLog(data);
let ret = []; let ret = [];
for (const result of data.data) { for (const result of data.data) {
const type = this.typeMappings.get(result.type.toLowerCase()); const type = this.typeMappings.get((_a = result.type) == null ? void 0 : _a.toLowerCase());
if (type === void 0) { if (type === void 0) {
continue; ret.push(new MovieModel({
subType: "",
title: result.title,
englishTitle: (_b = result.title_english) != null ? _b : result.title,
year: (_g = (_f = result.year) != null ? _f : (_e = (_d = (_c = result.aired) == null ? void 0 : _c.prop) == null ? void 0 : _d.from) == null ? void 0 : _e.year) != null ? _g : "",
dataSource: this.apiName,
id: result.mal_id
}));
} }
if (type === "movie" || type === "special") { if (type === "movie" || type === "special") {
ret.push(new MovieModel({ ret.push(new MovieModel({
type, subType: type,
title: result.title, title: result.title,
englishTitle: (_a = result.title_english) != null ? _a : result.title, englishTitle: (_h = result.title_english) != null ? _h : result.title,
year: (_f = (_e = result.year) != null ? _e : (_d = (_c = (_b = result.aired) == null ? void 0 : _b.prop) == null ? void 0 : _c.from) == null ? void 0 : _d.year) != null ? _f : "", year: (_m = (_l = result.year) != null ? _l : (_k = (_j = (_i = result.aired) == null ? void 0 : _i.prop) == null ? void 0 : _j.from) == null ? void 0 : _k.year) != null ? _m : "",
dataSource: this.apiName, dataSource: this.apiName,
id: result.mal_id id: result.mal_id
})); }));
} else if (type === "series" || type === "ova") { } else if (type === "series" || type === "ova") {
ret.push(new SeriesModel({ ret.push(new SeriesModel({
type, subType: type,
title: result.title, title: result.title,
englishTitle: (_g = result.title_english) != null ? _g : result.title, englishTitle: (_n = result.title_english) != null ? _n : result.title,
year: (_l = (_k = result.year) != null ? _k : (_j = (_i = (_h = result.aired) == null ? void 0 : _h.prop) == null ? void 0 : _i.from) == null ? void 0 : _j.year) != null ? _l : "", year: (_s = (_r = result.year) != null ? _r : (_q = (_p = (_o = result.aired) == null ? void 0 : _o.prop) == null ? void 0 : _p.from) == null ? void 0 : _q.year) != null ? _s : "",
dataSource: this.apiName, dataSource: this.apiName,
id: result.mal_id id: result.mal_id
})); }));
@ -2744,7 +2761,7 @@ var MALAPI = class extends APIModel {
} }
getById(id) { getById(id) {
return __async(this, null, function* () { return __async(this, null, function* () {
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _A, _B, _C, _D, _E, _F, _G, _H, _I, _J; var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _A, _B, _C, _D, _E, _F, _G, _H, _I, _J, _K, _L, _M, _N, _O, _P, _Q, _R, _S, _T, _U, _V, _W, _X, _Y, _Z, __, _$;
console.log(`MDB | api "${this.apiName}" queried by ID`); console.log(`MDB | api "${this.apiName}" queried by ID`);
const searchUrl = `https://api.jikan.moe/v4/anime/${encodeURIComponent(id)}`; const searchUrl = `https://api.jikan.moe/v4/anime/${encodeURIComponent(id)}`;
const fetchData = yield fetch(searchUrl); const fetchData = yield fetch(searchUrl);
@ -2754,26 +2771,47 @@ var MALAPI = class extends APIModel {
const data = yield fetchData.json(); const data = yield fetchData.json();
debugLog(data); debugLog(data);
const result = data.data; const result = data.data;
const type = this.typeMappings.get(result.type.toLowerCase()); const type = this.typeMappings.get((_a = result.type) == null ? void 0 : _a.toLowerCase());
if (type === void 0) { if (type === void 0) {
throw Error(`${result.type.toLowerCase()} is an unsupported type.`); const model = new MovieModel({
subType: "",
title: result.title,
englishTitle: (_b = result.title_english) != null ? _b : result.title,
year: (_g = (_f = result.year) != null ? _f : (_e = (_d = (_c = result.aired) == null ? void 0 : _c.prop) == null ? void 0 : _d.from) == null ? void 0 : _e.year) != null ? _g : "",
dataSource: this.apiName,
url: result.url,
id: result.mal_id,
genres: (_i = (_h = result.genres) == null ? void 0 : _h.map((x) => x.name)) != null ? _i : [],
producer: (_k = (_j = result.studios) == null ? void 0 : _j.map((x) => x.name).join(", ")) != null ? _k : "unknown",
duration: (_l = result.duration) != null ? _l : "unknown",
onlineRating: (_m = result.score) != null ? _m : 0,
image: (_p = (_o = (_n = result.images) == null ? void 0 : _n.jpg) == null ? void 0 : _o.image_url) != null ? _p : "",
released: true,
premiere: (_r = new Date((_q = result.aired) == null ? void 0 : _q.from).toLocaleDateString()) != null ? _r : "unknown",
userData: {
watched: false,
lastWatched: "",
personalRating: 0
}
});
return model;
} }
if (type === "movie" || type === "special") { if (type === "movie" || type === "special") {
const model = new MovieModel({ const model = new MovieModel({
type, subType: type,
title: result.title, title: result.title,
englishTitle: (_a = result.title_english) != null ? _a : result.title, englishTitle: (_s = result.title_english) != null ? _s : result.title,
year: (_f = (_e = result.year) != null ? _e : (_d = (_c = (_b = result.aired) == null ? void 0 : _b.prop) == null ? void 0 : _c.from) == null ? void 0 : _d.year) != null ? _f : "", year: (_x = (_w = result.year) != null ? _w : (_v = (_u = (_t = result.aired) == null ? void 0 : _t.prop) == null ? void 0 : _u.from) == null ? void 0 : _v.year) != null ? _x : "",
dataSource: this.apiName, dataSource: this.apiName,
url: result.url, url: result.url,
id: result.mal_id, id: result.mal_id,
genres: (_h = (_g = result.genres) == null ? void 0 : _g.map((x) => x.name)) != null ? _h : [], genres: (_z = (_y = result.genres) == null ? void 0 : _y.map((x) => x.name)) != null ? _z : [],
producer: (_j = (_i = result.studios) == null ? void 0 : _i.map((x) => x.name).join(", ")) != null ? _j : "unknown", producer: (_B = (_A = result.studios) == null ? void 0 : _A.map((x) => x.name).join(", ")) != null ? _B : "unknown",
duration: (_k = result.duration) != null ? _k : "unknown", duration: (_C = result.duration) != null ? _C : "unknown",
onlineRating: (_l = result.score) != null ? _l : 0, onlineRating: (_D = result.score) != null ? _D : 0,
image: (_o = (_n = (_m = result.images) == null ? void 0 : _m.jpg) == null ? void 0 : _n.image_url) != null ? _o : "", image: (_G = (_F = (_E = result.images) == null ? void 0 : _E.jpg) == null ? void 0 : _F.image_url) != null ? _G : "",
released: true, released: true,
premiere: (_q = new Date((_p = result.aired) == null ? void 0 : _p.from).toLocaleDateString()) != null ? _q : "unknown", premiere: (_I = new Date((_H = result.aired) == null ? void 0 : _H.from).toLocaleDateString()) != null ? _I : "unknown",
userData: { userData: {
watched: false, watched: false,
lastWatched: "", lastWatched: "",
@ -2783,22 +2821,22 @@ var MALAPI = class extends APIModel {
return model; return model;
} else if (type === "series" || type === "ova") { } else if (type === "series" || type === "ova") {
const model = new SeriesModel({ const model = new SeriesModel({
type, subType: type,
title: result.title, title: result.title,
englishTitle: (_r = result.title_english) != null ? _r : result.title, englishTitle: (_J = result.title_english) != null ? _J : result.title,
year: (_w = (_v = result.year) != null ? _v : (_u = (_t = (_s = result.aired) == null ? void 0 : _s.prop) == null ? void 0 : _t.from) == null ? void 0 : _u.year) != null ? _w : "", year: (_O = (_N = result.year) != null ? _N : (_M = (_L = (_K = result.aired) == null ? void 0 : _K.prop) == null ? void 0 : _L.from) == null ? void 0 : _M.year) != null ? _O : "",
dataSource: this.apiName, dataSource: this.apiName,
url: result.url, url: result.url,
id: result.mal_id, id: result.mal_id,
genres: (_y = (_x = result.genres) == null ? void 0 : _x.map((x) => x.name)) != null ? _y : [], genres: (_Q = (_P = result.genres) == null ? void 0 : _P.map((x) => x.name)) != null ? _Q : [],
studios: (_A = (_z = result.studios) == null ? void 0 : _z.map((x) => x.name)) != null ? _A : [], studios: (_S = (_R = result.studios) == null ? void 0 : _R.map((x) => x.name)) != null ? _S : [],
episodes: result.episodes, episodes: result.episodes,
duration: (_B = result.duration) != null ? _B : "unknown", duration: (_T = result.duration) != null ? _T : "unknown",
onlineRating: (_C = result.score) != null ? _C : 0, onlineRating: (_U = result.score) != null ? _U : 0,
image: (_F = (_E = (_D = result.images) == null ? void 0 : _D.jpg) == null ? void 0 : _E.image_url) != null ? _F : "", image: (_X = (_W = (_V = result.images) == null ? void 0 : _V.jpg) == null ? void 0 : _W.image_url) != null ? _X : "",
released: true, released: true,
airedFrom: (_H = new Date((_G = result.aired) == null ? void 0 : _G.from).toLocaleDateString()) != null ? _H : "unknown", airedFrom: (_Z = new Date((_Y = result.aired) == null ? void 0 : _Y.from).toLocaleDateString()) != null ? _Z : "unknown",
airedTo: (_J = new Date((_I = result.aired) == null ? void 0 : _I.to).toLocaleDateString()) != null ? _J : "unknown", airedTo: (_$ = new Date((__ = result.aired) == null ? void 0 : __.to).toLocaleDateString()) != null ? _$ : "unknown",
airing: result.airing, airing: result.airing,
userData: { userData: {
watched: false, watched: false,
@ -3099,7 +3137,7 @@ var MediaTypeManager = class {
getFileName(mediaTypeModel) { getFileName(mediaTypeModel) {
return replaceTags(this.mediaFileNameTemplateMap.get(mediaTypeModel.getMediaType()), mediaTypeModel); return replaceTags(this.mediaFileNameTemplateMap.get(mediaTypeModel.getMediaType()), mediaTypeModel);
} }
getContent(mediaTypeModel, app) { getTemplate(mediaTypeModel, app) {
return __async(this, null, function* () { return __async(this, null, function* () {
const templateFileName = this.mediaTemplateMap.get(mediaTypeModel.getMediaType()); const templateFileName = this.mediaTemplateMap.get(mediaTypeModel.getMediaType());
if (!templateFileName) { if (!templateFileName) {
@ -3396,7 +3434,7 @@ var MediaDbFolderImportModal = class extends import_obsidian10.Modal {
const appendContentToggleElementWrapper = contentEl.createEl("div", { cls: "media-db-plugin-list-wrapper" }); const appendContentToggleElementWrapper = contentEl.createEl("div", { cls: "media-db-plugin-list-wrapper" });
const appendContentToggleTextWrapper = appendContentToggleElementWrapper.createEl("div", { cls: "media-db-plugin-list-text-wrapper" }); const appendContentToggleTextWrapper = appendContentToggleElementWrapper.createEl("div", { cls: "media-db-plugin-list-text-wrapper" });
appendContentToggleTextWrapper.createEl("span", { appendContentToggleTextWrapper.createEl("span", {
text: "If this is enabled, the plugin will override meta data fields with the same name.", text: "If this is enabled, the plugin will override metadata fields with the same name.",
cls: "media-db-plugin-list-text" cls: "media-db-plugin-list-text"
}); });
const appendContentToggleComponentWrapper = appendContentToggleElementWrapper.createEl("div", { cls: "media-db-plugin-list-toggle" }); const appendContentToggleComponentWrapper = appendContentToggleElementWrapper.createEl("div", { cls: "media-db-plugin-list-toggle" });
@ -3405,7 +3443,7 @@ var MediaDbFolderImportModal = class extends import_obsidian10.Modal {
appendContentToggle.onChange((value) => this.appendContent = value); appendContentToggle.onChange((value) => this.appendContent = value);
appendContentToggleComponentWrapper.appendChild(appendContentToggle.toggleEl); appendContentToggleComponentWrapper.appendChild(appendContentToggle.toggleEl);
contentEl.createDiv({ cls: "media-db-plugin-spacer" }); contentEl.createDiv({ cls: "media-db-plugin-spacer" });
contentEl.createEl("h3", { text: "The name of the mata data field that should be used as the title to query" }); contentEl.createEl("h3", { text: "The name of the metadata field that should be used as the title to query." });
const placeholder = "title"; const placeholder = "title";
const titleFieldNameComponent = new import_obsidian10.TextComponent(contentEl); const titleFieldNameComponent = new import_obsidian10.TextComponent(contentEl);
titleFieldNameComponent.inputEl.style.width = "100%"; titleFieldNameComponent.inputEl.style.width = "100%";
@ -3497,30 +3535,13 @@ var MediaDbPlugin = class extends import_obsidian11.Plugin {
return __async(this, null, function* () { return __async(this, null, function* () {
try { try {
console.log("MDB | Creating new note..."); console.log("MDB | Creating new note...");
let metadata = this.modelPropertyMapper.convertObject(mediaTypeModel.toMetaDataObject()); let fileMetadata = this.modelPropertyMapper.convertObject(mediaTypeModel.toMetaDataObject());
if (attachFile) { let fileContent = "";
let attachFileMetadata = this.app.metadataCache.getFileCache(attachFile).frontmatter; ({ fileMetadata, fileContent } = yield this.attachFile(fileMetadata, fileContent, attachFile));
if (attachFileMetadata) { ({ fileMetadata, fileContent } = yield this.attachTemplate(fileMetadata, fileContent, yield this.mediaTypeManager.getTemplate(mediaTypeModel, this.app)));
attachFileMetadata = JSON.parse(JSON.stringify(attachFileMetadata)); fileContent = `---
delete attachFileMetadata.position; ${this.settings.useCustomYamlStringifier ? YAMLConverter.toYaml(fileMetadata) : (0, import_obsidian11.stringifyYaml)(fileMetadata)}---
} else { ` + fileContent;
attachFileMetadata = {};
}
metadata = Object.assign(attachFileMetadata, metadata);
}
debugLog(metadata);
let fileContent = `---
${YAMLConverter.toYaml(metadata)}---
`;
if (this.settings.templates) {
fileContent += yield this.mediaTypeManager.getContent(mediaTypeModel, this.app);
}
if (attachFile) {
let attachFileContent = yield this.app.vault.read(attachFile);
const regExp = new RegExp("^(---)\\n[\\s\\S]*\\n---");
attachFileContent = attachFileContent.replace(regExp, "");
fileContent += "\n\n" + attachFileContent;
}
yield this.createNote(this.mediaTypeManager.getFileName(mediaTypeModel), fileContent); yield this.createNote(this.mediaTypeManager.getFileName(mediaTypeModel), fileContent);
} catch (e) { } catch (e) {
console.warn(e); console.warn(e);
@ -3528,6 +3549,58 @@ ${YAMLConverter.toYaml(metadata)}---
} }
}); });
} }
attachFile(fileMetadata, fileContent, fileToAttach) {
return __async(this, null, function* () {
if (!fileToAttach) {
return { fileMetadata, fileContent };
}
let attachFileMetadata = this.app.metadataCache.getFileCache(fileToAttach).frontmatter;
if (attachFileMetadata) {
attachFileMetadata = JSON.parse(JSON.stringify(attachFileMetadata));
delete attachFileMetadata.position;
} else {
attachFileMetadata = {};
}
fileMetadata = Object.assign(attachFileMetadata, fileMetadata);
let attachFileContent = yield this.app.vault.read(fileToAttach);
const regExp = new RegExp("^(---)\\n[\\s\\S]*\\n---");
attachFileContent = attachFileContent.replace(regExp, "");
fileContent += "\n" + attachFileContent;
return { fileMetadata, fileContent };
});
}
attachTemplate(fileMetadata, fileContent, template) {
return __async(this, null, function* () {
if (!template) {
return { fileMetadata, fileContent };
}
let templateMetadata = this.getMetaDataFromFileContent(template);
fileMetadata = Object.assign(templateMetadata, fileMetadata);
const regExp = new RegExp("^(---)\\n[\\s\\S]*\\n---");
const attachFileContent = template.replace(regExp, "");
fileContent += "\n" + attachFileContent;
return { fileMetadata, fileContent };
});
}
getMetaDataFromFileContent(fileContent) {
let metadata;
const regExp = new RegExp("^(---)\\n[\\s\\S]*\\n---");
const frontMatterRegExpResult = regExp.exec(fileContent);
if (!frontMatterRegExpResult) {
return {};
}
let frontMatter = frontMatterRegExpResult[0];
if (!frontMatter) {
return {};
}
frontMatter = frontMatter.substring(4);
frontMatter = frontMatter.substring(0, frontMatter.length - 3);
metadata = (0, import_obsidian11.parseYaml)(frontMatter);
if (!metadata) {
metadata = {};
}
return metadata;
}
createNote(fileName, fileContent, openFile = false) { createNote(fileName, fileContent, openFile = false) {
return __async(this, null, function* () { return __async(this, null, function* () {
fileName = replaceIllegalFileNameCharactersInString(fileName); fileName = replaceIllegalFileNameCharactersInString(fileName);

@ -1,7 +1,7 @@
{ {
"id": "obsidian-media-db-plugin", "id": "obsidian-media-db-plugin",
"name": "Media DB Plugin", "name": "Media DB Plugin",
"version": "0.3.0", "version": "0.3.1",
"minAppVersion": "0.14.0", "minAppVersion": "0.14.0",
"description": "A plugin that can query multiple APIs for movies, series, anime, games, music and wiki articles, and import them into your vault.", "description": "A plugin that can query multiple APIs for movies, series, anime, games, music and wiki articles, and import them into your vault.",
"author": "Moritz Jung", "author": "Moritz Jung",

@ -22,8 +22,15 @@ small.media-db-plugin-list-text{
color: var(--text-muted); color: var(--text-muted);
} }
.media-db-plugin-select-modal {
display: flex;
flex-direction: column;
}
.media-db-plugin-select-wrapper { .media-db-plugin-select-wrapper {
margin: 5px; margin: 5px;
flex: 1;
overflow-y: auto;
} }
.media-db-plugin-select-element { .media-db-plugin-select-element {

@ -6,10 +6,7 @@
"darkStyle": "minimal-dark", "darkStyle": "minimal-dark",
"lightScheme": "minimal-things-light", "lightScheme": "minimal-things-light",
"darkScheme": "minimal-things-dark", "darkScheme": "minimal-things-dark",
"uiFont": "-apple-system,BlinkMacSystemFont,\"Segoe UI Emoji\",\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,sans-serif",
"textFont": "Inter",
"editorFont": "Inter", "editorFont": "Inter",
"monoFont": "Menlo,SFMono-Regular,Consolas,Roboto Mono,monospace",
"lineHeight": 1.5, "lineHeight": 1.5,
"lineWidth": 40, "lineWidth": 40,
"lineWidthWide": 50, "lineWidthWide": 50,
@ -22,6 +19,8 @@
"imgWidth": "img-default-width", "imgWidth": "img-default-width",
"tableWidth": "table-default-width", "tableWidth": "table-default-width",
"iframeWidth": "iframe-default-width", "iframeWidth": "iframe-default-width",
"mapWidth": "map-default-width",
"chartWidth": "chart-default-width",
"colorfulHeadings": true, "colorfulHeadings": true,
"minimalIcons": true, "minimalIcons": true,
"colorfulActiveStates": true, "colorfulActiveStates": true,
@ -40,5 +39,8 @@
"folding": true, "folding": true,
"lineNumbers": false, "lineNumbers": false,
"readableLineLength": true, "readableLineLength": true,
"devBlockWidth": false "devBlockWidth": false,
"uiFont": "-apple-system,BlinkMacSystemFont,\"Segoe UI Emoji\",\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,sans-serif",
"textFont": "Inter",
"monoFont": "Menlo,SFMono-Regular,Consolas,Roboto Mono,monospace"
} }

File diff suppressed because one or more lines are too long

@ -1,8 +1,8 @@
{ {
"id": "obsidian-minimal-settings", "id": "obsidian-minimal-settings",
"name": "Minimal Theme Settings", "name": "Minimal Theme Settings",
"version": "5.2.8", "version": "5.3.2",
"minAppVersion": "0.10.1", "minAppVersion": "0.14.15",
"description": "Change the colors, fonts and features of Minimal Theme.", "description": "Change the colors, fonts and features of Minimal Theme.",
"author": "@kepano", "author": "@kepano",
"authorUrl": "https://www.twitter.com/kepano", "authorUrl": "https://www.twitter.com/kepano",

@ -2,41 +2,41 @@
"scanned": true, "scanned": true,
"reminders": { "reminders": {
"05.01 Computer setup/Storage and Syncing.md": [ "05.01 Computer setup/Storage and Syncing.md": [
{
"title": ":cloud: [[Storage and Syncing|Storage & Sync]]: Backup Volumes to [[Sync|Sync.com]]",
"time": "2022-06-13",
"rowNumber": 197
},
{
"title": "[[Storage and Syncing|Storage & Sync]]: Backup Standard Notes (PC)",
"time": "2022-07-01",
"rowNumber": 176
},
{
"title": "Backup [[Storage and Syncing#Instructions for FV|Folder Vault]]",
"time": "2022-07-01",
"rowNumber": 191
},
{ {
"title": "Backup [[Storage and Syncing#Instructions for Anchor|Anchor Wallet]]", "title": "Backup [[Storage and Syncing#Instructions for Anchor|Anchor Wallet]]",
"time": "2022-07-07", "time": "2022-07-07",
"rowNumber": 181 "rowNumber": 182
}, },
{ {
"title": "Backup [[Storage and Syncing#Instructions for iPhone|iPhone]]", "title": "Backup [[Storage and Syncing#Instructions for iPhone|iPhone]]",
"time": "2022-07-12", "time": "2022-07-12",
"rowNumber": 186 "rowNumber": 187
}, },
{ {
"title": "[[Storage and Syncing|Storage & Sync]]: Transfer pictures to ED", "title": "[[Storage and Syncing|Storage & Sync]]: Transfer pictures to ED",
"time": "2022-07-14", "time": "2022-07-14",
"rowNumber": 203 "rowNumber": 206
},
{
"title": ":cloud: [[Storage and Syncing|Storage & Sync]]: Backup Volumes to [[Sync|Sync.com]]",
"time": "2022-09-12",
"rowNumber": 199
},
{
"title": ":cloud: [[Storage and Syncing|Storage & Sync]]: Backup Standard Notes (PC)",
"time": "2022-10-07",
"rowNumber": 176
},
{
"title": ":floppy_disk: Backup [[Storage and Syncing#Instructions for FV|Folder Vault]]",
"time": "2022-10-07",
"rowNumber": 192
} }
], ],
"06.01 Finances/hLedger.md": [ "06.01 Finances/hLedger.md": [
{ {
"title": "[[hLedger]]: Update Price file", "title": ":heavy_dollar_sign: [[hLedger]]: Update Price file",
"time": "2022-07-01", "time": "2022-10-07",
"rowNumber": 395 "rowNumber": 395
} }
], ],
@ -332,29 +332,29 @@
], ],
"01.02 Home/Household.md": [ "01.02 Home/Household.md": [
{ {
"title": "♻ [[Household]]: *Cardboard* recycling collection", "title": "♻ [[Household]]: *Paper* recycling collection",
"time": "2022-06-28", "time": "2022-07-05",
"rowNumber": 85 "rowNumber": 72
}, },
{ {
"title": ":bed: [[Household]] Change bedsheets", "title": "🛎 🧻 REMINDER [[Household]]: check need for toilet paper",
"time": "2022-07-02", "time": "2022-07-11",
"rowNumber": 110 "rowNumber": 105
}, },
{ {
"title": "🛎 🧻 REMINDER [[Household]]: check need for toilet paper", "title": "♻ [[Household]]: *Cardboard* recycling collection",
"time": "2022-07-04", "time": "2022-07-12",
"rowNumber": 104 "rowNumber": 85
}, },
{ {
"title": "♻ [[Household]]: *Paper* recycling collection", "title": ":bed: [[Household]] Change bedsheets",
"time": "2022-07-05", "time": "2022-07-16",
"rowNumber": 72 "rowNumber": 112
}, },
{ {
"title": "🛎 🛍 REMINDER [[Household]]: Monthly shop in France", "title": "🛎 🛍 REMINDER [[Household]]: Monthly shop in France",
"time": "2022-07-30", "time": "2022-07-30",
"rowNumber": 102 "rowNumber": 103
} }
], ],
"01.03 Family/Pia Bousquié.md": [ "01.03 Family/Pia Bousquié.md": [
@ -468,34 +468,34 @@
"06.02 Investments/VC Tasks.md": [ "06.02 Investments/VC Tasks.md": [
{ {
"title": "💰[[VC Tasks#internet alerts|monitor VC news and publications]]", "title": "💰[[VC Tasks#internet alerts|monitor VC news and publications]]",
"time": "2022-07-01", "time": "2022-07-08",
"rowNumber": 74 "rowNumber": 74
} }
], ],
"06.02 Investments/Crypto Tasks.md": [ "06.02 Investments/Crypto Tasks.md": [
{ {
"title": "💰[[Crypto Tasks#internet alerts|monitor Crypto news and publications]]", "title": "💰[[Crypto Tasks#internet alerts|monitor Crypto news and publications]]",
"time": "2022-07-01", "time": "2022-07-08",
"rowNumber": 74 "rowNumber": 74
} }
], ],
"06.02 Investments/Equity Tasks.md": [ "06.02 Investments/Equity Tasks.md": [
{ {
"title": "💰[[Equity Tasks#internet alerts|monitor Equity news and publications]]", "title": "💰[[Equity Tasks#internet alerts|monitor Equity news and publications]]",
"time": "2022-07-01", "time": "2022-07-08",
"rowNumber": 74 "rowNumber": 74
} }
], ],
"05.02 Networks/Configuring UFW.md": [ "05.02 Networks/Configuring UFW.md": [
{ {
"title": "🖥 [[Selfhosting]], [[Configuring UFW|Firewall]] Get IP addresses caught by Postfix", "title": "🖥 [[Selfhosting]], [[Configuring UFW|Firewall]] Get IP addresses caught by Postfix",
"time": "2022-07-02", "time": "2022-07-09",
"rowNumber": 239 "rowNumber": 239
}, },
{ {
"title": "🖥 [[Selfhosting]], [[Configuring UFW|Firewall]]: Update the Blocked IP list", "title": "🖥 [[Selfhosting]], [[Configuring UFW|Firewall]]: Update the Blocked IP list",
"time": "2022-07-02", "time": "2022-07-09",
"rowNumber": 255 "rowNumber": 256
} }
], ],
"00.01 Admin/Calendars/2022-03-18.md": [ "00.01 Admin/Calendars/2022-03-18.md": [
@ -546,6 +546,20 @@
"time": "2022-07-31", "time": "2022-07-31",
"rowNumber": 91 "rowNumber": 91
} }
],
"00.01 Admin/Calendars/2022-06-25.md": [
{
"title": "16:29 :sailboat: [[@Lifestyle]], [[2022-06-25|Memo]]: reprendre inscription pour le club nautique de ZH",
"time": "2022-07-19",
"rowNumber": 91
}
],
"01.03 Family/Amélie Solanet.md": [
{
"title": ":birthday: **[[Amélie Solanet|Amélie]]**",
"time": "2023-06-27",
"rowNumber": 100
}
] ]
}, },
"debug": false, "debug": false,

File diff suppressed because one or more lines are too long

@ -1,7 +1,7 @@
{ {
"id": "obsidian-reminder-plugin", "id": "obsidian-reminder-plugin",
"name": "Reminder", "name": "Reminder",
"version": "1.1.9", "version": "1.1.12",
"minAppVersion": "0.12.12", "minAppVersion": "0.12.12",
"description": "Reminder plugin for Obsidian. This plugin adds feature to manage TODOs with reminder.", "description": "Reminder plugin for Obsidian. This plugin adds feature to manage TODOs with reminder.",
"author": "uphy", "author": "uphy",

File diff suppressed because one or more lines are too long

@ -1,7 +1,7 @@
{ {
"id": "obsidian-tasks-plugin", "id": "obsidian-tasks-plugin",
"name": "Tasks", "name": "Tasks",
"version": "1.8.0", "version": "1.8.2",
"minAppVersion": "0.13.21", "minAppVersion": "0.13.21",
"description": "Task management for Obsidian", "description": "Task management for Obsidian",
"author": "Martin Schenck and Clare Macrae", "author": "Martin Schenck and Clare Macrae",

@ -717,7 +717,7 @@ var TTSSettingsTab = class extends import_obsidian3.PluginSettingTab {
} }
}; };
// src/TTSService.ts // src/TTSServiceImplementation.ts
var import_obsidian4 = __toModule(require("obsidian")); var import_obsidian4 = __toModule(require("obsidian"));
// node_modules/tinyld/dist/tinyld.esm.js // node_modules/tinyld/dist/tinyld.esm.js
@ -855,8 +855,8 @@ function o0(a, i) {
return V(a) ? b(a, n, i0, n0) : []; return V(a) ? b(a, n, i0, n0) : [];
} }
// src/TTSService.ts // src/TTSServiceImplementation.ts
var TTSService = class { var TTSServiceImplementation = class {
constructor(plugin) { constructor(plugin) {
this.plugin = plugin; this.plugin = plugin;
} }
@ -944,7 +944,7 @@ var TTSService = class {
play(view) { play(view) {
return __async(this, null, function* () { return __async(this, null, function* () {
const isPreview = view.getMode() === "preview"; const isPreview = view.getMode() === "preview";
let previewText = view.previewMode.containerEl.innerText; const previewText = view.previewMode.containerEl.innerText;
const selectedText = view.editor.getSelection().length > 0 ? view.editor.getSelection() : window.getSelection().toString(); const selectedText = view.editor.getSelection().length > 0 ? view.editor.getSelection() : window.getSelection().toString();
let content = selectedText.length > 0 ? selectedText : view.getViewData(); let content = selectedText.length > 0 ? selectedText : view.getViewData();
if (isPreview) { if (isPreview) {
@ -979,11 +979,20 @@ var TTSService = class {
} }
}; };
// node_modules/@vanakat/plugin-api/index.js
function registerAPI(name, api, plugin) {
window["PluginApi"] = window["PluginApi"] || {};
window["PluginApi"][name] = api;
plugin.register(() => {
delete window["PluginApi"][name];
});
}
// src/main.ts // src/main.ts
var TTSPlugin = class extends import_obsidian5.Plugin { var TTSPlugin = class extends import_obsidian5.Plugin {
onload() { onload() {
return __async(this, null, function* () { return __async(this, null, function* () {
this.ttsService = new TTSService(this); this.ttsService = new TTSServiceImplementation(this);
console.log("loading tts plugin"); console.log("loading tts plugin");
if (import_obsidian5.Platform.isAndroidApp) { if (import_obsidian5.Platform.isAndroidApp) {
new import_obsidian5.Notice("TTS: due to a bug in android this plugin does not work on this platform"); new import_obsidian5.Notice("TTS: due to a bug in android this plugin does not work on this platform");
@ -1056,6 +1065,7 @@ var TTSPlugin = class extends import_obsidian5.Plugin {
this.statusbar.onClickEvent((event) => __async(this, null, function* () { this.statusbar.onClickEvent((event) => __async(this, null, function* () {
yield this.createMenu(event); yield this.createMenu(event);
})); }));
registerAPI("tts", this.ttsService, this);
}); });
} }
createMenu(event) { createMenu(event) {

@ -1,7 +1,7 @@
{ {
"id": "obsidian-tts", "id": "obsidian-tts",
"name": "Text to Speech", "name": "Text to Speech",
"version": "0.5.0", "version": "0.5.1",
"minAppVersion": "0.12.0", "minAppVersion": "0.12.0",
"description": "Text to speech for Obsidian. Hear your notes.", "description": "Text to speech for Obsidian. Hear your notes.",
"author": "Johannes Theiner", "author": "Johannes Theiner",

@ -4,12 +4,12 @@
"type": "split", "type": "split",
"children": [ "children": [
{ {
"id": "e35f878fe1b4c599", "id": "bb5cce5626da3457",
"type": "leaf", "type": "leaf",
"state": { "state": {
"type": "markdown", "type": "markdown",
"state": { "state": {
"file": "01.02 Home/@Main Dashboard.md", "file": "00.01 Admin/Calendars/2022-07-04.md",
"mode": "preview", "mode": "preview",
"source": false "source": false
} }
@ -77,7 +77,7 @@
"state": { "state": {
"type": "backlink", "type": "backlink",
"state": { "state": {
"file": "01.02 Home/@Main Dashboard.md", "file": "00.01 Admin/Calendars/2022-07-04.md",
"collapseAll": false, "collapseAll": false,
"extraContext": false, "extraContext": false,
"sortOrder": "alphabetical", "sortOrder": "alphabetical",
@ -94,7 +94,7 @@
"state": { "state": {
"type": "outgoing-link", "type": "outgoing-link",
"state": { "state": {
"file": "01.02 Home/@Main Dashboard.md", "file": "00.01 Admin/Calendars/2022-07-04.md",
"linksCollapsed": false, "linksCollapsed": false,
"unlinkedCollapsed": false "unlinkedCollapsed": false
} }
@ -133,35 +133,35 @@
} }
}, },
{ {
"id": "22120ddb49372439", "id": "02dcebb38536f01a",
"type": "leaf", "type": "leaf",
"state": { "state": {
"type": "reminder-list", "type": "DICE_ROLLER_VIEW",
"state": {} "state": {}
} }
}, },
{ {
"id": "02dcebb38536f01a", "id": "7780204a63e8a6d2",
"type": "leaf", "type": "leaf",
"state": { "state": {
"type": "DICE_ROLLER_VIEW", "type": "reminder-list",
"state": {} "state": {}
} }
} }
], ],
"currentTab": 2 "currentTab": 2
}, },
"active": "e35f878fe1b4c599", "active": "bb5cce5626da3457",
"lastOpenFiles": [ "lastOpenFiles": [
"00.01 Admin/Calendars/2022-07-04.md",
"01.02 Home/@Main Dashboard.md", "01.02 Home/@Main Dashboard.md",
"05.01 Computer setup/Storj.md", "00.01 Admin/Calendars/2022-07-03.md",
"05.01 Computer setup/Storage and Syncing.md", "03.02 Travels/@Bahrein.md",
"01.02 Home/Bandes Dessinées.md", "03.02 Travels/@Dubaï.md",
"00.01 Admin/Calendars/2022-06-25.md", "00.01 Admin/Calendars/2022-07-01.md",
"00.01 Admin/Calendars/2022-06-24.md", "00.01 Admin/Calendars/2022-06-30.md",
"00.01 Admin/Calendars/2022-06-21.md", "00.01 Admin/Calendars/2022-07-02.md",
"00.01 Admin/Calendars/2022-06-22.md", "00.03 News/Reading Simone de Beauvoirs Ethics of Ambiguity in prison Aeon Essays.md",
"00.01 Admin/Calendars/2022-06-20.md", "05.01 Computer setup/末 Git from the Bottom Up.md"
"00.01 Admin/Calendars/2022-06-19.md"
] ]
} }

@ -13,9 +13,9 @@ Stress: 30
FrontHeadBar: 5 FrontHeadBar: 5
EarHeadBar: 35 EarHeadBar: 35
BackHeadBar: 25 BackHeadBar: 25
Water: 0.8 Water: 3
Coffee: 1 Coffee: 2
Steps: Steps: 9763
Ski: Ski:
Riding: Riding:
Racket: Racket:
@ -89,6 +89,8 @@ This section does serve for quick memos.
%% ### %% %% ### %%
&emsp; &emsp;
- [ ] 16:29 :sailboat: [[@Lifestyle]], [[2022-06-25|Memo]]: reprendre inscription pour le club nautique de ZH 📅 2022-07-19
- 19:47 [[Mushroom Fricassée]] for dinns made by [[MRCK|Meggi-mo]]
--- ---
@ -98,7 +100,7 @@ This section does serve for quick memos.
&emsp; &emsp;
Départ à [[Bahrein]] pour le boulot. Départ à [[@Bahrein|Bahrein]] pour le boulot.
&emsp; &emsp;
&emsp; &emsp;

@ -0,0 +1,104 @@
---
Date: 2022-06-26
DocType: Note
Hierarchy:
TimeStamp:
location:
CollapseMetaTable: Yes
Sleep: 5
Happiness: 90
Gratefulness: 90
Stress: 30
FrontHeadBar: 5
EarHeadBar: 35
BackHeadBar: 25
Water: 2.58
Coffee: 1
Steps: 5420
Ski:
Riding:
Racket:
Football:
title: "Daily Note"
allDay: true
date: 2022-06-26
---
%% Parent:: [[@Life Admin]] %%
---
[[2022-06-25|<< 🗓 Previous ]] &emsp; &emsp; &emsp; [[@Main Dashboard|Back]] &emsp; &emsp; &emsp; [[2022-06-27|🗓 Next >>]]
---
&emsp;
```button
name Record today's health
type command
action MetaEdit: Run MetaEdit
id EditMetaData
```
^button-2022-06-26Edit
```button
name Save
type command
action Save current file
id Save
```
^button-2022-06-26NSave
&emsp;
# 2022-06-26
&emsp;
```ad-abstract
title: Summary
collapse: open
Note Description
```
&emsp;
```toc
style: number
```
&emsp;
---
&emsp;
### Memos
&emsp;
#### Memos
This section does serve for quick memos.
&emsp;
%% ### %%
&emsp;
---
&emsp;
### Notes
&emsp;
Loret ipsum
&emsp;
&emsp;

@ -0,0 +1,104 @@
---
Date: 2022-06-27
DocType: Note
Hierarchy:
TimeStamp:
location:
CollapseMetaTable: Yes
Sleep: 9.5
Happiness: 95
Gratefulness: 95
Stress: 25
FrontHeadBar: 5
EarHeadBar: 30
BackHeadBar: 20
Water: 3.69
Coffee: 3
Steps: 6926
Ski:
Riding:
Racket:
Football:
title: "Daily Note"
allDay: true
date: 2022-06-27
---
%% Parent:: [[@Life Admin]] %%
---
[[2022-06-26|<< 🗓 Previous ]] &emsp; &emsp; &emsp; [[@Main Dashboard|Back]] &emsp; &emsp; &emsp; [[2022-06-28|🗓 Next >>]]
---
&emsp;
```button
name Record today's health
type command
action MetaEdit: Run MetaEdit
id EditMetaData
```
^button-2022-06-27Edit
```button
name Save
type command
action Save current file
id Save
```
^button-2022-06-27NSave
&emsp;
# 2022-06-27
&emsp;
```ad-abstract
title: Summary
collapse: open
Note Description
```
&emsp;
```toc
style: number
```
&emsp;
---
&emsp;
### Memos
&emsp;
#### Memos
This section does serve for quick memos.
&emsp;
%% ### %%
&emsp;
---
&emsp;
### Notes
&emsp;
Loret ipsum
&emsp;
&emsp;

@ -0,0 +1,104 @@
---
Date: 2022-06-28
DocType: Note
Hierarchy:
TimeStamp:
location:
CollapseMetaTable: Yes
Sleep: 8
Happiness: 95
Gratefulness: 95
Stress: 30
FrontHeadBar: 5
EarHeadBar: 35
BackHeadBar: 25
Water: 3.1
Coffee: 2
Steps: 4960
Ski:
Riding:
Racket:
Football:
title: "Daily Note"
allDay: true
date: 2022-06-28
---
%% Parent:: [[@Life Admin]] %%
---
[[2022-06-27|<< 🗓 Previous ]] &emsp; &emsp; &emsp; [[@Main Dashboard|Back]] &emsp; &emsp; &emsp; [[2022-06-29|🗓 Next >>]]
---
&emsp;
```button
name Record today's health
type command
action MetaEdit: Run MetaEdit
id EditMetaData
```
^button-2022-06-28Edit
```button
name Save
type command
action Save current file
id Save
```
^button-2022-06-28NSave
&emsp;
# 2022-06-28
&emsp;
```ad-abstract
title: Summary
collapse: open
Note Description
```
&emsp;
```toc
style: number
```
&emsp;
---
&emsp;
### Memos
&emsp;
#### Memos
This section does serve for quick memos.
&emsp;
%% ### %%
&emsp;
---
&emsp;
### Notes
&emsp;
Loret ipsum
&emsp;
&emsp;

@ -0,0 +1,104 @@
---
Date: 2022-06-29
DocType: Note
Hierarchy:
TimeStamp:
location:
CollapseMetaTable: Yes
Sleep: 8
Happiness: 95
Gratefulness: 95
Stress: 25
FrontHeadBar: 5
EarHeadBar: 30
BackHeadBar: 20
Water: 2.2
Coffee: 2
Steps: 5735
Ski:
Riding:
Racket:
Football:
title: "Daily Note"
allDay: true
date: 2022-06-29
---
%% Parent:: [[@Life Admin]] %%
---
[[2022-06-28|<< 🗓 Previous ]] &emsp; &emsp; &emsp; [[@Main Dashboard|Back]] &emsp; &emsp; &emsp; [[2022-06-30|🗓 Next >>]]
---
&emsp;
```button
name Record today's health
type command
action MetaEdit: Run MetaEdit
id EditMetaData
```
^button-2022-06-29Edit
```button
name Save
type command
action Save current file
id Save
```
^button-2022-06-29NSave
&emsp;
# 2022-06-29
&emsp;
```ad-abstract
title: Summary
collapse: open
Note Description
```
&emsp;
```toc
style: number
```
&emsp;
---
&emsp;
### Memos
&emsp;
#### Memos
This section does serve for quick memos.
&emsp;
%% ### %%
&emsp;
---
&emsp;
### Notes
&emsp;
Loret ipsum
&emsp;
&emsp;

@ -0,0 +1,104 @@
---
Date: 2022-06-30
DocType: Note
Hierarchy:
TimeStamp:
location:
CollapseMetaTable: Yes
Sleep: 7.5
Happiness: 95
Gratefulness: 95
Stress: 25
FrontHeadBar: 5
EarHeadBar: 30
BackHeadBar: 20
Water: 3.45
Coffee: 3
Steps: 4335
Ski:
Riding:
Racket:
Football:
title: "Daily Note"
allDay: true
date: 2022-06-30
---
%% Parent:: [[@Life Admin]] %%
---
[[2022-06-29|<< 🗓 Previous ]] &emsp; &emsp; &emsp; [[@Main Dashboard|Back]] &emsp; &emsp; &emsp; [[2022-07-01|🗓 Next >>]]
---
&emsp;
```button
name Record today's health
type command
action MetaEdit: Run MetaEdit
id EditMetaData
```
^button-2022-06-30Edit
```button
name Save
type command
action Save current file
id Save
```
^button-2022-06-30NSave
&emsp;
# 2022-06-30
&emsp;
```ad-abstract
title: Summary
collapse: open
Note Description
```
&emsp;
```toc
style: number
```
&emsp;
---
&emsp;
### Memos
&emsp;
#### Memos
This section does serve for quick memos.
&emsp;
%% ### %%
&emsp;
---
&emsp;
### Notes
&emsp;
Loret ipsum
&emsp;
&emsp;

@ -0,0 +1,104 @@
---
Date: 2022-07-01
DocType: Note
Hierarchy:
TimeStamp:
location:
CollapseMetaTable: Yes
Sleep: 8.5
Happiness: 95
Gratefulness: 95
Stress: 25
FrontHeadBar: 5
EarHeadBar: 30
BackHeadBar: 20
Water: 2.56
Coffee: 3
Steps: 6316
Ski:
Riding:
Racket:
Football:
title: "Daily Note"
allDay: true
date: 2022-07-01
---
%% Parent:: [[@Life Admin]] %%
---
[[2022-06-30|<< 🗓 Previous ]] &emsp; &emsp; &emsp; [[@Main Dashboard|Back]] &emsp; &emsp; &emsp; [[2022-07-02|🗓 Next >>]]
---
&emsp;
```button
name Record today's health
type command
action MetaEdit: Run MetaEdit
id EditMetaData
```
^button-2022-07-01Edit
```button
name Save
type command
action Save current file
id Save
```
^button-2022-07-01NSave
&emsp;
# 2022-07-01
&emsp;
```ad-abstract
title: Summary
collapse: open
Note Description
```
&emsp;
```toc
style: number
```
&emsp;
---
&emsp;
### Memos
&emsp;
#### Memos
This section does serve for quick memos.
&emsp;
%% ### %%
&emsp;
---
&emsp;
### Notes
&emsp;
Arrival in [[@Dubaï|Dubai]] from [[@Bahrein|Bahrain]].
&emsp;
&emsp;

@ -0,0 +1,104 @@
---
Date: 2022-07-02
DocType: Note
Hierarchy:
TimeStamp:
location:
CollapseMetaTable: Yes
Sleep: 9.5
Happiness: 95
Gratefulness: 95
Stress: 25
FrontHeadBar: 5
EarHeadBar: 30
BackHeadBar: 20
Water: 2.55
Coffee: 1
Steps: 3159
Ski:
Riding:
Racket:
Football:
title: "Daily Note"
allDay: true
date: 2022-07-02
---
%% Parent:: [[@Life Admin]] %%
---
[[2022-07-01|<< 🗓 Previous ]] &emsp; &emsp; &emsp; [[@Main Dashboard|Back]] &emsp; &emsp; &emsp; [[2022-07-03|🗓 Next >>]]
---
&emsp;
```button
name Record today's health
type command
action MetaEdit: Run MetaEdit
id EditMetaData
```
^button-2022-07-02Edit
```button
name Save
type command
action Save current file
id Save
```
^button-2022-07-02NSave
&emsp;
# 2022-07-02
&emsp;
```ad-abstract
title: Summary
collapse: open
Note Description
```
&emsp;
```toc
style: number
```
&emsp;
---
&emsp;
### Memos
&emsp;
#### Memos
This section does serve for quick memos.
&emsp;
%% ### %%
&emsp;
---
&emsp;
### Notes
&emsp;
Loret ipsum
&emsp;
&emsp;

@ -0,0 +1,104 @@
---
Date: 2022-07-03
DocType: Note
Hierarchy:
TimeStamp:
location:
CollapseMetaTable: Yes
Sleep: 9.5
Happiness: 95
Gratefulness: 95
Stress: 25
FrontHeadBar: 5
EarHeadBar: 30
BackHeadBar: 20
Water: 4
Coffee: 2
Steps: 6522
Ski:
Riding:
Racket:
Football:
title: "Daily Note"
allDay: true
date: 2022-07-03
---
%% Parent:: [[@Life Admin]] %%
---
[[2022-07-02|<< 🗓 Previous ]] &emsp; &emsp; &emsp; [[@Main Dashboard|Back]] &emsp; &emsp; &emsp; [[2022-07-04|🗓 Next >>]]
---
&emsp;
```button
name Record today's health
type command
action MetaEdit: Run MetaEdit
id EditMetaData
```
^button-2022-07-03Edit
```button
name Save
type command
action Save current file
id Save
```
^button-2022-07-03NSave
&emsp;
# 2022-07-03
&emsp;
```ad-abstract
title: Summary
collapse: open
Note Description
```
&emsp;
```toc
style: number
```
&emsp;
---
&emsp;
### Memos
&emsp;
#### Memos
This section does serve for quick memos.
&emsp;
%% ### %%
&emsp;
---
&emsp;
### Notes
&emsp;
Loret ipsum
&emsp;
&emsp;

@ -0,0 +1,104 @@
---
Date: 2022-07-04
DocType: Note
Hierarchy:
TimeStamp:
location:
CollapseMetaTable: Yes
Sleep: 8
Happiness: 95
Gratefulness: 95
Stress: 25
FrontHeadBar: 5
EarHeadBar: 30
BackHeadBar: 20
Water: 0.75
Coffee: 1
Steps:
Ski:
Riding:
Racket:
Football:
title: "Daily Note"
allDay: true
date: 2022-07-04
---
%% Parent:: [[@Life Admin]] %%
---
[[2022-07-03|<< 🗓 Previous ]] &emsp; &emsp; &emsp; [[@Main Dashboard|Back]] &emsp; &emsp; &emsp; [[2022-07-05|🗓 Next >>]]
---
&emsp;
```button
name Record today's health
type command
action MetaEdit: Run MetaEdit
id EditMetaData
```
^button-2022-07-04Edit
```button
name Save
type command
action Save current file
id Save
```
^button-2022-07-04NSave
&emsp;
# 2022-07-04
&emsp;
```ad-abstract
title: Summary
collapse: open
Note Description
```
&emsp;
```toc
style: number
```
&emsp;
---
&emsp;
### Memos
&emsp;
#### Memos
This section does serve for quick memos.
&emsp;
%% ### %%
&emsp;
---
&emsp;
### Notes
&emsp;
Loret ipsum
&emsp;
&emsp;

@ -0,0 +1,305 @@
---
Tag: ["Society", "Gambling", "Poker"]
Date: 2022-06-26
DocType: "WebClipping"
Hierarchy:
TimeStamp: 2022-06-26
Link:
location:
CollapseMetaTable: Yes
---
Parent:: [[@News|News]]
Read:: [[2022-06-27]]
---
&emsp;
```button
name Save
type command
action Save current file
id Save
```
^button-At88PokerLegendDoyleBrunsonIsStillBluffingNSave
&emsp;
# At 88, Poker Legend Doyle Brunson Is Still Bluffing. Or Is He?
In poker lore, the best stories tend to begin with jackpot wins, steady nerves, or the occasional threat of murder. [Doyle Brunson](https://www.texasmonthly.com/the-culture/playing-no-limit-texas-hold-em/) has all those tall tales—and well get to them in due time. He has won millions while bluffing, stared down killers in parking lots, and pried his chips—quite literally—from the hands of death.
But this saga doesnt start there. Instead, it starts with Brunson in retreat.
It was May 1972 at Binions Horseshoe, in downtown Las Vegas. Tables were jammed together in an improvised poker room to seat eight players who had each bought in at $10,000 for a chance to win the third annual [World Series of Poker](https://www.texasmonthly.com/arts-entertainment/inside-the-world-series-of-poker/). Reporters crowded into the casino with their cameras and tape recorders, but it was nothing like the scene at todays WSOPs. This tournament wasnt broadcast on cable TV or treated like a sport. It wasnt even treated like a game. Texas Hold Em, now the most played poker variation in the world, had been in Vegas casinos less than a decade. In 1970 there had been only fifty poker tables in the entire city. This world series was a sideshow meant to drum up business for the casino, and the competitors were as strange as if Mark Twain characters had jumped off the page and found their way to the desert for a piece of the action. An article in the *Fort Worth Star-Telegram* described the event: “In the clockless world of gambling, peopled as it is with optimists, liars, fools and lunatics, it is the lot of the poker player to be set apart and regarded as a curiosity.”
One of those curiosities was Brunson, with his thick-rimmed glasses, his thinning hair, and his gut that hung over the table. He was perhaps the best player in the world, wielding a domineering strategy few had ever seen. Yet even the biggest poker fan wouldnt have known the name “Doyle Brunson” back then. He tried to avoid the reporters, and when he did speak with them, he used the pseudonym Adrian Doyle and said he came from Texas and that some people called him Texas Dolly. 
![Doyle Brunson at his Las Vegas home in June 2022.](https://img.texasmonthly.com/2022/06/Doyle-Brunson-Poker-Player-Las-Vegas-Portrait.jpg?auto=compress&crop=faces&fit=scale&fm=pjpg&h=1024&ixlib=php-1.2.1&q=45&w=819&wpsize=large)
Doyle Brunson at his Las Vegas home in June 2022. Photograph by Roger Kisby/REDUX Pictures
The field was whittled down one player after another, and, bit by bit, Brunson amassed a war chest of chips. Three players remained. Soon, a champion would be crowned. The crowd grew. The cameras flashed.
Thats when Brunson started to lose, folding each hand without even trying to win. Jack Binion, the casinos president, saw what was happening. He paused the game and marched the players into a private office, where he tore into Brunson.
“Youre going to cause a big scandal here,” Binion said. “You just cant do this.”
“Jack,” Brunson explained, “I just dont want the publicity.”
Back in Longworth, the tiny, conservative West Texas town where Brunson grew up, most folks thought he made an honest living. They knew him as the son of a farmer, a former state-champion athlete, and a masters graduate from a Baptist college. If they found out how he really spent his days, if they knew who he spent his time with, well—Brunson was worried that his entire family would be shunned.
And so Texas Dolly walked out of Binions office, across the casino floor, and out of the Horseshoe. Here was a man known to boast that he had once played poker for five straight days without sleeping. Now he claimed he was too tired, nauseated, and dizzy to even sit at the table.
As he turned his back on a world title, he told himself there would be other fortunes to win, other chapters of his legend to write. And maybe, one day, they would come without the guilt.
![Brunson with his winnings at the 1977 World Series of Poker.](https://img.texasmonthly.com/2022/06/Doyle-Brunson-Poker-Player-Las-Vegas-World-Series-1977-scaled.jpg?auto=compress&crop=faces&fit=scale&fm=pjpg&h=640&ixlib=php-1.2.1&q=45&w=1024&wpsize=large)
Brunson with his winnings at the 1977 World Series of Poker.Tony Korody/Sygma via Getty
Early one afternoon this March, Brunson steered a blue Cadillac Escalade off the Las Vegas Strip, skirting the Bellagios famous fountain on the way into the casinos north valet entrance. As he handed his keys to the attendant, the buzz began. It only intensified as he raced his mobility scooter across the marble floors, swerving around slot machines and ATMs and tourists. “Im afraid I drive like a NASCAR driver,” he says. 
Brunson is now 88, with a smooth, bald head under his signature white Stetson and eyes that seem stuck in a squint. He looks his age, but his bright smile still shimmers, and his belly laugh still thunders. He zipped into the poker area, and as he wove through the low-limit tables, players glanced up from their cards. They removed their earbuds, peered over their sunglasses, and gave their tablemates looks that betrayed their poker faces. He sped by them and headed straight into a private space at the back. Its called the Legends Room, and his picture hangs on the wall. He pulled up to his usual spot and greeted the regulars. He asked to be dealt in.
Here, the buzz crescendoed. You could understand the excitement. Watching Doyle Brunson play poker at the Bellagio is like watching Tiger Woods play Augusta—if you could buy in for a chance to tee off with Tiger at [Amen Corner](https://golf.com/news/everything-you-need-to-know-about-amen-corner-augusta-national/). 
Since his exit at the 1972 WSOP, Brunson has become nothing less than the most legendary poker player of all time. Name a seminal moment in the games past, and chances are he was sitting at the table. “He is the bridge between history and today,” says Daniel Negreanu, a past WSOP champion. Brunson has starred in just about every [poker TV show](https://www.youtube.com/watch?v=6htvdsIj9eI) ever aired—*High Stakes Poker,* *Poker After Dark,* and *Poker Superstars,* to name a few—and his how-to book, *[Super/System](https://www.amazon.com/Doyle-Brunsons-Super-System-Brunson/dp/1580420818),* is considered a bible of the game. He played in the very first WSOP, in 1970, just as he did in the events fifty-second installment, last year. Over the decades, the WSOP has grown into a massive production that dominates Vegas for six weeks during the summer and features 88 in-person events in multiple variations of poker, with thousands of players vying not only for money and bragging rights but also for the diamond-and-gold championship bracelets that are the games version of boxing title belts. The most famous of these competitions is the Main Event, a Hold Em showdown that airs on CBS Sports Network. Brunson has won the Main Event twice, in 1976 and 1977, and hes added eight other bracelets along the way. Only three other players have won multiple Main Events, and Brunson is tied with fellow all-time greats Phil Ivey and Johnny Chan for the second-most bracelets ever earned, with ten, behind only Phil Hellmuth, who has sixteen.
But Brunsons real reputation was born in games like this one: on a nondescript afternoon, in Vegas, behind closed doors, with as much as a million dollars in the pot. Brunson still plays cash games at least once a week, although many friends try to get him to the tables even more often. Until his eightieth birthday he played three hundred times a year, gambling all night and sleeping when the sun rose. “We used to bet all we had, day after day,” Brunson says in Al Alvarezs book *The* *Biggest Game in Town*. “And every other day we went broke.” 
These days, he tries to make it home before dinner; he says his wife, Louise, has already spent too many long nights worrying about him. Though nothing would be more worrisome than if Brunson quit cards altogether. “Im telling you, he will *die* if he stays home,” says Eli Elezra, a recent inductee to the Poker Hall of Fame and a frequent tablemate of Brunsons. 
> Brunson has never craved the spotlight, which not only goes against his nature, but also disrupts his strategy at the card table. “If I could, Id go back to being an anonymous poker player.”
Maybe so. During the height of the coronavirus pandemic, Brunson didnt play for nearly a year. In that time, he was hospitalized with pneumonia and, he says, suffered physical withdrawals from being away from the game. “I played so much that its just a part of my life,” he says. Without poker, Brunson felt dizzy, depressed, and lethargic. “Just like a dope fade.” 
“He needs the adrenaline. He needs the bad beat,” says Elezra, describing the jolt gamblers feel after their most crushing losses. “He needs it to live.” But Brunson has never craved the spotlight, which not only goes against his nature, but also disrupts his strategy at the card table. “If I could, Id go back to being an anonymous poker player,” he has said. In tournaments, competitors will go all in against him nearly every time, just so they can return home and tell their garage game buddies that they won a hand against Texas Dolly. “Most people have read \[my\] book,” he says, “and they always think Im bluffing.” 
Brunson claims hes done playing in the WSOP Main Event, that 2021 was his final run. The crowds have grown so thick and the fanfare so overwhelming that he can hardly get his scooter to his assigned table. But hes sworn off tournaments before, and that didnt stop him from joining last years contest. It wasnt his best showing, but expert observers say he did what he could in difficult situations. “Most players likely would have been gone much earlier,” wrote Jon Sofen for PokerNews. So perhaps this semiretirement is just one more bluff. 
The publics embrace of Brunson and of poker writ large is something he could hardly have imagined in 1972. When he sat down with another chance to win the Main Event in 1976, Brunson still coveted the approval of a society that had yet to accept professional gambling as much more than the province of eccentrics and degenerates. But by then he was done hiding. He decided right there to try to change how the world saw poker players. He won that year and the next, and the book, the press, and the TV appearances all followed.
That might have been Brunsons most impressive wager—as well as his most lasting contribution to the game. His charisma helped lift poker
from smoky back rooms to stages like the Bellagio: opulent, well lit, romantic, and made for TV. For decades, Hollywood rarely depicted poker outside of gangster movies and westerns; by the time *Rounders* was released, in 1998, *Super/System* appeared in one of the films opening shots and the voice-over name-checked Brunson three times. 
In the mid-aughts, Matt Damon, the star of that movie, joined Brunsons game at the Bellagio. He brought a pal: Leonardo DiCaprio.
As always, the onlookers were there, straining to see. And when a group finally approached to ask for photos and autographs, they ignored the Hollywood celebrities and went straight for Brunson.
![Brunson with Leonardo DiCaprio in Las Vegas in 2005.](https://img.texasmonthly.com/2022/06/Doyle-Brunson-Poker-Player-Leonardo-DiCaprio-Las-Vegas-2005-scaled.jpg?auto=compress&crop=faces&fit=scale&fm=pjpg&h=640&ixlib=php-1.2.1&q=45&w=1024&wpsize=large)
Brunson with Leonardo DiCaprio in Las Vegas in 2005.Denise Truscello/Getty
DiCaprio, Brunson says, “just played real tight,” meaning he wasnt aggressive. Brunson has plenty of other A-list gambling buddies and a curt scouting report on everyone from Cary Grant (“wasnt very good”) to Tobey Maguire (“on the professional level, almost”). He has golfed with Michael Jordan and was there when Willie Nelson lost a reported $400,000 in “high-stakes” dominoes. Last August, Senator Ted Cruz played a game with Brunson (“He was very good . . . He really talked to me a lot”). The respect was mutual. “Doyle Brunson is an all-time Texas great and a legendary poker player,” Cruz told *Texas Monthly*. “Hes a man of grace, charm, and incredible savvy insight. It was amazing—truly a bucket-list moment—when I had the honor to sit down and play poker with Texas Dolly himself.”
A few months ago, Brunson transferred most of his money to his children Pam and Todd (both are accomplished poker players themselves). He has earned more than $6 million in tournaments and has won and lost so many millions more in private games that even those who know him best struggle to estimate his career winnings. Poker players are famously tight-lipped when it comes to discussing their net worth, and Brunson is no different. He wont say why he gave away his fortune or how much remains; he just explains the decision with a shrug: “I dont know; I just did.”
Now he doesnt have the bankroll to play in the high-stakes, no-limit games that had long been his bread and butter. Instead, he plays what he calls “cheap poker,” where the minimum opening bet on each hand is $300. During a typical five-hour session, he says, he needs around $20,000 worth of chips just to get started. Cheap poker, indeed.
And yes, he still wins.
Decades ago, Brunson bought land in Northwest Montana, on Flathead Lake, and even when hes not visiting, he tries to keep the Big Sky with him. His car has Montana plates (along with a “Dont Mess With Texas” bumper sticker), and his phone number begins with a Montana area code. Just inside his lake houses entrance are two framed photos of him after his Main Event victories. Between them, a custom-made sign reads “A Long Way From Longworth.”
When Brunson was born, in 1933, Longworth was an unincorporated West Texas town with a population of around two hundred. There was a general store, a one-room elementary school, and two churches. The nearest city was Sweetwater, fifteen miles to the south. His family home didnt get electricity until after he turned six, and throughout Brunsons youth, it lacked indoor plumbing. The door to the outhouse creaked every time someone opened it. Railroad tracks cut through the cotton fields in the backyard, and often, around dinnertime, the wall-shaking rattle of a passing train was quickly followed by a knock on the back door. Hoboes knew that Brunsons mother, Mealia, would feed them a warm supper; all they had to do was jump from the boxcar and cross the rows of crops. After dinner, the next train would carry them along.
Brunsons father, John, seldom spoke and rarely gave his three children much attention. He ran the familys farm, and the kids grew up picking cotton by hand. They sold it for a penny a pound. Yet money never seemed to be an issue for the Brunsons. Somehow, John always seemed to have just enough.
Three other children Brunsons age lived in town, one girl and two boys. The trio of boys spent long afternoons playing baseball with one pitcher, one fielder, and one hitter, using a broomstick as a bat. They shot hoops on a dusty outdoor court where only Brunson appeared to be able to adjust his accuracy when the prairie wind blew. They swam in stock tanks and pretended to be cowboys.
Spend any amount of time with Brunson and its clear the man hates losing. That spirit was born on those slow afternoons in Longworth. In his memoir, *The Godfather of Poker*, Brunson calls himself a late bloomer in sports, but by the time he enrolled at Sweetwater High, he was a natural at everything he tried—except football, which his parents forbade him from joining. He was too small, they believed, at just five foot seven and 140 pounds. 
In track, his specialty was the mile, and he ran it fast enough to qualify for the state meet, in Austin. Radio stations carried the event live across Texas, and Brunsons father tuned in from Longworth. His boy would be challenging the previous years reigning champion and runner-up, both of whom were favorites to repeat. When the race began, the broadcaster mentioned only those two names, painting the picture of a neck-and-neck battle for first place. Johns heart sank. He would later tell his son, “I just figured you got down to that big meet and got outclassed.” 
> The games Brunson frequented in his prime could see each player win or lose half a million dollars only to come back and do it again the next day.
But soon, the voice cut through the radio again: “Well, ladies and gentlemen, it looks like this duel was all for second place. Doyle Brunson, from Sweetwater, is about fifty yards out in front, and it looks like hes gonna stay there.” Brunson was the 1950 state champion in the mile, with a time of 4:38.01.
But Brunsons main love was basketball. This was the late forties, shortly after the founding of the NBA, and the sport was so young that high school coaches in West Texas sometimes knew less about the game than their players did. Brunson mostly ignored the coaches at Sweetwater and instead cribbed his moves from the teams veterans. Before long, he had built himself into a star player—aided by a growth spurt that left him standing six foot two heading into junior year. He played guard and was considered one of the deadliest long-range shooters in Texas. He wore glasses on the court, and when defenders fouled him, the frames dug into his skin, leaving Brunsons eyebrows dotted with scars. 
In 1949 he led Sweetwater to the state tournament, and on the eve of the semifinals, he visited the hotel room of some classmates whod made the trip to Austin as fans. They were playing poker—Seven-Card Stud and Five-Card Draw—and they offered to teach Brunson. He had seen the game only in westerns. They bet dimes, then quarters, gambling deep into the evening. Brunson won a few dollars and headed back to his room around midnight.
Even now, he can recall specific hands from throughout his life with photographic accuracy, certain cards that won him millions and made him famous. He remembers that first game too. “Easy money,” he says in his memoir.
![Brunson at his Las Vegas home in June 2022.](https://img.texasmonthly.com/2022/06/Doyle-Brunson-Poker-Player-Las-Vegas-home-2.jpg?auto=compress&crop=faces&fit=scale&fm=pjpg&h=1024&ixlib=php-1.2.1&q=45&w=819&wpsize=large)
Brunson at his Las Vegas home in June 2022.Photograph by Roger Kisby/REDUX Pictures
They say nobody stays lucky in Las Vegas. On a typical day, the cash games that Brunson frequented in his betting prime could see each player win or lose half a million dollars only to come back and do it again the next. A few bad nights could leave anyone—even a champion—with nothing. Brunson says he once lost $6 million to a player named Chip Reese. Hes had hot streaks and cold streaks since then, but if overall winnings are the measure of success, you could say that Brunson has been getting lucky for more than half a century, in card rooms from Fort Worth to Macau and everywhere in between. 
“Nobody gets lucky consistently,” he says. You can win a few hands here and there with no real skill. You might even win an entire tournament that way. But grinding at a table day after day and coming out on top is a different story. In all the games hes played, Brunson has made a royal flush, the best hand in the game, just twice, and still, poker has been his primary source of income for 66 years. Besides the year in which he lost the $6 million, he says, he has never finished in the red.
The keys to his success hearken back to an earlier era of the game. Brunson does not wear dark sunglasses when he plays. He does not wear earbuds to block out noise, like many modern-day players do. Other competitors zip hoodies up to their eyes, hiding as much of their faces as possible from opponents adept at spotting tells—subtle giveaways of a gamblers mental state. “I think they should outlaw all that,” Brunson says. He prefers a purer game, wearing a button-down shirt, and sometimes a sports coat, with his white Stetson. He talks to others at his table. “I played with him a few months ago,” says Daniel Negreanu. “He feels like, to me, at eighty-eight, sharper than he did five years ago—like, *better*. Hes playing better now than he was a few years ago.”
Today, younger players prepare using computer algorithms that help determine exactly which hands to play and which to fold, as well as the precise amounts to bet based on probability. Brunson has studied these methods, but he believes he can beat the opponents who use them, and hes not the only one who thinks so. He might not win the first game against a new rival. It might take him a month, even a year, but eventually, hell find an edge. He has said he can catch opponents bluffing by watching their neck veins for signs of an increased heart rate. Against the new wave of analytical players, hell play erratically, betting hands a computer model would expect any sane person to fold just to throw off the competition. Poker historian Nolan Dalla says hes confident Brunson could beat a table full of amateurs without even looking at his cards. “Poker is a game of people,” Brunson often says. 
“Theres mathematics, theres fundamentals, theres strategic ways to approach different things,” Negreanu explains. “You can be studious and learn the game that way. What Doyle is talking about is adjusting his strategy to the person—playing the player. Understanding what kind of person hes dealing with, what types of things they like to do. Are they someone who likes to lie a lot and bluff? Or just someone who plays it straight? And when he knows that, he adapts the strategy. So hes playing the people. Hes always playing tendencies. Hes also adjusting based on Hows that person doing? Are they losing a lot? And if so, are they broken in their mind?’ ”
Brunson cant fully explain the hold gambling has on him, but the attraction has never wavered since that first poker game in an Austin hotel room. The Sweetwater basketball team lost the next morning, but Brunson performed well enough that the University of Texas offered him spots on the Longhorns basketball and track teams. Brunson wanted to accept, but he waited too long to fill out the paperwork, and by the time he was ready to apply, UT had allotted all its scholarships. Instead, Brunson landed at Hardin-Simmons University, a Baptist college in Abilene that competed in the Border Conference, which in those days counted Arizona, Arizona State, and Texas Tech among its members.
> On weekends hed travel to college towns to play poker. Lubbock, College Station, Austin—the bigger the school, the more fraternity brothers to fleece.
At Hardin-Simmons, Brunsons athletic scholarship included a $15 monthly stipend, what the school called “laundry money.” He used the cash to stake himself in late-night poker games with other undergrads—and also to wager on just about anything he could think of. Hed turn to friends and bet a dollar that he could throw a rock and hit a telephone pole. Five separate times, the schools disciplinary board called Brunson in to warn him about gambling.
Another student might have been expelled, but Brunson says his status as a star athlete saved him. On the track, his mile time kept dropping—all the way to 4:18. He was more serious about basketball, and in 1953, his junior year, he led the Cowboys to a conference championship over Arizona. That earned the school a spot in the NCAA Tournament and put Brunson on the NBAs radar. The Minneapolis Lakers sent scouts to Abilene, and they informed Hardin-Simmons coach that they planned to pick Brunson in the first round of the following years draft. Brunson thought his future was set. (Decades later, while sitting across a poker table from thenLakers owner Jerry Buss, Brunson asked if the franchise still had any scouting tape of his college games. “No,” Buss replied. “After fifty years, we throw them away.”)
The summer before his senior year, Brunson returned home to Longworth and found a job working with Sheetrock at the local gypsum plant. One day, while loading the material from a forklift to a truck, he noticed a stack starting to fall. Brunson rushed over and tried to catch it before it toppled over, but he couldnt stop the two-thousand-pound pile from falling on him. It crashed directly onto his right shin, snapping both his tibia and fibula. He collapsed, the exposed bone jutting out of his leg. A coworker covered him with a blanket, as if he were already dead.
“My God,” Brunson thought. “Ill never play basketball again.” 
He couldnt have known it then, but it might have been the first time in Brunsons life that he got truly lucky.
![Brunson with a broken leg during his senior year at Hardin-Simmons University in 1954.](https://img.texasmonthly.com/2022/06/Doyle-Brunson-Poker-Player-Basketball-Injury-1954.jpg?auto=compress&crop=faces&fit=scale&fm=pjpg&h=1024&ixlib=php-1.2.1&q=45&w=819&wpsize=large)
Brunson with a broken leg during his senior year at Hardin-Simmons University in 1954.Courtesy of Doyle Brunson
There was no money in basketball in the fifties; the average NBA players salary was a few thousand dollars. If hed gone on to play professionally, Brunson would have rushed to marry his college sweetheart, and, after basketball, he probably would have returned to West Texas to become a teacher—a principal, maybe.
That would have been an admirable outcome, and he probably would have been happy with it, but today, hes glad his injury sent him down a different path. Though when he was trapped in a white cast from foot to mid-thigh, he struggled to imagine any future at all. While he was still recovering, Brunson and some college friends got to talking about their long-range plans. They spoke of becoming writers and politicians; then they turned to Brunson. He told them he wanted to make a lot of money, and when they asked how, he replied, “I dont know.”
He enrolled in graduate school at Hardin-Simmons to buy some time, earning a dual masters degree in business and education. Without the distraction of sports, his grades improved, but he was broke. On weekends hed travel to college towns to play poker. Lubbock, College Station, Austin—the bigger the school, the more fraternity brothers to fleece. Almost always, he rode back to Abilene with their allowance money. “I could see that I was better than most of them,” he says, before issuing a swift correction. “Or all of them.”
After graduation, he considered teaching but wanted better pay, given his advanced degree. He took a job selling adding machines in Fort Worth. “I thought I would get a better job,” he says, still miffed that he received no more lucrative offers. “I wasnt a salesman.” On his first day, he walked up to a potential customer and launched into his pitch. “The guy just looked at me, turned around, and pointed at the door.” 
In seven months on the job, he failed to make a single sale—a harbinger of a cursed business sense that would follow him for the rest of his life. (Brunson has lost hundreds of thousands on investments over the years, from gold and emerald mines to teeth-cleaning chewing gum to expeditions aimed at raising the *Titanic* and discovering Noahs ark.) One day, while making his rounds, Brunson ran across a poker game in the back room of a pool hall. The first time he bought in, he “cleared a months salary in less than three hours.” It wasnt long before he ditched sales and decided to play poker full-time.
That Brunson had recently moved to Fort Worth was another stroke of fortune. In the mid-fifties, Fort Worths Jacksboro Highway and Exchange Avenue were dotted with colorful characters and dark rooms filled with card tables. Poker was illegal, but many of the games organizers cut deals with local police to allow them to operate. “Exchange Avenue was maybe the most dangerous street in America. There was nothing out there but thieves and pimps and killers,” Brunson says. “It was amazing.”
He started small, slowly figuring out strategies and developing his skills. He bet and bluffed against characters with names like “Treetop” Jack Straus, Corky McCorquodale, and Duck Mallard in games of Seven-Card Stud and Ace-to-Five Lowball. Elmer Sharp ran one game out of his garage near Jacksboro Highway, where he kept a live bear as a pet. When business was slow, Sharp would wrestle the animal. Brunson says he once played five straight days at Sharps, stopping only to eat, drink, and use the bathroom. Others drank heavily and popped pills to stay alert during these marathon sessions, but Brunson rarely got drunk and always avoided drugs. He ran on coffee and sweets.
Violence was a fact of life in Brunsons Fort Worth. “You never knew what would happen,” he writes in his memoir, “but you sure as heck knew something would.” He was arrested more times than he can count and carried a pistol with him at all times. When he went out to eat, he sat facing the door. In the middle of one game, near midnight, a man walked up to a player a table over from Brunson, put a gun to the back of the players head, and pulled the trigger. His brain splattered against the wall. Brunson still remembers his own cards when it happened—two pair, aces and sevens. He grabbed his chips and ran out the back, afraid not so much of the shooting as of the police, and hid in an ice-cold creek until the situation cooled down. 
In another incident, while playing a private game of Ace-to-Five Lowball, a poker variation in which the object is to have the five lowest cards, Brunson noticed that every time he [bluffed](https://www.youtube.com/watch?v=EFc3rYcKLjI), his opponent, a man named Red Dodson, would fold. Brunson was making a killing, and so, once again, he bet big. Only this time, Dodson bet with him. “I know yall have been bluffing me all night,” Dodson said. “Lets see what you do now.”
Dodson turned his cards over, grinning. He had the second-best hand in the game: an ace, two, three, four, and six. There was no way he could lose—or so he thought. When Brunson revealed his cards, Dodson stared in horror at an ace, two, three, four, and five—the best hand possible. “Reds face turned white, his eyes rolled back, and he started turning blue,” Brunson writes. “Red fell out of his chair and was dead before he hit the floor.” While they waited for the paramedics to arrive, Brunson collected the pot. “I felt bad,” he writes, “but thats poker, and bad beats happen.” 
When Brunson went home for the holidays in 1957, his father asked him and his brother if they wanted to play some poker. Brunson was surprised. Hed been unaware his father even knew how to play. There was no money on the table—they bet only matchsticks—and Brunson did his best to play like a casual gambler. His competitive side couldnt take losing, though, and he tried a bluff. His dad saw right through it. “How in the world would you call that?” Brunson asked. Unimpressed, his father replied, “Ive been seeing plays like that for forty years.” As it turned out, hed put Brunsons brother and sister through college with winnings from Sweetwater poker games.
Brunson never told his father the truth of what he did for work. He never got the chance. John died just a year after that game, and Brunson still thinks of him. “I was always hoping hed ask about what I was doing, give me a kind word about something,” he writes. “I suppose Id even have settled for being yelled at.” Maybe poker could have finally brought them together. He wonders now if he inherited a “poker gene,” something in his blood that calls him to the tables night after night—the same longing that called his father too.
![Brunson playing in the 1979 World Series of Poker (second from right) at Binions Horseshoe.](https://img.texasmonthly.com/2022/06/Doyle-Brunson-Poker-Player-Las-Vegas-World-Series-1979-Binions.jpg?auto=compress&crop=faces&fit=scale&fm=pjpg&h=1024&ixlib=php-1.2.1&q=45&w=819&wpsize=large)
Brunson playing in the 1979 World Series of Poker (second from right) at Binions Horseshoe.UNLV Libraries Special Collections
Nobody is quite sure where or how [Texas Hold Em](https://www.pokernews.com/news/2017/04/poker-pop-culture-047-mystery-texas-holdem-history-27558.htm) originated. Some say it was invented by cowboys who were short on cards and had to improvise to include more players. In 2007 the Texas Legislature recognized Robstown, outside Corpus Christi, as the games founding place, but reliable details are murky. Dallas gamblers supposedly adopted the variation in the twenties. We do know that in the fifties, Hold Em—or, as it was also known, Hold Me Darling or F— Em—was hardly synonymous with poker like it is today. In 1958, when he traveled to a private card room in Granbury, forty miles south of Fort Worth, Brunson had never heard of Hold Em. But he knew that the man running the game drank too much and bet high. He smelled opportunity.
In Granbury, Brunson asked the regulars to explain the rules. “I grasped the correct strategy right away,” he writes. “Play big cards and use position as my two big weapons.”
In retrospect, that night might be considered Hold Ems big bang; its as far back as the record goes. Still, it would be another decade before Brunson and other Texas gamblers brought Hold Em to Vegas, and when they did, it wasnt to spread the good word about a challenging style of poker. It was to clean out some suckers. The Texans knew how to win at Hold Em, and the Vegas gamblers did not. “I went seven years without losing in a big poker game,” says Brunson. “All the wise guys thought I was cheating, which I wasnt. It was just that the competition was so easy.”
As he traveled from game to game, Brunson met fellow gamblers “Amarillo Slim” Preston, a wisecracking rancher, and Bryan “Sailor” Roberts, named for a stint in the Navy. They became fast friends, joining forces to form a barnstorming big three of Texas gambling. They would bet on anything and everything — both with and against one another. During a road trip through Mexico, Brunson looked out of their station wagon at the Sierra Madres. “Doyle,” said Roberts, “how long you think it would take you to shinny up that mountain?”
Brunson took stock of the situation. “Oh, I could climb it in two hours easy,” he said. Right then, the car skidded to a stop, they each put up $2,000, and Brunson was off to the races. In Slims recollection, Brunson “shinnied up that mountain like a mountain goat on a mission.” Even with his bad leg, he beat the time, and Roberts was so frustrated when Brunson arrived back at the station wagon that he refused to hand Brunson the money. He threw it on the floorboard instead, and Brunson just let it lie there, where it stayed as they drove off in search of their next wager.
> When Louise asked Brunson what he did for work, he told her he was a bookmaker. She thought he said “bookkeeper.” It would be months before she realized her mistake.
The trio found strength in numbers, playing from a single bankroll so a bad night wouldnt leave one of them broke. They watched one anothers backs, although they still got robbed occasionally. They arranged themselves throughout the room to spot cheaters, although they themselves never cheated. (“If I needed to, I might have,” says Brunson.) Most important, they helped one another study the game; after long nights of gambling, they would replay critical hands back at their hotel. Theyd go through deck after deck, working out a rough understanding of the probabilities that certain hands would lead to wins. Players today use powerful computers; Brunson and his friends grasped the odds through brute repetition.
One day, Brunson was with Roberts at the Dixie Club, in San Angelo, when he noticed a woman dancing to country music. He found out she was a pharmacist named Louise. They danced. He asked her to coffee. She said no. The next day, Brunson went to the pharmacy, pretending he needed vitamins, so that he could talk with her. He kept coming back, every time under a different pretense, and he says it wasnt long before he had bought nearly every item in the store. “She sold me toys, vitamins, multivitamins, aspirin, everything,” he writes. “I bought every contraption she recommended.” He never quite won her over, though, and Brunson gave up until months later, when he saw her out with another man. Brunson winked, and Louise waved back. “Well, maybe Ive still got a shot,” he thought. So he went back to the pharmacy and asked her to dinner. This time, she said yes.
When Louise asked Brunson what he did for work, he told her he was a bookmaker. She thought he said “bookkeeper.” It would be months before she realized her mistake. By then, it didnt matter. She was in love. 
They married in 1962 at a funeral home in La Marque, across the bay from Galveston. Brunsons brother-in-law worked there, and in any case, he says, “the chapel was lovely.” A few days earlier, when Louise was waiting to head to the courthouse for their marriage license, it was Roberts who arrived to accompany her instead of Brunson. Her groom was at a poker game, and he was winning. They figured Roberts could stand in his place. Besides, as Brunson remembers, “we needed the money.”
Downtown Las Vegas looks today like something out of *Blade Runner*. Fremont Street, less than ten miles north of the Strip, used to be where the towns biggest gamblers lorded over the action at casinos like the Golden Nugget and Benny Binions Horseshoe. The area has since been redeveloped as an outdoor mall and promenade, where pop music pulses from speakers and a [massive LED screen](https://vegasexperience.com/viva-vision-light-show/) arches over the street like an artificial, electric-pink-and-orange sky. 
The Horseshoe is still there, although its now called Binions. Inside, the ceilings are low, and the air is stale with nicotine. The flashing lights and electronic bleeps of slot machines are everywhere, and only three framed photos on the wall behind the cashiers cage are left to commemorate the casinos status as the birthplace of the World Series of Poker. Brunson appears in two of them, one that features him and the late poker pro Stu Ungar seated at the 1980 events final table and another in which hes shaking hands with broadcaster Brent Musburger. The poker tables at Binions have closed during the pandemic, and as one cashier says, “I dont know if theyre gonna come back.” 
Vegas constantly erases its own history. Harrahs Entertainment bought the rights to the WSOP in 2004, and in doing so, the company acquired the Horseshoe name. This summers WSOP has already begun at the Ballys casino complex on the Strip, which is in the process of being renovated and rebranded as the Horseshoe. The Main Event will start July 3. At the opening press conference, organizers were keen to highlight the old Horseshoe as the WSOPs birthplace, but the glitzy, corporate air of the endeavor had little in common with the spirit of the original casino or its boss, Benny Binion.
Binion was a [Dallas crime boss](https://www.texasmonthly.com/news-politics/benny-and-the-boys/) who had already been convicted of one homicide and charged with two more by the time he moved to Vegas. He left Texas in 1946—“My sheriff got beat in the election,” he said—and headed to Nevada with $2 million stuffed inside a pair of suitcases. There, he bought the Horseshoe and turned it into a no-frills paradise for gamblers. Binions casino would take any bet, without limits, and the house always paid. The Sombrero Room restaurant served beef from his ranch in Montana and poured bowls of spicy chili using a recipe that Binion had learned from a lawman who had been part of the team that ambushed Bonnie and Clyde and who used to cook for inmates in the Dallas jail. Binion looked out for other Texans in Vegas, and when Brunson moved to the city, in 1973, Binion took him under his wing. They ate lunch together most days, often with the mayor and other local power players.
Brunsons connection to Binion also gave him protection during a period in which rival syndicates clashed over their cuts of nearly every dollar won, lost, earned, or stolen in Vegas. When Brunson arrived, the citys most vicious gangster was Tony “the Ant” Spilotro, who, according to some accounts, committed at least two dozen murders and who inspired Joe Pescis character in *Casino*. Word eventually reached Brunson that Spilotro wanted 25 percent of his winnings. The next time they saw each other, Brunson asked why he should accept those terms. 
“If you dont like it,” Spilotro said, “Ill stick twelve ice picks in that big fat gut of yours.” 
“You cant kill everyone,” Brunson told the mobster at a subsequent meeting.
“I wont have to kill everyone,” Spilotro said. “Just the first one.”
Despite the threats, Spilotro never laid a hand on Brunson, who says the only reason hes still alive is because Spilotro knew better than to cross Benny Binion. For his part, Brunsons participation helped Binion and his son, Jack, launch the inaugural World Series of Poker. That title didnt mean much—at the time, demand for the game was so scarce that many Vegas casinos lacked poker rooms. The event wound up being more convention than tournament. The Binions invited the best three dozen players in the world, many of whom were Texan, to play different variations of poker over several days and then vote on the overall champion. It wasnt until the following year that the tournament adopted an elimination format. The Binions liked the event because it brought people into the casino. Players such as Brunson liked it because it made for easy pickings in side games with tourists who wanted to try their luck against pros.
> Brunson got a ten and a two. “Its one of the worst hands you can be dealt,” Negreanu says. “Absolute trash.” But Brunson sensed that Alto didnt have anything either.
In 1976 Brunson made it back to the final table for the first time since he had conceded the title four years earlier. This time, he played to win. It was down to him and a gambler from Houston, Jesse Alto. Brunson chipped away at Altos stack, wearing him down little by little until Brunson finally won a big hand. Brunson knew that Alto tended to get impatient after losing big and thought, “If I can win the next hand, I might break him.”
The dealer slid the men their cards, and Brunson turned up a ten and a two. “Its one of the worst hands you can be dealt,” Negreanu says. “Its absolute trash.” But Brunson had a feeling that Alto didnt have anything either. When Alto bet, Brunson called.
The flop—three communal cards for either player to use in his hand—showed an ace, jack, and ten, giving Brunson a pair of tens. Alto bet again, and even though Brunsons pair wasnt much, he decided to play out his hunch. He called. The dealer turned over a two, giving Brunson two pair. Alto looked across the table, trying to read Brunsons mind. Brunson stared back and noticed the shadows beneath his opponents eyes. He had him.
He pushed enough chips into the middle to force Alto to go all in with the rest of his stack. Alto called.
“Whatve you got?” Brunson asked.
Alto flipped over an ace and a jack, giving him the stronger two-pair hand. Brunson showed his ten-deuce and said, “Youve got me beat.”
But they still hadnt seen the final card—the “river”—and if that were either a ten or a two, Brunson could still win. The odds against that happening stood at eleven to one.
The dealer flipped the card. Ten of diamonds. Brunson had won the Main Event.
The next year, he was back at the final table, and the winning hand followed an almost identical script. Brunson had been working his opponent, Gary “Bones” Berland, and figured he had him on the ropes. He started with the same exact hand: ten-deuce. The communal cards gave Brunson two pair, and he bet before the dealer turned over the “river.” Berland went all in. The final card showed a ten, giving Brunson a full house and making the back-to-back champion a bona fide poker superstar.
To this day, the ten-deuce is known as the “Doyle Brunson.”
Today Brunsons home office is full of stacks of documents, photos, and books that pile on his desk, around the floor, and under the window. A documentary crew is working on a film about his life, and hes been sorting through photos for them. In the middle of it all is his computer, where he keeps Twitter open to interact with fans. Early one afternoon this spring, a new tweet popped up on his screen, and he leaned forward in his chair to see it. “Didnt @TexDolly teach us that \[ace-king\] is a drawing hand?” He smiled as he read it.
Somewhere among the papers is an old journal of Brunsons. He calls it his Book of Miracles, and it contains ten entries, ten moments that he can explain in no other way than divine intervention. 
Brunson wasnt always religious. In 1982 his daughter Doyla died from a heart condition at only eighteen years old, and he left poker for a year. He contemplated suicide. Somewhere in the grief, he started to explore spirituality. He studied Buddhism and Hinduism but eventually came back to the Bible. “I could see,” he explains, “Well, this thing is true.’ ” One of his old basketball teammates had become a minister and flew to Las Vegas to console Brunson. They prayed together, and soon, many of the poker pros in Vegas were joining them. “Id see poker games just break up with a million dollars on the table,” he says, “and everybody goes, Well, we gotta go to Bible study.’ ”
Brunsons miracles range from the unlikely to the truly inexplicable. One recounts a time Louise was driving in rural Montana and her car broke down. Suddenly, out in the middle of nowhere, a man appeared and fixed the vehicle; when Louise turned around to thank him, he had disappeared. “What else could it have been except an angel?” Brunson says.
Another is from 1963. Brunson woke up with a blueberry-size growth on his neck. After a week, it was as big as a lime. His brother had died of melanoma, so Brunson rushed to the hospital. Diagnostic tests confirmed Brunsons fears, and later, when surgeons operated on him to remove the cancer, they saw that it had spread. They excised everything they could, but they kept finding more. There was no use trying to remove it all; the doctors said he had three months to live. Louise was pregnant with their first child, and she prayed that hed survive long enough to see the birth.
> For all the good fortune recounted in his Book of Miracles, poker doesnt earn a mention. Brunson never needed luck to win a card game.
They sought a second opinion at MD Anderson Cancer Center in Houston, where surgeons proposed a potentially lifesaving procedure but warned that Brunson might die on the operating table. He took the bet. Friends visited and said their goodbyes. Louise prayed more. But when the doctors opened Brunson up, the cancer was nowhere to be found. “I dont know how to explain it,” he says. “I didnt appreciate it at the time, but the more things that happened that I did start seeing, I went, Well, good night. Maybe there is some kind of calling—I dont know.’ ”
Brunson had told Louise that if he got healthy, hed stop gambling and find a real job to provide for their daughter. Poker was fun, but if he got another chance at life, he would dedicate it to family. He swore to do something respectable. 
Once he recovered, though, he felt as if he were living on borrowed time. His brush with death had convinced him that life was too fragile to spend behind a desk. After all, he already knew how to support his family from behind a stack of chips.
He kept playing, and his bets grew more aggressive than ever. The strategy worked—he won 54 games in a row. “It was so uncanny it got to be a joke,” he writes in his memoir. That winning streak paid off all of his medical debt.
Brunsons Book of Miracles describes other medical marvels, like when Louise survived a uterine tumor, and when Doyla overcame a debilitating spine condition. Yet for all the good fortune recounted in those pages, poker doesnt earn a mention. Brunson never needed luck to win a card game. 
![Brunson saluting the crowd after his final hand at the 2018 WSOP.](https://img.texasmonthly.com/2022/06/Doyle-Brunson-Poker-Player-Las-Vegas-World-Series-2018-scaled.jpg?auto=compress&crop=faces&fit=scale&fm=pjpg&h=640&ixlib=php-1.2.1&q=45&w=1024&wpsize=large)
Brunson saluting the crowd after his final hand at the 2018 WSOP.Drew Amato/Courtesy of PokerGO
Brunson says he wants to live until hes 102—his way of honoring the poker hand that bears his name. Around the time he turned 70, though, he realized hed better get trim if he wanted to last that long. He had grown so heavy that while playing a game in 2003, he struggled to get up from the table. The group hed been sitting with told him he needed to lose weight, and he replied that he needed to lose a hundred pounds. They asked if he wanted to bet on whether he could do it, and Brunson couldnt say no to the action. They gave him ten-to-one odds and two years to shed the hundred pounds. Brunson put up $100,000. If he won, hed be paid back $1 million.
The first year, Brunson didnt lose an ounce. The following year, months passed, and Brunson still hadnt lost any weight. But then he went on a diet, and the weight flew off. He might have a shot at that million after all. For the remaining months, he stuck to a strict diet of catfish with Parmesan cheese. With a few weeks to go, the group gathered again. Brunson was down 98 pounds by then, so he offered them a deal. Hed give them 2 percent off if theyd pay him two pounds early. That night, they paid Brunson $980,000, and when they all sat down to play poker after dinner, Brunson lost every cent.
Weight has been a struggle for Brunson for most of his adult life, made worse by mobility challenges that have hounded him ever since he broke his leg in college. During another weight-loss attempt, he tried detoxing at a health center. On his first day there, the staff drew some blood for testing. The next, they drew some more. When they called him into the doctors office on the third day, nearly every professional from the clinic was there waiting. “Your cholesterol is less than one hundred,” a doctor explained to him. “We have people down here that eat nothing but raw vegetables and fruit trying to get their cholesterol down to where yours is. And we were just interested in what you eat.”
“I eat everything,” Brunson replied.
The doctors were stunned—on top of everything else, Brunson had also won the genetic lottery. “Your body must be programmed to live one hundred and twenty-five years, as badly as youve treated it,” they told him.
Brunson will keep playing as long as that body will let him. If you ask how hes done it for so long, he wont talk about betting strategy or even mention poker at all. “I come from a long line of livers,” hell tell you. Its like an old saying of his, one he repeated in the opening credits of the NBC show *Poker After Dark*: “We dont stop playing because we get old. We get old because we stop playing.”
And so, at least once a week, the excitement begins anew inside the Bellagio. Brunson enters through the north valet and heads straight to the Legends Room. Just outside, on the walls leading to the administrative offices, hangs a painting of a poem with the title “The Legend of Texas Dolly” written across the top. The canvas has been up long enough that many casino employees dont know who made it or how it got there. “I know its not something were going to take down,” says Mike Williams, the Bellagios director of poker operations. The poem is decorated with playing cards and a photo of Brunson smiling in his cowboy hat. The final stanza goes like this:
> In poker gamescross this land, by golly
>
> They gun for him, but its all pure folly
>
> For tho he holds only ten-deuce
>
> All your chips youll turn loose
>
> Because that is the Legend 
>
> Of Texas Dolly.
*Joe Levin is a writer based in Austin. He was once the top-ranked amateur competitive eater in Texas.*
*This article originally appeared in the July 2022 issue of* Texas Monthly *with the headline “Original Gambler.”* [*Subscribe today*](https://www.texasmonthly.com/subscribe/?ref=end-article)*.*
&emsp;
&emsp;
---
`$= dv.el('center', 'Source: ' + dv.current().Link + ', ' + dv.current().Date.toLocaleString("fr-FR"))`

@ -12,7 +12,7 @@ CollapseMetaTable: Yes
--- ---
Parent:: [[@News|News]] Parent:: [[@News|News]]
Read:: No Read:: [[2022-06-25]]
--- ---
@ -54,9 +54,9 @@ The next day, San Franciscos daily papers blared news of Feinsteins stunni
Its hard to read about that night and not think of an evening 49 years later, when 28-year-old [Alexandria Ocasio-Cortez](https://nymag.com/intelligencer/article/aoc-biography-book-excerpt.html) shocked New York City by winning her scrappy primary campaign for Congress, sending a rush of reporters to belatedly cover a phenomenon known as “[AOC](https://www.thecut.com/tags/aoc/),” fetishizing her clothes, her hair, her face. Both womens entrances into politics were watershed moments. As Feinstein told reporters at the time, her win signaled “a new era, a different kind of politics working strongly for change,” saying of her then-12-year-old daughters interest in one day being mayor, “Each generation does better than the one before.” Its hard to read about that night and not think of an evening 49 years later, when 28-year-old [Alexandria Ocasio-Cortez](https://nymag.com/intelligencer/article/aoc-biography-book-excerpt.html) shocked New York City by winning her scrappy primary campaign for Congress, sending a rush of reporters to belatedly cover a phenomenon known as “[AOC](https://www.thecut.com/tags/aoc/),” fetishizing her clothes, her hair, her face. Both womens entrances into politics were watershed moments. As Feinstein told reporters at the time, her win signaled “a new era, a different kind of politics working strongly for change,” saying of her then-12-year-old daughters interest in one day being mayor, “Each generation does better than the one before.”
## On the Cover ---
### — ## On the Cover
Dianne Feinstein. Photo: Philip Montgomery for *New York* Magazine Dianne Feinstein. Photo: Philip Montgomery for *New York* Magazine

@ -0,0 +1,193 @@
---
Tag: ["Tech", "Bezos", "Press"]
Date: 2022-06-26
DocType: "WebClipping"
Hierarchy:
TimeStamp: 2022-06-26
Link: https://washingtonmonthly.com/2022/06/20/jeff-bezoss-next-monopoly-the-press/
location:
CollapseMetaTable: Yes
---
Parent:: [[@News|News]]
Read:: [[2022-06-29]]
---
&emsp;
```button
name Save
type command
action Save current file
id Save
```
^button-JeffBezosNextMonopolyThePressNSave
&emsp;
# Jeff Bezoss Next Monopoly: The Press
When Amazon founder Jeff Bezos bought *The Washington Post* in 2013, he quickly became aware of a longtime problem hobbling the entire news industry: The technology that news organizations employed to publish and make money from their content online was wildly inefficient and inadequate. 
Bezos also found a chief information officer at the *Post*, Shailesh Prakash, with ambitions larger than his budget. Bezos solved Prakashs budget problems, and the *Post* built what has over time become a best-in-class platform, conveniently hosted on Amazons own cloud computing servers. The *Post* started licensing its technology to other news organizations in 2016, and its digital publishing division, Arc XP, is now a booming business employing a staff of 300 that is continuously rolling out new functionalities. It powers more than 2,000 sites for media organizations and non-media brands that can afford its hefty price tag. 
Together with its affiliated ad buying and ad rendering platform, Zeus Technology, Arc addresses the entire range of technology needs for digital publishers, from production to monetization. It is precisely the kind of infrastructure the industry needs to get back on its feet after two decades of losing every conceivable battle—and a staggering [80 percent](https://www.pewresearch.org/journalism/fact-sheet/newspapers/) of its advertising revenue—to Big Tech companies like Google, Facebook, and, yes, Amazon. 
News organizations today have a wide variety of options when it comes to technology, and other companies—including Brightspot, Contentful, and RebelMouse—also offer cutting-edge solutions. *The New York Times*, *The Wall Street Journal*, and the biggest chains have built their own.
> *The dilemma we face is that one of the best answers to the news industrys technology woes is in the hands of a man who has repeatedly proved that he cannot be trusted.*
But nobody is devoting the resources that Bezos is to Arc, making it a dominant player particularly for legacy print publications transforming to digital first. “We looked at others,” says Tom Shaw, vice president of Shaw Media, whose print and online publications in Illinois and Iowa [switched to Arc in 2020](https://www.editorandpublisher.com/stories/shaw-media-creates-digital-news-network-for-northern-illinois,188311?newsletter=188315). “We were seeing the companies we looked up to getting in on this,” he told me. “Arc was the one that everyone was jumping in on. It seems like its the one thats growing.” Of the 20 largest American newspapers (by print publication), eight use Arc. 
According to a recent [article in Axios](https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.axios.com%2F2022%2F06%2F14%2Fwapo-arcxp-not-selling-tech-business&data=05%7C01%7C%7C7c91798dad714511fd2208da4fb6e70e%7C6d6846dc48a94d88b48b2454ae0b6d9e%7C1%7C0%7C637909944222982952%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=OOUgvqx1QEmjSSeR3%2BFHq%2B4%2F%2BmUlKHQ5kjCq5Jncsik%3D&reserved=0), Bezos has rejected offers to buy Arc that valued the operation at north of $100 million—because hes thinking bigger than that. “We are not a capital-constrained company,” Prakash told Axios. “Its never a question of funding, its always a question of, is it the right thing to do?” And the right thing to do, ArcXP President Miki King said, is “creating more of a velocity in revenue growth.”
Bezoss control of Arc and Zeus give him significant power over the news industry. They both allow him to harvest vast amounts of cash from competitors, even as he makes them increasingly dependent on his technology. We know, based on past experience with Amazon and its Amazon Web Services (AWS) cloud computing subsidiary, that being dependent on Bezoss technology comes with serious consequences—often including manipulation, predatory surveillance, and unfair practices. What initially appears to be a benign solution becomes exploitation of a trapped client base. 
Bezoss outsized investment means that he could soon control the backbone of most of the large newspaper markets in America. Meanwhile, Arcs high cost creates a barrier to entry for new news organizations that cant afford it. It further accelerates the cleavage of the industry into haves and have-nots. The have-nots—including most small local and ethnic publishers—often struggle with inferior technology that stifles both editorial and revenue ambitions, at a time when local news is increasingly recognized as an essential and endangered public good. 
Conversely, if Bezos were to suddenly drop the price of Arc XP and Zeus Prime, he could potentially drive other platform providers out of business, allowing him to take a cut of the entire industrys revenues right off the top.
“You look at Jeff Bezos and his history and his behavior and how hes gone about building total domination of e-commerce, and you realize: He could do the same thing to media as hes done to retail,” says Daniel Williams, the CEO of BlueLena, a company that helps develop revenue models for news organizations. “And I think media is likely to become another instrument of the Amazon empire.”
There is an alternative scenario. Rather than continuing his every-person-for-themselves path to dominance, Bezos should make Arc XP his gift to the news community. Bezos says he bought *The Washington Post* because of his “[support of American democracy](https://www.bezosdayonefund.org/2018).” Having stepped down as Amazon CEO, he says he is now devoting himself to “[improving civilization](https://www.wired.com/story/plaintext-jeff-bezos-ceo-amazon/).” He could live up to those words by turning Arc XP over to a mission-driven nonprofit entity that could make it open-source, accessible, and affordable to all qualifying news organizations.
Just as the 19th-century industrialist Andrew Carnegie made a seminal contribution to the free exchange of information by building more than 1,600 public libraries across the United States, Bezos could turn Arc into public infrastructure for a public good. 
---
For a news organization to thrive online these days, it needs to overcome massive technological barriers. Reporting, writing, editing, and then publishing to many platforms in an attractive, engaging, and efficient way is an enormous challenge. And thats just for starters. Sustainability also requires the ability to convert readers into subscribers, sell and serve targeted ads, optimize for search, market on social media, and create must-read email newsletters.
American newspapers mostly started publishing online in the late 1990s, often by cutting and pasting copy from their print production systems. For the next decade and a half, news organizations largely remained technological backwaters. Even the biggest publishers suffered from inflexible and unreliable content management and publishing systems. The corporate culture of print newsrooms had prioritized stability—in particular, avoiding a system crash on deadline—over new features. Publishers were slow to realize the need to invest in new technology, even as hot programmers at start-ups came up with ways to steal their readers and revenue with commodity news, free classified ads, search functions, and social networking. 
News technology has improved dramatically over the past 10 years—particularly for the major players. But many small newsrooms still depend on wheezing, legacy production systems that are a major drain on resources even while producing terrible user experiences on the web and mobile apps—with poor visibility on search engines, and only token revenue from online subscriptions. Plummeting returns on web ads have forced some smaller publications to junk up their sites with so many ads, many of them intrusive and slow to load, that they are virtually unreadable. “I think the most messed-up part of the system, especially for the local publishers, is the user experience,” Jim Friedlich, CEO of the Lenfest Institute, a nonprofit trying to help save local news, told me. “That last foot is often pretty horrible. And thats an area where a lot of people could use a lot of help.” 
Its a constant source of frustration for the industry. “All the pieces should be there, but theyre not there yet. Theyre too expensive or too complicated, or both,” says Chris Krewson, executive director of the nonprofit Local Independent Online News Publishers (LION). “CMS is destiny,” is how the University of Missouri journalism professor Damon Kiesow put it in an [interview with Poynter.org](https://www.poynter.org/business-work/2020/heres-what-you-need-to-know-before-moving-to-a-new-cms/), using the common abbreviation for “content management systems.” “Pretty much everything you do in your entire organization, be it newsroom, advertising, subscriptions, video, AR \[augmented reality\]—whatever the new thing is or the old thing is—thats all constrained by the capacity or lack thereof of your content creation and publishing systems.”
Arc XP offers vastly more complexity than a small or even medium-sized news organization needs. And integrating it currently requires a fairly high level of in-house technical expertise. But one can easily imagine stripped-down, open-source versions of Arc that still offer small organizations a standard, basic editing suite, reliable web hosting, improved ad serving—and the benefits of updates and new ideas from an ever-growing community of users.
---
Starting around 2010, large news publishers finally began to put more effort into creating efficient, reliable systems that reflected the new workflows and demands of digital publishing. One trailblazer was Shailesh Prakash, the chief information officer for *The Washington Post*. And in 2013, he had the good fortune to get his newspaper bought by one of the worlds richest men. Bezos liked Prakashs vision. So Bezos did what Bezos does: He supported the building of the best-in-class system for himself, then found other people to pay for it.
From the very beginning, Bezos focused his attention not on the *Post*s content, but on its technology. In *Amazon Unbound: Jeff Bezos and the Invention of a Global Empire*, the author Brad Stone recounted that Bezos “obsessed over shaving milliseconds from the time it took web pages and complex graphics to load. He also asked for customized metrics that could measure the readers true interest in stories, and whether an article was truly riveting.’ ” Bezos showered Prakash with money. Soon there were some 200 engineers, designers, and project managers at the *Post*, building what is now called Arc XP.
“The original driving force was to solve technological and newsroom problems that we faced at *The Washington Post*,” Matthew Monahan, one of Arcs creators and now its vice president for product, [told a media trade group](https://www.fipp.com/news/matthew-monahan-arc-publishing-washpo-speed-innovation-newsroom/) in 2018. “The whole reason we built Arc was that so many of the vendor-provided solutions we found on the market had serious constraints and were often tied to non-digital workflows,” he said. “More modern solutions didnt necessarily scale to the needs of large newsrooms. And many of the solutions out there didnt take digital speed as seriously as we did.”
Although Arc wasnt Bezoss idea, his money and the cultural shift that came in the wake of his purchase of the *Post* were major factors in its success. “I think it made a huge difference when Jeff bought the *Post* because it allowed the people at the *Post* to view the technology a bit differently,” says Jeremy Gilbert, who was director of strategic initiatives at the *Post* before joining the faculty at Northwesterns Medill School of Journalism. “You cant be owned by a billionaire who made his fortune in technology and not realize that technology has to be part of your job.”
> *Amazon leverages the fact that so many sellers depend on it to get to market—basically extorting them to pay for advertising in order to be seen.*
Word of mouth about the *Post*s new technology spread, and other news publishers decided they wanted in. “Bezos loved the idea of supplying that technology to other papers and encouraged Prakash to license it to broadcasters and any company that needed publishing software,” Brad Stone wrote in his book. 
*The Globe and Mail* in Toronto was an [early adopter](https://www.theglobeandmail.com/community/digital-lab/globe-to-adopt-the-washington-posts-technology-platform/article30229099/), in 2016. Jason Chiu, a former senior manager at *The Globe and Mail*, told me it was clear by then that “the biggest challenge for us was the CMS. It was holding us back.” The newsroom was still following its age-old print workflow, and articles were still being cut and pasted into the digital publishing system.
Arc was transformative, Chiu said. Where before, people had to struggle to produce a page that “looked remotely interesting,” Arc made it easy to customize and preview pages on the web and the mobile app. Editors could plan, track, and edit seamlessly. “It eliminated a lot of extraneous work,” he said. “Arc can consolidate tons of systems and workflows like no other CMS before it. Social. Publishing. Editing and copyediting. Video. Photos. Alert notification. Home page management. Arc did it all. There was no system that could do that before it.”
*The [Dallas Morning News](https://www.washingtonpost.com/pr/wp/2018/09/05/arc-publishing-to-license-technology-to-the-dallas-morning-news/)* started using Arc in 2019, after abandoning its own CMS. “We invested several millions of dollars in that, and then *The Washington Post* went out and invested hundreds of millions of dollars, and you could see the difference and we were in the wrong business,” Mike Orren, the *Dallas Morning News* chief product officer, told me. Prior to Arc, the newsroom was using “wonky” home-grown technology, Orren said. “We were managing our own DevOps \[development and operations\], and our own servers, so if we got a traffic spike of like 20 percent the whole thing would come down.” The newsroom had a huge list of unfulfilled requests. Arc changed all that. “Generally, at this point, if were down, the internet is down,” according to Orren. The bandwidth and content delivery network alone make it worth the investment, he said.
> *“Thats the business model. Its not screwing you from day one. Its getting you fully bought in and unable to escape and* then *screwing you.”*
Todays Arc XP consists of a suite of products for every step of the digital news process. The *Post* expects that it will soon be taking in $100 million a year. The company plans to add another 100 staffers in the next year. And Bezos is now making a big push beyond news, into the hugely lucrative space of selling the CMS to major brands and corporations. BP was Arcs first corporate client.
Arcs major U.S. newspaper clients include *The Boston Globe*, *The Philadelphia Inquirer*, and Tribune Publishing—including the *Chicago Tribune*, the *South Florida Sun-Sentinel* and *The Baltimore Sun*. The broadcasting giants Gray Television and Cox Media Group use Arc, as do several major international news organizations, including *Infobae* in Argentina and *El País* in Spain. 
It does not come cheap. Arc XP does not make its fee structure public—in fact, it insists on nondisclosure from the organizations that use it—but a recent [Forrester Consulting report](https://go.arcxp.com/tei) commissioned by Arc indicated that a regional media company with 500 employees—which is quite large—would pay a one-time implementation fee of $500,000, and almost that amount again as an annual subscription fee. Among the four organizations Forrester examined, the report said up-front fees ranged from $50,000 to $3 million.
But Forrester also concluded that based on increased revenues and efficiencies—including a 50 percent “improvement to the editorial teams productivity”—and cost savings from decommissioning legacy systems, the four organizations on average found that Arc XP paid for itself in 14 months. 
Many smaller news organizations have historically used WordPress or Drupal, two hugely popular open-source publishing platforms. But trying to keep sites on those platforms state of the art requires serious technical expertise. And with Google search results now favoring good “page experiences,” slow and jerky downloads can mean a stark drop in traffic.
In an attempt to make news publishing on WordPress more efficient and effective, Kinsey Wilson, a digital publishing veteran and president of WordPress.com, [founded](https://newspack.pub/about/) Newspack in 2019. “There is absolutely no economic value in everyone repeating the same technological exercise over and over again,” he told me. Newspack, which is open-source, is for smaller publications (the *Washington Monthly*s website utilizes Newspack). It gets support from the Lenfest Institute, the Knight Foundation, and the Google News Initiative, and is still considered a work in progress. 
And just like Arc is now marketing its platform outside the news industry, companies in the broader market like Brightspot and Contentful are contenders for news publishers. *The New York Times*, a leader in news technology, uses a proprietary system called Scoop that is not available for licensing. A *Times* spokesperson told me the investment and effort necessary would “detract from our strategy of investing in our journalism.” 
---
The dilemma we face is that one of the best answers to the news industrys technology woes is in the hands of a man who has repeatedly proved that he cannot be trusted to have anyones best interests at heart other than his own, and whose MO includes ravaging the competition. 
Jeff Bezos has a history of monetizing surveillance and exploiting workers and partners. As [PBS *Frontline* reported](https://www.pbs.org/wgbh/frontline/article/amazon-empire-documentary-jeff-bezos-key-takeaways-where-to-stream/), from the very first days of Amazon Bezos has “treated the site as a laboratory where customer behavior could be studied, predicted, and potentially influenced.” A 2021 [Open Markets Institute report](https://static1.squarespace.com/static/5e449c8c3ef68d752f3e70dc/t/60eee57a56b0254d2f05a6b8/1626269051310/AmazonSurveillance_Report_2021_Final.pdf) revealed that Amazon has routinely engaged in a “vast range of unfair, predatory, and exclusionary practices.” The reports author, Daniel Hanley, explained: “Amazon is a surveillance company, first and foremost. Surveillance of all parties—from workers to competitors to consumers—is a fundamental aspect of the corporations operations. It uses invasive surveillance tactics to enable and facilitate its predatory conduct and fortify its monopoly power.”
Amazons hugely successful AWS subsidiary is in some ways the model for Arc. AWS came about because Bezos built a huge and resilient cloud network for Amazons use, then started charging others to use it as well. Now its the most profitable part of Amazons business, indispensable to many modern internet companies. AWS also serves Amazon in other ways, notably by boosting the corporations already-unparalleled view of commercial flows on the internet to outcompete rivals and to manipulate and exploit the companies that depend on Amazons platform to get to market. In a seminal *Yale Law Journal* article about “[Amazons Antitrust Paradox](https://www.yalelawjournal.org/note/amazons-antitrust-paradox)” in 2017, then Yale Law student Lina Khan warned, “Amazon enjoys receiving business from its rivals, even as it competes with them. Moreover, Amazon gleans information from these competitors as a service provider that it may use to gain a further advantage over them as rivals—enabling it to further entrench its dominant position.”
And as *The New York Times* [reported](https://www.nytimes.com/2019/12/15/technology/amazon-aws-cloud-competition.html) in 2019, Amazon indeed turned out to be using AWS “to copy and integrate software that other tech companies pioneered.” Even some Amazon competitors have ended up being dependent on AWS. Netflix is entirely based on AWS, despite the fact that AWS, as the *Harvard Business Review* [reported](https://hbr.org/2022/03/how-to-choose-the-right-ecosystem-partners-for-your-business), “developed the knowledge to read and analyze content consumption data and in 2016, Amazon launched its own streaming service, Amazon Prime.”
---
Arc has plenty of competition for now—especially in the corporate CMS market, where it remains a relatively small player. Nevertheless, it raises all sorts of anticompetitive concerns. 
Arc, just like AWS, is designed to make it hard for clients to leave. “Once we have a customer, and its taken a while to get it all sorted out and integrated, the switching costs are also high,” *Post* CIO Prakash [said in a 2021 talk](https://productsthatcount.com/washington-post-cpo-cto-on-building-a-technology-startup-within-a-non-tech-company/) with project managers. “You dont rip out a fundamental publishing system and e-commerce system overnight.”
Arc also brings clients to AWS, which Reuters [called](https://www.reuters.com/article/us-amazon-com-aws-washington-post/washington-post-software-deal-a-double-win-for-bezos-idUSKBN16M04B) “a double win for Bezos”—while AWS clients are encouraged to use Arc, which is an “advanced partner within the AWS Partner Network.” “This is classic antitrust,” Sascha Meinrath, a Penn State professor and digital rights activist, told me. “*The Washington Post* locking another newspaper into AWS via this platform? What ridiculousness is this?” 
“Bezos builds tight, vertically integrated businesses, then rents out capacity in every part of his stack,” the digital consultant Austin Smith [wrote in a 2018 report](https://narrowpathforlocalnews.org/) for the Lenfest Institute about the future of local news. Arc, he predicted, “will not outcompete other news products simply because its technology is superior or because \[the *Post*s\] reporters are better. It will outcompete other news products because its integration is tighter—and many of its competitors will subsidize its operating costs by leasing its technology.”
Meanwhile, Arc XP already effectively [drove its chief competitor out](https://digiday.com/media/cms-war-vox-media-washington-post-heating/) of the news platform business: Vox Media is no longer licensing its full-service CMS, which had attracted news clients including the Minneapolis *Star Tribune*. Vox simply didnt have the resources to keep up with Arc, and made what a spokesperson called a “strategic decision” last year to focus instead on moving forward with Concert, its ad stack, and its Coral commenting component. Chase Davis, the deputy managing editor of the *Star Tribune*, told me that with all the resources Bezos has put into Arc, “itd be tough, I think, for other people to come in and compete with them in that space.”
People advocating for affordable and sustainable technology solutions for the entire news industry are deeply uneasy about Bezos and Arc, even in the short run. Daniel Williams, the CEO of BlueLena, told me he worries about Bezoss ability to sustain losses in order to drive out competition. Williams said Bezos could potentially decide to offer Arc free of charge—as long as subscription revenue passed through Amazon or Bezos retained the rights to some data. Bezos could then leverage the data for his algorithms. “Hopefully Ill be able to retire before Bezos comes along and takes it all away,” Williams said. “But they could do it instantly—and very well may.”
> *From 2004 to 2020, the U.S. lost 2,100 newspapers—about one in four—often leaving communities without access to reliable local news. Those that still exist are often ghosts of their former selves.*
On the all-important revenue side of the equation, Bezoss *Post* has taken [aggressive steps](https://www.washingtonpost.com/pr/2020/12/02/how-jeff-bezos-washington-post-is-taking-google-facebook-with-insanely-unique-ad-technology-publishers/) to erode Google and Facebooks domination of the online advertising market. The *Post* led the movement away from Googles accelerated mobile pages framework, which has been accused of [discriminating](https://searchengineland.com/google-throttled-amp-page-speeds-created-format-to-hamper-header-bidding-antitrust-complaint-claims-375466) against non-Google-served ads. And the Zeus Prime platform, which can be used with or without Arc, is specifically intended to challenge Google and Facebook by creating an alternative market of publishers where ads are easier to buy and target, and render more quickly.
But Amazon itself has become a major player in the ad market, [taking in](https://www.cnbc.com/2022/02/03/amazon-has-a-31-billion-a-year-advertising-business.html) $31 billion in 2021 for placing ads in its own product listings and search results. That was more than a quarter of Facebooks ad revenue that year and fully 15 percent of Googles. Their business models are different: Facebook and Google divert advertisers away from traditional publishers; Amazon leverages the fact that so many sellers depend on it to get to market—basically extorting them to pay for advertising in order to be seen. But turning a duopoly into a triopoly, one of which is an extortionist, is hardly doing the news industry a favor.
With 2,000 sites globally, Arc is already taking advantage of network effects—enjoying benefits that would, ideally, redound to the entire industry, and making it that much more powerful. “The bigger the platform gets, the more useful feedback we get from our customers and the better the platform becomes,” Arcs Matthew Monahan told a trade group.
> *The idea that journalism is a public good that we as a society should find some way to support and protect seems, at this point, like a no-brainer. And the future—if there is a future—is online.*
Thus far, at least, theres no evidence that Arc XP developers sift through their clients data to get a leg up. In fact, news customers who were apprehensive were assured that this would never happen. “That was a concern when we negotiated the deal,” *The Dallas Morning News*s Orren said. “But it is very clear in our agreement with them that neither Arc nor Amazon have any access to our data for tracking or monetization; its expressly forbidden. They are not allowed to use that data for any purpose other than keeping us online.”
And yet, Bezos wouldnt be who he is today without his exploitation of customer data, cutthroat approach to competition, and ruthless attitude toward suppliers and employees. “Look, hes not abusing this power right now,” Meinrath, the Penn State professor, said. “But historically, you give away the software, you do something real nice for a while, everyone jumps on this platform. And then you start doing evil shit and everyones like, Well, crap, we cant leave it? Thats the business model. Its not screwing you from day one. Its getting you fully bought in and unable to escape and *then* screwing you. And that could be via pricing models, that can be via data extraction—any huge array of different things.”
---
From 2004 to 2020, the U.S. [lost 2,100 newspapers](https://www.usnewsdeserts.com/reports/news-deserts-and-ghost-newspapers-will-local-news-survive/the-news-landscape-in-2020-transformed-and-diminished/vanishing-newspapers/)—about one in four—often leaving communities without access to reliable local news. Those that still exist are often ghosts of their former selves, and the decline appears to be [accelerating](https://www.cislm.org/wp-content/uploads/2020/06/2020_News_Deserts_Report_Final-Version-to-Design-Hammer-6-23-1.pdf). One statistic tells most of the story: In the past two decades, advertising revenue for the newspaper industry plummeted, from $49 billion a year to less than $10 billion a year, with those dollars effectively shifting from news publishers to the targeted, surveillance-fueled high-tech digital advertising machines of Google and Facebook.
Americas Founding Founders recognized the crucial role of journalism in a democracy, and came up with several ways to strengthen what was then a nascent journalism industry. As the historian and journalist Rick Perlstein [emphatically explained](https://twitter.com/rickperlstein/status/1370204949502701569?s=11) on Twitter, “the Founders of the U.S. ALREADY \[F\*\*\*\*\*\*\] FIGURED OUT THIS PROBLEM. They financially subsidized newspapers with cheap postage and by giving printers lucrative government contracts. They made it nearly impossible for them to fail as businesses.”
The idea that journalism is a public good that we as a society should find some way to support and protect seems, at this point, like a no-brainer. And the future—if there is a future—is online. As Nic Newman [wrote in a major report](https://reutersinstitute.politics.ox.ac.uk/journalism-media-and-technology-trends-and-predictions-2022#conclusion) for the Reuters Institute for the Study of Journalism, “Less digitally advanced parts of the news media may struggle in the years ahead.” Scholars like Ethan Zuckerman [envision](https://www.journalismliberty.org/publications/what-is-digital-public-infrastructure) public digital infrastructure that includes “public service digital spaces, tools and resources.” For any news organization that wants it, Arc could be that kind of public (or nonprofit) digital infrastructure. 
“It would be nice to be able to have a cheap or free or even revenue-generating tech stack that newsrooms could use,” Chris Krewson, the director of the LION publishers group, told me. “Because if technology becomes like water in this field, its going to irrigate the field. Well be able to plant more seeds and have more things grow.”
The nonprofit expert Steve Waldman, president of Report for America and a *Washington Monthly* contributing editor and board member, told me he believes that the best path forward would be for Bezos to turn Arc over to a new, independent nonprofit with public serviceminded journalists on the board of directors and a clear mission to help local news through technology. One model could be the Mozilla Foundation, an independent nonprofit that manages the free, open-source Firefox and Thunderbird software while, through its for-profit arm the Mozilla Corporation, also charging for its premium products.
One essential part of this transition would be to make Arc open-source. That means literally making the code public, so anyone can inspect, modify, enhance, and share it. After making sure that no back doors or other security issues are exposed, that can be as simple as putting it on the internet host and software provider GitHub. “Having a process of opening up source code is a standard procedure within this realm,” Meinrath said. “And there are best practices that one can follow that make that a very graceful glide path.”
Making software open-source promotes collaboration and means that every improvement benefits the public. One particularly welcome modification, for instance, would be to create a vastly simplified version for small publishers. Being open-source does not, however, mean that you cant charge money to clients. Red Hat Enterprise Linux, which is now owned by IBM, has a mostly open code base, but makes several billion dollars a year. If a nonprofit acquired Arc, it could support its mission by continuing to charge non-news clients top dollar. Storage and traffic fees could be on a sliding scale. 
Meinrath also noted that transferring Arc to a nonprofit would significantly minimize the current risk for publishers. “Theyre all relying upon the goodwill of Jeff Bezos—theyre relying on one guy to continue this project,” he said. “But billionaires arent exactly known for their long-term commitment to pretty much anything. And whos to say that when Jeff Bezos dies, whoevers next in line is going to want to keep maintaining this? And you can imagine this disruption to a realm thats utterly reliant upon this singular code base. So why not make a transition to a sustainable, nondependent business model gracefully and over time, rather than wait for what I would declare to be the inevitable crisis point?”
Jim Friedlich, the Lenfest CEO, said his advice to Bezos would be to “define news as a public good and Arc as a public service and use your technology and your engineering capability as a gift to the rest of the news industry.”
Even competitors like Kinsey Wilson, the CEO of WordPress.com, say Bezos turning over Arc to a nonprofit would be good for the industry—although Wilson cautioned that hed want to see Arc guarantee data portability and ownership. “You dont want to put publishers in a position where their entire business is dependent on a proprietary system,” he said. 
And the nonprofit would need to offer extensive customer support. “Simply throwing tech at something in journalism has proven over and over again not to be the solution,” Mary Walter-Brown, CEO of the News Revenue Hub, a nonprofit organization that helps digital news outlets develop stronger business models, warns. “Dont just give the tool,” says Erika Owens, the  director of OpenNews, a nonprofit that encourages collaboration between technologists and journalists. “Give the tool and … three years of developer support and training support, of developers working with journalists to tell stories in ways that are only possible with the Arc platform.”
Much like postal subsidies, a subsidized Arc would have to be available on a content-neutral basis—to all news organizations that meet certain structural requirements, whether or not what they publish is objectionable to some. “My honest answer is that were going to have to tolerate some bad guys using this,” Steve Waldman said. But, as he pointed out, “scurrilous Federalist newspapers printing lies got postal subsidies too.”
Some observers are skeptical that Bezos would entertain any such idea. “That would be fantastic,” Williams of BlueLena said. “But were talking about appealing to the altruism of a guy who has a $400 million yacht and managed to get a government to [tear down a bridge](https://www.bbc.com/news/world-europe-60241145) so he could get his yacht out of the port.”
> *Donating his publishing technology to the American people might be just what Bezos needs to repair his plutocratic image while we are still asking nicely.*
Yet Bezos has spoken in heroic terms about his personal ambitions. He [told a reporter](https://www.wired.com/story/plaintext-jeff-bezos-ceo-amazon/) back in 2018, “Im not going to work on something that I dont think is improving civilization. Why would I?” When he stepped down as Amazon CEO, Bezos [wrote](https://www.aboutamazon.com/news/company-news/email-from-jeff-bezos-to-employees) to the companys employees that he would now “have the time and energy I need to focus on the Day 1 Fund, the Bezos Earth Fund, Blue Origin, The Washington Post, and my other passions.” That presumably means fighting climate change, alleviating poverty, colonizing space—and helping the news industry. He did save the *Post*, which had been sloughing off staff and drifting toward irrelevance. In a [*Medium* post](https://medium.com/@jeffreypbezos/no-thank-you-mr-pecker-146e3922310f) in 2019, Bezos wrote about his purchase: “The Post is a critical institution with a critical mission. My stewardship of The Post and my support of its mission, which will remain unswerving, is something I will be most proud of when Im 90 and reviewing my life, if Im lucky enough to live that long.”
Waldman sees Bezos in a position to create a lasting legacy “akin to Carnegie building a thousand libraries … If he basically made Arc an open platform, that could be an incredible gift.”
And if Bezos doesnt feel so charitably inclined? He shouldnt forget that Lina Khan, who laid out a legal battle plan for breaking up the whole of Amazon in *The Yale Law Journal*, is now the head of the Federal Trade Commission. Donating Arc to the American people might be just what Bezos needs to repair his plutocratic image while we are still asking nicely.
*(Editors note: After this story was published, a Washington Post spokesperson emailed that Jeff Bezos “is not involved in Arcs day-to-day operations and strategy.”)*
---
*This article was produced in association with the Open Markets Institutes Center for Journalism & Liberty.*
[](https://donatenow.networkforgood.org/1407658)
&emsp;
&emsp;
---
`$= dv.el('center', 'Source: ' + dv.current().Link + ', ' + dv.current().Date.toLocaleString("fr-FR"))`

@ -0,0 +1,103 @@
---
Tag: ["Tech", "Bezos", "Media"]
Date: 2022-06-26
DocType: "WebClipping"
Hierarchy:
TimeStamp: 2022-06-26
Link: https://www.politico.com/news/magazine/2022/06/23/news-streaming-media-revolution-00040567
location:
CollapseMetaTable: Yes
---
Parent:: [[@News|News]]
Read:: [[2022-06-26]]
---
&emsp;
```button
name Save
type command
action Save current file
id Save
```
^button-TheBiggestChangeinMediaSinceCableIsHappeningNowNSave
&emsp;
# The Biggest Change in Media Since Cable Is Happening Right Now
But CNN+s failure obscures the enthusiasm the other major news networks — NBC, CBS, ABC, and Fox — have for the streaming medium. Streaming executives interviewed for this story avoid over-hyping the medium but see it as TV news future. The [news divisions](https://www.hollywoodreporter.com/business/digital/nbc-news-streaming-push-1234988690/) hired [hundreds of staffers](https://www.nytimes.com/2022/01/26/business/media/cnn-plus-streaming-news.html) and invested [hundreds of millions of dollars](https://www.latimes.com/entertainment-arts/business/story/2022-03-02/cnn-and-cnn-streaming-service-after-jeff-zucker) in streaming news operations. And some have been rewarded already for their investment. Fox has [attracted about 1.5 million subscribers](https://www.businessinsider.com/cnn-struggles-to-win-big-nsubscription-numbers-in-first-week-2022-4) for its Fox Nation streaming app. NBC News Now produces 10 hours of programming a day and boasts that viewers stream 31 million hours of content a month. CBS News, which has an aggressive local streaming news component to its strategy, says it will beam 45,000 hours of local weather and news in 2022. News underdogs like [Cheddar](https://cheddar.com/), [Al Jazeera](https://www.aljazeera.com/live/), [Bloomberg](https://www.bloomberg.com/live/us), [Newsmax](https://www.newsmaxtv.com/), [Newsy](https://www.newsy.com/) and others have likewise planted their flags in the streaming frontier — and given the mediums relatively low barriers to entry, new players can be expected to join the fray.
The news networks arent chasing a chimera. Last year, for the first time, [viewers spent more time streaming programming](https://www.nielsen.com/us/en/insights/article/2021/the-gauge-shows-streaming-takes-a-seat-at-the-table/) than they did watching broadcast TV, marking a shift in viewer preference. Their overwhelming preference was for entertainment, but the news networks sensed both momentum and a technological advantage in serving the streaming audience. Long-gestating cultural trends and maturing technology have converged to streamings advantage, shifting TV news future [away from the airwaves and cable](https://ona20.journalists.org/speaker/janelle-rodriguez/), where it has lived for decades. “The majority of our audience is under the age of 45,” says Janelle Rodriguez, the NBC News executive in charge of streaming, counter to the idea that news is a gray and wrinkled program choice.
Some outlets will still chase the largest possible audience, as the broadcasters always have, but the streamers could potentially serve niche news interests — producing video news as varied as a pre-Internet newsstand. We can expect more breaking news. More interviews. More Capitol and White House coverage. More documentaries. More news analysis. More beat reporting. More local reporting. More of everything. “We just have more inventory,” says CBS News Co-President Neeraj Khemlani, going on to crow about CBS political coverage expertise and breaking the Virginia Thomas text story.
There will also be more competition now that streamers arent bound by limited TV licenses or costly negotiations with Comcast or Charter for placement on the cable dial. The newly opened gates are also likely to attract new overtly political news operations akin to Fox News Channel and One America News. If past predicts future, we can count on the streamers to produce more scoops than an ice cream factory, but also to reshape the way news is covered, especially political news. And that multiplicity of new choices, in turn, could further feed the audience polarization that came with the advent of Fox News Channel and MSNBC.
“Once a new technology rolls over you, if youre not part of the steamroller, youre part of the road,” [wrote Steward Brand in 1987 about media and technological change](https://www.google.com/books/edition/The_Media_Lab/upw9Bxb55h4C?hl=en&gbpv=1&bsq=steamroller). Streaming is todays steamroller. It wont rout broadcast and cable, just as radio news didnt vanquish the newspaper, just as TV news didnt fully replace radio news, and just as cable news didnt eliminate TV. But within a decade, as streaming news matures and integrates itself into our news diets, it stands to nudge the $5.7-billion-a-year [cable TV news business](https://www.pewresearch.org/journalism/fact-sheet/cable-news/) and maybe even our top newspapers out of their places of news primacy.
Earlier this spring, I visited the set of *Hallie Jackson Now*, NBC News Nows hour-long streaming newscast. I had come to see the revolution that is almost certainly coming. But I was struck by how derivative it is of the TV news template. The grand studio set. The meticulous reapplication of the anchors make-up during commercial breaks. The “two-way” conversations between anchors and correspondents. But to the shows credit, it does abandon the hallowed manners of a traditional nightly news broadcast as it conveys a brisk and informative look at events. If ABC News David Muir is a priest bringing the nightly news gospel to his flock, Jackson is more of a lay guide, more inclined to tell a story than preach it. Watch a couple of Jackson episodes and you might agree its an improvement over the regular nightly news, if only because its twice as long.
Streaming looks a lot like conventional TV because right now its being produced by conventional news producers. The major streaming networks, except Fox Nation, schedule their own regular nightly news programs. (Plus reruns! If you missed Lester Holts *Nightly News* on broadcast, NBCs stream has you covered.) All chase breaking news, except Fox Nation. All offer documentaries, news analysis, and repurpose programming from their broadcast or cable properties. But change will come with time. Remember, it took the better part of a decade for TV newscasts to break free from their radio-like studios where anchors read AP headlines into a camera.
Streaming has yet to experience a moment that proves its journalistic heft the way CNNs landmark coverage of the first Gulf War did. But maybe it wont need a single, galvanizing moment to break through. The very nature of streaming, what Reena Mehta, senior vice president of ABC News, calls its “anytime, anywhere” quality, will mean that the streaming revolution will likely be marked by its ability to capture the ever-fracturing mass audience into smaller, more niche segments that cable precipitated. In other words, the revolution might not be as obvious to the audience as it is to the accountants poring over the profit and loss statements of the streamers themselves.
**I**n 1980, when Ted Turners Cable News Network flickered to life, nobody in the media seemed keen on a 24-hour TV news channel, least of all one run out of Atlanta by an egomaniac with little news experience.
“Why would anybody choose to watch a patched-together news operation thats just starting against an organization like ours thats been going for fifty years?” CBS News President Bill Leonard would ask. Six years later, CNN employed more journalists than any U.S. TV news operation, and by 1996 had spawned two lucrative imitators, Fox News Channel and MSNBC. Not long after, CBS tried to buy the network.
What CNNs critics missed at the beginning was 1) the rapid rate of cables adoption and 2) the pent-up demand for alternatives to the three networks news product. Business guru Bharat Anand explains that a product of low quality and high expense thats too hard to use or otherwise [frustrates its consumers builds a pile of kindling](https://www.amazon.com/Content-Trap-Strategists-Digital-Change/dp/0812995384) at its foundation ready for an innovator to ignite. Its a lesson that skeptics of streaming would do well to remember.
The original news source was the town crier, who bellowed the news as he walked the village, but he was only limited by how far he could walk and what his news sources had told him. The town crier was replaced by the newssheet, which was superior because it could be consumed at leisure, it was portable, it was sharable, and it could be preserved for future reference. But prints great liability was being stuck in time — it could report only yesterdays news. Radio and televisions capacity to report what happened today helped it transcend print. Cable TV news one-upped broadcast by reporting events around the world as they unfolded, like live sporting events. Plus, cable could go all day and night. But being linear, cable TV was a prison of its schedule. Viewers had to set their watches to match the programmers clocks and watch until the news wheel turned and returned to the coverage they were keen to see. DVRs cracked that constraint somewhat by allowing time-shifting. But the kindling of dissatisfaction continued to grow, especially after the web allowed consumers to access content whenever they wanted it.
Streaming news sets alight decades of kindling that has piled up around linear TV. Streaming news [arrives on a viewers demand](https://help.cnn.com/US/Answer/Detail/000001066). It travels wherever the viewer goes — on a smartphone during a commute, at work on a laptop, or sitting in front of the big set at home. It allows the viewer to customize his experience the same way he can browse a newspaper or a website. Its greatest breakthrough, however, comes in the way it reduces scarcity in the media equation. Previously, government regulation and cable oligopolies limited the television medium to a relatively low number of players. Streaming makes possible a channel for every predilection, opening the way for new entrants and new approaches to coverage from the city council to Congress to the battlefield.
The “whos gonna watch it?” question that hounded CNN at its beginning would seem to apply to the streaming news future. But the web has proved that advertisers covet niche audiences as well as mass audiences and Fox Nations success proves that TV audiences will pay directly for commentary and lifestyle coverage they cant get enough of.
Such nichification is already happening at CBS-owned local stations. Wendy McMahon, [co-president of CBS News](https://www.cbsnews.com/team/wendy-mcmahon/), cites the recent marathon streaming coverage of [breaking news by its local stations](https://www.cbsnews.com/live/?ftag=CNM-00-10abc0d#live-channels). Following an April mass shooting in Sacramento, the network picked up the local continuous coverage that would otherwise have been preempted by Grammys coverage. In 2021, when a snow-packed bridge collapsed in Pittsburgh, the local CBS affiliate piped its coverage to streamers. “They were able to offer up to 15-plus hours of streaming,” says McMahon.
Not everybody predicts the triumph of streaming news, though. Media scholar Amanda D. Lotz, [who has written extensively on streaming](https://www.amandalotz.com/), doubts that news will play an important part in its future.
“Im not convinced many want video news other than what is already available,” Lotz says. “Video is the most expensive way to go. It gets interesting if you do something different — weekly journalism that is more comprehensive than what local/cable does, but I cant imagine that attracts more than the Sunday morning shows and that is hardly the basis of a streaming service.”
**S**keptics have every right to doubt the newish medium. Arent CNN, MSNBC, Fox, CNBC, and the conventional broadcasters enough? But the newscasters view it differently — they see their audiences vanishing. The share of [Americans watching cable or satellite TV dropped](https://www.pewresearch.org/fact-tank/2021/03/17/cable-and-satellite-tv-use-has-dropped-dramatically-in-the-u-s-since-2015/) from 76 percent in 2015 to 56 percent in 2021. Every time a Fox News Channel viewer cuts his cable, [the Fox empire forfeits](https://variety.com/vip/pay-tv-true-cost-free-1234810682/) about $20 in yearly subscriber fees. The newscasters are merely following viewers to where many of them have already gone: 85 percent (and climbing) of U.S. households [subscribe to at least one streaming service](https://www.kantar.com/north-america/inspiration/technology/85-per-cent-of-us-households-have-a-video-subscription-service#:~:text=The%20proportion%20of%20U.S.%20households,subscriptions%20as%20of%20December%202021.).
The question is not whether to invest in streaming but how to make it pay. TV has two basic business models: charge viewers directly, as Fox Nation and Netflix do, or charge viewers nothing but sell their attention every 10 minutes or so to advertisers. This has been the conventional broadcasters strategy since radio broadcasting began a century ago. (The cable channels, such as CNN, HLN, MSNBC, Fox News Channel, CNBC and Fox Business Network, all sell eyeballs to advertisers, but they also collect a fee indirectly from every subscriber through their cable package.)
Theres much to commend in both business approaches. Broadcast news, contrary to popular opinion, [has historically been a very profitable business](https://journals.sagepub.com/doi/abs/10.1177/1464884910379707), as have the cable broadcasters. In 2020, CNN, Fox, and MSNBC [earned a combined profit](https://www.pewresearch.org/journalism/fact-sheet/cable-news/) of $3 billion. The free news streamers — [CBS News streaming network](https://www.cbsnews.com/live/), [NBC News NOW](https://www.nbcnews.com/now), and [ABC News Live](https://abcnews.go.com/Live) — would like a slice of that, which helps explain why streaming news so resembles cables style and approach. In the current state of play, these three streamers are essentially instructing viewers that they can cut their cable subscription and still receive cable-quality (or better!) at no cost aside from an Internet connection.
Charging directly for content, as Fox Nation does, changes everything. Advertising-based television requires an outlet to both collect the greatest number of eyes but also to make sure theyre the right eyes — the right demographic — for the advertiser. But when the product youre selling is content and not eyeballs, the formula changes. Like Netflix, Fox Nation doesnt care who watches, how old they are, or their sex, as long as they keep paying their bill. It also doesnt matter how much they watch. So if a hardcore Tucker Carlson fan subscribes to Fox Nation solely to watch only *Tucker Carlson Today*, thats fine with Fox Nation. In conventional TV land, where ratings and demographics reign, this is heresy. Thats why the hullabaloo over CNN+s daily visitor count, which was said to be 10,000, was so misleading. The financially significant number was *subscribers*. CNN+ didnt care how much subscribers watched just as the *New York Times* doesnt care if you throw the newspaper away without reading it as long as you subscribe. Well never know if CNN+ would have ever reached its subscriber goals had execs let it live. According to [CNN+ documents leaked](https://www.axios.com/newsletters/axios-media-trends-2e66f10b-4682-45ad-97cd-f81646a4778a.html?utm_source=newsletter&utm_medium=email&utm_campaign=newsletter_axiosmediatrends&stream=top) to Axios Sara Fischer, the CNN+ business plan projected 30 million global subscriptions by 2030. Could it have hit that number? As a point of reference, the *New York Times* online edition [took four years to hit the 1 million subscriber mark](https://www.businesswire.com/news/home/20150806005778/en/The-New-York-Times-Passes-One-Million-Digital-Subscriber-Milestone), which came in 2015. The *Times* hit [6.8 million digital subscribers](https://www.wsj.com/articles/new-york-times-tops-10-million-subscriptions-as-profit-soars-11643816086) earlier this year.
It was an easy call for CBS and ABC to enter the news streaming business. Neither owns a cable news network, so neither was about to cannibalize a cable audience. But Fox and CNN [operate multiple cable news channels](https://cnnpressroom.blogs.cnn.com/cnn-fact-sheet/), so each avoided establishing a new free outlet, and instead entered TV news undiscovered country by [charging monthly for CNN+](https://help.cnn.com/US/Answer/Detail/000001066) and [Fox Nation](https://nation.foxnews.com/featured/). Watching CNN+ — when you still could — and Fox Nation reveals how irksome the four-and-a-half-minute ad blocks for Relief Factor, Liberty Mutual insurance, and [Humira](https://www.pharmacytimes.com/view/10-most-advertised-brand-name-drugs) can be; theyre the sort of kindling that could someday turn frustrated viewers into cable contract arsonists. That day, however, has yet to come. Perhaps commercial-averse viewers are content for now to switch channels instead of paying directly for TV news.
**F**ox Nation had an advantage over CNN+ in starting a subscriber-only service. It was the spawn of Fox News Channel, the [most popular](https://www.adweek.com/tvnewser/week-of-april-4-basic-cable-ranker-fox-news-remains-most-watched-channel-but-sheds-viewers-from-prior-week/505192/) basic cable channel in the country. Fox commands a base of viewers who craved an even more concentrated dose of what the channel airs, which is what Fox Nation has delivered: *Tucker Carlson Today*; Nancy Grace on crime; Tomi Lahren on politics; additional talk shows; documentaries; a rebooted *Cops* series; Bible-study shows, plus reruns of regular Fox News shows. Looking for short video segments on American palaces? Fox Nations [Castles USA covers the beat](https://nation.foxnews.com/watch/ad02afb5912b72b1755cff48afda570e/). Eager for Piers Morgans return? Hes back, too. Not prestige broadcasting, but commercially viable.
Subscription fees liberate Fox Nation from having to deliver advertisers, but also immunize it from boycotters. In recent years, activist organizations like Media Matters for America have protested Fox News more outré shows, staging [advertiser boycotts](https://www.thewrap.com/fox-news-upfront-ad-boycott-letter-mmfa/) and calling on [Disney and T-Mobile](https://www.thewrap.com/jackson-hewitt-tucker-carlson/) and other blue-chip companies to pull their ads. But because viewers pay full freight at Fox Nation and it runs no ads, the channel can ignore the boycotters. The upside of a no-ads platform is that it gives an outlet wider latitude to address controversial and taboo news topics. The downside, as weve seen with Tucker Carlsons [three-part Fox Nation Patriot Purge documentary](https://www.politifact.com/article/2021/nov/05/tucker-carlsons-patriot-purge-film-jan-6-full-fals/), is the safe harbor it creates for demagogic fare.
Fox executives are so pleased with its streaming subscription product that company CFO, Steve Tomsic, recently [told](https://www.hollywoodreporter.com/business/business-news/fox-news-streaming-fox-nation-1235059246/) a conference that Fox has the technology to turn Fox News Channel into a paid streaming channel tomorrow if it wanted to. “We have got all the attributes in place from a Fox News perspective, from a technology perspective, a billing and subscriber perspective, to be able to create that optionality,” said Tomsic, as the *Hollywood Reporter*s Alex Weprin reported. “Now, we arent going to pull the trigger on that anytime soon, but it gives us that base to work from.”
Fox Nations early success also gives it time to experiment with its formula, something denied to CNN+. In an interview the day after that service launched, its chief, Andrew Morse, emphasized that he anticipated steady and rapid programming changes ahead. “If CNN+ a year from now, looks like CNN+ does today, if the content looks the same, the product experience looks the same, we will fail,” Morse said. Failure, being fickle, didnt give him that chance.
The most daring streaming strategy might not be the scuttled CNN+ effort or even the Fox Nation win but NBC News blueprint. NBC News Now, its primary streaming news services, competes directly with its broadcast news as well as its cable channels CNBC (business) and MSNBC (politics). Its not so much a hedge on NBCs linear news offerings as a scheme to dominate every TV news space. Like CBS and ABCs streams, NBC News Now can be viewed directly through its own URL address, via a smart TVs software, over Roku, Fire, and other streaming devices, or through such streaming platforms as [Pluto](https://pluto.tv/), YouTube, [Xumo](https://www.xumo.tv/on-now/99991727/free-movies) and [Tubi](https://tubitv.com/home), as well as Hulu. NBC News Now can also be viewed on [Peacock](https://www.peacocktv.com/stream/news), the companys general interest streaming destination. Peacock screens replays of broadcast news, but also news commentary shows from the likes of [Mehdi Hassan](https://www.peacocktv.com/watch-online/news/the-mehdi-hasan-show/8868358030342682112), Symone Sanders and others that require a paid Peacock Premium subscription. (It gets confusing!)
The “whos watching?” question that dogged CNN in 1980 has an answer in the age of streaming: NBC News Now claims 100 million video views a month.
Each expansion of media technologies — from photography to the high-speed press to radio to television to cable — has rearranged the way we collect and make news, distribute it, and consume it. By opening TV news to additional competition alone, streaming portends a media revolution. We can only speculate on how it will reorder the current news business and change both the supply and demand for electronic news.
When cable news debuted, who anticipated that its most popular programming would be blocks of opinion and commentary served every weeknight? That cable news would help elect a demagogue like former President Donald Trump by lending saturation coverage to his campaign rallies? That the nightly news broadcasts by ABC, CBS and NBC would lose their sway to the cable upstarts? The meat of American politics has always been marbled with entertainment, but not until cable news arrived did political entertainment establish itself as a thriving genre. Who expected that?
Nor did anybody foresee the rise of partisan news from the likes of Fox and MSNBC. As Princeton University scholar Markus Prior [noted in a now-famous 2005 paper](https://scholar.princeton.edu/sites/default/files/mprior/files/prior2005.news_v_entertainment.ajps-3.pdf), the increased media choice offered by cable encouraged some voters to sink deeper into their political silos. If streaming follows the cable precedent, we might achieve similar siloing results. Comfortably situated in their easy chair, having their perceptions confirmed 24/7, viewers were able to avoid news that might challenge their partisan beliefs.
While Priors insight was true, it also showed how the low-polarization of the pre-cable era had artificially boosted the “oneness” of the network era. If broadcasters aired something controversial during the Fairness Doctrine era, they were required to give the other side equal airing. Instead, the broadcasters basically suppressed controversial topics, smoothing over whatever divisions the county might have had. Until Fox News Channel showed up, TV politics generally hugged the center, and the right (and then later the demagogic views of the Trump variety) could be found only in small magazines and a scattering of newspapers.
CNN+s failure shouldnt blind us to streamings possibilities, especially as the other news networks accelerate their stampede into this frontier to claim their space. In imagining where it will take us, cable news evolution should be our best guide. Cable unexpectedly made news pervasive. Local and regional stories, thanks to cables reach, became national drama. International stories attracted new audiences, often forcing world leaders to react to stories CNN covered. Streaming can do what cable can do and much more. It turns a measure of control over to viewers, who can abandon the regimented order of a newscast to click through to news segments they want to see. It makes it economical for networks to build news libraries from the documentaries and historical accounts now moldering in the vaults. And finally, it has the capacity to deliver the most timely news and commentary to any device, to be viewed anywhere, and at any time. If cable made video news pervasive, streaming stands to make it ubiquitous.
&emsp;
&emsp;
---
`$= dv.el('center', 'Source: ' + dv.current().Link + ', ' + dv.current().Date.toLocaleString("fr-FR"))`

@ -12,7 +12,7 @@ CollapseMetaTable: Yes
--- ---
Parent:: [[@News|News]] Parent:: [[@News|News]]
Read:: No Read:: [[2022-06-25]]
--- ---

@ -83,7 +83,8 @@ This section on different household obligations.
- [x] [[Household]]: *Paper* recycling collection 🔁 every 2 weeks on Tuesday 📅 2022-02-15 ✅ 2022-02-14 - [x] [[Household]]: *Paper* recycling collection 🔁 every 2 weeks on Tuesday 📅 2022-02-15 ✅ 2022-02-14
- [x] [[Household]]: *Paper* recycling collection 🔁 every 2 weeks on Tuesday 📅 2022-02-01 ✅ 2022-01-31 - [x] [[Household]]: *Paper* recycling collection 🔁 every 2 weeks on Tuesday 📅 2022-02-01 ✅ 2022-01-31
- [x] [[Household]]: *Paper* recycling collection 🔁 every 2 weeks on Tuesday 📅 2022-01-18 ✅ 2022-01-17 - [x] [[Household]]: *Paper* recycling collection 🔁 every 2 weeks on Tuesday 📅 2022-01-18 ✅ 2022-01-17
- [ ] ♻ [[Household]]: *Cardboard* recycling collection 🔁 every 2 weeks on Tuesday 📅 2022-06-28 - [ ] ♻ [[Household]]: *Cardboard* recycling collection 🔁 every 2 weeks on Tuesday 📅 2022-07-12
- [x] ♻ [[Household]]: *Cardboard* recycling collection 🔁 every 2 weeks on Tuesday 📅 2022-06-28 ✅ 2022-06-27
- [x] ♻ [[Household]]: *Cardboard* recycling collection 🔁 every 2 weeks on Tuesday 📅 2022-06-14 ✅ 2022-06-10 - [x] ♻ [[Household]]: *Cardboard* recycling collection 🔁 every 2 weeks on Tuesday 📅 2022-06-14 ✅ 2022-06-10
- [x] ♻ [[Household]]: *Cardboard* recycling collection 🔁 every 2 weeks on Tuesday 📅 2022-05-31 ✅ 2022-05-30 - [x] ♻ [[Household]]: *Cardboard* recycling collection 🔁 every 2 weeks on Tuesday 📅 2022-05-31 ✅ 2022-05-30
- [x] [[Household]]: *Cardboard* recycling collection 🔁 every 2 weeks on Tuesday 📅 2022-05-17 ✅ 2022-05-16 - [x] [[Household]]: *Cardboard* recycling collection 🔁 every 2 weeks on Tuesday 📅 2022-05-17 ✅ 2022-05-16
@ -102,13 +103,15 @@ This section on different household obligations.
- [ ] 🛎 🛍 REMINDER [[Household]]: Monthly shop in France 🔁 every month on the last Saturday 🛫 2022-07-04 📅 2022-07-30 - [ ] 🛎 🛍 REMINDER [[Household]]: Monthly shop in France 🔁 every month on the last Saturday 🛫 2022-07-04 📅 2022-07-30
- [x] 🛎 🛍 REMINDER [[Household]]: Monthly shop in France 🔁 every month on the last Saturday 🛫 2022-05-30 📅 2022-06-25 ✅ 2022-06-24 - [x] 🛎 🛍 REMINDER [[Household]]: Monthly shop in France 🔁 every month on the last Saturday 🛫 2022-05-30 📅 2022-06-25 ✅ 2022-06-24
- [ ] 🛎 🧻 REMINDER [[Household]]: check need for toilet paper 🔁 every week 📅 2022-07-04 - [ ] 🛎 🧻 REMINDER [[Household]]: check need for toilet paper 🔁 every week 📅 2022-07-11
- [x] 🛎 🧻 REMINDER [[Household]]: check need for toilet paper 🔁 every week 📅 2022-07-04 ✅ 2022-07-02
- [x] 🛎 🧻 REMINDER [[Household]]: check need for toilet paper 🔁 every week 📅 2022-06-27 ✅ 2022-06-24 - [x] 🛎 🧻 REMINDER [[Household]]: check need for toilet paper 🔁 every week 📅 2022-06-27 ✅ 2022-06-24
- [x] 🛎 🧻 REMINDER [[Household]]: check need for toilet paper 🔁 every week 📅 2022-06-20 ✅ 2022-06-20 - [x] 🛎 🧻 REMINDER [[Household]]: check need for toilet paper 🔁 every week 📅 2022-06-20 ✅ 2022-06-20
- [x] 🛎 🧻 REMINDER [[Household]]: check need for toilet paper 🔁 every week 📅 2022-06-13 ✅ 2022-06-10 - [x] 🛎 🧻 REMINDER [[Household]]: check need for toilet paper 🔁 every week 📅 2022-06-13 ✅ 2022-06-10
- [x] 🛎 🧻 REMINDER [[Household]]: check need for toilet paper 🔁 every week 📅 2022-06-06 ✅ 2022-06-07 - [x] 🛎 🧻 REMINDER [[Household]]: check need for toilet paper 🔁 every week 📅 2022-06-06 ✅ 2022-06-07
- [x] 🛎 🧻 REMINDER [[Household]]: check need for toilet paper 🔁 every week 📅 2022-05-30 ✅ 2022-05-29 - [x] 🛎 🧻 REMINDER [[Household]]: check need for toilet paper 🔁 every week 📅 2022-05-30 ✅ 2022-05-29
- [ ] :bed: [[Household]] Change bedsheets 🔁 every 2 weeks on Saturday 📅 2022-07-02 - [ ] :bed: [[Household]] Change bedsheets 🔁 every 2 weeks on Saturday 📅 2022-07-16
- [x] :bed: [[Household]] Change bedsheets 🔁 every 2 weeks on Saturday 📅 2022-07-02 ✅ 2022-07-02
- [x] :bed: [[Household]] Change bedsheets 🔁 every 2 weeks on Saturday 📅 2022-06-18 ✅ 2022-06-18 - [x] :bed: [[Household]] Change bedsheets 🔁 every 2 weeks on Saturday 📅 2022-06-18 ✅ 2022-06-18
- [x] :bed: [[Household]] Change bedsheets 🔁 every 2 weeks on Saturday 📅 2022-06-04 ✅ 2022-05-29 - [x] :bed: [[Household]] Change bedsheets 🔁 every 2 weeks on Saturday 📅 2022-06-04 ✅ 2022-05-29
- [x] :bed: [[Household]] Change bedsheets 🔁 every 2 weeks on Saturday 📅 2022-05-30 ✅ 2022-05-29 - [x] :bed: [[Household]] Change bedsheets 🔁 every 2 weeks on Saturday 📅 2022-05-30 ✅ 2022-05-29

@ -0,0 +1,105 @@
---
Tag: ["GodDaughter"]
Date: 2021-12-04
DocType: "Person"
Hierarchy: "NonRoot"
TimeStamp:
location:
CollapseMetaTable: yes
Person:
LastName: "Solanet"
FirstName: "Amélie"
DoB: 2018-06-27
Address: "12 Lots Road\nLondon SW10 0QF\nUnited Kingdom"
Phone:
Email:
Relation:
fc-calendar: "D2D Calendar"
fc-category: "Birthday"
fc-date:
day: 27
month: 06
---
Parent:: [[@Family organisation|Family organisation]]
Parents:: [[Jean-Baptiste Solanet]], [[Charlotte Solanet]]
Siblings:: [[Sebastian Solanet]]
Spouse::
Children::
&emsp;
`= elink("https://waze.com/ul?ll=" + this.location[0] + "%2C" + this.location[1] + "&navigate=yes", "Launch Waze")`
---
&emsp;
```button
name Edit Person parameters
type command
action MetaEdit: Run MetaEdit
id EditMetaData
```
^button-AmelieSolanetPersonEdit
```button
name Save
type command
action Save current file
id Save
```
^button-AmelieSolanetPersonSave
&emsp;
# Amélie Solanet
&emsp;
```ad-abstract
title: Summary
collapse: open
Person Description
```
&emsp;
```toc
style: number
```
&emsp;
---
&emsp;
### Summary
&emsp;
| |
|-|-
| **Date of birth** | `=this.Person.DoB`
**Address** | `=this.Person.Address`
**Phone** | `=this.Person.Phone`
**Email** | `=this.Person.Email`
&emsp;
---
&emsp;
### Birthday
&emsp;
- [ ] :birthday: **[[Amélie Solanet|Amélie]]** 🔁 every year 📅 2023-06-27
- [x] :birthday: **[[Amélie Solanet|Amélie]]** 🔁 every year 📅 2022-06-27 ✅ 2022-06-27
&emsp;
&emsp;

@ -74,6 +74,9 @@ style: number
4. [[Short breaks]] 4. [[Short breaks]]
2. Tools 2. Tools
1. [[Travel guides]] 1. [[Travel guides]]
3. Places
1. [[@France|France]]
2. [[@Bahrein|Bahrein]]
&emsp; &emsp;

@ -0,0 +1,124 @@
---
Alias: ["Bahrein", "Bahrain"]
Tag: [""]
Date: 2022-06-26
DocType: "Place"
Hierarchy: "NonRoot"
TimeStamp:
location:
Place:
Type: Region
SubType: Country
Style: MiddleEastern
Location: Bahrein
Country: Bahrein
Status: Visited
CollapseMetaTable: yes
---
Parent:: [[@@Travels|Travels]]
&emsp;
`= elink("https://waze.com/ul?ll=" + this.location[0] + "%2C" + this.location[1] + "&navigate=yes", "Launch Waze")`
---
&emsp;
```button
name Save
type command
action Save current file
id Save
```
^button-BahreinSave
&emsp;
# Bahrein
&emsp;
```ad-abstract
title: Summary
collapse: open
Note Description
```
&emsp;
```toc
style: number
```
&emsp;
---
&emsp;
### Accommodation
&emsp;
&emsp;
---
&emsp;
### Restaurants
&emsp;
- Haus ⭐⭐⭐⭐⭐ [Log in • Instagram](https://www.instagram.com/haus.bh/?hl=en)
- Masso ⭐⭐⭐⭐ [Log in • Instagram](https://www.instagram.com/massorestaurant/)
- Coco's ⭐⭐⭐⭐ [Log in • Instagram](https://www.instagram.com/cocoscafebahrain/)
- Café Lilou ⭐⭐⭐⭐ [Cafe Lilou (@cafelilou) • Instagram photos and videos](https://www.instagram.com/cafelilou/)
- Veranda ⭐⭐⭐ [Reservations | Veranda Bahrain](https://verandabahrain.com/reservations/)
&emsp;
---
&emsp;
### Bars
&emsp;
- Escobar ⭐⭐⭐⭐ [Escobar Restaurant & Lounge | Bahrain | Block 338](https://escobar.bh/)
&emsp;
---
&emsp;
### Shopping
&emsp;
- Manama Souq
&emsp;
---
&emsp;
### A visiter
&emsp;
- National Museum of Bahrein / National Theatre
- Sakhir circuit
- Royal Camel Farm
- Mosquée Al-Fateh
&emsp;
&emsp;

@ -0,0 +1,114 @@
---
Alias: ["Dubai", "Dubaï"]
Tag: ["MiddleEast"]
Date: 2022-07-02
DocType: "Place"
Hierarchy: "NonRoot"
TimeStamp:
location:
Place:
Type: Region
SubType: Country
Style: MiddleEastern
Location: Dubai
Country: Dubai
Status: Visited
CollapseMetaTable: yes
---
Parent:: [[@@Travels|Travels]]
&emsp;
`= elink("https://waze.com/ul?ll=" + this.location[0] + "%2C" + this.location[1] + "&navigate=yes", "Launch Waze")`
---
&emsp;
```button
name Save
type command
action Save current file
id Save
```
^button-DubaiSave
&emsp;
# Dubaï
&emsp;
```ad-abstract
title: Summary
collapse: open
Note Description
```
&emsp;
```toc
style: number
```
&emsp;
---
&emsp;
### Accommodation
&emsp;
&emsp;
---
&emsp;
### Restaurants
&emsp;
- Arabian Tea House ⭐⭐⭐⭐
- Shanghai Me ⭐⭐⭐⭐ [Shanghai Me Dubai | Fine Dining Restaurant in DIFC](https://shanghaime-restaurant.com/)
- Roberto's ⭐⭐⭐⭐ [Roberto's Italian Restaurant, Fine Dining & Lounge Bar, Dubai](http://robertosrestaurants.com)
&emsp;
---
&emsp;
### Bars
&emsp;
&emsp;
---
&emsp;
### Shopping
&emsp;
&emsp;
---
### A visiter
&emsp;
&emsp;
&emsp;

@ -104,14 +104,14 @@ _**Phone**_ | Phone [[Applications]], Local storage (Documents, Photos, Videos,
Service name | Available space | Current usage Service name | Available space | Current usage
-----------------|:------------------:|:---------------: -----------------|:------------------:|:---------------:
_**[[iCloud]]**_ | _5G_ | _2G_ _**[[iCloud]]**_ | _5G_ | _49.6M_
_**[[Server Cloud\|own cloud]]**_ | _32G_ | _16G_ _**[[Server Cloud\|own cloud]]**_ | _32G_ | _21.4G_
_**[[Sync]]**_ | _2T_ | _197.2G_ _**[[Sync]]**_ | _2T_ | _952G_
_**[[SecureSafe]]**_ | _1G_ | _240M_ _**[[SecureSafe]]**_ | _1G_ | _350M_
<mark class="green">Cloud Storage</mark> | Available space | Current usage <mark class="green">Cloud Storage</mark> | Available space | Current usage
-----------------|:------------------:|:---------------: -----------------|:------------------:|:---------------:
_**Total storage**_ | _2.04T_ | _215.5G_ _**Total storage**_ | _2.04T_ | _1.02T_
^CurrentCloudStorage ^CurrentCloudStorage
&emsp; &emsp;
@ -174,7 +174,8 @@ The following Apps require a manual backup:
- [x] Backup [[Storage and Syncing#Instructions for Bear|Bear App]] (PC & iOS) 🔁 every 3 months on the 1st Thursday 📅 2022-01-06 ✅ 2022-01-08 - [x] Backup [[Storage and Syncing#Instructions for Bear|Bear App]] (PC & iOS) 🔁 every 3 months on the 1st Thursday 📅 2022-01-06 ✅ 2022-01-08
- [x] Backup [[Storage and Syncing#Instructions for Bear|Bear App]] (PC & iOS) 🔁 every 3 months on the 1st Thursday 📅 2021-10-14 ✅ 2022-01-08 - [x] Backup [[Storage and Syncing#Instructions for Bear|Bear App]] (PC & iOS) 🔁 every 3 months on the 1st Thursday 📅 2021-10-14 ✅ 2022-01-08
- [x] Backup [[Storage and Syncing#Instructions for Bear|Bear App]] (PC & iOS) 🔁 every 3 months on the 1st Thursday ✅ 2021-10-13 - [x] Backup [[Storage and Syncing#Instructions for Bear|Bear App]] (PC & iOS) 🔁 every 3 months on the 1st Thursday ✅ 2021-10-13
- [ ] [[Storage and Syncing|Storage & Sync]]: Backup Standard Notes (PC) 🔁 every 3 months on the 1st Friday 📅 2022-07-01 - [ ] :cloud: [[Storage and Syncing|Storage & Sync]]: Backup Standard Notes (PC) 🔁 every 3 months on the 1st Friday 📅 2022-10-07
- [x] :cloud: [[Storage and Syncing|Storage & Sync]]: Backup Standard Notes (PC) 🔁 every 3 months on the 1st Friday 📅 2022-07-01 ✅ 2022-06-25
- [x] [[Storage and Syncing|Storage & Sync]]: Backup Standard Notes (PC) 🔁 every 3 months on the 1st Friday 📅 2022-04-01 ✅ 2022-04-01 - [x] [[Storage and Syncing|Storage & Sync]]: Backup Standard Notes (PC) 🔁 every 3 months on the 1st Friday 📅 2022-04-01 ✅ 2022-04-01
- [x] [[Storage and Syncing|Storage & Sync]]: Backup Standard Notes (PC) 🔁 every 3 months on the 1st Friday 📅 2022-01-07 ✅ 2022-01-08 - [x] [[Storage and Syncing|Storage & Sync]]: Backup Standard Notes (PC) 🔁 every 3 months on the 1st Friday 📅 2022-01-07 ✅ 2022-01-08
- [x] [[Storage and Syncing|Storage & Sync]]: Backup Standard Notes (PC) 🔁 every 3 months on the 1st Friday 📅 2021-10-03 ✅ 2022-01-03 - [x] [[Storage and Syncing|Storage & Sync]]: Backup Standard Notes (PC) 🔁 every 3 months on the 1st Friday 📅 2021-10-03 ✅ 2022-01-03
@ -189,13 +190,15 @@ The following Apps require a manual backup:
- [x] Backup [[Storage and Syncing#Instructions for iPhone|iPhone]] 🔁 every 3 months on the 2nd Tuesday 📅 2022-01-11 ✅ 2022-01-11 - [x] Backup [[Storage and Syncing#Instructions for iPhone|iPhone]] 🔁 every 3 months on the 2nd Tuesday 📅 2022-01-11 ✅ 2022-01-11
- [x] Backup [[Storage and Syncing#Instructions for iPhone|iPhone]] 🔁 every 3 months on the 2nd Tuesday 📅 2021-10-14 ✅ 2022-01-08 - [x] Backup [[Storage and Syncing#Instructions for iPhone|iPhone]] 🔁 every 3 months on the 2nd Tuesday 📅 2021-10-14 ✅ 2022-01-08
- [x] Backup [[Storage and Syncing#Instructions for iPhone|iPhone]] 🔁 every 3 months on the 2nd Tuesday ✅ 2021-10-13 - [x] Backup [[Storage and Syncing#Instructions for iPhone|iPhone]] 🔁 every 3 months on the 2nd Tuesday ✅ 2021-10-13
- [ ] Backup [[Storage and Syncing#Instructions for FV|Folder Vault]] 🔁 every 3 months on the 1st Friday 📅 2022-07-01 - [ ] :floppy_disk: Backup [[Storage and Syncing#Instructions for FV|Folder Vault]] 🔁 every 3 months on the 1st Friday 📅 2022-10-07
- [x] :floppy_disk: Backup [[Storage and Syncing#Instructions for FV|Folder Vault]] 🔁 every 3 months on the 1st Friday 📅 2022-07-01 ✅ 2022-06-25
- [x] Backup [[Storage and Syncing#Instructions for FV|Folder Vault]] 🔁 every 3 months on the 1st Friday 📅 2022-04-01 ✅ 2022-04-01 - [x] Backup [[Storage and Syncing#Instructions for FV|Folder Vault]] 🔁 every 3 months on the 1st Friday 📅 2022-04-01 ✅ 2022-04-01
- [x] Backup [[Storage and Syncing#Instructions for FV|Folder Vault]] 🔁 every 3 months on the 1st Friday 📅 2022-01-07 ✅ 2022-01-08 - [x] Backup [[Storage and Syncing#Instructions for FV|Folder Vault]] 🔁 every 3 months on the 1st Friday 📅 2022-01-07 ✅ 2022-01-08
- [x] Backup [[Storage and Syncing#Instructions for FV|Folder Vault]] 🔁 every 3 months on the 1st Friday 📅 2021-10-14 ✅ 2022-01-03 - [x] Backup [[Storage and Syncing#Instructions for FV|Folder Vault]] 🔁 every 3 months on the 1st Friday 📅 2021-10-14 ✅ 2022-01-03
- [x] Backup [[Storage and Syncing#Instructions for FV|Folder Vault]] 🔁 every 3 months on the 1st Friday 📅 2021-10-03 ✅ 2021-10-13 - [x] Backup [[Storage and Syncing#Instructions for FV|Folder Vault]] 🔁 every 3 months on the 1st Friday 📅 2021-10-03 ✅ 2021-10-13
- [x] Backup [[Storage and Syncing#Instructions for FV|Folder Vault]] 🔁 every 3 months on the 1st Friday ✅ 2021-10-02 - [x] Backup [[Storage and Syncing#Instructions for FV|Folder Vault]] 🔁 every 3 months on the 1st Friday ✅ 2021-10-02
- [ ] :cloud: [[Storage and Syncing|Storage & Sync]]: Backup Volumes to [[Sync|Sync.com]] 🔁 every 3 months on the 2nd Monday 📅 2022-06-13 - [ ] :cloud: [[Storage and Syncing|Storage & Sync]]: Backup Volumes to [[Sync|Sync.com]] 🔁 every 3 months on the 2nd Monday 📅 2022-09-12
- [x] :cloud: [[Storage and Syncing|Storage & Sync]]: Backup Volumes to [[Sync|Sync.com]] 🔁 every 3 months on the 2nd Monday 📅 2022-06-13 ✅ 2022-06-25
- [x] [[Storage and Syncing|Storage & Sync]]: Backup Volumes to [[Sync|Sync.com]] 🔁 every 3 months on the 2nd Monday 📅 2022-03-21 ✅ 2022-03-26 - [x] [[Storage and Syncing|Storage & Sync]]: Backup Volumes to [[Sync|Sync.com]] 🔁 every 3 months on the 2nd Monday 📅 2022-03-21 ✅ 2022-03-26
- [x] [[Storage and Syncing|Storage & Sync]]: Backup Volumes to [[Sync|Sync.com]] 🔁 every 3 months on the 2nd Monday 📅 2021-12-13 ✅ 2022-01-08 - [x] [[Storage and Syncing|Storage & Sync]]: Backup Volumes to [[Sync|Sync.com]] 🔁 every 3 months on the 2nd Monday 📅 2021-12-13 ✅ 2022-01-08
- [x] [[Storage and Syncing|Storage & Sync]]: Backup Volumes to [[Sync|Sync.com]] 🔁 every 3 months on the 2nd Monday 📅 2021-12-01 ✅ 2022-01-08 - [x] [[Storage and Syncing|Storage & Sync]]: Backup Volumes to [[Sync|Sync.com]] 🔁 every 3 months on the 2nd Monday 📅 2021-12-01 ✅ 2022-01-08

@ -0,0 +1,70 @@
---
dg-publish: true
Alias: [""]
Tag: ["", ""]
Date: 2022-07-01
DocType: "WebClipping"
Hierarchy:
TimeStamp: 2022-07-01
Link: https://jwiegley.github.io/git-from-the-bottom-up/
location:
CollapseMetaTable: Yes
---
Parent:: [[Git]]
Read:: No
---
&emsp;
```button
name Save
type command
action Save current file
id Save
```
^button-GitfromtheBottomUpNSave
&emsp;
# Git from the Bottom Up
## Introduction
Welcome to the world of Git. I hope this document will help to advance your understanding of this powerful content tracking system, and reveal a bit of the simplicity underlying it — however dizzying its array of options may seem from the outside.
Before we dive in, there are a few terms which should be mentioned first, since theyll appear repeatedly throughout this text:
- **repository** — A **repository** is a collection of *commits*, each of which is an archive of what the projects *working tree* looked like at a past date, whether on your machine or someone elses. It also defines HEAD (see below), which identifies the branch or commit the current working tree stemmed from. Lastly, it contains a set of *branches* and *tags*, to identify certain commits by name.
- **the index** — Unlike other, similar tools you may have used, Git does not commit changes directly from the *working tree* into the *repository*. Instead, changes are first registered in something called **the index**. Think of it as a way of “confirming” your changes, one by one, before doing a commit (which records all your approved changes at once). Some find it helpful to call it instead as the “staging area”, instead of the index.
- **working tree** — A **working tree** is any directory on your filesystem which has a *repository* associated with it (typically indicated by the presence of a sub-directory within it named `.git`.). It includes all the files and sub-directories in that directory.
- **commit** — A **commit** is a snapshot of your working tree at some point in time. The state of HEAD (see below) at the time your commit is made becomes that commits parent. This is what creates the notion of a “revision history”.
- **branch** — A **branch** is just a name for a commit (and much more will be said about commits in a moment), also called a reference. Its the parentage of a commit which defines its history, and thus the typical notion of a “branch of development”.
- **tag** — A **tag** is also a name for a commit, similar to a *branch*, except that it always names the same commit, and can have its own description text.
- **master** — The mainline of development in most repositories is done on a branch called “\*\*master\*\*”. Although this is a typical default, it is in no way special.
- **HEAD****HEAD** is used by your repository to define what is currently checked out:
- If you checkout a branch, HEAD symbolically refers to that branch, indicating that the branch name should be updated after the next commit operation.
- If you checkout a specific commit, HEAD refers to that commit only. This is referred to as a detached *HEAD*, and occurs, for example, if you check out a tag name.
The usual flow of events is this: After creating a repository, your work is done in the working tree. Once your work reaches a significant point — the completion of a bug, the end of the working day, a moment when everything compiles — you add your changes successively to the index. Once the index contains everything you intend to commit, you record its content in the repository. Heres a simple diagram that shows a typical projects life-cycle:
![Project Lifecycle](https://jwiegley.github.io/images/lifecycle.png)
With this basic picture in mind, the following sections shall attempt to describe how each of these different entities is important to the operation of Git.
&emsp;
&emsp;
---
`$= dv.el('center', 'Source: ' + dv.current().Link + ', ' + dv.current().Date.toLocaleString("fr-FR"))`

@ -237,7 +237,8 @@ sudo bash /etc/addip4ban/addip4ban.sh
#### Ban List Tasks #### Ban List Tasks
- [ ] 🖥 [[Selfhosting]], [[Configuring UFW|Firewall]] Get IP addresses caught by Postfix 🔁 every week on Saturday 📅 2022-07-02 - [ ] 🖥 [[Selfhosting]], [[Configuring UFW|Firewall]] Get IP addresses caught by Postfix 🔁 every week on Saturday 📅 2022-07-09
- [x] 🖥 [[Selfhosting]], [[Configuring UFW|Firewall]] Get IP addresses caught by Postfix 🔁 every week on Saturday 📅 2022-07-02 ✅ 2022-07-03
- [x] 🖥 [[Selfhosting]], [[Configuring UFW|Firewall]] Get IP addresses caught by Postfix 🔁 every week on Saturday 📅 2022-06-25 ✅ 2022-06-24 - [x] 🖥 [[Selfhosting]], [[Configuring UFW|Firewall]] Get IP addresses caught by Postfix 🔁 every week on Saturday 📅 2022-06-25 ✅ 2022-06-24
- [x] 🖥 [[Selfhosting]], [[Configuring UFW|Firewall]] Get IP addresses caught by Postfix 🔁 every week on Saturday 📅 2022-06-18 ✅ 2022-06-20 - [x] 🖥 [[Selfhosting]], [[Configuring UFW|Firewall]] Get IP addresses caught by Postfix 🔁 every week on Saturday 📅 2022-06-18 ✅ 2022-06-20
- [x] 🖥 [[Selfhosting]], [[Configuring UFW|Firewall]] Get IP addresses caught by Postfix 🔁 every week on Saturday 📅 2022-06-11 ✅ 2022-06-14 - [x] 🖥 [[Selfhosting]], [[Configuring UFW|Firewall]] Get IP addresses caught by Postfix 🔁 every week on Saturday 📅 2022-06-11 ✅ 2022-06-14
@ -253,7 +254,8 @@ sudo bash /etc/addip4ban/addip4ban.sh
- [x] [[Selfhosting]], [[Configuring UFW|Firewall]] Get IP addresses caught by Postfix 🔁 every week on Saturday 📅 2022-04-02 ✅ 2022-04-02 - [x] [[Selfhosting]], [[Configuring UFW|Firewall]] Get IP addresses caught by Postfix 🔁 every week on Saturday 📅 2022-04-02 ✅ 2022-04-02
- [x] [[Selfhosting]], [[Configuring UFW|Firewall]] Get IP addresses caught by Postfix 🔁 every week on Saturday 📅 2022-03-26 ✅ 2022-03-26 - [x] [[Selfhosting]], [[Configuring UFW|Firewall]] Get IP addresses caught by Postfix 🔁 every week on Saturday 📅 2022-03-26 ✅ 2022-03-26
- [x] [[Selfhosting]], [[Configuring UFW|Firewall]] Get IP addresses caught by Postfix 🔁 every week on Saturday 📅 2022-03-19 ✅ 2022-03-18 - [x] [[Selfhosting]], [[Configuring UFW|Firewall]] Get IP addresses caught by Postfix 🔁 every week on Saturday 📅 2022-03-19 ✅ 2022-03-18
- [ ] 🖥 [[Selfhosting]], [[Configuring UFW|Firewall]]: Update the Blocked IP list 🔁 every month on Saturday 📅 2022-07-02 - [ ] 🖥 [[Selfhosting]], [[Configuring UFW|Firewall]]: Update the Blocked IP list 🔁 every month on Saturday 📅 2022-07-09
- [x] 🖥 [[Selfhosting]], [[Configuring UFW|Firewall]]: Update the Blocked IP list 🔁 every month on Saturday 📅 2022-07-02 ✅ 2022-07-03
- [x] 🖥 [[Selfhosting]], [[Configuring UFW|Firewall]]: Update the Blocked IP list 🔁 every month on Saturday 📅 2022-06-25 ✅ 2022-06-24 - [x] 🖥 [[Selfhosting]], [[Configuring UFW|Firewall]]: Update the Blocked IP list 🔁 every month on Saturday 📅 2022-06-25 ✅ 2022-06-24
- [x] 🖥 [[Selfhosting]], [[Configuring UFW|Firewall]]: Update the Blocked IP list 🔁 every month on Saturday 📅 2022-06-18 ✅ 2022-06-20 - [x] 🖥 [[Selfhosting]], [[Configuring UFW|Firewall]]: Update the Blocked IP list 🔁 every month on Saturday 📅 2022-06-18 ✅ 2022-06-20
- [x] 🖥 [[Selfhosting]], [[Configuring UFW|Firewall]]: Update the Blocked IP list 🔁 every month on Saturday 📅 2022-06-11 ✅ 2022-06-14 - [x] 🖥 [[Selfhosting]], [[Configuring UFW|Firewall]]: Update the Blocked IP list 🔁 every month on Saturday 📅 2022-06-11 ✅ 2022-06-14

@ -393,7 +393,8 @@ title: To explore
- [x] [[hLedger]]: Tax for Investments ✅ 2022-01-22 - [x] [[hLedger]]: Tax for Investments ✅ 2022-01-22
- [x] [[hLedger]]: Financial forecasting ✅ 2022-01-22 - [x] [[hLedger]]: Financial forecasting ✅ 2022-01-22
- [ ] [[hLedger]]: Update Price file 🔁 every 3 months on the 1st Friday 📅 2022-07-01 - [ ] :heavy_dollar_sign: [[hLedger]]: Update Price file 🔁 every 3 months on the 1st Friday 📅 2022-10-07
- [x] :heavy_dollar_sign: [[hLedger]]: Update Price file 🔁 every 3 months on the 1st Friday 📅 2022-07-01 ✅ 2022-06-25
- [x] [[hLedger]]: Update Price file 🔁 every 3 months on the 1st Friday 📅 2022-04-01 ✅ 2022-04-01 - [x] [[hLedger]]: Update Price file 🔁 every 3 months on the 1st Friday 📅 2022-04-01 ✅ 2022-04-01
- [x] Update Price file 🔁 every 3 months on the 1st Friday 📅 2022-01-07 ✅ 2022-01-08 - [x] Update Price file 🔁 every 3 months on the 1st Friday 📅 2022-01-07 ✅ 2022-01-08
- [x] Update Price file 🔁 every 3 months on the 1st Friday 📅 2021-10-03 ✅ 2022-01-03 - [x] Update Price file 🔁 every 3 months on the 1st Friday 📅 2021-10-03 ✅ 2022-01-03

@ -72,7 +72,8 @@ All tasks and to-dos Crypto-related.
[[#^Top|TOP]] [[#^Top|TOP]]
&emsp; &emsp;
- [ ] 💰[[Crypto Tasks#internet alerts|monitor Crypto news and publications]] 🔁 every week on Friday 📅 2022-07-01 - [ ] 💰[[Crypto Tasks#internet alerts|monitor Crypto news and publications]] 🔁 every week on Friday 📅 2022-07-08
- [x] 💰[[Crypto Tasks#internet alerts|monitor Crypto news and publications]] 🔁 every week on Friday 📅 2022-07-01 ✅ 2022-07-01
- [x] 💰[[Crypto Tasks#internet alerts|monitor Crypto news and publications]] 🔁 every week on Friday 📅 2022-06-24 ✅ 2022-06-24 - [x] 💰[[Crypto Tasks#internet alerts|monitor Crypto news and publications]] 🔁 every week on Friday 📅 2022-06-24 ✅ 2022-06-24
- [x] 💰[[Crypto Tasks#internet alerts|monitor Crypto news and publications]] 🔁 every week on Friday 📅 2022-06-17 ✅ 2022-06-18 - [x] 💰[[Crypto Tasks#internet alerts|monitor Crypto news and publications]] 🔁 every week on Friday 📅 2022-06-17 ✅ 2022-06-18
- [x] 💰[[Crypto Tasks#internet alerts|monitor Crypto news and publications]] 🔁 every week on Friday 📅 2022-06-10 ✅ 2022-06-10 - [x] 💰[[Crypto Tasks#internet alerts|monitor Crypto news and publications]] 🔁 every week on Friday 📅 2022-06-10 ✅ 2022-06-10

@ -72,7 +72,8 @@ Note summarising all tasks and to-dos for Listed Equity investments.
[[#^Top|TOP]] [[#^Top|TOP]]
&emsp; &emsp;
- [ ] 💰[[Equity Tasks#internet alerts|monitor Equity news and publications]] 🔁 every week on Friday 📅 2022-07-01 - [ ] 💰[[Equity Tasks#internet alerts|monitor Equity news and publications]] 🔁 every week on Friday 📅 2022-07-08
- [x] 💰[[Equity Tasks#internet alerts|monitor Equity news and publications]] 🔁 every week on Friday 📅 2022-07-01 ✅ 2022-07-01
- [x] 💰[[Equity Tasks#internet alerts|monitor Equity news and publications]] 🔁 every week on Friday 📅 2022-06-24 ✅ 2022-06-24 - [x] 💰[[Equity Tasks#internet alerts|monitor Equity news and publications]] 🔁 every week on Friday 📅 2022-06-24 ✅ 2022-06-24
- [x] 💰[[Equity Tasks#internet alerts|monitor Equity news and publications]] 🔁 every week on Friday 📅 2022-06-17 ✅ 2022-06-18 - [x] 💰[[Equity Tasks#internet alerts|monitor Equity news and publications]] 🔁 every week on Friday 📅 2022-06-17 ✅ 2022-06-18
- [x] 💰[[Equity Tasks#internet alerts|monitor Equity news and publications]] 🔁 every week on Friday 📅 2022-06-10 ✅ 2022-06-10 - [x] 💰[[Equity Tasks#internet alerts|monitor Equity news and publications]] 🔁 every week on Friday 📅 2022-06-10 ✅ 2022-06-10

@ -72,7 +72,8 @@ Tasks and to-dos for VC investments.
[[#^Top|TOP]] [[#^Top|TOP]]
&emsp; &emsp;
- [ ] 💰[[VC Tasks#internet alerts|monitor VC news and publications]] 🔁 every week on Friday 📅 2022-07-01 - [ ] 💰[[VC Tasks#internet alerts|monitor VC news and publications]] 🔁 every week on Friday 📅 2022-07-08
- [x] 💰[[VC Tasks#internet alerts|monitor VC news and publications]] 🔁 every week on Friday 📅 2022-07-01 ✅ 2022-07-01
- [x] 💰[[VC Tasks#internet alerts|monitor VC news and publications]] 🔁 every week on Friday 📅 2022-06-24 ✅ 2022-06-24 - [x] 💰[[VC Tasks#internet alerts|monitor VC news and publications]] 🔁 every week on Friday 📅 2022-06-24 ✅ 2022-06-24
- [x] 💰[[VC Tasks#internet alerts|monitor VC news and publications]] 🔁 every week on Friday 📅 2022-06-17 ✅ 2022-06-18 - [x] 💰[[VC Tasks#internet alerts|monitor VC news and publications]] 🔁 every week on Friday 📅 2022-06-17 ✅ 2022-06-18
- [x] 💰[[VC Tasks#internet alerts|monitor VC news and publications]] 🔁 every week on Friday 📅 2022-06-10 ✅ 2022-06-10 - [x] 💰[[VC Tasks#internet alerts|monitor VC news and publications]] 🔁 every week on Friday 📅 2022-06-10 ✅ 2022-06-10

Loading…
Cancel
Save