update Uzès

main
iOS 2 years ago
parent e988f45eeb
commit d16b6edad1

@ -95,6 +95,6 @@
"repelStrength": 10,
"linkStrength": 1,
"linkDistance": 250,
"scale": 0.21574289733337787,
"close": true
"scale": 1.0439721700073668,
"close": false
}

File diff suppressed because one or more lines are too long

@ -1,7 +1,7 @@
{
"id": "customizable-page-header-buttons",
"name": "Customizable Page Header and Title Bar",
"version": "4.2.0",
"version": "4.3.0",
"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.",
"author": "kometenstaub",

File diff suppressed because one or more lines are too long

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

@ -1,3 +1,12 @@
/** Live Preview padding fixes, specifically for DataviewJS custom HTML elements. */
.is-live-preview .block-language-dataviewjs > p, .is-live-preview .block-language-dataviewjs > span {
line-height: 1.0;
}
/*****************/
/** Table Views **/
/*****************/
/* List View Default Styling; rendered internally as a table. */
.table-view-table {
width: 100%;
@ -28,13 +37,12 @@
text-align: left;
border: none;
font-weight: 400;
max-width: 100%;
}
/** Live Preview padding fixes, specifically for DataviewJS custom HTML elements. */
.is-live-preview .block-language-dataviewjs > p, .is-live-preview .block-language-dataviewjs > span {
line-height: 1.0;
.table-view-table ul, .table-view-table ol {
margin-block-start: 0.2em !important;
margin-block-end: 0.2em !important;
}
/** Rendered value styling for any view. */
@ -126,5 +134,14 @@ div.dataview-error-box {
.dataview.small-text {
font-size: smaller;
color: var(--text-selection);
color: var(--text-muted);
margin-left: 3px;
}
.dataview.small-text::before {
content: "(";
}
.dataview.small-text::after {
content: ")";
}

File diff suppressed because one or more lines are too long

@ -1,7 +1,7 @@
{
"id": "mrj-text-expand",
"name": "Text expand",
"version": "0.10.8",
"version": "0.11.2",
"description": "Search and paste/transclude links to located files.",
"isDesktopOnly": false,
"author": "MrJackphil",

@ -12,8 +12,8 @@
"checkpointList": [
{
"path": "/",
"date": "2022-06-08",
"size": 5105668
"date": "2022-06-20",
"size": 5382623
}
],
"activityHistory": [
@ -623,6 +623,50 @@
{
"date": "2022-06-08",
"value": 1092
},
{
"date": "2022-06-09",
"value": 1024
},
{
"date": "2022-06-10",
"value": 1424
},
{
"date": "2022-06-11",
"value": 1256
},
{
"date": "2022-06-12",
"value": 1018
},
{
"date": "2022-06-13",
"value": 1021
},
{
"date": "2022-06-14",
"value": 226259
},
{
"date": "2022-06-16",
"value": 33894
},
{
"date": "2022-06-17",
"value": 1247
},
{
"date": "2022-06-18",
"value": 1557
},
{
"date": "2022-06-19",
"value": 1022
},
{
"date": "2022-06-20",
"value": 8489
}
]
}

File diff suppressed because one or more lines are too long

@ -4,7 +4,7 @@
"description": "Advanced modes for Obsidian URI",
"isDesktopOnly": false,
"js": "main.js",
"version": "1.22.0",
"version": "1.23.0",
"author": "Vinzent",
"authorUrl": "https://github.com/Vinzent03"
}

@ -125,8 +125,9 @@ function apiGet(query) {
// src/book_search_modal.ts
var BookSearchModal = class extends import_obsidian2.Modal {
constructor(app, onSubmit) {
constructor(app, query, onSubmit) {
super(app);
this.query = query;
this.onSubmit = onSubmit;
}
searchBook() {
@ -159,6 +160,7 @@ var BookSearchModal = class extends import_obsidian2.Modal {
contentEl.createEl("h2", { text: "Search Book" });
const placeholder = "Search by keyword or ISBN";
const textComponent = new import_obsidian2.TextComponent(contentEl);
textComponent.setValue(this.query);
textComponent.inputEl.style.width = "100%";
textComponent.setPlaceholder(placeholder != null ? placeholder : "").onChange((value) => this.query = value).inputEl.addEventListener("keydown", this.submitEnterCallback.bind(this));
contentEl.appendChild(textComponent.inputEl);
@ -227,8 +229,109 @@ var CursorJumper = class {
// src/settings/settings.ts
var import_obsidian7 = __toModule(require("obsidian"));
// src/settings/suggesters/FolderSuggester.ts
var import_obsidian6 = __toModule(require("obsidian"));
// src/utils/utils.ts
var NUMBER_REGEX = /^-?[0-9]*$/;
var DATE_REGEX = /{{DATE(\+-?[0-9]+)?}}/;
var DATE_REGEX_FORMATTED = /{{DATE:([^}\n\r+]*)(\+-?[0-9]+)?}}/;
function replaceIllegalFileNameCharactersInString(string) {
return string.replace(/[\\,#%&{}/*<>$":@.]*/g, "");
}
function makeFileName(book, fileNameFormat) {
const titleForFileName = replaceIllegalFileNameCharactersInString(book.title);
if (!book.author) {
return titleForFileName;
}
const authorForFileName = replaceIllegalFileNameCharactersInString(book.author);
if (fileNameFormat) {
return replaceVariableSyntax(book, replaceDateInString(fileNameFormat));
}
return `${titleForFileName} - ${authorForFileName}`;
}
function makeFrontMater(book, frontmatter, keyType = DefaultFrontmatterKeyType.snakeCase) {
var _a, _b;
const frontMater = keyType === DefaultFrontmatterKeyType.camelCase ? book : Object.entries(book).reduce((acc, [key, value]) => {
acc[camelToSnakeCase(key)] = value;
return acc;
}, {});
const addFrontMatter = typeof frontmatter === "string" ? parseFrontMatter(frontmatter) : frontmatter;
for (const key in addFrontMatter) {
const addValue = (_b = (_a = addFrontMatter[key]) == null ? void 0 : _a.toString().trim()) != null ? _b : "";
if (frontMater[key] && frontMater[key] !== addValue) {
frontMater[key] = `${frontMater[key]} ${addValue}`;
} else {
frontMater[key] = addValue;
}
}
return Object.entries(frontMater).map(([key, val]) => {
var _a2;
return `${key}: ${(_a2 = val == null ? void 0 : val.toString().trim()) != null ? _a2 : ""}`;
}).join("\n");
}
function replaceVariableSyntax(book, targetText) {
const entries = Object.entries(book);
return entries.reduce((text, [key, val = ""]) => text.replace(new RegExp(`{{${key}}}`, "ig"), val), targetText).replace(/{{.+}}/gi, "");
}
function camelToSnakeCase(str) {
return str.replace(/[A-Z]/g, (letter) => `_${letter == null ? void 0 : letter.toLowerCase()}`);
}
function parseFrontMatter(frontMatterString) {
if (!frontMatterString)
return {};
return frontMatterString.split("\n").map((item) => {
var _a, _b;
const index = item.indexOf(":");
if (index === -1)
return [item.trim(), ""];
const key = (_a = item.slice(0, index)) == null ? void 0 : _a.trim();
const value = (_b = item.slice(index + 1)) == null ? void 0 : _b.trim();
return [key, value];
}).reduce((acc, [key, value]) => {
var _a;
if (key) {
acc[key] = (_a = value == null ? void 0 : value.trim()) != null ? _a : "";
}
return acc;
}, {});
}
function getDate(input) {
let duration;
if (input.offset !== null && input.offset !== void 0 && typeof input.offset === "number") {
duration = window.moment.duration(input.offset, "days");
}
return input.format ? window.moment().add(duration).format(input.format) : window.moment().add(duration).format("YYYY-MM-DD");
}
function replaceDateInString(input) {
let output = input;
while (DATE_REGEX.test(output)) {
const dateMatch = DATE_REGEX.exec(output);
let offset2;
if (dateMatch[1]) {
const offsetString = dateMatch[1].replace("+", "").trim();
const offsetIsInt = NUMBER_REGEX.test(offsetString);
if (offsetIsInt)
offset2 = parseInt(offsetString);
}
output = replacer(output, DATE_REGEX, getDate({ offset: offset2 }));
}
while (DATE_REGEX_FORMATTED.test(output)) {
const dateMatch = DATE_REGEX_FORMATTED.exec(output);
const format2 = dateMatch[1];
let offset2;
if (dateMatch[2]) {
const offsetString = dateMatch[2].replace("+", "").trim();
const offsetIsInt = NUMBER_REGEX.test(offsetString);
if (offsetIsInt)
offset2 = parseInt(offsetString);
}
output = replacer(output, DATE_REGEX_FORMATTED, getDate({ format: format2, offset: offset2 }));
}
return output;
}
function replacer(str, reg, replaceValue) {
return str.replace(reg, function() {
return replaceValue;
});
}
// src/settings/suggesters/suggest.ts
var import_obsidian5 = __toModule(require("obsidian"));
@ -1916,7 +2019,76 @@ var TextInputSuggest = class {
}
};
// src/settings/suggesters/FileNameFormatSuggester.ts
var DATE_SYNTAX = "{{DATE}}";
var DATE_FORMAT_SYNTAX = "{{DATE:}}";
var DATE_SYNTAX_SUGGEST_REGEX = /{{D?A?T?E?}?}?$/i;
var DATE_FORMAT_SYNTAX_SUGGEST_REGEX = /{{D?A?T?E?:?$|{{DATE:[^\n\r}]*}}$/i;
var AUTHOR_SYNTAX = "{{author}}";
var AUTHOR_SYNTAX_SUGGEST_REGEX = /{{a?u?t?h?o?r?}?}?$/i;
var TITLE_SYNTAX = "{{title}}";
var TITLE_SYNTAX_SUGGEST_REGEX = /{{t?i?t?l?e?}?}?$/i;
var FileNameFormatSuggest = class extends TextInputSuggest {
constructor(app, inputEl) {
super(app, inputEl);
this.app = app;
this.inputEl = inputEl;
this.lastInput = "";
}
getSuggestions(inputStr) {
const cursorPosition = this.inputEl.selectionStart;
const lookbehind = 15;
const inputBeforeCursor = inputStr.substr(cursorPosition - lookbehind, lookbehind);
const suggestions = [];
this.processToken(inputBeforeCursor, (match, suggestion) => {
this.lastInput = match[0];
suggestions.push(suggestion);
});
return suggestions;
}
selectSuggestion(item) {
const cursorPosition = this.inputEl.selectionStart;
const lastInputLength = this.lastInput.length;
const currentInputValue = this.inputEl.value;
let insertedEndPosition = 0;
const insert = (text, offset2 = 0) => {
return `${currentInputValue.substr(0, cursorPosition - lastInputLength + offset2)}${text}${currentInputValue.substr(cursorPosition)}`;
};
this.processToken(item, (match, suggestion) => {
if (item.contains(suggestion)) {
this.inputEl.value = insert(item);
insertedEndPosition = cursorPosition - lastInputLength + item.length;
if (item === DATE_FORMAT_SYNTAX) {
insertedEndPosition -= 2;
}
}
});
this.inputEl.trigger("input");
this.close();
this.inputEl.setSelectionRange(insertedEndPosition, insertedEndPosition);
}
renderSuggestion(value, el) {
if (value)
el.setText(value);
}
processToken(input, callback) {
const dateFormatMatch = DATE_FORMAT_SYNTAX_SUGGEST_REGEX.exec(input);
if (dateFormatMatch)
callback(dateFormatMatch, DATE_FORMAT_SYNTAX);
const dateMatch = DATE_SYNTAX_SUGGEST_REGEX.exec(input);
if (dateMatch)
callback(dateMatch, DATE_SYNTAX);
const authorMatch = AUTHOR_SYNTAX_SUGGEST_REGEX.exec(input);
if (authorMatch)
callback(authorMatch, AUTHOR_SYNTAX);
const titleMatch = TITLE_SYNTAX_SUGGEST_REGEX.exec(input);
if (titleMatch)
callback(titleMatch, TITLE_SYNTAX);
}
};
// src/settings/suggesters/FolderSuggester.ts
var import_obsidian6 = __toModule(require("obsidian"));
var FolderSuggest = class extends TextInputSuggest {
getSuggestions(inputStr) {
const abstractFiles = this.app.vault.getAllLoadedFiles();
@ -1948,6 +2120,7 @@ var DefaultFrontmatterKeyType;
})(DefaultFrontmatterKeyType || (DefaultFrontmatterKeyType = {}));
var DEFAULT_SETTINGS = {
folder: "",
fileNameFormat: "",
frontmatter: "",
content: "",
useDefaultFrontmatter: true,
@ -1961,6 +2134,7 @@ var BookSearchSettingTab = class extends import_obsidian7.PluginSettingTab {
display() {
const { containerEl } = this;
containerEl.empty();
containerEl.classList.add("book-search-plugin__settings");
containerEl.createEl("h2", { text: "General Settings" });
new import_obsidian7.Setting(containerEl).setName("New file location").setDesc("New book notes will be placed here.").addSearch((cb) => {
try {
@ -1972,6 +2146,25 @@ var BookSearchSettingTab = class extends import_obsidian7.PluginSettingTab {
this.plugin.saveSettings();
});
});
const newFileNameEl = new import_obsidian7.Setting(containerEl);
const newFileNameHintEl = containerEl.createEl("div");
newFileNameHintEl.classList.add("setting-item-description");
newFileNameHintEl.classList.add("book-search-plugin__settings--new_file_name_hint");
const newFileNameHintDesc = document.createDocumentFragment();
const newFileNameHintDescCode = newFileNameHintDesc.createEl("code", { text: replaceDateInString(this.plugin.settings.fileNameFormat) || "{{title}} - {{author}}" });
newFileNameHintDesc.append(newFileNameHintDescCode);
newFileNameHintEl.append(newFileNameHintDesc);
newFileNameEl.setClass("book-search-plugin__settings--new_file_name").setName("New file name").setDesc("Enter the file name format.").addSearch((cb) => {
try {
new FileNameFormatSuggest(this.app, cb.inputEl);
} catch (e) {
}
cb.setPlaceholder("Example: {{title}} - {{author}}").setValue(this.plugin.settings.fileNameFormat).onChange((newValue) => {
this.plugin.settings.fileNameFormat = newValue == null ? void 0 : newValue.trim();
this.plugin.saveSettings();
newFileNameHintDescCode.innerHTML = replaceDateInString(newValue) || "{{title}} - {{author}}";
});
});
containerEl.createEl("h2", { text: "Frontmatter Settings" });
new import_obsidian7.Setting(containerEl).setName("Use the default frontmatter").setDesc("If you don't want the default frontmatter to be inserted, disable it.").addToggle((toggle) => {
toggle.setValue(this.plugin.settings.useDefaultFrontmatter).onChange((value) => __async(this, null, function* () {
@ -2019,65 +2212,6 @@ function createSyntaxesDescription(anchorLink) {
return desc;
}
// src/utils/utils.ts
function replaceIllegalFileNameCharactersInString(string) {
return string.replace(/[\\,#%&{}/*<>$":@.]*/g, "");
}
function makeFileName(book) {
const titleForFileName = replaceIllegalFileNameCharactersInString(book.title);
if (!book.author) {
return titleForFileName;
}
const authorForFileName = replaceIllegalFileNameCharactersInString(book.author);
return `${titleForFileName} - ${authorForFileName}`;
}
function makeFrontMater(book, frontmatter, keyType = DefaultFrontmatterKeyType.snakeCase) {
var _a, _b;
const frontMater = keyType === DefaultFrontmatterKeyType.camelCase ? book : Object.entries(book).reduce((acc, [key, value]) => {
acc[camelToSnakeCase(key)] = value;
return acc;
}, {});
const addFrontMatter = typeof frontmatter === "string" ? parseFrontMatter(frontmatter) : frontmatter;
for (const key in addFrontMatter) {
const addValue = (_b = (_a = addFrontMatter[key]) == null ? void 0 : _a.toString().trim()) != null ? _b : "";
if (frontMater[key] && frontMater[key] !== addValue) {
frontMater[key] = `${frontMater[key]} ${addValue}`;
} else {
frontMater[key] = addValue;
}
}
return Object.entries(frontMater).map(([key, val]) => {
var _a2;
return `${key}: ${(_a2 = val == null ? void 0 : val.toString().trim()) != null ? _a2 : ""}`;
}).join("\n");
}
function replaceVariableSyntax(book, targetText) {
const entries = Object.entries(book);
return entries.reduce((text, [key, val = ""]) => text.replace(new RegExp(`{{${key}}}`, "ig"), val), targetText).replace(/{{.+}}/gi, "");
}
function camelToSnakeCase(str) {
return str.replace(/[A-Z]/g, (letter) => `_${letter == null ? void 0 : letter.toLowerCase()}`);
}
function parseFrontMatter(frontMatterString) {
if (!frontMatterString)
return {};
return frontMatterString.split("\n").map((item) => {
var _a, _b;
const index = item.indexOf(":");
if (index === -1)
return [item.trim(), ""];
const key = (_a = item.slice(0, index)) == null ? void 0 : _a.trim();
const value = (_b = item.slice(index + 1)) == null ? void 0 : _b.trim();
return [key, value];
}).reduce((acc, [key, value]) => {
var _a;
if (key) {
acc[key] = (_a = value == null ? void 0 : value.trim()) != null ? _a : "";
}
return acc;
}, {});
}
// src/main.ts
var BookSearchPlugin = class extends import_obsidian8.Plugin {
onload() {
@ -2090,13 +2224,18 @@ var BookSearchPlugin = class extends import_obsidian8.Plugin {
name: "Create new book note",
callback: () => this.createNewBookNote()
});
this.addCommand({
id: "open-book-search-modal-to-insert",
name: "Insert the metadata",
callback: () => this.insertMetadata()
});
this.addSettingTab(new BookSearchSettingTab(this.app, this));
});
}
createNewBookNote() {
searchBookMetadata(query, writer) {
return __async(this, null, function* () {
try {
const book = yield this.openBookSearchModal();
const book = yield this.openBookSearchModal(query);
let frontMatter = replaceVariableSyntax(book, this.settings.frontmatter);
if (this.settings.useDefaultFrontmatter) {
frontMatter = makeFrontMater(book, frontMatter, this.settings.defaultFrontmatterKeyType);
@ -2107,16 +2246,7 @@ var BookSearchPlugin = class extends import_obsidian8.Plugin {
${frontMatter}
---
${content}` : content;
const fileName = makeFileName(book);
const filePath = `${this.settings.folder.replace(/\/$/, "")}/${fileName}.md`;
const targetFile = yield this.app.vault.create(filePath, fileContent);
const activeLeaf = this.app.workspace.getLeaf();
if (!activeLeaf) {
console.warn("No active leaf");
return;
}
yield activeLeaf.openFile(targetFile, { state: { mode: "source" } });
activeLeaf.setEphemeralState({ rename: "all" });
yield writer(book, fileContent);
yield new CursorJumper(this.app).jumpToNextCursorLocation();
} catch (err) {
console.warn(err);
@ -2127,10 +2257,42 @@ ${content}` : content;
}
});
}
openBookSearchModal() {
insertMetadata() {
return __async(this, null, function* () {
const markdownView = this.app.workspace.getActiveViewOfType(import_obsidian8.MarkdownView);
if (!markdownView) {
console.warn("Can not find an active markdown view");
return;
}
yield this.searchBookMetadata(markdownView.file.basename, (_, metadata) => __async(this, null, function* () {
if (!markdownView.editor) {
console.warn("Can not find editor from the active markdown view");
return;
}
markdownView.editor.replaceRange(metadata, { line: 0, ch: 0 });
}));
});
}
createNewBookNote() {
return __async(this, null, function* () {
yield this.searchBookMetadata("", (book, metadata) => __async(this, null, function* () {
const fileName = makeFileName(book, this.settings.fileNameFormat);
const filePath = `${this.settings.folder.replace(/\/$/, "")}/${fileName}.md`;
const targetFile = yield this.app.vault.create(filePath, metadata);
const activeLeaf = this.app.workspace.getLeaf();
if (!activeLeaf) {
console.warn("No active leaf");
return;
}
yield activeLeaf.openFile(targetFile, { state: { mode: "source" } });
activeLeaf.setEphemeralState({ rename: "all" });
}));
});
}
openBookSearchModal(query = "") {
return __async(this, null, function* () {
return new Promise((resolve, reject) => {
new BookSearchModal(this.app, (error, results) => {
new BookSearchModal(this.app, query, (error, results) => {
if (error)
return reject(error);
new BookSuggestModal(this.app, results, (error2, selectedBook) => {

@ -1,7 +1,7 @@
{
"id": "obsidian-book-search-plugin",
"name": "Book Search",
"version": "0.2.2",
"version": "0.4.0",
"minAppVersion": "0.12.0",
"description": "Helps you find books and create notes.",
"author": "anpigon",

@ -1 +1,11 @@
/* Sets all the text color to red! */
.book-search-plugin__settings .search-input-container {
width: 100%;
}
.book-search-plugin__settings--new_file_name {
padding-bottom: 0;
margin-bottom: 0;
}
.book-search-plugin__settings--new_file_name_hint {
margin-bottom: 20px;
}

@ -6,5 +6,5 @@
"author": "Trevor Nichols",
"authorUrl": "https://github.com/tnichols217/obsidian-columns",
"isDesktopOnly": false,
"version": "1.1.6"
"version": "1.1.8"
}

@ -5,8 +5,12 @@
gap: 20px;
}
:not(.admonition-content .columnParent).columnParent {
white-space: normal
.columnParent {
white-space: normal;
}
.cm-preview-code-block .admonition-content .columnParent p {
white-space: pre-wrap;
}
.columnChild {

@ -1394,11 +1394,6 @@
"tags": 4,
"links": 1
},
"03.02 Travels/@Travels.md": {
"size": 1653,
"tags": 2,
"links": 7
},
"03.02 Travels/Ethiopia.md": {
"size": 1077,
"tags": 4,
@ -1870,7 +1865,7 @@
"links": 18
},
"05.02 Networks/Configuring UFW.md": {
"size": 6388,
"size": 7276,
"tags": 2,
"links": 7
},
@ -1935,7 +1930,7 @@
"links": 1
},
"01.02 Home/Household.md": {
"size": 3729,
"size": 4315,
"tags": 3,
"links": 2
},
@ -3672,7 +3667,7 @@
"00.01 Admin/Calendars/2022-04-18.md": {
"size": 1639,
"tags": 0,
"links": 9
"links": 10
},
"00.01 Admin/Calendars/2022-04-19.md": {
"size": 1016,
@ -3842,7 +3837,7 @@
"00.01 Admin/Calendars/2022-05-02.md": {
"size": 1018,
"tags": 0,
"links": 4
"links": 5
},
"00.01 Admin/Calendars/2022-05-03.md": {
"size": 1013,
@ -3917,7 +3912,7 @@
"00.01 Admin/Calendars/2022-05-09.md": {
"size": 1011,
"tags": 0,
"links": 4
"links": 5
},
"00.01 Admin/Calendars/2022-05-10.md": {
"size": 1018,
@ -4202,59 +4197,195 @@
"00.01 Admin/Calendars/2022-06-08.md": {
"size": 1015,
"tags": 0,
"links": 6
},
"00.01 Admin/Calendars/2022-06-09.md": {
"size": 1108,
"tags": 0,
"links": 4
},
"00.01 Admin/Calendars/2022-06-10.md": {
"size": 1108,
"tags": 0,
"links": 6
},
"00.01 Admin/Calendars/2022-06-11.md": {
"size": 1108,
"tags": 0,
"links": 6
},
"00.01 Admin/Calendars/2022-06-12.md": {
"size": 1108,
"tags": 0,
"links": 4
},
"00.01 Admin/Calendars/2022-06-13.md": {
"size": 1108,
"tags": 0,
"links": 4
},
"00.01 Admin/Calendars/2022-06-14.md": {
"size": 1108,
"tags": 0,
"links": 5
},
"00.03 News/Deshaun Watsons Massages Were Enabled by the Texans and a Spa Owner.md": {
"size": 23179,
"tags": 3,
"links": 2
},
"00.03 News/Waiting for keys, unable to break down doors Uvalde schools police chief defends delay in confronting gunman.md": {
"size": 33818,
"tags": 3,
"links": 1
},
"00.03 News/Dianne Feinstein, the Institutionalist.md": {
"size": 55609,
"tags": 3,
"links": 1
},
"00.03 News/The Follower.md": {
"size": 39302,
"tags": 3,
"links": 2
},
"00.03 News/What did the ancient Maya see in the stars Their descendants team up with scientists to find out.md": {
"size": 29466,
"tags": 3,
"links": 2
},
"00.03 News/Hazing, fighting, sexual assaults How Valley Forge Military Academy devolved into “Lord of the Flies”.md": {
"size": 43841,
"tags": 3,
"links": 2
},
"00.03 News/Two Professors Found What Creates a Mass Shooter. Will Politicians Pay Attention.md": {
"size": 11922,
"tags": 3,
"links": 2
},
"00.03 News/As El Salvadors president tries to silence free press, journalist brothers expose his ties to street gangs - Los Angeles Times.md": {
"size": 20094,
"tags": 4,
"links": 2
},
"00.01 Admin/Calendars/2022-06-15.md": {
"size": 1108,
"tags": 0,
"links": 4
},
"00.01 Admin/Calendars/2022-06-16.md": {
"size": 1108,
"tags": 0,
"links": 6
},
"00.01 Admin/Calendars/2022-06-17.md": {
"size": 1223,
"tags": 0,
"links": 8
},
"00.01 Admin/Calendars/2022-06-18.md": {
"size": 1108,
"tags": 0,
"links": 4
},
"00.01 Admin/Calendars/2022-06-19.md": {
"size": 1108,
"tags": 0,
"links": 6
},
"00.01 Admin/Calendars/2022-06-20.md": {
"size": 994,
"tags": 0,
"links": 5
},
"03.02 Travels/Avignon.md": {
"size": 1260,
"tags": 4,
"links": 1
},
"03.02 Travels/@@Travels.md": {
"size": 1653,
"tags": 2,
"links": 7
},
"03.02 Travels/@France.md": {
"size": 1015,
"tags": 1,
"links": 1
},
"03.02 Travels/Nimes.md": {
"size": 1081,
"tags": 4,
"links": 1
},
"03.02 Travels/Arles.md": {
"size": 1362,
"tags": 4,
"links": 1
}
},
"commitTypes": {
"/": {
"Refactor": 571,
"Create": 508,
"Link": 1031,
"Expand": 474
"Refactor": 587,
"Create": 532,
"Link": 1086,
"Expand": 485
}
},
"dailyCommits": {
"/": {
"0": 55,
"0": 56,
"1": 21,
"2": 2,
"3": 9,
"4": 12,
"5": 6,
"6": 18,
"7": 183,
"8": 256,
"9": 199,
"10": 135,
"11": 103,
"12": 121,
"13": 217,
"14": 147,
"15": 103,
"16": 94,
"7": 187,
"8": 288,
"9": 217,
"10": 139,
"11": 104,
"12": 122,
"13": 221,
"14": 150,
"15": 106,
"16": 96,
"17": 122,
"18": 282,
"19": 109,
"20": 109,
"21": 58,
"22": 173,
"23": 50
"19": 128,
"20": 120,
"21": 59,
"22": 174,
"23": 51
}
},
"weeklyCommits": {
"/": {
"Mon": 383,
"Tue": 208,
"Wed": 256,
"Thu": 313,
"Fri": 228,
"Mon": 427,
"Tue": 238,
"Wed": 257,
"Thu": 326,
"Fri": 235,
"Sat": 0,
"Sun": 1196
"Sun": 1207
}
},
"recentCommits": {
"/": {
"Expanded": [
"<a class=\"internal-link\" href=\"03.02 Travels/Avignon.md\"> Avignon </a>",
"<a class=\"internal-link\" href=\"03.02 Travels/Nimes.md\"> Nimes </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>",
"<a class=\"internal-link\" href=\"03.02 Travels/Avignon.md\"> Avignon </a>",
"<a class=\"internal-link\" href=\"Nimes.md\"> Nimes </a>",
"<a class=\"internal-link\" href=\"03.02 Travels/Avignon.md\"> Avignon </a>",
"<a class=\"internal-link\" href=\"03.02 Travels/@France.md\"> @France </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-06-17.md\"> 2022-06-17 </a>",
"<a class=\"internal-link\" href=\"01.02 Home/Household.md\"> Household </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-06.md\"> 2022-06-06 </a>",
@ -4294,20 +4425,33 @@
"<a class=\"internal-link\" href=\"06.02 Investments/Equity Tasks.md\"> Equity Tasks </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-20.md\"> 2022-05-20 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-19.md\"> 2022-05-19 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-18.md\"> 2022-05-18 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-17.md\"> 2022-05-17 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-16.md\"> 2022-05-16 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-16.md\"> 2022-05-16 </a>",
"<a class=\"internal-link\" href=\"01.02 Home/Household.md\"> Household </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-15.md\"> 2022-05-15 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-15.md\"> 2022-05-15 </a>",
"<a class=\"internal-link\" href=\"01.02 Home/MRCK.md\"> MRCK </a>",
"<a class=\"internal-link\" href=\"02.03 Zürich/Razzia.md\"> Razzia </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-15.md\"> 2022-05-15 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-13.md\"> 2022-05-13 </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-18.md\"> 2022-05-18 </a>"
],
"Created": [
"<a class=\"internal-link\" href=\"Arles.md\"> Arles </a>",
"<a class=\"internal-link\" href=\"Nimes.md\"> Nimes </a>",
"<a class=\"internal-link\" href=\"Untitled.md\"> Untitled </a>",
"<a class=\"internal-link\" href=\"Avignon.md\"> Avignon </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.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-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.02 Inbox/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.02 Inbox/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.02 Inbox/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.02 Inbox/The Follower.md\"> The Follower </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/Dianne Feinstein, the Institutionalist.md\"> Dianne Feinstein, the Institutionalist </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/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.02 Inbox/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.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>",
"<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-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.02 Inbox/Albert Camus The philosopher who resisted despair.md\"> Albert Camus The philosopher who resisted despair </a>",
@ -4334,33 +4478,22 @@
"<a class=\"internal-link\" href=\"Untitled.md\"> Untitled </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=\"00.02 Inbox/The Richest Black Girl in America.md\"> The Richest Black Girl in America </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-27.md\"> 2022-05-27 </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/After Christendom.md\"> After Christendom </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.01 Admin/Calendars/2022-05-26.md\"> 2022-05-26 </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>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-24.md\"> 2022-05-24 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-23.md\"> 2022-05-23 </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/American Racism and the Buffalo Shooting.md\"> American Racism and the Buffalo Shooting </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/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.02 Inbox/Coffeezilla, the YouTuber Exposing Crypto Scams.md\"> Coffeezilla, the YouTuber Exposing Crypto Scams </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/The rise of the Strangler.md\"> The rise of the Strangler </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/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.02 Inbox/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=\"00.01 Admin/Calendars/2022-05-22.md\"> 2022-05-22 </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-05-21.md\"> 2022-05-21 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-20.md\"> 2022-05-20 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-19.md\"> 2022-05-19 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-18.md\"> 2022-05-18 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-17.md\"> 2022-05-17 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-16.md\"> 2022-05-16 </a>"
"<a class=\"internal-link\" href=\"00.02 Inbox/The Richest Black Girl in America.md\"> The Richest Black Girl in America </a>"
],
"Renamed": [
"<a class=\"internal-link\" href=\"03.02 Travels/Arles.md\"> Arles </a>",
"<a class=\"internal-link\" href=\"03.02 Travels/Nimes.md\"> Nimes </a>",
"<a class=\"internal-link\" href=\"03.02 Travels/@France.md\"> @France </a>",
"<a class=\"internal-link\" href=\"03.02 Travels/@@Travels.md\"> @@Travels </a>",
"<a class=\"internal-link\" href=\"03.02 Travels/Avignon.md\"> Avignon </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.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.03 News/The Follower.md\"> The Follower </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/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.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/Albert Camus The philosopher who resisted despair.md\"> Albert Camus The philosopher who resisted despair </a>",
"<a class=\"internal-link\" href=\"00.05 Media/The Mafia, The CIA and George Bush.md\"> The Mafia, The CIA and George Bush </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/The Mafia, The CIA and George Bush.md\"> The Mafia, The CIA and George Bush </a>",
@ -4398,22 +4531,21 @@
"<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>",
"<a class=\"internal-link\" href=\"00.03 News/The man who paid for America's fear.md\"> The man who paid for America's fear </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>",
"<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/The Worst Boyfriend on the Upper East Side.md\"> The Worst Boyfriend on the Upper East Side </a>",
"<a class=\"internal-link\" href=\"00.03 News/Ukrainians Flood Village of Demydiv to Keep Russians at Bay.md\"> Ukrainians Flood Village of Demydiv to Keep Russians at Bay </a>",
"<a class=\"internal-link\" href=\"00.03 News/Massacre in Tadamon how two academics hunted down a Syrian war criminal.md\"> Massacre in Tadamon how two academics hunted down a Syrian war criminal </a>",
"<a class=\"internal-link\" href=\"00.03 News/Elon Musk Got Twitter Because He Gets Twitter.md\"> Elon Musk Got Twitter Because He Gets Twitter </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/Elon Musk Got Twitter Because He Gets Twitter.md\"> Elon Musk Got Twitter Because He Gets Twitter </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-15 Definite arrival of Meggi-mo to Züzü.md\"> 2022-05-15 Definite arrival of Meggi-mo to Züzü </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-04-28.md\"> 2022-04-28 </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/Vernon Subutex 1.md\"> Vernon Subutex 1 </a>",
"<a class=\"internal-link\" href=\"03.01 Reading list/Lionel Asbo.md\"> Lionel Asbo </a>",
"<a class=\"internal-link\" href=\"03.03 Food & Wine/Spanakopia pie.md\"> Spanakopia pie </a>",
"<a class=\"internal-link\" href=\"00.03 News/The Unseen Scars of Those Who Kill Via Remote Control.md\"> The Unseen Scars of Those Who Kill Via Remote Control </a>",
"<a class=\"internal-link\" href=\"00.03 News/Down the Hatch.md\"> Down the Hatch </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>"
],
"Tagged": [
"<a class=\"internal-link\" href=\"03.02 Travels/Avignon.md\"> Avignon </a>",
"<a class=\"internal-link\" href=\"03.02 Travels/Nimes.md\"> Nimes </a>",
"<a class=\"internal-link\" href=\"03.02 Travels/Arles.md\"> Arles </a>",
"<a class=\"internal-link\" href=\"03.02 Travels/@France.md\"> @France </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/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/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/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.03 News/Albert Camus The philosopher who resisted despair.md\"> Albert Camus The philosopher who resisted despair </a>",
"<a class=\"internal-link\" href=\"00.03 News/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.03 News/Riding Londons Unexpectedly Fantastic Elizabeth Line.md\"> Riding Londons Unexpectedly Fantastic Elizabeth Line </a>",
@ -4452,19 +4584,7 @@
"<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>",
"<a class=\"internal-link\" href=\"00.03 News/Elon Musk Got Twitter Because He Gets Twitter.md\"> Elon Musk Got Twitter Because He Gets Twitter </a>",
"<a class=\"internal-link\" href=\"00.03 News/Massacre in Tadamon how two academics hunted down a Syrian war criminal.md\"> Massacre in Tadamon how two academics hunted down a Syrian war criminal </a>",
"<a class=\"internal-link\" href=\"00.03 News/Ukrainians Flood Village of Demydiv to Keep Russians at Bay.md\"> Ukrainians Flood Village of Demydiv to Keep Russians at Bay </a>",
"<a class=\"internal-link\" href=\"00.03 News/The Worst Boyfriend on the Upper East Side.md\"> The Worst Boyfriend on the Upper East Side </a>",
"<a class=\"internal-link\" href=\"Spanakopia pie.md\"> Spanakopia pie </a>",
"<a class=\"internal-link\" href=\"00.03 News/Down the Hatch.md\"> Down the Hatch </a>",
"<a class=\"internal-link\" href=\"00.03 News/The Unseen Scars of Those Who Kill Via Remote Control.md\"> The Unseen Scars of Those Who Kill Via Remote Control </a>",
"<a class=\"internal-link\" href=\"00.03 News/Jeffrey Epstein, a Rare Cello and an Enduring Mystery.md\"> Jeffrey Epstein, a Rare Cello and an Enduring Mystery </a>",
"<a class=\"internal-link\" href=\"00.03 News/“The Eye in the Sea” camera observes elusive deep sea animals.md\"> “The Eye in the Sea” camera observes elusive deep sea animals </a>",
"<a class=\"internal-link\" href=\"00.03 News/The History of the Varsity Jacket, From Harvard to Hip-Hop.md\"> The History of the Varsity Jacket, From Harvard to Hip-Hop </a>",
"<a class=\"internal-link\" href=\"03.03 Food & Wine/Thai Basil Sauce Noodles with Jammy Eggs.md\"> Thai Basil Sauce Noodles with Jammy Eggs </a>",
"<a class=\"internal-link\" href=\"00.03 News/How an Ivy League School Turned Against a Student.md\"> How an Ivy League School Turned Against a Student </a>",
"<a class=\"internal-link\" href=\"Cantinetta Antinori.md\"> Cantinetta Antinori </a>",
"<a class=\"internal-link\" href=\"Café des Amis.md\"> Café des Amis </a>"
"<a class=\"internal-link\" href=\"00.03 News/Massacre in Tadamon how two academics hunted down a Syrian war criminal.md\"> Massacre in Tadamon how two academics hunted down a Syrian war criminal </a>"
],
"Refactored": [
"<a class=\"internal-link\" href=\"01.02 Home/@Main Dashboard.md\"> @Main Dashboard </a>",
@ -4502,7 +4622,10 @@
"<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.02 Inbox/Spiced Eggs With Tzatziki.md\"> Spiced Eggs With Tzatziki </a>",
"<a class=\"internal-link\" href=\"00.02 Inbox/Spiced Eggs With Tzatziki.md\"> Spiced Eggs With Tzatziki </a>",
"<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=\"03.02 Travels/@France.md\"> @France </a>",
"<a class=\"internal-link\" href=\"03.02 Travels/Avignon.md\"> Avignon </a>"
],
"Deleted": [
"<a class=\"internal-link\" href=\"00.02 Inbox/NPR Cookie Consent and Choices.md\"> NPR Cookie Consent and Choices </a>",
@ -4558,6 +4681,49 @@
"<a class=\"internal-link\" href=\"00.04 IT/Wordle self hosting.md\"> Wordle self hosting </a>"
],
"Linked": [
"<a class=\"internal-link\" href=\"03.02 Travels/Arles.md\"> Arles </a>",
"<a class=\"internal-link\" href=\"03.02 Travels/Nimes.md\"> Nimes </a>",
"<a class=\"internal-link\" href=\"03.02 Travels/Avignon.md\"> Avignon </a>",
"<a class=\"internal-link\" href=\"03.02 Travels/@France.md\"> @France </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-06-11.md\"> 2022-06-11 </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-14.md\"> 2022-06-14 </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-16.md\"> 2022-06-16 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-06-19.md\"> 2022-06-19 </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-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-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>",
"<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-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.03 News/Albert Camus The philosopher who resisted despair.md\"> Albert Camus The philosopher who resisted despair </a>",
@ -4565,50 +4731,7 @@
"<a class=\"internal-link\" href=\"00.03 News/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.03 News/When Cars Kill Pedestrians.md\"> When Cars Kill Pedestrians </a>",
"<a class=\"internal-link\" href=\"00.03 News/The making of Prince William.md\"> The making of Prince William </a>",
"<a class=\"internal-link\" href=\"00.03 News/Riding Londons Unexpectedly Fantastic Elizabeth Line.md\"> Riding Londons Unexpectedly Fantastic Elizabeth Line </a>",
"<a class=\"internal-link\" href=\"00.05 Media/The Mafia, The CIA and George Bush.md\"> The Mafia, The CIA and George Bush </a>",
"<a class=\"internal-link\" href=\"00.03 News/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.03 News/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.03 News/Riding Londons Unexpectedly Fantastic Elizabeth Line.md\"> Riding Londons Unexpectedly Fantastic Elizabeth Line </a>",
"<a class=\"internal-link\" href=\"00.03 News/When Cars Kill Pedestrians.md\"> When Cars Kill Pedestrians </a>",
"<a class=\"internal-link\" href=\"00.03 News/The making of Prince William.md\"> The making of Prince William </a>",
"<a class=\"internal-link\" href=\"00.03 News/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.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-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.03 News/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.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.01 Admin/Calendars/2022-06-01.md\"> 2022-06-01 </a>",
"<a class=\"internal-link\" href=\"00.03 News/The Women Who Ran Genghis Khans Empire.md\"> The Women Who Ran Genghis Khans Empire </a>",
"<a class=\"internal-link\" href=\"00.03 News/After Christendom.md\"> After Christendom </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-31.md\"> 2022-05-31 </a>",
"<a class=\"internal-link\" href=\"00.03 News/The Silent Impact of Burnout — and How to Overcome It as a Leader.md\"> The Silent Impact of Burnout — and How to Overcome It as a Leader </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-30.md\"> 2022-05-30 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-29.md\"> 2022-05-29 </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.01 Admin/Calendars/2022-05-30.md\"> 2022-05-30 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-30.md\"> 2022-05-30 </a>",
"<a class=\"internal-link\" href=\"No Idea.md\"> No Idea </a>",
"<a class=\"internal-link\" href=\"La Réserve.md\"> La Réserve </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-29.md\"> 2022-05-29 </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.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=\"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/The Richest Black Girl in America.md\"> The Richest Black Girl in America </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-27.md\"> 2022-05-27 </a>",
"<a class=\"internal-link\" href=\"00.03 News/After Christendom.md\"> After Christendom </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.03 News/How to get the excitement back Psyche Guides.md\"> How to get the excitement back Psyche Guides </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.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-05-25.md\"> 2022-05-25 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-24.md\"> 2022-05-24 </a>",
"<a class=\"internal-link\" href=\"00.01 Admin/Calendars/2022-05-24.md\"> 2022-05-24 </a>"
"<a class=\"internal-link\" href=\"00.03 News/Riding Londons Unexpectedly Fantastic Elizabeth Line.md\"> Riding Londons Unexpectedly Fantastic Elizabeth Line </a>"
],
"Removed Tags from": [
"<a class=\"internal-link\" href=\"06.02 Investments/Le Miel de Paris.md\"> Le Miel de Paris </a>",

File diff suppressed because one or more lines are too long

@ -1,7 +1,7 @@
{
"id": "obsidian-footnotes",
"name": "Footnote Shortcut",
"version": "0.0.8",
"version": "0.0.9",
"minAppVersion": "0.12.0",
"description": "Insert and write footnotes faster",
"author": "Alexis Rondeau, Micha Brugger",

@ -68,7 +68,7 @@ var __async = (__this, __arguments, generator) => {
__export(exports, {
default: () => MediaDbPlugin
});
var import_obsidian10 = __toModule(require("obsidian"));
var import_obsidian11 = __toModule(require("obsidian"));
// src/settings/Settings.ts
var import_obsidian4 = __toModule(require("obsidian"));
@ -1417,8 +1417,8 @@ function validateModifiers(modifiers) {
}).join(", ") + '; but "' + key + '" was provided.');
}
modifier.requires && modifier.requires.forEach(function(requirement) {
if (modifiers.find(function(mod) {
return mod.name === requirement;
if (modifiers.find(function(mod2) {
return mod2.name === requirement;
}) == null) {
console.error(format(MISSING_DEPENDENCY_ERROR, String(modifier.name), requirement, requirement));
}
@ -1635,7 +1635,7 @@ var createPopper = /* @__PURE__ */ popperGenerator({
var pluginName = "obsidian-media-db-plugin";
var contactEmail = "m.projects.code@gmail.com";
var mediaDbTag = "mediaDB";
var mediaDbVersion = "0.2.0";
var mediaDbVersion = "0.3.0";
var debug = false;
function wrapAround(value, size) {
return (value % size + size) % size;
@ -1699,6 +1699,71 @@ function traverseMetaData(path, mediaTypeModel) {
}
return o;
}
function markdownTable(content) {
let rows = content.length;
if (rows === 0) {
return "";
}
let columns = content[0].length;
if (columns === 0) {
return "";
}
for (const row of content) {
if (row.length !== columns) {
return "";
}
}
let longestStringInColumns = [];
for (let i = 0; i < columns; i++) {
let longestStringInColumn = 0;
for (const row of content) {
if (row[i].length > longestStringInColumn) {
longestStringInColumn = row[i].length;
}
}
longestStringInColumns.push(longestStringInColumn);
}
let table = "";
for (let i = 0; i < rows; i++) {
table += "|";
for (let j = 0; j < columns; j++) {
let element = content[i][j];
element += " ".repeat(longestStringInColumns[j] - element.length);
table += " " + element + " |";
}
table += "\n";
if (i === 0) {
table += "|";
for (let j = 0; j < columns; j++) {
table += " " + "-".repeat(longestStringInColumns[j]) + " |";
}
table += "\n";
}
}
return table;
}
function dateToString(date) {
return `${date.getMonth() + 1}-${date.getDate()}-${date.getFullYear()}`;
}
function timeToString(time) {
return `${time.getHours()}-${time.getMinutes()}-${time.getSeconds()}`;
}
function dateTimeToString(dateTime) {
return `${dateToString(dateTime)} ${timeToString(dateTime)}`;
}
var UserCancelError = class extends Error {
constructor(message) {
super(message);
}
};
var UserSkipError = class extends Error {
constructor(message) {
super(message);
}
};
function mod(n, m) {
return (n % m + m) % m;
}
// src/settings/suggesters/Suggest.ts
var Suggest = class {
@ -2390,6 +2455,7 @@ var MediaDbAdvancedSearchModal = class extends import_obsidian5.Modal {
searchComponent.inputEl.addEventListener("keydown", this.submitCallback.bind(this));
contentEl.appendChild(searchComponent.inputEl);
searchComponent.inputEl.focus();
contentEl.createDiv({ cls: "media-db-plugin-spacer" });
contentEl.createEl("h3", { text: "APIs to search" });
const apiToggleComponents = [];
for (const api of this.plugin.apiManager.apis) {
@ -2406,6 +2472,7 @@ var MediaDbAdvancedSearchModal = class extends import_obsidian5.Modal {
});
apiToggleComponentWrapper.appendChild(apiToggleComponent.toggleEl);
}
contentEl.createDiv({ cls: "media-db-plugin-spacer" });
new import_obsidian5.Setting(contentEl).addButton((btn) => btn.setButtonText("Cancel").onClick(() => this.close())).addButton((btn) => {
return this.searchBtn = btn.setButtonText("Ok").setCta().onClick(() => {
this.search();
@ -2418,29 +2485,204 @@ var MediaDbAdvancedSearchModal = class extends import_obsidian5.Modal {
}
};
// src/modals/MediaDbSearchResultModal.ts
// src/modals/SelectModal.ts
var import_obsidian6 = __toModule(require("obsidian"));
var MediaDbSearchResultModal = class extends import_obsidian6.SuggestModal {
constructor(app, plugin, suggestion, onChoose) {
// src/modals/SelectModalElement.ts
var SelectModalElement = class {
constructor(value, parentElement, id, selectModal, active = false) {
this.value = value;
this.id = id;
this.active = active;
this.selectModal = selectModal;
this.cssClass = "media-db-plugin-select-element";
this.activeClass = "media-db-plugin-select-element-selected";
this.hoverClass = "media-db-plugin-select-element-hover";
this.element = parentElement.createDiv({ cls: this.cssClass });
this.element.id = this.getHTMLId();
this.element.on("click", "#" + this.getHTMLId(), () => {
this.setActive(!this.active);
if (!this.selectModal.allowMultiSelect) {
this.selectModal.disableAllOtherElements(this.id);
}
});
this.element.on("mouseenter", "#" + this.getHTMLId(), () => {
this.setHighlighted(true);
});
this.element.on("mouseleave", "#" + this.getHTMLId(), () => {
this.setHighlighted(false);
});
}
getHTMLId() {
return `media-db-plugin-select-element-${this.id}`;
}
isHighlighted() {
return this.highlighted;
}
setHighlighted(value) {
this.highlighted = value;
if (this.highlighted) {
this.addClass(this.hoverClass);
this.selectModal.deHighlightAllOtherElements(this.id);
} else {
this.removeClass(this.hoverClass);
}
}
isActive() {
return this.active;
}
setActive(active) {
this.active = active;
this.update();
}
update() {
if (this.active) {
this.addClass(this.activeClass);
} else {
this.removeClass(this.activeClass);
}
}
addClass(cssClass) {
if (!this.element.hasClass(cssClass)) {
this.element.addClass(cssClass);
}
}
removeClass(cssClass) {
if (this.element.hasClass(cssClass)) {
this.element.removeClass(cssClass);
}
}
};
// src/modals/SelectModal.ts
var SelectModal = class extends import_obsidian6.Modal {
constructor(app, elements) {
super(app);
this.plugin = plugin;
this.suggestion = suggestion;
this.onChoose = onChoose;
this.allowMultiSelect = true;
this.title = "";
this.description = "";
this.skipButton = false;
this.elements = elements;
this.selectModalElements = [];
this.scope.register([], "ArrowUp", () => {
this.highlightUp();
});
this.scope.register([], "ArrowDown", () => {
this.highlightDown();
});
this.scope.register([], "ArrowRight", () => {
this.activateHighlighted();
});
this.scope.register([], "Enter", () => this.submit());
}
disableAllOtherElements(elementId) {
for (const selectModalElement of this.selectModalElements) {
if (selectModalElement.id !== elementId) {
selectModalElement.setActive(false);
}
}
}
deHighlightAllOtherElements(elementId) {
for (const selectModalElement of this.selectModalElements) {
if (selectModalElement.id !== elementId) {
selectModalElement.setHighlighted(false);
}
}
}
getSuggestions(query) {
return this.suggestion.filter((item) => {
const searchQuery = query.toLowerCase();
return item.title.toLowerCase().includes(searchQuery);
onOpen() {
return __async(this, null, function* () {
const { contentEl } = this;
contentEl.createEl("h2", { text: this.title });
contentEl.createEl("p", { text: this.description });
const elementWrapper = contentEl.createDiv({ cls: "media-db-plugin-select-wrapper" });
let i = 0;
for (const element of this.elements) {
const selectModalElement = new SelectModalElement(element, contentEl, i, this, false);
this.selectModalElements.push(selectModalElement);
this.renderElement(element, selectModalElement.element);
i += 1;
}
const bottomSetting = new import_obsidian6.Setting(contentEl);
bottomSetting.addButton((btn) => btn.setButtonText("Cancel").onClick(() => this.close()));
if (this.skipButton) {
bottomSetting.addButton((btn) => btn.setButtonText("Skip").onClick(() => this.skip()));
}
bottomSetting.addButton((btn) => btn.setButtonText("Ok").setCta().onClick(() => this.submit()));
});
}
renderSuggestion(item, el) {
activateHighlighted() {
for (const selectModalElement of this.selectModalElements) {
if (selectModalElement.isHighlighted()) {
selectModalElement.setActive(!selectModalElement.isActive());
if (!this.allowMultiSelect) {
this.disableAllOtherElements(selectModalElement.id);
}
}
}
}
highlightUp() {
for (const selectModalElement of this.selectModalElements) {
if (selectModalElement.isHighlighted()) {
this.getPreviousSelectModalElement(selectModalElement).setHighlighted(true);
return;
}
}
this.selectModalElements.last().setHighlighted(true);
}
highlightDown() {
for (const selectModalElement of this.selectModalElements) {
if (selectModalElement.isHighlighted()) {
this.getNextSelectModalElement(selectModalElement).setHighlighted(true);
return;
}
}
this.selectModalElements.first().setHighlighted(true);
}
getNextSelectModalElement(selectModalElement) {
let nextId = selectModalElement.id + 1;
nextId = mod(nextId, this.selectModalElements.length);
return this.selectModalElements.filter((x) => x.id === nextId).first();
}
getPreviousSelectModalElement(selectModalElement) {
let nextId = selectModalElement.id - 1;
nextId = mod(nextId, this.selectModalElements.length);
return this.selectModalElements.filter((x) => x.id === nextId).first();
}
};
// src/modals/MediaDbSearchResultModal.ts
var MediaDbSearchResultModal = class extends SelectModal {
constructor(app, plugin, elements, skipButton, onSubmit, onCancel, onSkip) {
super(app, elements);
this.plugin = plugin;
this.onSubmit = onSubmit;
this.onCancel = onCancel;
this.onSkip = onSkip;
this.title = "Search Results";
this.description = "Select one or multiple search results.";
this.skipButton = skipButton;
this.sendCallback = false;
}
renderElement(item, el) {
el.createEl("div", { text: this.plugin.mediaTypeManager.getFileName(item) });
el.createEl("small", { text: `${item.englishTitle}
` });
el.createEl("small", { text: `${item.type.toUpperCase() + (item.subType ? ` (${item.subType})` : "")} from ${item.dataSource}` });
}
onChooseSuggestion(item, evt) {
this.onChoose(null, item);
submit() {
this.onSubmit(null, this.selectModalElements.filter((x) => x.isActive()).map((x) => x.value));
this.sendCallback = true;
this.close();
}
skip() {
this.onSkip();
this.sendCallback = true;
this.close();
}
onClose() {
if (!this.sendCallback) {
this.onCancel();
}
}
};
@ -2578,7 +2820,7 @@ var MediaDbIdSearchModal = class extends import_obsidian7.Modal {
super(app);
this.plugin = plugin;
this.onSubmit = onSubmit;
this.selectedApi = "";
this.selectedApi = plugin.apiManager.apis[0].apiName;
}
submitCallback(event) {
if (event.key === "Enter") {
@ -2627,6 +2869,7 @@ var MediaDbIdSearchModal = class extends import_obsidian7.Modal {
searchComponent.inputEl.addEventListener("keydown", this.submitCallback.bind(this));
contentEl.appendChild(searchComponent.inputEl);
searchComponent.inputEl.focus();
contentEl.createDiv({ cls: "media-db-plugin-spacer" });
const apiSelectorWrapper = contentEl.createEl("div", { cls: "media-db-plugin-list-wrapper" });
const apiSelectorTExtWrapper = apiSelectorWrapper.createEl("div", { cls: "media-db-plugin-list-text-wrapper" });
apiSelectorTExtWrapper.createEl("span", { text: "API to search", cls: "media-db-plugin-list-text" });
@ -2638,6 +2881,7 @@ var MediaDbIdSearchModal = class extends import_obsidian7.Modal {
apiSelectorComponent.addOption(api.apiName, api.apiName);
}
apiSelectorWrapper.appendChild(apiSelectorComponent.selectEl);
contentEl.createDiv({ cls: "media-db-plugin-spacer" });
new import_obsidian7.Setting(contentEl).addButton((btn) => btn.setButtonText("Cancel").onClick(() => this.close())).addButton((btn) => {
return this.searchBtn = btn.setButtonText("Ok").setCta().onClick(() => {
this.search();
@ -3090,6 +3334,9 @@ var YAMLConverter = class {
return output;
}
static toYamlString(value, indentation) {
if (value == null) {
return "null";
}
if (typeof value === "boolean") {
return value ? "true" : "false";
} else if (typeof value === "number") {
@ -3117,22 +3364,91 @@ ${YAMLConverter.calculateSpacing(indentation)} ${objKey}: ${YAMLConverter.toY
}
};
// src/modals/MediaDbFolderImportModal.ts
var import_obsidian10 = __toModule(require("obsidian"));
var MediaDbFolderImportModal = class extends import_obsidian10.Modal {
constructor(app, plugin, onSubmit) {
super(app);
this.plugin = plugin;
this.onSubmit = onSubmit;
this.selectedApi = plugin.apiManager.apis[0].apiName;
}
submit() {
this.onSubmit(this.selectedApi, this.titleFieldName, this.appendContent);
this.close();
}
onOpen() {
const { contentEl } = this;
contentEl.createEl("h2", { text: "Import folder as Media DB entries" });
const apiSelectorWrapper = contentEl.createEl("div", { cls: "media-db-plugin-list-wrapper" });
const apiSelectorTextWrapper = apiSelectorWrapper.createEl("div", { cls: "media-db-plugin-list-text-wrapper" });
apiSelectorTextWrapper.createEl("span", { text: "API to search", cls: "media-db-plugin-list-text" });
const apiSelectorComponent = new import_obsidian10.DropdownComponent(apiSelectorWrapper);
apiSelectorComponent.onChange((value) => {
this.selectedApi = value;
});
for (const api of this.plugin.apiManager.apis) {
apiSelectorComponent.addOption(api.apiName, api.apiName);
}
apiSelectorWrapper.appendChild(apiSelectorComponent.selectEl);
contentEl.createDiv({ cls: "media-db-plugin-spacer" });
contentEl.createEl("h3", { text: "Append note content to Media DB entry." });
const appendContentToggleElementWrapper = contentEl.createEl("div", { cls: "media-db-plugin-list-wrapper" });
const appendContentToggleTextWrapper = appendContentToggleElementWrapper.createEl("div", { cls: "media-db-plugin-list-text-wrapper" });
appendContentToggleTextWrapper.createEl("span", {
text: "If this is enabled, the plugin will override meta data fields with the same name.",
cls: "media-db-plugin-list-text"
});
const appendContentToggleComponentWrapper = appendContentToggleElementWrapper.createEl("div", { cls: "media-db-plugin-list-toggle" });
const appendContentToggle = new import_obsidian10.ToggleComponent(appendContentToggleElementWrapper);
appendContentToggle.setValue(false);
appendContentToggle.onChange((value) => this.appendContent = value);
appendContentToggleComponentWrapper.appendChild(appendContentToggle.toggleEl);
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" });
const placeholder = "title";
const titleFieldNameComponent = new import_obsidian10.TextComponent(contentEl);
titleFieldNameComponent.inputEl.style.width = "100%";
titleFieldNameComponent.setPlaceholder(placeholder);
titleFieldNameComponent.onChange((value) => this.titleFieldName = value);
titleFieldNameComponent.inputEl.addEventListener("keydown", (ke) => {
if (ke.key === "Enter") {
this.submit();
}
});
contentEl.appendChild(titleFieldNameComponent.inputEl);
contentEl.createDiv({ cls: "media-db-plugin-spacer" });
new import_obsidian10.Setting(contentEl).addButton((btn) => btn.setButtonText("Cancel").onClick(() => this.close())).addButton((btn) => btn.setButtonText("Ok").setCta().onClick(() => this.submit()));
}
onClose() {
const { contentEl } = this;
contentEl.empty();
}
};
// src/main.ts
var MediaDbPlugin = class extends import_obsidian10.Plugin {
var MediaDbPlugin = class extends import_obsidian11.Plugin {
onload() {
return __async(this, null, function* () {
yield this.loadSettings();
const ribbonIconEl = this.addRibbonIcon("database", "Add new Media DB entry", (evt) => this.createMediaDbNote(this.openMediaDbAdvancedSearchModal.bind(this)));
const ribbonIconEl = this.addRibbonIcon("database", "Add new Media DB entry", (evt) => this.createMediaDbNotes(this.openMediaDbAdvancedSearchModal.bind(this)));
ribbonIconEl.addClass("obsidian-media-db-plugin-ribbon-class");
this.registerEvent(this.app.workspace.on("file-menu", (menu, file) => {
if (file instanceof import_obsidian11.TFolder) {
menu.addItem((item) => {
item.setTitle("Import folder as Media DB entries").setIcon("database").onClick(() => this.createEntriesFromFolder(file));
});
}
}));
this.addCommand({
id: "open-media-db-search-modal",
name: "Add new Media DB entry",
callback: () => this.createMediaDbNote(this.openMediaDbAdvancedSearchModal.bind(this))
callback: () => this.createMediaDbNotes(this.openMediaDbAdvancedSearchModal.bind(this))
});
this.addCommand({
id: "open-media-db-id-search-modal",
name: "Add new Media DB entry by id",
callback: () => this.createMediaDbNote(this.openMediaDbIdSearchModal.bind(this))
callback: () => this.createMediaDbNotes(this.openMediaDbIdSearchModal.bind(this))
});
this.addCommand({
id: "update-media-db-note",
@ -3158,77 +3474,83 @@ var MediaDbPlugin = class extends import_obsidian10.Plugin {
this.modelPropertyMapper = new ModelPropertyMapper(this.settings);
});
}
createMediaDbNote(modal) {
createMediaDbNotes(modal, attachFile) {
return __async(this, null, function* () {
let models = [];
try {
let data = yield modal();
data = yield this.apiManager.queryDetailedInfo(data);
yield this.createMediaDbNoteFromModel(data);
models = yield modal();
} catch (e) {
console.warn(e);
new import_obsidian10.Notice(e.toString());
new import_obsidian11.Notice(e.toString());
}
for (const model of models) {
try {
yield this.createMediaDbNoteFromModel(yield this.apiManager.queryDetailedInfo(model), attachFile);
} catch (e) {
console.warn(e);
new import_obsidian11.Notice(e.toString());
}
}
});
}
createMediaDbNoteFromModel(mediaTypeModel) {
createMediaDbNoteFromModel(mediaTypeModel, attachFile) {
return __async(this, null, function* () {
try {
console.log("MDB | Creating new note...");
let metadata = this.modelPropertyMapper.convertObject(mediaTypeModel.toMetaDataObject());
if (attachFile) {
let attachFileMetadata = this.app.metadataCache.getFileCache(attachFile).frontmatter;
if (attachFileMetadata) {
attachFileMetadata = JSON.parse(JSON.stringify(attachFileMetadata));
delete attachFileMetadata.position;
} else {
attachFileMetadata = {};
}
metadata = Object.assign(attachFileMetadata, metadata);
}
debugLog(metadata);
let fileContent = `---
${YAMLConverter.toYaml(this.modelPropertyMapper.convertObject(mediaTypeModel.toMetaDataObject()))}---
${YAMLConverter.toYaml(metadata)}---
`;
if (this.settings.templates) {
fileContent += yield this.mediaTypeManager.getContent(mediaTypeModel, this.app);
}
const fileName = replaceIllegalFileNameCharactersInString(this.mediaTypeManager.getFileName(mediaTypeModel));
const filePath = `${this.settings.folder.replace(/\/$/, "")}/${fileName}.md`;
const folder = this.app.vault.getAbstractFileByPath(this.settings.folder);
if (!folder) {
yield this.app.vault.createFolder(this.settings.folder.replace(/\/$/, ""));
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;
}
const file = this.app.vault.getAbstractFileByPath(filePath);
if (file) {
yield this.app.vault.delete(file);
}
const targetFile = yield this.app.vault.create(filePath, fileContent);
yield this.createNote(this.mediaTypeManager.getFileName(mediaTypeModel), fileContent);
} catch (e) {
console.warn(e);
new import_obsidian11.Notice(e.toString());
}
});
}
createNote(fileName, fileContent, openFile = false) {
return __async(this, null, function* () {
fileName = replaceIllegalFileNameCharactersInString(fileName);
const filePath = `${this.settings.folder.replace(/\/$/, "")}/${fileName}.md`;
const folder = this.app.vault.getAbstractFileByPath(this.settings.folder);
if (!folder) {
yield this.app.vault.createFolder(this.settings.folder.replace(/\/$/, ""));
}
const file = this.app.vault.getAbstractFileByPath(filePath);
if (file) {
yield this.app.vault.delete(file);
}
const targetFile = yield this.app.vault.create(filePath, fileContent);
if (openFile) {
const activeLeaf = this.app.workspace.getUnpinnedLeaf();
if (!activeLeaf) {
console.warn("MDB | no active leaf, not opening media db note");
return;
}
yield activeLeaf.openFile(targetFile, { state: { mode: "source" } });
} catch (e) {
console.warn(e);
new import_obsidian10.Notice(e.toString());
}
});
}
openMediaDbAdvancedSearchModal() {
return __async(this, null, function* () {
return new Promise((resolve, reject) => {
new MediaDbAdvancedSearchModal(this.app, this, (err, results) => {
if (err)
return reject(err);
new MediaDbSearchResultModal(this.app, this, results, (err2, res) => {
if (err2)
return reject(err2);
resolve(res);
}).open();
}).open();
});
});
}
openMediaDbIdSearchModal() {
return __async(this, null, function* () {
return new Promise((resolve, reject) => {
new MediaDbIdSearchModal(this.app, this, (err, res) => {
if (err)
return reject(err);
resolve(res);
}).open();
});
});
}
updateActiveNote() {
return __async(this, null, function* () {
const activeFile = this.app.workspace.getActiveFile();
@ -3236,9 +3558,10 @@ ${YAMLConverter.toYaml(this.modelPropertyMapper.convertObject(mediaTypeModel.toM
throw new Error("MDB | there is no active note");
}
let metadata = this.app.metadataCache.getFileCache(activeFile).frontmatter;
metadata = JSON.parse(JSON.stringify(metadata));
delete metadata.position;
metadata = this.modelPropertyMapper.convertObjectBack(metadata);
console.log(metadata);
debugLog(metadata);
if (!(metadata == null ? void 0 : metadata.type) || !(metadata == null ? void 0 : metadata.dataSource) || !(metadata == null ? void 0 : metadata.id)) {
throw new Error("MDB | active note is not a Media DB entry or is missing metadata");
}
@ -3253,6 +3576,121 @@ ${YAMLConverter.toYaml(this.modelPropertyMapper.convertObject(mediaTypeModel.toM
yield this.createMediaDbNoteFromModel(newMediaTypeModel);
});
}
createEntriesFromFolder(folder) {
return __async(this, null, function* () {
const erroredFiles = [];
let canceled = false;
const { selectedAPI, titleFieldName, appendContent } = yield new Promise((resolve, reject) => {
new MediaDbFolderImportModal(this.app, this, (selectedAPI2, titleFieldName2, appendContent2) => {
resolve({ selectedAPI: selectedAPI2, titleFieldName: titleFieldName2, appendContent: appendContent2 });
}).open();
});
const selectedAPIs = {};
for (const api of this.apiManager.apis) {
selectedAPIs[api.apiName] = api.apiName === selectedAPI;
}
for (const child of folder.children) {
if (child instanceof import_obsidian11.TFile) {
const file = child;
if (canceled) {
erroredFiles.push({ filePath: file.path, error: "user canceled" });
continue;
}
let metadata = this.app.metadataCache.getFileCache(file).frontmatter;
let title = metadata[titleFieldName];
if (!title) {
erroredFiles.push({ filePath: file.path, error: `metadata field '${titleFieldName}' not found or empty` });
continue;
}
let results = [];
try {
results = yield this.apiManager.query(title, selectedAPIs);
} catch (e) {
erroredFiles.push({ filePath: file.path, error: e.toString() });
continue;
}
if (!results || results.length === 0) {
erroredFiles.push({ filePath: file.path, error: `no search results` });
continue;
}
let selectedResults = [];
try {
selectedResults = yield new Promise((resolve, reject) => {
const searchResultModal = new MediaDbSearchResultModal(this.app, this, results, true, (err, res) => {
if (err) {
return reject(err);
}
resolve(res);
}, () => {
reject(new UserCancelError("user canceled"));
}, () => {
reject(new UserSkipError("user skipped"));
});
searchResultModal.title = `Results for '${title}'`;
searchResultModal.open();
});
} catch (e) {
if (e instanceof UserCancelError) {
erroredFiles.push({ filePath: file.path, error: e.message });
canceled = true;
continue;
} else if (e instanceof UserSkipError) {
erroredFiles.push({ filePath: file.path, error: e.message });
continue;
} else {
erroredFiles.push({ filePath: file.path, error: e.message });
continue;
}
}
if (selectedResults.length === 0) {
erroredFiles.push({ filePath: file.path, error: `no search results selected` });
continue;
}
yield this.createMediaDbNotes(() => __async(this, null, function* () {
return selectedResults;
}), appendContent ? file : null);
}
}
if (erroredFiles.length > 0) {
const title = `bulk import error report ${dateTimeToString(new Date())}`;
const filePath = `${this.settings.folder.replace(/\/$/, "")}/${title}.md`;
const table = [["file", "error"]].concat(erroredFiles.map((x) => [x.filePath, x.error]));
let fileContent = `# ${title}
${markdownTable(table)}`;
const targetFile = yield this.app.vault.create(filePath, fileContent);
}
});
}
openMediaDbAdvancedSearchModal() {
return __async(this, null, function* () {
return new Promise((resolve, reject) => {
new MediaDbAdvancedSearchModal(this.app, this, (err, results) => {
if (err) {
return reject(err);
}
new MediaDbSearchResultModal(this.app, this, results, false, (err2, res) => {
if (err2) {
return reject(err2);
}
resolve(res);
}, () => resolve([])).open();
}).open();
});
});
}
openMediaDbIdSearchModal() {
return __async(this, null, function* () {
return new Promise((resolve, reject) => {
new MediaDbIdSearchModal(this.app, this, (err, res) => {
if (err) {
return reject(err);
}
resolve(res);
}).open();
});
});
}
loadSettings() {
return __async(this, null, function* () {
this.settings = Object.assign({}, DEFAULT_SETTINGS, yield this.loadData());

@ -1,9 +1,9 @@
{
"id": "obsidian-media-db-plugin",
"name": "Media DB Plugin",
"version": "0.2.0",
"version": "0.3.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",
"authorUrl": "https://mprojectscode.github.io/",
"isDesktopOnly": false

@ -21,3 +21,30 @@
small.media-db-plugin-list-text{
color: var(--text-muted);
}
.media-db-plugin-select-wrapper {
margin: 5px;
}
.media-db-plugin-select-element {
cursor: pointer;
border-left: 5px solid transparent;
padding: 5px;
margin: 5px 0 5px 0;
border-radius: 5px;
white-space: pre-wrap;
font-size: 16px;
}
.media-db-plugin-select-element-selected {
border-left: 5px solid var(--interactive-accent) !important;
background: var(--background-secondary-alt);
}
.media-db-plugin-select-element-hover {
background: var(--background-secondary-alt);
}
.media-db-plugin-spacer {
margin-bottom: 10px;
}

@ -3,7 +3,7 @@
"reminders": {
"05.01 Computer setup/Storage and Syncing.md": [
{
"title": "[[Storage and Syncing|Storage & Sync]]: Backup Volumes to [[Sync|Sync.com]]",
"title": ":cloud: [[Storage and Syncing|Storage & Sync]]: Backup Volumes to [[Sync|Sync.com]]",
"time": "2022-06-13",
"rowNumber": 197
},
@ -65,31 +65,31 @@
}
],
"05.02 Networks/Server Tools.md": [
{
"title": "[[Selfhosting]], [[Server Tools|Tools]]: Upgrader Gitea & Health checks",
"time": "2022-06-18",
"rowNumber": 704
},
{
"title": "[[Selfhosting]], [[Server Tools|Tools]]: Upgrader Bitwarden & Health checks",
"time": "2022-08-18",
"rowNumber": 706
"rowNumber": 707
},
{
"title": "[[Selfhosting]], [[Server Tools|Tools]]: Upgrader Standard Notes & Health checks",
"time": "2022-09-18",
"rowNumber": 709
"rowNumber": 710
},
{
"title": "[[Server Tools]]: Backup server",
"time": "2022-10-04",
"rowNumber": 698
},
{
"title": ":desktop_computer: [[Selfhosting]], [[Server Tools|Tools]]: Upgrader Gitea & Health checks",
"time": "2022-10-18",
"rowNumber": 704
}
],
"05.02 Networks/Server VPN.md": [
{
"title": "[[Selfhosting]], [[Server VPN|VPN]]: Check VPN state & dashboard",
"time": "2022-06-18",
"title": ":shield: [[Selfhosting]], [[Server VPN|VPN]]: Check VPN state & dashboard",
"time": "2022-09-18",
"rowNumber": 292
},
{
@ -151,7 +151,7 @@
"01.03 Family/Noémie de Villeneuve.md": [
{
"title": ":birthday: **[[Noémie de Villeneuve|Noémie]]**",
"time": "2022-06-20",
"time": "2023-06-20",
"rowNumber": 100
}
],
@ -332,29 +332,29 @@
],
"01.02 Home/Household.md": [
{
"title": "🛎 🧻 REMINDER [[Household]]: check need for toilet paper",
"time": "2022-06-13",
"rowNumber": 101
"title": "♻ [[Household]]: *Paper* recycling collection",
"time": "2022-06-21",
"rowNumber": 72
},
{
"title": "♻ [[Household]]: *Cardboard* recycling collection",
"time": "2022-06-14",
"rowNumber": 84
"title": "🛎 🛍 REMINDER [[Household]]: Monthly shop in France",
"time": "2022-06-25",
"rowNumber": 101
},
{
"title": ":bed: [[Household]] Change bedsheets",
"time": "2022-06-18",
"rowNumber": 104
"title": "🛎 🧻 REMINDER [[Household]]: check need for toilet paper",
"time": "2022-06-27",
"rowNumber": 102
},
{
"title": "♻ [[Household]]: *Paper* recycling collection",
"time": "2022-06-21",
"rowNumber": 72
"title": "♻ [[Household]]: *Cardboard* recycling collection",
"time": "2022-06-28",
"rowNumber": 84
},
{
"title": "🛎 🛍 REMINDER [[Household]]: Monthly shop in France",
"time": "2022-06-25",
"rowNumber": 100
"title": ":bed: [[Household]] Change bedsheets",
"time": "2022-07-02",
"rowNumber": 107
}
],
"01.03 Family/Pia Bousquié.md": [
@ -391,36 +391,36 @@
"01.01 Life Orga/@Finances.md": [
{
"title": "[[@Finances]]: update crypto prices within Obsidian 🔼",
"time": "2022-06-14",
"time": "2022-07-12",
"rowNumber": 118
},
{
"title": ":moneybag: [[@Finances]]: Transfer UK pension to CH",
"time": "2022-06-29",
"time": "2022-08-29",
"rowNumber": 73
}
],
"01.01 Life Orga/@Lifestyle.md": [
{
"title": ":swimming_man: [[@Lifestyle]]: Re-start swimming",
"time": "2022-06-30",
"time": "2022-07-30",
"rowNumber": 75
},
{
"title": ":horse_racing: [[@Lifestyle]]: Re-start [[@Lifestyle#polo|Polo]]",
"time": "2022-06-30",
"time": "2022-07-30",
"rowNumber": 76
},
{
"title": "🎵 [[@Lifestyle]]: Continue building [[@Lifestyle#Music Library|Music Library]]",
"time": "2022-06-30",
"time": "2022-09-30",
"rowNumber": 77
}
],
"01.01 Life Orga/@Personal projects.md": [
{
"title": ":fleur_de_lis: Continue [[@lebv.org Tasks|lebv.org]]",
"time": "2022-06-28",
"time": "2022-09-28",
"rowNumber": 78
},
{
@ -468,34 +468,34 @@
"06.02 Investments/VC Tasks.md": [
{
"title": "💰[[VC Tasks#internet alerts|monitor VC news and publications]]",
"time": "2022-06-10",
"time": "2022-06-24",
"rowNumber": 74
}
],
"06.02 Investments/Crypto Tasks.md": [
{
"title": "💰[[Crypto Tasks#internet alerts|monitor Crypto news and publications]]",
"time": "2022-06-10",
"time": "2022-06-24",
"rowNumber": 74
}
],
"06.02 Investments/Equity Tasks.md": [
{
"title": "💰[[Equity Tasks#internet alerts|monitor Equity news and publications]]",
"time": "2022-06-10",
"time": "2022-06-24",
"rowNumber": 74
}
],
"05.02 Networks/Configuring UFW.md": [
{
"title": "🖥 [[Selfhosting]], [[Configuring UFW|Firewall]] Get IP addresses caught by Postfix",
"time": "2022-06-11",
"time": "2022-06-25",
"rowNumber": 239
},
{
"title": "🖥 [[Selfhosting]], [[Configuring UFW|Firewall]]: Update the Blocked IP list",
"time": "2022-06-11",
"rowNumber": 252
"time": "2022-06-25",
"rowNumber": 254
}
],
"00.01 Admin/Calendars/2022-03-18.md": [
@ -515,7 +515,7 @@
"00.01 Admin/Calendars/2022-01-22.md": [
{
"title": "22:46 :moneybag: [[2022-01-22|Memo]], [[@Finances]]: GBP account re moving to ZH",
"time": "2022-06-30",
"time": "2022-08-30",
"rowNumber": 87
}
],
@ -529,7 +529,7 @@
"00.01 Admin/Calendars/2022-04-10.md": [
{
"title": "21:01 :stopwatch: [[2022-04-10|Memo]], [[Amaury de Villeneuve|Chapal]]: trouver un réparateur pour l'oignon Lipp",
"time": "2022-06-25",
"time": "2022-07-25",
"rowNumber": 91
}
],
@ -539,6 +539,13 @@
"time": "2022-08-31",
"rowNumber": 91
}
],
"00.01 Admin/Calendars/2022-06-17.md": [
{
"title": "15:42 :computer: [[@Computer Set Up]], [[2022-06-17|Memo]]: regarder les utilities pour mac (1. yubikey pour ssh key; 2. dns.toys; 3. TouchID pour sudo; 4. Raccourcis clavier)",
"time": "2022-07-20",
"rowNumber": 91
}
]
},
"debug": false,

File diff suppressed because one or more lines are too long

@ -1,10 +1,10 @@
{
"id": "obsidian-tasks-plugin",
"name": "Tasks",
"version": "1.7.0",
"version": "1.8.0",
"minAppVersion": "0.13.21",
"description": "Task management for Obsidian",
"author": "Martin Schenck",
"author": "Martin Schenck and Clare Macrae",
"authorUrl": "https://github.com/obsidian-tasks-group",
"isDesktopOnly": false
}

@ -154,14 +154,14 @@
"active": "eee8aebfad9f25a3",
"lastOpenFiles": [
"01.02 Home/@Main Dashboard.md",
"00.01 Admin/Calendars/2022-06-08.md",
"03.03 Food & Wine/Chilaquiles Casserole.md",
"00.01 Admin/Calendars/2022-06-07.md",
"00.01 Admin/Calendars/2022-06-06.md",
"00.03 News/Albert Camus The philosopher who resisted despair.md",
"00.01 Admin/Calendars/2022-06-02.md",
"00.01 Admin/Calendars/2022-06-03.md",
"00.01 Admin/Calendars/2022-06-04.md",
"00.01 Admin/Calendars/2022-06-05.md"
"00.01 Admin/Calendars/2022-06-19.md",
"00.01 Admin/Test sheet.md",
"00.01 Admin/Calendars/2022-04-18.md",
"00.01 Admin/Calendars/2022-06-20.md",
"03.02 Travels/Avignon.md",
"03.02 Travels/@France.md",
"03.02 Travels/Nimes.md",
"03.02 Travels/Arles.md",
"00.01 Admin/Calendars/2022-06-16.md"
]
}

@ -85,7 +85,7 @@ This section does serve for quick memos.
- 14:21 Megan Rose is about to leave to the airport
- [ ] 22:46 :moneybag: [[2022-01-22|Memo]], [[@Finances]]: GBP account re moving to ZH 📅 2022-06-30
- [ ] 22:46 :moneybag: [[2022-01-22|Memo]], [[@Finances]]: GBP account re moving to ZH 📅 2022-08-30
#### Sub-header 2

@ -89,7 +89,7 @@ This section does serve for quick memos.
%% ### %%
&emsp;
- [ ] 21:01 :stopwatch: [[2022-04-10|Memo]], [[Amaury de Villeneuve|Chapal]]: trouver un réparateur pour l'oignon Lipp 📅 2022-06-25
- [ ] 21:01 :stopwatch: [[2022-04-10|Memo]], [[Amaury de Villeneuve|Chapal]]: trouver un réparateur pour l'oignon Lipp 📅 2022-07-25
---

@ -86,6 +86,7 @@ This section does serve for quick memos.
&emsp;
Anniversaire de [[Philomène de Villeneuve]].
%% ### %%
&emsp;

@ -86,6 +86,7 @@ This section does serve for quick memos.
&emsp;
Anniversaire de [[Marguerite de Villeneuve]]
%% ### %%
&emsp;

@ -86,6 +86,7 @@ This section does serve for quick memos.
&emsp;
Anniversaire d'[[Eloi de Villeneuve]]
%% ### %%
&emsp;

@ -15,7 +15,7 @@ EarHeadBar: 40
BackHeadBar: 30
Water: 2.2
Coffee: 4
Steps:
Steps: 7161
Ski:
Riding:
Racket:

@ -0,0 +1,104 @@
---
Date: 2022-06-09
DocType: Note
Hierarchy:
TimeStamp:
location:
CollapseMetaTable: Yes
Sleep: 7.5
Happiness: 90
Gratefulness: 90
Stress: 40
FrontHeadBar: 5
EarHeadBar: 40
BackHeadBar: 40
Water: 1.75
Coffee: 5
Steps: 7322
Ski:
Riding:
Racket:
Football:
title: "Daily Note"
allDay: true
date: 2022-06-09
---
%% Parent:: [[@Life Admin]] %%
---
[[2022-06-08|<< 🗓 Previous ]] &emsp; &emsp; &emsp; [[@Main Dashboard|Back]] &emsp; &emsp; &emsp; [[2022-06-10|🗓 Next >>]]
---
&emsp;
```button
name Record today's health
type command
action MetaEdit: Run MetaEdit
id EditMetaData
```
^button-2022-06-09Edit
```button
name Save
type command
action Save current file
id Save
```
^button-2022-06-09NSave
&emsp;
# 2022-06-09
&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,103 @@
---
Date: 2022-06-10
DocType: Note
Hierarchy:
TimeStamp:
location:
CollapseMetaTable: Yes
Sleep: 8
Happiness: 90
Gratefulness: 90
Stress: 35
FrontHeadBar: 5
EarHeadBar: 40
BackHeadBar: 30
Water: 2.5
Coffee: 4
Steps: 5417
Ski:
Riding:
Racket:
Football:
title: "Daily Note"
allDay: true
date: 2022-06-10
---
%% Parent:: [[@Life Admin]] %%
---
[[2022-06-09|<< 🗓 Previous ]] &emsp; &emsp; &emsp; [[@Main Dashboard|Back]] &emsp; &emsp; &emsp; [[2022-06-11|🗓 Next >>]]
---
&emsp;
```button
name Record today's health
type command
action MetaEdit: Run MetaEdit
id EditMetaData
```
^button-2022-06-10Edit
```button
name Save
type command
action Save current file
id Save
```
^button-2022-06-10NSave
&emsp;
# 2022-06-10
&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;
Départ de [[@@Zürich|Zürich]] pour [[Lyon]] et les Monts d'Or ([4 stars hotel near Lyon I Ermitage Hotel I Wellness, Swimming Pool & Spa](https://ermitage-college-hotel.com/en/)).
&emsp;
&emsp;

@ -0,0 +1,104 @@
---
Date: 2022-06-11
DocType: Note
Hierarchy:
TimeStamp:
location:
CollapseMetaTable: Yes
Sleep: 8
Happiness: 95
Gratefulness: 95
Stress: 35
FrontHeadBar: 5
EarHeadBar: 40
BackHeadBar: 30
Water: 1.96
Coffee: 2
Steps: 8610
Ski:
Riding:
Racket:
Football:
title: "Daily Note"
allDay: true
date: 2022-06-11
---
%% Parent:: [[@Life Admin]] %%
---
[[2022-06-10|<< 🗓 Previous ]] &emsp; &emsp; &emsp; [[@Main Dashboard|Back]] &emsp; &emsp; &emsp; [[2022-06-12|🗓 Next >>]]
---
&emsp;
```button
name Record today's health
type command
action MetaEdit: Run MetaEdit
id EditMetaData
```
^button-2022-06-11Edit
```button
name Save
type command
action Save current file
id Save
```
^button-2022-06-11NSave
&emsp;
# 2022-06-11
&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;
Départ de [[Lyon]] pour [[Saintes Maries de la Mer]].
&emsp;
&emsp;

@ -0,0 +1,104 @@
---
Date: 2022-06-12
DocType: Note
Hierarchy:
TimeStamp:
location:
CollapseMetaTable: Yes
Sleep: 8
Happiness: 95
Gratefulness: 95
Stress: 25
FrontHeadBar: 5
EarHeadBar: 30
BackHeadBar: 20
Water: 2.66
Coffee: 0
Steps: 9350
Ski:
Riding:
Racket:
Football:
title: "Daily Note"
allDay: true
date: 2022-06-12
---
%% Parent:: [[@Life Admin]] %%
---
[[2022-06-11|<< 🗓 Previous ]] &emsp; &emsp; &emsp; [[@Main Dashboard|Back]] &emsp; &emsp; &emsp; [[2022-06-13|🗓 Next >>]]
---
&emsp;
```button
name Record today's health
type command
action MetaEdit: Run MetaEdit
id EditMetaData
```
^button-2022-06-12Edit
```button
name Save
type command
action Save current file
id Save
```
^button-2022-06-12NSave
&emsp;
# 2022-06-12
&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-13
DocType: Note
Hierarchy:
TimeStamp:
location:
CollapseMetaTable: Yes
Sleep: 8
Happiness: 95
Gratefulness: 95
Stress: 25
FrontHeadBar: 5
EarHeadBar: 30
BackHeadBar: 20
Water: 4
Coffee: 0
Steps: 5927
Ski:
Riding:
Racket:
Football:
title: "Daily Note"
allDay: true
date: 2022-06-13
---
%% Parent:: [[@Life Admin]] %%
---
[[2022-06-12|<< 🗓 Previous ]] &emsp; &emsp; &emsp; [[@Main Dashboard|Back]] &emsp; &emsp; &emsp; [[2022-06-14|🗓 Next >>]]
---
&emsp;
```button
name Record today's health
type command
action MetaEdit: Run MetaEdit
id EditMetaData
```
^button-2022-06-13Edit
```button
name Save
type command
action Save current file
id Save
```
^button-2022-06-13NSave
&emsp;
# 2022-06-13
&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-14
DocType: Note
Hierarchy:
TimeStamp:
location:
CollapseMetaTable: Yes
Sleep: 8
Happiness: 95
Gratefulness: 95
Stress: 25
FrontHeadBar: 5
EarHeadBar: 30
BackHeadBar: 20
Water: 2.5
Coffee: 2
Steps: 8665
Ski:
Riding:
Racket:
Football:
title: "Daily Note"
allDay: true
date: 2022-06-14
---
%% Parent:: [[@Life Admin]] %%
---
[[2022-06-13|<< 🗓 Previous ]] &emsp; &emsp; &emsp; [[@Main Dashboard|Back]] &emsp; &emsp; &emsp; [[2022-06-15|🗓 Next >>]]
---
&emsp;
```button
name Record today's health
type command
action MetaEdit: Run MetaEdit
id EditMetaData
```
^button-2022-06-14Edit
```button
name Save
type command
action Save current file
id Save
```
^button-2022-06-14NSave
&emsp;
# 2022-06-14
&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;
Déjeuner à [[Arles]].
&emsp;
&emsp;

@ -0,0 +1,104 @@
---
Date: 2022-06-15
DocType: Note
Hierarchy:
TimeStamp:
location:
CollapseMetaTable: Yes
Sleep: 7
Happiness: 90
Gratefulness: 90
Stress: 25
FrontHeadBar: 5
EarHeadBar: 30
BackHeadBar: 20
Water: 3
Coffee: 1
Steps: 7389
Ski:
Riding:
Racket:
Football:
title: "Daily Note"
allDay: true
date: 2022-06-15
---
%% Parent:: [[@Life Admin]] %%
---
[[2022-06-14|<< 🗓 Previous ]] &emsp; &emsp; &emsp; [[@Main Dashboard|Back]] &emsp; &emsp; &emsp; [[2022-06-16|🗓 Next >>]]
---
&emsp;
```button
name Record today's health
type command
action MetaEdit: Run MetaEdit
id EditMetaData
```
^button-2022-06-15Edit
```button
name Save
type command
action Save current file
id Save
```
^button-2022-06-15NSave
&emsp;
# 2022-06-15
&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;
Matinée de vélo électrique dans la Camargue (3h).
&emsp;
&emsp;

@ -0,0 +1,108 @@
---
Date: 2022-06-16
DocType: Note
Hierarchy:
TimeStamp:
location:
CollapseMetaTable: Yes
Sleep: 8
Happiness: 95
Gratefulness: 95
Stress: 25
FrontHeadBar: 5
EarHeadBar: 30
BackHeadBar: 20
Water: 3.58
Coffee: 2
Steps: 4885
Ski:
Riding:
Racket:
Football:
title: "Daily Note"
allDay: true
date: 2022-06-16
---
%% Parent:: [[@Life Admin]] %%
---
[[2022-06-15|<< 🗓 Previous ]] &emsp; &emsp; &emsp; [[@Main Dashboard|Back]] &emsp; &emsp; &emsp; [[2022-06-17|🗓 Next >>]]
---
&emsp;
```button
name Record today's health
type command
action MetaEdit: Run MetaEdit
id EditMetaData
```
^button-2022-06-16Edit
```button
name Save
type command
action Save current file
id Save
```
^button-2022-06-16NSave
&emsp;
# 2022-06-16
&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;
Petite sortie à [[Arles]] pour le déjeuner.
Sortie à cheval dans la Camargue (17h30 pour 2h)
Jeux de vachettes derrière les arènes de [[Saintes Maries de la Mer]] (20h).
&emsp;
&emsp;

@ -0,0 +1,107 @@
---
Date: 2022-06-17
DocType: Note
Hierarchy:
TimeStamp:
location:
CollapseMetaTable: Yes
Sleep: 8.5
Happiness: 95
Gratefulness: 95
Stress: 25
FrontHeadBar: 5
EarHeadBar: 30
BackHeadBar: 20
Water: 3.75
Coffee: 1
Steps: 10594
Ski:
Riding:
Racket:
Football:
title: "Daily Note"
allDay: true
date: 2022-06-17
---
%% Parent:: [[@Life Admin]] %%
---
[[2022-06-16|<< 🗓 Previous ]] &emsp; &emsp; &emsp; [[@Main Dashboard|Back]] &emsp; &emsp; &emsp; [[2022-06-18|🗓 Next >>]]
---
&emsp;
```button
name Record today's health
type command
action MetaEdit: Run MetaEdit
id EditMetaData
```
^button-2022-06-17Edit
```button
name Save
type command
action Save current file
id Save
```
^button-2022-06-17NSave
&emsp;
# 2022-06-17
&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;
- [ ] 15:42 :computer: [[@Computer Set Up]], [[2022-06-17|Memo]]: regarder les utilities pour mac (1. yubikey pour ssh key; 2. dns.toys; 3. TouchID pour sudo; 4. Raccourcis clavier) 📅 2022-07-20
---
&emsp;
### Notes
&emsp;
Abbrivado pour les fêtes votives de [[Saintes Maries de la Mer]].
Départ de [[Saintes Maries de la Mer]] à [[Nimes]]
&emsp;
&emsp;

@ -0,0 +1,104 @@
---
Date: 2022-06-18
DocType: Note
Hierarchy:
TimeStamp:
location:
CollapseMetaTable: Yes
Sleep: 8.5
Happiness: 95
Gratefulness: 95
Stress: 25
FrontHeadBar: 5
EarHeadBar: 30
BackHeadBar: 20
Water: 2.14
Coffee: 3
Steps: 10480
Ski:
Riding:
Racket:
Football:
title: "Daily Note"
allDay: true
date: 2022-06-18
---
%% Parent:: [[@Life Admin]] %%
---
[[2022-06-17|<< 🗓 Previous ]] &emsp; &emsp; &emsp; [[@Main Dashboard|Back]] &emsp; &emsp; &emsp; [[2022-06-19|🗓 Next >>]]
---
&emsp;
```button
name Record today's health
type command
action MetaEdit: Run MetaEdit
id EditMetaData
```
^button-2022-06-18Edit
```button
name Save
type command
action Save current file
id Save
```
^button-2022-06-18NSave
&emsp;
# 2022-06-18
&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-19
DocType: Note
Hierarchy:
TimeStamp:
location:
CollapseMetaTable: Yes
Sleep: 9
Happiness: 95
Gratefulness: 95
Stress: 25
FrontHeadBar: 5
EarHeadBar: 30
BackHeadBar: 20
Water: 3.03
Coffee: 2
Steps: 11669
Ski:
Riding:
Racket:
Football:
title: "Daily Note"
allDay: true
date: 2022-06-19
---
%% Parent:: [[@Life Admin]] %%
---
[[2022-06-18|<< 🗓 Previous ]] &emsp; &emsp; &emsp; [[@Main Dashboard|Back]] &emsp; &emsp; &emsp; [[2022-06-20|🗓 Next >>]]
---
&emsp;
```button
name Record today's health
type command
action MetaEdit: Run MetaEdit
id EditMetaData
```
^button-2022-06-19Edit
```button
name Save
type command
action Save current file
id Save
```
^button-2022-06-19NSave
&emsp;
# 2022-06-19
&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;
Départ de [[Nimes]] vers [[Avignon]].
&emsp;
&emsp;

@ -0,0 +1,105 @@
---
Date: 2022-06-20
DocType: Note
Hierarchy:
TimeStamp:
location:
CollapseMetaTable: Yes
Sleep: 9
Happiness: 95
Gratefulness: 95
Stress: 25
FrontHeadBar: 5
EarHeadBar: 30
BackHeadBar: 20
Water: 0.5
Coffee:
Steps:
Ski:
Riding:
Racket:
Football:
title: "Daily Note"
allDay: true
date: 2022-06-20
---
%% Parent:: [[@Life Admin]] %%
---
[[2022-06-19|<< 🗓 Previous ]] &emsp; &emsp; &emsp; [[@Main Dashboard|Back]] &emsp; &emsp; &emsp; [[2022-06-21|🗓 Next >>]]
---
&emsp;
```button
name Record today's health
type command
action MetaEdit: Run MetaEdit
id EditMetaData
```
^button-2022-06-20Edit
```button
name Save
type command
action Save current file
id Save
```
^button-2022-06-20NSave
&emsp;
# 2022-06-20
&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;
- [ ] 08:25 Anniversaire de [[Noémie de Villeneuve]]
---
&emsp;
### Notes
&emsp;
Loret ipsum
&emsp;
&emsp;

@ -0,0 +1,255 @@
---
Tag: ["Society", "Crime", "CentralAmerica", "ElSalvador"]
Date: 2022-06-14
DocType: "WebClipping"
Hierarchy:
TimeStamp: 2022-06-14
Link: https://www.latimes.com/world-nation/story/2022-06-09/nayib-bukele-el-salvador-el-faro-journalists
location:
CollapseMetaTable: Yes
---
Parent:: [[@News|News]]
Read:: [[2022-06-16]]
---
&emsp;
```button
name Save
type command
action Save current file
id Save
```
^button-AsElSalvadorspresidenttriestosilencefreepressNSave
&emsp;
# As El Salvadors president tries to silence free press, journalist brothers expose his ties to street gangs - Los Angeles Times
MEXICO CITY  
Carlos Martínez peered over his brother Óscars shoulder as they proofread the investigation they were about to publish, a story they feared could change their lives forever — or perhaps even worse, change nothing at all.
Óscar tapped his foot frantically, rattling the floorboards. Carlos heaved deep sighs, as if steadying himself for a fight.
The brothers, two of El Salvadors most celebrated journalists, had produced a damning report exposing [President Nayib Bukeles](https://www.latimes.com/world/la-fg-el-salvador-election-20190203-story.html) ties to the street gangs that have long terrorized Central America.
The report showed that a [recent historic rise](https://www.latimes.com/world-nation/story/2022-03-27/el-salvador-declares-state-of-emergency-amid-killings) in homicides was the result of a broken pact between the government and El Salvadors largest gang. The brothers and their colleagues had previously reported the details of the secret deal, in which Bukele aides gave jailed leaders of the Mara Salvatrucha gang special treatment in exchange for their pledge to reduce violence on the streets.
It was the kind of journalism that has distinguished the Salvadoran press. In the three decades since peace accords ended the nations bloody civil war, El Salvador had become a beacon of media freedom in a region where journalists are sometimes jailed and even killed for hard-hitting work exposing the powerful and the corrupt.
![El Salvador's President Nayib Bukele](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
Salvadoran President Nayib Bukele delivers an annual address to the nation before Congress in June 2021.
(Associated Press)
But everything had changed under Bukele, [a young, image-obsessed autocrat](https://www.latimes.com/world-nation/story/2021-05-16/nayib-bukele-the-most-popular-president-in-the-world-is-a-man-with-one-ideology-power) who once called himself “the worlds coolest dictator.”
He and the Martínez brothers were from the same generation — all raised amid war by politically minded parents — but they had taken starkly different paths. While the brothers crusaded against power, convinced that strong checks on authority were a precondition for El Salvadors fledgling democracy, Bukele was intent on acquiring it.
Since taking office in 2019, he has [seized control](https://www.latimes.com/world-nation/story/2022-04-05/el-salvador-leader-cut-food-for-gang-inmates) of El Salvadors independent institutions — purging judges, punishing critics and laying the groundwork to remain in office despite a constitutional ban on consecutive reelection.
Bukele, 40, has maintained some of the highest approval ratings on the planet, thanks in large part to his skill at controlling media narratives.
Bukele has built a sprawling state-run media machine that is guided by daily opinion polling while at the same time surveilling independent journalists with spyware and drones, punishing government officials for leaking information, and lobbing tax fraud and money-laundering accusations at El Faro, the investigative news site where the Martínez brothers work.
In April, Bukele [approved a law](https://www.latimes.com/world-nation/story/2022-04-24/el-salvadors-president-wants-to-extend-state-of-emergency) that threatens any journalist who reports on gangs with up to 15 years in prison.
As soon as the Martínez brothers published their story, they would be vulnerable to arrest.
To protect themselves, they had temporarily decamped with their families to Mexico City.
Working out of a friends apartment on that warm evening in May, both had beers cracked and cigarettes lit when Carlos finally clicked a button and the story went online.
The brothers embraced. “Lets see,” Carlos said, “if weve just ruined our lives.”
Brothers Óscar and Carlos Martínez embrace.
(Lisette Poole / For The Times)
Growing up during the war, the Martínez brothers didnt have to look beyond their own family to see the countrys bitter divisions.
Their parents were ardent supporters of the left-wing guerrillas fighting the nations U.S.-backed military dictatorship. Their maternal uncle, Roberto DAubuisson, was the leader of a right-wing death squad responsible for one of the wars most notorious acts: The assassination of Archbishop Óscar Romero while he was celebrating Mass.
The family didnt shield Carlos, Óscar or their youngest brother, Juan, from the horrors of the conflict, which stretched from 1979 to 1992 and killed 75,000 people.
“They never told us that we lived in a country that was perfect,” said Carlos, 42, who laughs easily, wears a black hoop in one ear and is never without his pack of cigarettes or asthma inhaler. “Since childhood, we understood that it was impossible to understand our country without understanding violence.”
Carlos, the eldest, was still a student when he joined El Faro in 2000.
The site, whose name means “The Lighthouse,” was Latin Americas first digital-only newspaper, and it aimed to hold the new postwar government accountable.
“In El Salvador, there really wasnt a tradition of journalism,” said co-founder Carlos Dada. “We basically had to invent it.”
With aid from international training programs, nonprofits and foreign governments promoting democracy, El Faro soon became one of the most respected news outlets in Latin America. Along with unflinching corruption investigations, the site was known for its nuanced reporting on a fresh crisis of violence gripping El Salvador.
Powerful street gangs had seized control of parts of the country, trafficking drugs, extorting cash from small businesses and killing with such abandon that El Salvador ranked among the most murderous countries in the world. Gangsters dictated where residents were allowed to work, worship and go to school.
Carlos and Óscar, his intense, tattooed brother, who had joined El Faro in 2007, dived into the criminal underworld, embedding in prisons and safe houses to understand the new phenomenon.
They exposed the origins of the gangs, which were formed by Salvadoran war refugees in Los Angeles in the 1990s and later exported back to Central America through deportations. And they revealed how gang members slain in what authorities described as “confrontations” with police often turned out to be victims of extrajudicial killings.
“Wed finish work and would be sitting around drinking rum still talking about it all,” Carlos said. The conversations often included their brother Juan, an anthropologist who specialized in gang culture.
In 2012 Carlos, Óscar and their El Faro colleagues stumbled onto their biggest story yet: The gangs had discovered that their violence had a political value, which they were wielding to glean favors from the government.
The reporters showed how then-President Carlos Mauricio Funes transferred gang leaders out of high-security prisons on the condition that their foot soldiers put down their weapons.
The resulting decline in homicides ensured that negotiations with the gangs would be a part of Salvadoran political life for years to come: They had achieved what no security strategy could.
In the years since, El Faro has revealed evidence that both of the countrys major political parties negotiated with the gangs for electoral support. Political leaders usually denied the stories, but while they were sometimes hostile, they never sought to silence the journalists.
With Bukele, that was no longer the case.
![President Nayib Bukele wearing a backward baseball cap](https://ca-times.brightspotcdn.com/dims4/default/a52435f/2147483647/strip/true/crop/3483x2322+0+0/resize/2000x1333!/quality/90/?url=https%3A%2F%2Fcalifornia-times-brightspot.s3.amazonaws.com%2Fa4%2F49%2Fe77d57fe45bbab1f084bdbfcb3c8%2Fel-salvador-politics-overturned-21001.jpg)
Salvadoran President Nayib Bukele.
(Associated Press)
Before he was president, Bukele was an advertising executive. Even those who have criticized his authoritarian drift often acknowledge he has a certain genius for self-marketing.
Its a skill he seems to have inherited from his father, Armando, who was born to Palestinian immigrants and became one of El Salvadors wealthiest businessmen and the host of a television program where he held forth on history and sympathized with leftist politics.
Nayib Bukele was elected on a populist wave of anger at the two major political parties that emerged after the war, both of which had been embroiled in major corruption scandals.
He presented himself as something different: a modern, forward-looking leader who used Instagram and thought like a tech-disrupter even as he embraced the power-grabbing tactics of Latin American caudillos before him.
He lured popular journalists away from established media outlets to higher paying jobs in the government and launched dozens of new media outlets that claim independence but push government propaganda.
He tweeted dozens of times a day — messages that technology analysts say were amplified on social media by armies of bots — to craft a narrative of an ascendant, prosperous country and of himself as an “instrument of God” sent to lead it.
He went to war with the journalists who dared to contradict him.
The Martínez brothers knew something was deeply wrong last year when a colleague at El Faro told them a source within El Salvadors government had played her a recording of a phone call between the brothers in which they discussed an investigation.
Each had been alone during the conversation, which they conducted on the encrypted application Signal. They began to suspect that one or both of their phones had somehow been listening in.
In January of this year, their fears were confirmed: An [analysis](https://citizenlab.ca/2022/01/project-torogoz-extensive-hacking-media-civil-society-el-salvador-pegasus-spyware/) by the University of Torontos Citizen Lab and digital rights group Access Now found that the brothers and 20 of their El Faro colleagues — as well as at least 15 journalists from other outlets — were surveilled for more than a year with the spyware Pegasus, whose Israeli developer sells exclusively to governments.
“They know the details of my relationships with all the people I love,” said Carlos, who was spied on for 269 days, more than anyone else.
“They know the people who are important to me, and that makes them all vulnerable.”
In the wake of the Pegasus scandal, human rights organizations called for an investigation and Reporters Without Borders further downgraded El Salvadors ranking on its annual [press freedom index](https://rsf.org/en/index).
Officials in El Salvador said nothing.
Members of Bukeles party in congress quickly approved a reform legalizing “undercover digital operations” by authorities.
The Martínez brothers were growing more and more stressed. They worried, Carlos said, that the Salvadoran government was “just getting started with us.”
They were right.
![Bukele in a military parade.](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
President Nayib Bukele, right, takes part in a military parade.
(Marvin Recinos / AFP/Getty Images)
Bukele had touted a dramatic reduction in homicides as one of his crowing achievements, celebrating each day that passed without a killing.
In slick promotional videos, he credited the work of police and soldiers. “We Salvadorans are taking control of our future,” he told the Legislative Assembly, as congress is formally known. “We did it without negotiating with criminals.”
But investigations by Carlos, Óscar and their El Faro colleagues had revealed that the government had been in talks with the gangs from the beginning.
They cited hundreds of pages of prison reports that showed that Bukele had granted MS-13 expansive concessions — from permitting fried chicken from a popular restaurant to be sold inside prisons to moving guards that the gangs viewed as aggressive — in exchange for reducing killings and supporting Bukeles political party in 2021 congressional elections.
Then, one weekend in March, the peace that had helped win Bukele wide support came to an abrupt end.
El Salvadors gangs went on a killing spree. On a single day, 62 people were gunned down across the country, a level of violence not seen since the war ended.
Humiliated and furious, Bukele and his party declared emergency rule, suspending many civil liberties and easing the conditions for making arrests.
Since then authorities have imprisoned more than 35,000 people whom Bukele describes as “terrorist” gang members. Nearly 2% of the adult population is currently in jail.
Human rights groups say the majority of detainees were arrested arbitrarily and have not been given due process. Amnesty International [says](https://www.amnesty.org/en/latest/news/2022/06/el-salvador-president-bukele-human-rights-crisis/) at least 18 people have died in state custody — including from torture and other abuse.
![Arrestees in El Salvador](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
Men arrested for alleged gang ties are escorted by Salvadoran police during a government-declared state of emergency on March 31, 2022.
(Marvin Recinos / AFP/Getty Images)
Bukele used the spike in killings to further target journalists — whom he equates with gang members as fellow enemies of the state — starting with passage of the law threatening prison time for those who “disseminate messages from gangs.”
His government is accused of sending drones to spy on several El Faro reporters, and he has launched online smear campaigns against multiple journalists, including a freelance reporter for the New York Times who fled the country after Bukele supporters claimed he was the sibling of an imprisoned gang leader. Never mind that the reporter doesnt have a brother.
Juan, the youngest Martínez brother, fled too, after Bukele called him “trash” and [tweeted](https://twitter.com/nayibbukele/status/1513591841656127488) a video interview in which he had said gangs sometimes “fulfilled a necessary social function” in El Salvador.
For Óscar and Carlos, the cause of the sudden explosion of violence in March seemed clear: Bukeles truce with the gang had broken down. The brothers set out to prove it, despite the risks.
“Were going to do what El Faro has always done,” Carlos said. “When we have information, we publish. It doesnt matter what happens next.”
Carlos reached out to some of his gang sources, saying he was interested in speaking to high-level Mara Salvatrucha leaders about what had happened. Finally, a gang leader got in touch and turned over audio recordings in which a top Bukele aide [can be heard](https://elfaro.net/en/202205/el_salvador/26177/Collapsed-Government-Talks-with-MS-13-Sparked-Record-Homicides-in-El-Salvador-Audios-Reveal.htm) discussing the collapse of the agreement.
The aide talked extensively about how he had won the gangs favor, once escorting a gang member wanted in the U.S. out of El Salvador to safety in Guatemala. He repeatedly referred to “Batman,” which the gangsters said was reference to Bukele.
Carlos immediately called his brother. “I have everything,” he said.
The Martínez brothers decamped to Mexico City to finish the story without fear of arrest.
(Lisette Poole / For The Times)
The next day, El Faro flew Carlos to Mexico City to continue reporting on the recordings without fear of Salvadoran authorities interrupting him. Óscar later joined him.
The story that Carlos wrote and Óscar edited explains that the March gang massacre was retribution for the arrest of a group of Mara Salvatrucha leaders who were supposed to be protected by the government.
Shortly after the story went live, the brothers mother, Marisa, called.
“How are you? Happy?” Marisa asked via video chat. “Im so proud of you.” She, too, had left the country ahead of the publication date.
Soon, friends started coming over to celebrate with beer and mezcal. They included several other Salvadoran journalists who had recently gone into exile abroad.
As drinks were poured and cigarettes were lit, Carlos called out to his brother, who was still hunched over the laptop.
“How many do we have?” Carlos asked, referring to readers.
“3,000,” Óscar responded.
By June that number would reach nearly 200,000.
As the story made the rounds online, Batman memes proliferated, opposition leaders expressed outrage, and the government remained silent.
In some ways, that wasnt a surprise. Bukele does not always strike back immediately. And he surely understood that if he acknowledged the piece, he would be giving it more exposure.
Instead, over the next few days, Bukele focused on his preferred agenda: He [tweeted](https://twitter.com/nayibbukele/status/1527020263463956483) about handing out digital tablets to schoolchildren and about the “bitcoin swag bags” given to international bankers who had visited the country after Bukele made the cryptocurrency legal tender in El Salvador.
He also tweeted a [sympathetic message](https://twitter.com/LaHuellaSV/status/1527840985035640833?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1527840985035640833%7Ctwgr%5E%7Ctwcon%5Es1_&ref_url=https%3A%2F%2Fdiariolahuella.com%2Fpresidente-bukele-a-elon-musk-los-medios-de-comunicacion-una-vez-todopoderosos-han-perdido-su-influencia%2F) to Elon Musk, currently embroiled in a bid to buy Twitter. “Once you denounce the system, they will come after you with everything they have,” Bukele wrote. “They will smear, attack, degrade, try to bankrupt you ... Luckily, we live in evolving times, and their once all powerful media outlets have lost their clout.”
More disappointing to the brothers was the fact that some of the countrys biggest media outlets did not acknowledge the story, perhaps because they were afraid of violating the new law threatening prison time for reporting on gangs.
Bukeles government had not arrested anybody, yet it appeared that his law was having its intended chilling effect.
A few days after the article was published, Óscar returned to El Salvador. He knew he could be detained, but as editor in chief of El Faro, he worried staying abroad would send the wrong message to his newsroom.
There were no police waiting for him as he stepped off his plane. Still, he said hes watching “day by day” to determine whether he has to leave again.
Carlos remains in Mexico for now. A life in exile is the last thing he wants. He loves his country, and misses the verdant beach that is a short walk from his house. It pains him to think that El Salvadors relatively new experiment with democracy could end in failure.
Sometimes he wonders: Are we condemned to live with violence?
He is certain now of only two things.
Wherever he is he will keep reporting. And whatever is coming will be harder than this.
Brothers Óscar and Carlos Martínez.
(Lisette Poole / For The Times)
&emsp;
&emsp;
---
`$= dv.el('center', 'Source: ' + dv.current().Link + ', ' + dv.current().Date.toLocaleString("fr-FR"))`

@ -0,0 +1,276 @@
---
Tag: ["Sport", "NFL", "Abuse"]
Date: 2022-06-14
DocType: "WebClipping"
Hierarchy:
TimeStamp: 2022-06-14
Link: https://www.nytimes.com/2022/06/07/sports/football/deshaun-watson.html
location:
CollapseMetaTable: Yes
---
Parent:: [[@News|News]]
Read:: [[2022-06-18]]
---
&emsp;
```button
name Save
type command
action Save current file
id Save
```
^button-DeshaunWatsonsMassagesWereEnabledNSave
&emsp;
# Deshaun Watsons Massages Were Enabled by the Texans and a Spa Owner
## How the Texans and a Spa Enabled Deshaun Watsons Troubling Behavior
Watson met at least 66 women for massages over a 17-month period, far more than previously known. He had help from the Houston Texans, including nondisclosure agreements, in making appointments.
![](https://static01.nyt.com/images/2022/06/07/sports/07watson-timeline/07watson-timeline-articleLarge.jpg?quality=75&auto=webp&disable=upscale)
Credit...Mel Haasch
June 7, 2022
The accusations have been frequent and startling: more than two dozen women have said the football star Deshaun Watson harassed or assaulted them during massage appointments that [Watson and his lawyers insist were innocuous](https://www.nytimes.com/2022/03/25/sports/football/deshaun-watson-browns-lawsuits.html).
[Two grand juries in Texas](https://www.nytimes.com/2022/03/24/sports/football/deshaun-watson-texas-grand-jury.html) this year declined to charge him criminally and, while the N.F.L. considers whether to discipline him, he has gotten another job, signing a [five-year, $230 million fully guaranteed contract](https://www.nytimes.com/2022/03/18/sports/football/deshaun-watson-traded-browns.html) to play quarterback for the Cleveland Browns this coming season.
It is time, Watson and his representatives say, for everyone to move on.
Yet a New York Times examination of records, including depositions and evidence for the civil lawsuits as well as interviews of some of the women, showed that Watson engaged in more questionable behavior than previously known.
The Timess review also showed that Watsons conduct was enabled, knowingly or not, by the team he played for at the time, the Houston Texans, which provided the venue Watson used for some of the appointments. A team representative also furnished him with a nondisclosure agreement after a woman who is now suing him threatened online to expose his behavior.
Rusty Hardin, Watsons lawyer, said his client “continues to vehemently deny” the allegations in the lawsuits. He declined to respond in detail to The Timess questions, but said in a statement, “We can say when the real facts are known this issue will appear in a different light.”
The Texans did not respond to specific questions about Watsons use of team resources. They said in a statement that they first learned of the allegations against him in March 2021, have cooperated with investigators and “will continue to do so.”
A spokesman for the Browns said the team had no immediate comment. An N.F.L. spokesman declined to comment, saying the Watson matter is under review.
Image
Credit...Ryan Kang, via Associated Press
Watson has said publicly that he hired about 40 different therapists across his five seasons in Houston, but The Timess reporting found that he booked appointments with at least 66 different women in just the 17 months from fall 2019 through spring 2021. A few of these additional women, speaking publicly for the first time, described experiences that undercut Watsons insistence that he was only seeking professional massage therapy.
One woman, who did not sue Watson or complain to the police, told The Times that he was persistent in his requests for sexual acts during their massage, including “begging” her to put her mouth on his penis.
“I specifically had to say, No, I cant do that,’” said the woman, who spoke on condition of anonymity to protect her familys privacy. “And thats when I went into asking him, What is it like being famous? Like, whats going on? Youre about to mess up everything.’”
## An Appointment with an Acquaintance
Before Watson was drafted by the Texans 12th overall in 2017, he was a championship-winning quarterback at Gainesville (Ga.) High School and [Clemson University](https://www.nytimes.com/2017/01/09/sports/alabama-clemson-cfp-national-championship.html).
N.F.L. teams widely viewed him as a prospective franchise quarterback with no known character issues, and he seemed to be living up to his billing. When Hurricane Harvey walloped Houston in August 2017, before Watsons rookie season, he donated his first game check to stadium cafeteria employees who were affected by the storm.
Since the first wave of suits [were filed against Watson last year](https://www.nytimes.com/2021/03/17/sports/football/deshaun-watson-sexual-assault-lawsuit-allegations.html), the main allegations against him [have become familiar](https://www.nytimes.com/article/deshaun-watson-sexual-assault-lawsuit.html). Women complained that Watson turned massages sexual without their consent, including purposely touching them with his penis and coercing sexual acts.
Its not clear when he began looking for so many different women to give him massages. Hardin has said his client needed to book appointments “ad hoc” when the coronavirus pandemic began, though Watson began working with numerous women before then.
Image
Credit...Yi-Chin Lee/Houston Chronicle, via Associated Press
Not all of the women who gave Watson massages between October 2019 and March 2021 have detailed their interactions with him. Some who have shared their experiences say they had no problems with him. Others describe troubling — and similar — behaviors.
The 66 women are:
- The 24 who have sued him, including two who filed suits within the last week. In the most recent suit, the woman said Watson masturbated during the massage.
- A woman who sued but then withdrew the complaint because of “privacy and security concerns.”
- Two women who filed criminal complaints against Watson but did not sue him.
- At least 15 therapists who issued statements of support for Watson at the request of his lawyers and gave him massages during that period.
- At least four therapists from Genuine Touch, the massage therapy group contracted with the Texans.
- Five women identified by the plaintiffs lawyers during the investigation for their civil suits.
- At least 15 other women whose appointments with Watson were confirmed through interviews and records reviewed by The Times.
A deeper look at the civil suits, including a review of private messages entered as evidence, shows the lengthy efforts by Watson to book massages and the methods he used to assure women that he could be trusted.
One woman who sued Watson was a flight attendant who began taking massage therapy classes during the pandemic. She and Watson were in the same social circle, but Watson acknowledged in a deposition that they had never really spoken except to say hello.
### Excerpts From a Deposition
Tony Buzbee, the lawyer for 24 women who have sued Deshaun Watson, questioned Watson about his interactions with a flight attendant who had begun taking massage therapy classes.
> Q. Can you explain why you -- you reached out to her on Instagram rather than just using a therapist you had used before?
>
> A. Because I needed a massage therapy.
>
> Q. Okay. You could have just used somebody you used before, right?
>
> A. Yeah. I could have.
>
> Q. You could -- yeah. You didn't -- but you didn't, did you?
>
> A. I did not.
>
> Q. You could have used the Texans, right?
>
> A. Definitely possible.
>
> Q. But you didn't, did you?
>
> A. I did not.
In November 2020, after a friendly exchange on Instagram, Watson saw that the woman was a massage therapist and sent a message asking for an appointment. As they struggled to work out a time, Watson told her, “Just tryna support black businesses,” a message he repeated later.
Watson regularly presented himself as an ally to businesswomen. In the suit filed this week, the therapist alleged that he told her that he “really wanted to support” Black businesses, and on another occasion, he left a woman perplexed when he purchased 30 bottles of her $40 skin cleanser.
In messages to the woman, whom he knew from his social circle, Watson asked to meet at The Houstonian, an upscale hotel and club where the Texans had secured a membership for him. She said she wasnt comfortable going to a hotel because she knew Watsons girlfriend — and indeed had once babysat her and her younger brother. The woman told Watson she wanted to keep things “professional and respectful.”
“Oh most definitely always professional,” he texted. “I even have a NDA I have therapist sign too.” He was referring to the N.D.A. he had received just days earlier from a member of the Texans security staff. Watson didnt explain in the text how the woman would benefit from signing a document meant to protect him.
Finally, the woman suggested they meet at her mothers home in Manvel, a 30-minute drive for Watson. He responded, “Damn thats far,” but agreed to make the trip.
> Q. Did you even ask her what her experience level was?
>
> A. No, sir. That wasn't a priority.
>
> Q. Right. You didn't care, did you?
>
> A. That wasn't a priority. I just wanted a massage.
>
> Q. You didn't care what her skill level was, correct?
>
> A. That wasn't a priority.
>
> Q. You didn't care whether she was properly trained?
>
> A. That wasn't my priority, sir.
Watson was questioned about whether he had checked the womans qualifications as a massage therapist.
In the civil suit the woman filed against Watson last year, she said she was uneasy with his directions to “get up in there” during the massage, but chalked it up to her inexperience and agreed to work with him again. When he ejaculated during the second appointment and then asked her for another massage later that day at the Houstonian, she first agreed, then told him she could not make it. She eventually blocked his number.
## Initiating Sex
Most of the women Watson saw for massages did not sue or call the police. But even some who did not complain said Watson came looking for sex.
The woman who sold bottles of cleanser to Watson had a few appointments with him during the summer of 2020. This aesthetician, who spoke on condition of anonymity to protect her privacy, told Watson when he booked an appointment that she was licensed only to give him a back facial. But she said in an interview with The Times that he got fully undressed and directed her toward his groin. While she said there was no sexual contact, she believed that he was seeking more than a professional massage.
Watson and his lawyers have said he was only seeking massages. The lawyers have acknowledged that Watson had sexual contact with three of the women who have sued him. But the sexual acts took place after the massages, they said, and were initiated by the women. Asked whether he was asserting that Watson never had sexual contact with any other massage therapists, Hardin didnt respond.
Another woman who spoke to The Times, a physical therapist who did not sue Watson, said he initiated sexual contact in all three of their appointments.
This woman, who spoke on condition of anonymity to protect her privacy, said in an interview she began by working on Watsons back. But when he flipped over, she said his demeanor and voice changed, and he began aggressively dictating where he wanted her to touch him. In their first session, she said he got into the happy baby yoga pose — on his back with his feet in his hands — and asked her to massage between his testicles and anus. She laughed off the request but said he grabbed her wrist and put her hand there.
The woman said Watson twice initiated sexual intercourse, once by pulling down the scrubs she was wearing. She and Watson knew each other from around town and were on friendly terms, and she admitted she let him proceed with these sexual acts. “I just didnt know how to tell him no,” she said.
Hardin said in a statement: “It would be irresponsible and premature for us to comment on vague details put forth by anonymous individuals.”
## A $5,000 Payment
In June 2020, Watson began frequenting a spa in a strip mall off Interstate 45, at least a 30-minute drive from his home or work. He had found A New U Spa on Instagram and sent a message. The owner, Dionne Louis, became a resource for Watson, able to connect him with multiple women for massages.
She looked out for him, she said in a deposition, sometimes arranging for a security guard when Watson came in, concerned the expensive cars he drove might make him a target for a robbery. She also got things from him. In November 2020, Watson paid her $5,000 through an app, she said, to buy spa equipment. Louis told one of her employees in a text, “I told you Ill show you how to get money from men thats my specialty.”
Image
Credit...Callaghan OHare for The New York Times
Louis and her lawyer did not respond to requests for comment.
During the months Louis and Watson worked together, she set up appointments for him with several women who worked there, none of whom was licensed in Texas to perform massages.
One was the woman who said Watson begged her for oral sex.
She described how he tried to build up to sexual acts, starting with his request that she work on his behind and go higher up on his inner thighs, which put her hands uncomfortably close to his testicles. When he flipped over, she said, he was exposed with an erection, but she refused his requests for oral sex.
That woman did not sue Watson, but four other employees of A New U Spa did. They all said in their lawsuits that Louis gave him special attention.
In June 2020, one woman said in her suit, Louis drove her to a hotel to meet Watson for a massage, during which he groped her and touched her hand with his penis. Louis was not in the room, but in text messages she later sent to this woman, she appeared to refer to Watson treating her employees poorly: “I been talking to Deshaun I just told his ass off he got it now.” Louis added in a second message, “I told him he cant treat us black women any kind of way.” (In her deposition, Louis denied sending these messages, though evidence in the civil suits indicates they were sent from her number.)
Nia Smith, who also worked at A New U Spa, filed a lawsuit against Watson last week, the 23rd of 24 civil cases. Smith said that during their first massage, Watson asked her to put her fingers inside his anus, a request she said she told Louis about afterward. She said in the second session he asked her if she wanted his penis in her mouth, and that he repeatedly requested sex in their third and final massage. Smith also claimed that Louis knew Watson was seeking sex and told her she needed to keep Watson happy. In a deposition, Louis denied she knew anything about Watsons sexual desires.
In early November 2020, after Smith stopped working at A New U Spa, she posted text messages from Watson along with his phone number and his Cash App receipts on Instagram. She included the message, “I could really expose you,” adding an expletive.
## Help From the Texans
Days later, when Watson went to work at the Texans stadium, he found an N.D.A. in his locker. He later said in a deposition that Brent Naccara, a former Secret Service agent who is the Texans director of security, put it there after Watson told him about Smiths Instagram posts.
> Q. Okay. This NDA, you had already gotten from -- you had already gotten this NDA by this point obviously from Brent?
>
> A. Yes.
>
> Q. Brent Naccara?
>
> A. Yes, sir.
>
> Q. Head of security for the Texans?
>
> A. Yes, sir.
>
> Q. He's the guy that gave it to you?
>
> A. He put it in my locker, yes, sir.
Watson was asked in the deposition about the nondisclosure agreement he received from Brent Naccara.
Watson began taking the N.D.A. to massages that same week, giving one to the woman in Manvel, who signed it, and another to a woman who said in her lawsuit that she ended the session after he suggested a sexual act. Watson told her she had to sign in order for him to pay, so she did, according to her filing. Watson said in a deposition that he used this N.D.A. only for massage appointments because he had lawyers and agents who handled his other business.
Its unclear whether the Texans knew how many massages Watson was getting or who was providing them. But their resources helped support his massage habit away from the team. Watson acknowledged in a deposition that the Texans arranged for him to have “a place” at The Houstonian. He used the fitness club, dined there and also set up massages in hotel rooms.
At least seven women met him at the hotel for appointments, according to interviews and records, including two who filed civil lawsuits and two who complained to police.
The Texans werent aware of the massage appointments at the hotel “that I know of,” Watson said. He also said that his access to the property was not under his name. One woman who gave Watson a massage at The Houstonian said she was told the room was registered to a member of the Texans training staff.
## A Well-Connected Lawyer
To preserve his reputation, his career and possibly his freedom, Watson hired Hardin, now 80, a veteran defense lawyer whose clients have included the former pitcher [Roger Clemens](https://www.nytimes.com/2007/12/28/sports/baseball/28lawyer.html), the evangelist [Joel Osteen](https://www.nytimes.com/2008/08/15/us/15houston.html) and, in the Enron case, the accounting firm [Arthur Andersen](https://www.nytimes.com/2002/05/17/business/trial-judge-and-lawyer-for-andersen-tangle-in-houston-courtroom-shouting-match.html).
Hardin has said the women who have accused Watson of sexual misconduct are lying. He had ample opportunity to make his case to the district attorneys office. Through a public records request, The Times reviewed the communications between Hardin and the prosecutors in Watsons criminal cases. These messages revealed extensive communication between the two sides and demonstrated, at the least, the value of a well-paid and well-connected lawyer.
Image
Credit...Callaghan OHare for The New York Times
In early 2022, Hardin, a former prosecutor himself, began a regular dialogue with Johna Stallings, the Harris County sex crimes prosecutor handling the Watson investigation. In the two months before two different Texas grand juries heard the criminal cases against Watson, Stallings and Hardin met at Hardins office, spoke over the phone 12 times and exchanged more than two dozen text messages, according to public records.
Some of their exchanges were peppered with congenial remarks about cases they were trying. Others were more opaque. One day, Stallings asked Hardin if he could chat. He said he was in trial, then asked, “Any problems?” They spoke over the phone twice that day.
The amount of contact between the prosecutor and the defense was noteworthy, said Njeri Mathis Rutledge, a former Harris County prosecutor who is now a professor at South Texas College of Law Houston.
“There are some well-known defense attorneys like a Rusty Hardin that may have gotten a little extra real estate in terms of time, but even given the fact that it was Rusty, thats still a lot of time,” Rutledge said.
The Times also reviewed communications between prosecutors and the lawyers for the women suing Watson. There was just one exchange: In March 2021, [Tony Buzbee](https://www.nytimes.com/2021/03/19/sports/football/deshaun-watson-tony-buzbee-sexual-assault.html), the plaintiffs attorney, alerted the district attorneys office to the allegations in the civil suits. The district attorney asked if his clients had made reports to the police, and eight of Buzbees clients soon did. The prosecutors had some direct contact with these women, rather than going through Buzbee.
In a statement, Hardin said it is “a standard practice” for lawyers to work directly with law enforcement and prosecutors.
The Harris County district attorneys office did not respond to specific questions about their prosecutors contacts with Hardin and lawyers for the women. In a statement, a spokesman for Kim Ogg, the district attorney, said prosecutors “vigorously examined all the evidence and spoke at great length with accusers.”
In March 2021, Stallings prepared to present her cases against Watson to the Harris County grand jury. She and Hardin exchanged more than a dozen calls and messages during the week of the hearing. Instead of putting his client in front of the grand jury, Hardin created a slide presentation arguing for Watsons innocence and gave it to Stallings along with other documents he deemed important.
Image
Credit...Callaghan OHare for The New York Times
“We will let our submissions to you on our clients behalf serve as our presentation to the Grand Jury,” Hardin told her in an email. The grand jury [declined to charge Watson](https://www.nytimes.com/2022/03/11/sports/football/nfl-deshaun-watson.html), and a Brazoria County panel [followed suit](https://www.nytimes.com/2022/03/24/sports/football/deshaun-watson-texas-grand-jury.html).
Amanda Peters, a former Harris County prosecutor who teaches law at South Texas College of Law in Houston, said such submissions, known as grand jury packets, are not the norm for the average person facing charges. They are more commonly introduced in high-profile cases in which the client can afford an elaborate and costly defense.
The N.F.L.s discipline is likely the next step. Watson has been shuttling between Cleveland, where he is training with his new team, and Houston, where he met with N.F.L. investigators and is giving depositions in the lawsuits. The civil cases, if not settled, will be tried after the football season.
Through it all, Watson has been adamant that he did nothing wrong. In a deposition on May 13, he was asked about the text message he sent to [Ashley Solis](https://www.nytimes.com/2021/04/06/sports/football/deshaun-watsons-ashley-solis-lawsuit.html), one of his accusers, immediately after their appointment in March 2020. “Sorry about you feeling uncomfortable,” he wrote to her. Watson acknowledged that Solis was “teary-eyed” at the end of their session, but testified under oath that he still does not understand why.
“I dont know,” Watson said. “Like I told you at the beginning of this depo, Im still trying to figure out why we in the situation we are in right now, why Im talking to you guys, why you guys are interviewing me. I dont know. Do not know.”
&emsp;
&emsp;
---
`$= dv.el('center', 'Source: ' + dv.current().Link + ', ' + dv.current().Date.toLocaleString("fr-FR"))`

@ -0,0 +1,302 @@
---
Tag: ["Society", "Feminism", "US"]
Date: 2022-06-14
DocType: "WebClipping"
Hierarchy:
TimeStamp: 2022-06-14
Link: https://www.thecut.com/article/dianne-feinstein-abortion-gun-civil-rights.html
location:
CollapseMetaTable: Yes
---
Parent:: [[@News|News]]
Read:: No
---
&emsp;
```button
name Save
type command
action Save current file
id Save
```
^button-DianneFeinsteintheInstitutionalistNSave
&emsp;
# Dianne Feinstein, the Institutionalist
## Dianne Feinstein fought for gun control, civil rights, and abortion access for half a century. Where did it all go wrong?
*From left,* **1971:** The first female president of the San Francisco Board of Supervisors. **2022:** The oldest sitting U.S. senator. Photo: Bettmann Archive via Getty Images (left); Philip Montgomery for *New York* Magazine (right)
![](https://pyxis.nymag.com/v1/imgs/5d6/db1/a408107b0e1019e253ba1de0185010f681-Feinstein-Lede.rhorizontal.w1100.jpg)
*From left,* **1971:** The first female president of the San Francisco Board of Supervisors. **2022:** The oldest sitting U.S. senator. Photo: Bettmann Archive via Getty Images (left); Philip Montgomery for *New York* Magazine (right)
![](https://pyxis.nymag.com/v1/imgs/5d6/db1/a408107b0e1019e253ba1de0185010f681-Feinstein-Lede.rhorizontal.w1100.jpg)
*From left,* **1971:** The first female president of the San Francisco Board of Supervisors. **2022:** The oldest sitting U.S. senator. Photo: Bettmann Archive via Getty Images (left); Philip Montgomery for *New York* Magazine (right)
This article was featured in [One Great Story](http://nymag.com/tags/one-great-story/), *New York*s reading recommendation newsletter. [Sign up here](https://nymag.com/promo/sign-up-for-one-great-story.html?itm_source=csitepromo&itm_medium=articlelink&itm_campaign=ogs_tertiary_zone) to get it nightly.
**On election night in San Francisco** in 1969, a 36-year-old woman who had run a campaign for the Board of Supervisors that featured the unconventional use of just her first name, Dianne, was waiting anxiously for results in a race she was not expected to win. The local media had barely covered her. She had earned the endorsement of only one elected official, the state assemblyman Willie Brown. She had initially run the race out of her own house and had taken a risky, forward-looking tactical approach: cultivating support from the citys growing population of gay voters and environmental conservationists.
As the returns began to trickle in, “it soon became clear that a big local story was unfolding,” Jerry Roberts later wrote in his 1994 book, [*Dianne Feinstein: Never Let Them See You Cry*](https://www.amazon.com/Dianne-Feinstein-Never-Let-Them/dp/0062585088)*.* “Dianne was not only winning, she was topping the ticket, an unheard-of showing for a nonincumbent, let alone a woman.”
Feinstein was so reluctant to believe the early returns that she had to be persuaded to go to headquarters on Election Night. When she entered the room, she “was thronged by an emotional crowd,” Roberts wrote. One of her supporters joked about “painting City Hall pink.”
The next day, San Franciscos daily papers blared news of Feinsteins stunning upset on their front pages. The press homed in on Feinsteins “dark-haired, blue-eyed beauty” and made sure to note that the woman who would, as the top vote-getter, soon assume control of the Board of Supervisors was dressed in “a fashionable blue Norell original with a bolero top and a wide white belt.”
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
### —
Dianne Feinstein. Photo: Philip Montgomery for *New York* Magazine
Feinsteins career in American politics, a series of historic firsts that began with her leading the Board of Supervisors, was born in the upheaval of the mid-20th centurys struggles for greater civil rights. There was a conviction that Feinsteins rising generation of Democrats, more diverse than any that had preceded it, would be the stewards of those hard-won victories. “I was sort of intoxicated with my win,” Feinstein told Roberts of that big night in 1969. “I had done something that hadnt been done before. I didnt understand what loss was like in the arena.”
Since then, Feinstein has lost as much as she has won. She has lost two husbands to cancer, two colleagues to assassination, and tens of thousands of her citys residents to the AIDS epidemic. She served on the Board of Supervisors for eight tumultuous years, and she ran and lost two mayoral races before serving as mayor of San Francisco for nine years. She was considered and passed over as a vice-presidential candidate in 1984, lost a California gubernatorial election in 1990, then won six elections to the United States Senate, where she serves as the fifth-most-senior senator.
Feinstein is now both the definition of the American political Establishment and the personification of the inroads women have made over the past 50 years. Her career, launched in a moment of optimism about what women leaders could do for this country, offers a study in what the Democratic Partys has *not* been able to do. As Feinstein consolidated her power at the top of the Senate, the partys losses steadily mounted. It has lost control of the [Supreme Court](https://www.thecut.com/2020/10/amy-coney-barrett-is-confirmed-to-the-supreme-court.html); it is likely about to lose control of Congress. [Children are being gunned down by the assault weapons](https://www.thecut.com/2022/05/these-are-the-identified-uvalde-school-shooting-victims.html) Feinstein has fought to ban, while the Senate — a legislative body she reveres — can only stand by idly, ultimately complicit. States around the nation are [banning books](https://www.thecut.com/2022/04/conservative-backlash-social-emotional-learning.html) about racism as Black people are being [shot and killed in supermarkets](https://www.thecut.com/2022/05/white-male-violence-buffalo-supermarket-shooting.html). Having gutted the [Voting Rights Act](https://nymag.com/intelligencer/2013/06/voting-rights-act-supreme-court-ruling.html), conservatives are leveraging every form of voter suppression they can, while the Senate cannot pass a bill to protect the franchise. The expected overturning of [*Roe* v. *Wade*](https://www.thecut.com/article/future-abortion-access-map.html) this summer will mark a profound step backward, a signal that other rights won during Feinsteins adulthood, including marriage equality and full access to contraception, are just as vulnerable.
As the storied career of one of the nations longest-serving Democrats approaches its end, its easy to wonder how the generation whose entry into politics was enabled by progressive reforms has allowed those victories to be taken away. And how a woman who began her career with the support of conservationist communities in San Francisco, and who staked her political identity on advancing womens rights, is now best known to young people as the senator who scolded environmental-activist kids in her office in 2019 and embraced [Lindsey Graham](https://www.thecut.com/2020/10/amy-coney-barrett-hearings-dianne-feinstein-hugs-graham.html) after the 2020 confirmation hearings of [Amy Coney Barrett](https://www.thecut.com/2020/10/amy-coney-barrett-is-confirmed-to-the-supreme-court.html), a Supreme Court justice who appears to be the fifth and final vote to end the constitutional right to an [abortion](https://www.thecut.com/2020/10/elizabeth-warren-on-amy-coney-barrett-and-abortion-rights.html). As Feinstein told Graham, “This is one of the best set of hearings that Ive participated in.”
For many from a younger and more pugilistic left bucking with angry exasperation at the unwillingness of Feinsteins generation to make room for new tactics and leadership before everything is lost, the senator is more than simply representative of a failed political generation — she is herself the problem. After she expressed her unwillingness to consider [filibuster reform](https://nymag.com/intelligencer/2020/06/joe-manchin-filibuster-democrats-2021-agenda.html) last year, noting that “if democracy were in jeopardy, I would want to protect it, but I dont see it being in jeopardy right now,” [*The Nation*](https://www.thenation.com/article/politics/dianne-feinstein-filibuster/) ran a piece headlined “Dianne Feinstein Is an Embarrassment.”
Feinstein, who turns 89 in June, is older than any other sitting member of Congress. Her [declining cognitive health](https://www.thecut.com/2020/12/new-yorker-claims-dianne-feinstein-is-seriously-struggling.html) has been the subject of recent reporting in both her hometown San Francisco *Chronicle* and the New York *Times.* It seems clear that Feinstein is mentally compromised, even if shes not all gone. “Its definitely happening,” said one person who works in California politics. “And its definitely not happening all the time.”
Reached by phone two days after 19 children were murdered in an elementary school in [Uvalde, Texas](https://www.thecut.com/2022/05/how-to-help-the-uvalde-community.html), in late May, Feinstein spoke in halting tones, sometimes trailing off mid-sentence or offering a non sequitur before suddenly alighting upon the right string of words. She would forget a recently posed question, or the date of a certain piece of legislation, but recall with perfect lucidity events from San Francisco in the 1960s. Nothing she said suggested a deterioration beyond what would be normal for a person her age, but neither did it demonstrate any urgent engagement with the various crises facing the nation.
“Oh, well get it done, trust me,” she assured me in reference to meaningful gun reform. Every question I asked — about the radicalization of the GOP, the end of *Roe,* the failures of Congress — was met with a similar sunny imperviousness, evincing an undiminished belief in institutional power that may in fact explain a lot about where Feinstein and other Democratic leaders have gone wrong. “Some things take longer than others, and you can only do what you can do at a given time,” she said. “That doesnt mean you cant do it at another time. And so one of the things that you develop is a certain kind of memory for progress: when you can do something in terms of legislation and have a chance of getting it through, and when the odds are against it, meaning the votes and that kind of thing. So Im very optimistic about the future of our country.”
**It is not a comment on her age** to note the sheer amount of history that has determined Dianne Feinsteins life.
Her father, Leon Goldman, was born in 1904 to Jewish immigrants. Feinsteins grandfather had fled pogroms in Russian-occupied Poland and had become a shopkeeper in San Francisco, where the familys lives were upended by the fire that raged after the 1906 earthquake. The family relocated to Southern California, and Feinsteins grandfather invested in oil wells. Leon would go on to medical school, becoming the first Jewish chair of surgery at the University of California, San Francisco, hospital and a member of San Franciscos rarefied social circles.
Feinsteins mother, Betty Rosenburg, fled the Bolshevik Revolution with her czarist Russian Orthodox father, traveling across Siberia by hay cart. She grew up to be a model, and after marrying Goldman and bearing three daughters, she became alcoholic, abusive, and suicidal. She raged and threatened to kill Dianne and her sisters, calling them “kikes” and “little Jews,” and once tried to drown her youngest daughter in a bathtub.
This instability remained a secret in the upscale circles in which Feinsteins parents moved. Her father was a workhorse, adored by his patients and his eldest daughter; many think she modeled her workaholic habits and insatiable ambitions on his. “Dianne is really Leon Goldman in the garb of a beautiful woman,” one family friend told Roberts.
Raised Jewish, Dianne was nonetheless enrolled as a teen at the exclusive Convent of the Sacred Heart High School in tony Pacific Heights, where she became quite taken with the aesthetics of Catholic ritual and hierarchy. The school was full of processions and teas and ceremonies. Students were required to wear starched uniforms and white gloves. In his book [*Season of the Witch*](https://www.amazon.com/Season-Witch-Enchantment-Terror-Deliverance/dp/1439108242)*,* San Francisco writer David Talbot reported that young Dianne would occasionally try on a nuns habit.
Dianne attended Stanford, where she won the highest political position available to female students at the time: the vice-presidency. She got a fellowship the year after her graduation, in 1955, during which she worked on a report about criminal justice in San Francisco. She eloped with the man who would become her first husband and got pregnant, giving birth to her daughter, Katherine, in 1957. Within two years, she would be divorced and a single mother at 26, albeit a very privileged one. In her mid-20s, she briefly entertained the idea of becoming a stage actress, took up sailing, and volunteered for John F. Kennedys 1960 campaign. When, in 1961, a San Francisco real-estate developer refused to show a home to a rising-star Black lawyer, Willie Brown, Dianne brought her daughter to a demonstration for Brown and bumped her stroller into Terry Francois, who was the head of the local NAACP. Both Francois and Brown would become close associates.
That same year, California governor Pat Brown, a patient of Diannes fathers, offered her a paid job on the California womens-parole-and-sentencing board. For six years, she had the power to determine sentence length for women who had been convicted of everything from public drunkenness to violent crimes. She took a reformist approach to criminal justice, calling for rehabilitation rather than long sentences in narcotics cases. Francois, who had become the first African American to serve on the San Francisco Board of Supervisors, assigned her to an advisory committee on local jails; she reported on the terrible state of the facilities, the inedible food, the overcrowding, the rampant vermin.
As part of her work with the board, she found herself determining sentences for [abortion providers](https://www.thecut.com/abortion-clinic-near-you). Although she would later strongly support abortion access and often told a story about how, back at Stanford, classmates had passed a plate to pay for a student to travel to Tijuana to end a pregnancy, in the early 60s the procedure was still illegal in California, and, as she would explain to Roberts, the cases in front of her were “all illegal back-alley abortionists. Many times, the women that they performed an abortion on suffered greatly. I really came to believe that the law is the law.”
Feinsteins memories of this period remain sharp. “Under the indeterminate-sentence law, most sentences carried a low of maybe six months and a high of ten years,” she told me by phone. “There was one case, her name was Anita Venza. And over and over, she committed abortions on women. I said when we were sentencing her, Anita, why do you continue doing this? And she said, I feel so sorry for women in this situation.’ ”
I asked Feinstein whether she had continued to sentence Venza despite this explanation. “Yes.”
But did Feinstein feel for her? “Oh, yes,” she replied. “But she was a dedicated … She was going to continue to do it. Theres no question. She had been in state prison and been paroled and was brought back.”
When I pushed further, asking Feinstein what it felt like now to be on the verge of a future in which providers like Venza could once again be sentenced to prison, and in which *the law* will once again be *the law,* she declined to fully acknowledge the chilling implications of the rollback on the near horizon, retreating instead behind impenetrable platitudes. “Well, one thing I have seen in my lifetime is that this country goes through different phases,” she said. “The institutions handling some of these issues have changed for the better. Theyve become more progressive, and I think thats important.”
**Feinsteins 1969 race for** the Board of Supervisors might have found echoes in [Ocasio-Cortezs groundbreaking 2018 campaign](https://www.thecut.com/2018/06/alexandria-ocasio-cortez-interview.html), but the differences between the two womens early paths are stark. Ocasio-Cortez ran a low-budget grassroots campaign out of her small Bronx apartment and was outspent by [Joe Crowley](https://www.thecut.com/2018/06/alexandria-ocasio-cortez-beats-joe-crowley-in-stunning-upset.html), her heavyweight Democratic-primary opponent, 18 to one. Feinsteins friends-and-family campaign, in contrast, was funded by San Franciscos elite and entailed auctions of Ansel Adams prints and a free surgery by her father. It was what many believed at the time to be the most expensive campaign in San Franciscos history.
Like a cartoon of efficient, rule-bound, Tracy Flickstyle white femininity, Feinstein promptly threw herself into her role as the head of the board, San Franciscos city council, transforming it from a part-time civic gig into a full-time study in technocratic control. She got there early and stayed late while her fellow supervisors, who needed actual jobs to support themselves, showed up when they could. “She crafted reams of legislation,” Roberts writes, “convened citizen advisory committees, performed ceremonial functions, demanded reports from bureaucrats.”
Feinsteins profile grew. She ran for mayor in 1971 and lost, and lost again in 1975, but she retained leadership of the board through the 70s, when things got weird in San Francisco. She believed in law enforcement and institutional control over the uncontrollable impulses of a city that was undulating with change.
In 1973, San Francisco was ravaged by the so-called [Zebra serial killings](https://www.sfchronicle.com/sf/article/Notorious-S-F-Zebra-killer-dies-in-prison-16288120.php). The next year, heiress [Patty Hearst](https://www.thecut.com/2018/01/patty-hearst-speaks-out-against-new-movie-series-on-her.html) was kidnapped by the Symbionese Liberation Army, whose members had assassinated the superintendent of the Oakland schools. In 1975, the citys police went on strike, and there was an assassination attempt on President Gerald Ford when he visited the city. Meanwhile, a group called the New World Liberation Front was connected to more than 70 bombings in Northern California, including at the San Francisco Opera House and the homes of some local executives.
Feinstein and several of her colleagues on the board were warned that they were targets. Packages full of dynamite were delivered to two board members, and in December 1976, when Feinstein was caring for her husband Bert Feinstein, then dying of cancer, a bomb was discovered outside 19-year-old Katherines window. It would have killed her except that the temperature had dropped that night, leading the device to misfire. The next year, the windows at Feinsteins vacation home on Monterey Bay were shot out.
In the fall of 1978, Feinstein traveled to the Himalayas with the man who would become her third husband, financier Dick Blum. While there, she contracted dysentery and was forced to slow down, even as discontent grew on the board; one of Feinsteins colleagues, a former police officer named Dan White, had become frustrated by money troubles, the policies of liberal mayor George Moscone, and the attention-getting successes of Harvey Milk, a liberal activist from the Castro who, in winning a spot on the board, had become the first openly gay man elected to political office in California. In the days that Feinstein had been at home with her intestinal ailment, White had abruptly quit his seat, then changed his mind and asked to be reinstated.
Feinstein advised Moscone to let him have his job back. But Milk despised White, telling the mayor that he would only impede his liberal agenda. Moscone eventually agreed with Milk and denied Whites request to be reinstated. On the morning of November 27, 1978, Feinstein, back to work for the first day after her trip and her illness, had been asked by Moscone to look out for an agitated White and calm him. Casually speaking to reporters as the board waited for the appointment of Whites replacement, she said that she would not be running a third mayoral campaign. While in Nepal, she had decided to leave politics.
“Its important to remember that she thought her career was over before it even began,” said Cleve Jones, the labor and gay-rights activist who in 1978 was Milks student intern. “It was a very polarized city and she, as a moderate, felt there was no place for her. So she was going to give up politics.”
At around 10:30 a.m., Dan White entered through a basement window of City Hall and went to meet the mayor. Afterward, Feinstein heard her former colleague rushing by her. She couldnt have known he had already shot and killed Moscone. “Dan,” she called to him. “I have something to do first,” White told her as he asked Milk to come into his office.
Feinstein heard the door of Whites office slam and someone shout, “Oh, no!” Then she heard shots and saw White running out of his office. When she entered, she found Milks body on the floor, surrounded by blood and brain matter. She reached down to take her colleagues pulse and put her finger straight into the bullet hole on Milks wrist.
Jones arrived to find City Hall in chaos. “Dianne came rushing past me,” he said, “and I could see her hands and sleeves were stained with blood, and then I saw Harveys feet sticking out of Dan Whites office. It was the first time Id ever seen a dead body.” Jones added, “There were many times when she and I disagreed, but Ive always felt I share a bond with her that kind of transcends all this other stuff, because of what we both witnessed and how that day completely and absolutely transformed our lives.”
Feinstein, her tan suit covered in Milks blood, composed though in obvious shock, told the crowd at City Hall that Moscone and Milk had been killed and that the suspect was former supervisor Dan White. As the head of the Board of Supervisors, she then became San Franciscos first female mayor.
**1970:** Dianne Feinstein is sworn in as a member of San Franciscos Board of Supervisors.
Photo: Bill Young/San Francisco Chronicle via Getty Images
**1971:** She runs for mayor of San Francisco and loses.
Photo: Duke Downey/San Francisco Chronicle via Getty Images
**1978:** At the opening of a tourism center.
Photo: Jerry Telfer/San Francisco Chronicle/Polaris
**1978:** Speaking to the press after the assassination of Harvey Milk.
Photo: AP Photo
**1981:** Mayor Feinstein.
Photo: © Roger Ressmeyer/CORBIS/VCG via Getty Images
Photographs by Bill Young/San Francisco Chronicle via Getty Images, Duke Downey/San Francisco Chronicle via Getty Images, Jerry Telfer/San Francisco Chronicle/Polaris, AP Photo, © Roger Ressmeyer/CORBIS/VCG via Getty Images
**Feinstein has maintained** that her devotion to centrism was born of the tumult that led to her rise. “It was as if the world had gone mad,” Feinstein writes in [*Nine and Counting*](https://www.amazon.com/Nine-Counting-Senate-Barbara-Boxer/dp/B000HWYMS2/)*,* a 2000 book about the nine women then serving in the U.S. Senate, describing her decisions to pursue the job of interim mayor in the wake of the assassinations and to run for reelection less than two years later. “The city needed to be reassured that there would be some consistency as we put the broken pieces back together … From that nonpartisan experience, I drew my greatest political lesson — the heart of political change is at the center of the political spectrum.”
This does not mean that Feinstein is a centrist, ideologically speaking. She has a solidly Democratic voting record and has occasionally taken positions progressively ahead of her party, though in other instances she has practically acted as a Republican. If she has hopscotched around the middle, its because she believes stability and progress — “the heart of political change” — flow from strong, functioning institutions built on consensus. It made Feinstein an odd fit for San Francisco in the late 70s. As Talbot wrote, “San Franciscans had a fondness for lovable rogues and other colorful characters. But in a city of Marx Brothers, Feinstein was Margaret Dumont, forever distressed and befuddled by the antics around her.” In the wake of the assassinations, however, she became “precisely the right leader for the time.”
In her nine years as mayor of San Francisco, she grew ever more convinced that the balm for social upheaval and partisan protest was a tightening of civic authority. She inaugurated weekly meetings of city department heads, where the police chief always presented first. Just as she had taken to the starched clothes and white gloves and ceremonial displays of order at her Catholic school, Feinstein took up the aesthetics of local governance. She kept a fire turnout coat in the trunk of her car and would appear at blazes dressed like a firefighter; she was photographed in a custom-cut police uniform holding an emergency call radio and would listen to the police scanner while being driven around the city in her limousine.
Her mayoralty would overlap with the worst of the AIDS crisis. On this issue, too, her approach was to seek a middle path by giving and taking in turns. While on the Board of Supervisors, she had cast the deciding vote in support of Willie Browns legislation legalizing all private sex acts between consenting adults and proposed an ordinance to ban hiring or job discrimination against gays and lesbians — the first of its kind in the nation. But Feinstein had also spearheaded prim anti-pornography campaigns, and in her early years as mayor, she declined to sign a bill recognizing same-sex partnerships — despite offering her backyard for a same-sex commitment ceremony. She also provoked the fury of gay residents by closing the citys bathhouses.
“Im a very far-left union organizer and queer radical,” said Jones. “And buddies and I would go to a bathhouse and sit in that big Jacuzzi and conspire to drive Dianne nuts.” But, he added, “I remember talking with someone about how she was really walking a tightrope, the compassion she showed for people with HIV at a time of incredible stigma and misinformation and hysteria.” Joness appraisal is echoed in Randy Shiltss defining account of the era, [*And the Band Played On*](https://www.amazon.com/Band-Played-Politics-People-Epidemic/dp/0312009941)*,* in which he notes that “of all the big-league Democrats in the United States, Feinstein was undoubtedly the most consistently pro-gay voice.”
Yet decades later she stayed away from the front lines of the movement for marriage equality. In 2004, she would publicly lambaste then-Mayor Gavin Newsom for issuing marriage licenses to gay couples in San Francisco, which she was sure provoked a conservative backlash that helped George W. Bush win reelection. “The whole issue has been too much, too fast, too soon,” Feinstein said after the 2004 election, betraying her tactical distrust of explosive social change. (She has since said that she was wrong on this.)
“Its not just being in the middle so you can get votes in Fresno as well as Berkeley,” said Jones. “Its that she believes in the power of the system to protect and manage. Shes all about *order.*
**After losing a 1990 bid** for California governor, Feinstein ran for a vacant Senate seat in 1992. She, fellow Californian Barbara Boxer, Illinoiss Carol Moseley Braun, and Washingtons Patty Murray all won their races that year, doubling the number of women in the Senate (there had never before been more than two serving at one time). It was dubbed “the Year of the Woman,” part of an election cycle fueled by outrage over the treatment of [Anita Hill](https://www.thecut.com/2021/09/anita-hill-wants-more-than-an-apology-from-joe-biden.html) at [Clarence Thomas](https://www.thecut.com/2018/02/the-case-for-impeaching-clarence-thomas.html)s confirmation hearings in 1991, in which the all-white, all-male character of the Senate Judiciary Committee had been put on miserable display.
Even during that 1992 race, Feinsteins willingness to adopt established norms was evident. “Pundits would remark that *if* there was a model for a woman senator, it would look like Feinstein,” recalled Rose Kapolczynski, who ran Boxers 1992 campaign. “In other words, a woman who looked and acted like male senators looked and acted.”
Still, it is hard to convey to those who have grown up in a world in which Feinstein and Boxer and Murray and Braun *were* the system, in which [Hillary Clinton](https://www.thecut.com/article/hillary-clinton-life-after-election.html) was considered, twice, the inevitable next president, in which Kamala Harris (the successor to Boxers California Senate seat) is now the vice-president, exactly what the victories of Feinstein and other women in her freshman class represented.
“I danced in the streets,” remembered the writer Rebecca Solnit, a longtime San Franciscan. “On Castro Street specifically, with lots of gay men, during the great 1992 election that brought Boxer and Feinstein into office. Feinstein feels like a bridge to me, a fixed point in the landscape that helped us cross out of the old, worse world, in which women were not senators.” But, she added, “we have traveled a long way from that bridge now.”
By its mere presence, the new cohort of women lawmakers was supposed to change how things worked in Congress or at least give the appearance of change. That function was made explicit to Feinstein and Braun, who were asked to do representational repair work on the Judiciary Committee.
“I walked away from that hearing convicted in the determination that I was gonna get women on that committee,” Joe Biden, who as committee chair notoriously failed to defend Hill from Republican attacks, says in the 2007 documentary *14 Women*. “And I called Dianne.”
If women changed the Senates image, they did not always change its character. Political representation is a funny thing. The absence of women and minorities from governing institutions is ghoulish. But the seemingly obvious remedy — putting those people in power — can often involve new participants simply recapitulating the standards set by those who preceded them.
When Feinstein started in the Senate, she enforced its dress code, which reflected her own pearl-wearing respectability: No pantsuits for female staffers; they had to wear skirts or dresses. But even as Senate rules relaxed, Feinstein kept her standards intact. As recently as 2017 it was reported that women in her office were required to wear stockings and skirts of a certain length. Her very first speech on the Senate floor was in support of Bill Clintons landmark passage of the Family and Medical Leave Act, but when it came to the leave policy in her own office, she was behind the curve. In 2014, Feinsteins office provided only six weeks of paid family leave, half of what many younger senators were offering both new mothers and fathers. (Its 12 weeks now.)
Feinstein is, by multiple accounts, a terrifying boss to work for, famously stealing the old line “I dont get ulcers; I give them.” During her race for governor in 1990, former employees, according to author Celia Morris, “called her imperious, hectoring and even abusive, claiming that she would dress down a hapless victim in front of others and would neither apologize nor admit it if she proved to be mistaken.” Within six months of her arrival in the Senate, 14 of her aides had departed (compared to three for Boxer), with 11 quitting and three fired.
Feinsteins expectations of her staff have consistently remained sky-high. She has all of her aides — around 70 people — compile a two-to-four-page report of everything they did during the week, every week. Over the weekend, Feinstein reads them and then quizzes individuals on their reports in all-staff Monday meetings. Some saw these gatherings as democratizing. Others found them to be a tortured study in hierarchical protocols. Multiple former staffers spoke of the strict seating arrangements, with senior staffers around a middle table in a giant conference room, their aides in seats in a ring behind their bosses, and the most junior people standing at the periphery. “Everyone there had to be prepared, no issue too big or too small,” said one aide from the 1990s. “So it could be, What is happening with the foreign-aid package? Or it could be, Im looking at a report of how many incoming letters we had and how many outgoing, and why is there such a backlog in responses?’ ”
“If you werent good at responding to that kind of Socratic interrogation technique, she didnt make your job easy,” said the aide. “On the other hand, do I admire a senator who was as focused on how fast constituents got responses as she was on a foreign-aid package? I sure did.”
When a staffer left, if Feinstein liked them and they had served for a long time, she would give them prints of the still lifes she draws. If they were less special to her or had served briefly, she would give them a watch with her signature across its face. It could be difficult to leave her employment, several former staffers told me; she understood it as a slight. One former aide who took another job on the Hill remembered Feinstein saying, “Its really unfortunate you are leaving; you had great potential.” When new people arrived in Feinsteins employ, colleagues would surreptitiously hand them [Jerry Robertss biography](https://www.amazon.com/Dianne-Feinstein-Never-Let-Them/dp/0062585088), with its details about her troubled, privileged childhood and her political coming of age in the crucible of San Francisco, with a whispered “Read this; it will all make sense.”
When stories have run about her bad behavior, Feinstein has shrugged them off. “When a man is strong, it is expected. When a woman is, it is not,” she told the Los Angeles [*Times*](https://www.latimes.com/archives/la-xpm-1993-06-07-mn-606-story.html) in 1993. And she told her biographer, “When people act independently of the head figure, it causes conflicts. You cant let staff run you. The person in charge has to be the guiding post.”
**1982:** As mayor, she makes gun control a key policy issue.
Photo: Eric Luse/San Francisco Chronicle via Getty Images
**1984:** Answering questions about the possibility of becoming Walter Mondales running mate.
Photo: Diana Walker/Getty Images
**1992:** Feinstein and Barbara Boxer running for the U.S. Senate.
Photo: Brant Ward/San Francisco Chronicle/Polaris
**1993:** Senators Feinstein, Carol Moseley Braun, and Joe Biden on the Senate Judiciary Committee.
Photo: Maureen Keating/CQ Roll Call via Getty Images
**1997:** A meeting of the women in the Senate.
Photo: CQ Roll Call via Getty Images
Photographs by Eric Luse/San Francisco Chronicle via Getty Images, Diana Walker/Getty Images, Brant Ward/San Francisco Chronicle/Polaris, Maureen Keating/CQ Roll Call via Getty Images, CQ Roll Call via Getty Images
**From the moment Feinstein** got to the Senate, she embraced its rituals and practices, the clubby procedural stuff that at one time brought senators from competing parties together with a sense of their own power and responsibility — and sometimes even enabled them to get things done. “She is a model senator,” said Jeffrey Millman, who managed her 2018 campaign. “She loves this work, and she is really good at it.” But as with so much of her career, Feinsteins record in the Senate is a mash of righteous fights and dispiriting capitulation, her ideological positioning scattered and her aims pragmatic, geared toward the goal of firm governance above all else.
As a young person reporting on California prisons, Feinstein fervently opposed capital punishment, but in 2004, she created an extremely awkward scene by going off script and making a call for the death penalty at the funeral of murdered police officer Isaac Espinoza. (More recently, challenged from the left, Feinstein has returned to her anti-death-penalty stance.)
She told me in our conversation that the institutions meting out criminal justice have become more progressive in the 60 years since she was on the sentencing board. But thats not actually true, mostly because the kind of bipartisan cooperation Feinstein values so highly has centered on the expansion of a carceral state, via legislation like the [1994 crime bill](https://www.congress.gov/103/statute/STATUTE-108/STATUTE-108-Pg1796.pdf) authored by [Joe Biden](https://www.thecut.com/2019/04/a-running-list-of-things-joe-biden-hasnt-apologized-for.html) and supported strenuously by Feinstein.
When it comes to foreign policy, Feinstein has been a hawkish defender of drone strikes and expanded surveillance, calling [Edward Snowden](https://nymag.com/intelligencer/2016/06/edward-snowden-life-as-a-robot.html)s whistle-blowing “an act of treason.” But the pinnacle of her career was her damning 6,700-page [report](https://www.feinstein.senate.gov/public/index.cfm/press-releases?ID=d2677a34-2d91-4583-92a4-391f68ceae46) from 2014, which she commissioned as the chair of the Senate Intelligence Committee, taking on the CIAs role in torturing terrorism suspects during the Bush years. In the words of one California political operative, “she was practically melting witnesses with her eyes, just having this steel-trap mind and asking for more details.” It was a moment when even progressive Californians could feel a sense of pride in their unapologetically moderate senator, who may have seen in the CIAs brutality a breach of the norms she believes in so fervently.
As George Shultz, the former secretary of State, told the [*New Yorker*](https://www.newyorker.com/magazine/2015/06/22/the-inside-war)s Connie Bruck in 2015, “Dianne is not really bipartisan so much as nonpartisan.” Her devotion is to the system, in which laws are made, regulations are implemented, and oversight is prized. She is stalwart in her conviction that the way to make progress is to maintain open, friendly lines of communication with members of the opposition party, a stance that her defenders argue is crucial to getting anything accomplished in the Senate.
Describing the Ten-in-Ten Fuel Economy legislation passed in 2007 by Feinstein and several colleagues, which ensured that emissions standards grew ten miles per gallon in ten years, Millman said, “Could it have been 20 miles per gallon? Yes, but then the few Republicans wouldnt have signed on to it, and it wouldnt have been a law; it would have been a regulation. And when Trump came into power, he could simply have undone it.”
She is probably most famous for her push, as soon as she got into the Senate, for an assault-weapons ban. She had been spoiling for this fight for decades; back when she was mayor of San Francisco, her controversial ban on handguns provoked a recall campaign (she survived it). In 1993, Idaho Republican Larry Craig challenged her by saying, “The gentlelady from California needs to become a little bit more familiar with firearms and their deadly characteristics.” In response, Feinstein said, “I am quite familiar with firearms. I became mayor as a product of assassination. I found my assassinated colleague and put a finger through a bullet hole trying to get a pulse. I was trained in the shooting of a firearm when I had terrorist attacks, with a bomb in my house, when my husband was dying, when I had windows shot out. Senator, I know something about what firearms can do.”
The assault-weapons ban passed in 1994 as part of the crime bill; its 2004 expiration marked the start of our infernal era of near-daily mass shootings. On this issue, Feinstein has been receptive to the activist politics of a younger generation. She appeared in San Francisco with teenage demonstrators in 2018s March for Our Lives. The footage is kind of heartbreaking from a generational perspective: crowds full of kids who have no idea who the ancient woman on the stage is, what she has lived through, that she has spent decades fighting the battle that has, horrifically, now become theirs.
Feinstein implored her colleagues to act after the murders of 20 schoolchildren in Sandy Hook in 2012: “Show some guts,” she said. She told the New York *Times* that one reason the Senate could no longer pass an assault-weapons ban was the rising abuse of the filibuster. Of course, Feinstein has been unwilling to commit to ending it.
She acknowledges to me that politics have “hardened” around gun laws in recent decades, saying that “everything has become more partisan than it was when I came to the Senate. When I came to the Senate, Bob Dole was the leader, and he stood up and said … What was it? Tom, help me, what was the quote?” Her aide Tom Mentzer filled in that Dole had agreed that the gun issue was too important to filibuster and put it to a vote.
When I suggest to Feinstein that the partisan hardening has been asymmetrical, that her Republican colleagues have grown more radical and rigid while she and many of her fellow Democratic leaders have been all too willing to compromise, she responded, “Well, yes. I think thats not inaccurate. I think its an accurate statement. What did you first say about Democrats moving?” I repeated that it was the right that has gotten more inflexible while the Democrats have been willing to cede ground.
“Im not sure,” she responded. “But its different; theres no question about it. And I think there is much more party control. When I came to the Senate, we spoke out, and we learned the hard way, and we took action, and it was clear what was happening with weapons in the country. It still is. And in a way, the weapon issue was a good one because we were able to pass the first bill. When was it, Tom?” Mentzer reminded her that the assault-weapons ban was passed in 1994.
When I asked her about her stated commitment to centrism as a reaction to the tumult of her early political life, she began speaking, unprompted, about Dan White, clearly still appalled by his violent transgressions against the respectability politics that have helped her navigate the world. “A former young, handsome police officer who goes in and kills the mayor,” she said. It was the kind of incident that should grab the governments notice and compel it to “try to fix those things which are wrong.” But the ultimate lesson she derived from the response to Milks murder possesses an almost Olympian complacency: “I think one great thing about a democracy is that there is always flexibility, newcomers always can win and play a role, and its a much more open political society, that I see, than I hear of in many other countries.”
From her youth, Feinstein has been an institutionalist, with an institutionalists respect for structure, management, and hierarchy as means to manage the rabble of activism and protest. She seems unable to appreciate the possibility that partisan insurgents have overrun those institutions themselves. The crowds who came through the door with battering rams in January 2021 looking to kill a vice-president surely had chilling echoes for Feinstein, but days later, in the name of the Senate, she was defending Ted Cruz and Josh Hawley — a man who had offered up a sign of solidarity to the insurrectionists — in their attempts to delegitimize the election of Joe Biden.
“I think the Senate is a place of freedom,” she told reporters. “And people come here to speak their piece, and they do, and they provide a kind of leadership. In some cases, its positive; in some cases, maybe not. A lot of that depends on whos looking and what party they are.”
“Shes like Charlie Brown and the football,” said Dahlia Lithwick, Slates senior legal analyst*,* describing Feinsteins unstinting belief that her institution is still functional. “But she doesnt see that the whole football field is on fire.”
Long before Feinstein sealed the deal with her embrace of Graham, she and her senior colleagues on the Judiciary Committee were criticized for being passive as Mitch McConnell stole a Supreme Court seat from the Democrats. When Republicans crisscrossed the country bragging about holding on to Antonin Scalias seat after his death, Democrats did nothing. When Trump appointed the staunch conservative Neil Gorsuch, Lithwick said there was “a little chatter about boycotting the hearings,” but then Democrats “went ahead and had the hearing and confirmed him.”
Feinsteins belief in the Senates sanctity may mean that the enduring moment of her career will not be the assault-weapons ban or her grilling of CIA torturers but that awkward, notorious embrace of Graham. In seeking refuge in government institutions as the shield against instability and insurrection, Feinstein has been unable to discern that it was her peers in government — in their suits, on the dais, in the Senate, on the Judiciary Committee — who were laying siege to democracy, rolling back protections, packing the court with right-wingers, and building a legal infrastructure designed to erase the progress that facilitated the rise of her generation of politicians. But this is who she has always been.
Of that “appalling moment” with Graham, Cleve Jones recalled thinking, “*Oh my goodness, you just really cling to this notion of civility and bipartisan discourse.* One can marvel at it. But its genuine. Its the core of her.”
**2001:** Feinstein and her staff.
Photo: Mark F. Sypher/Roll Call/Getty Images
**2006:** During Samuel Alitos nomination hearing.
Photo: Joe Raedle/Getty Images
**2018:** During Christine Blasey Fords testimony against Brett Kavanaugh.
Photo: Tom Williams/CQ Roll Call/Pool
**2020:** Her infamous embrace of Lindsey Graham during the confirmation of Amy Coney Barrett.
Photo: Samuel Corum/Pool/AFP via Getty Images
**2021:** Paying her respects to Bob Dole in the Capitol.
Photo: Oliver Contreras/Getty Images
Photographs by Mark F. Sypher/Roll Call/Getty Images, Joe Raedle/Getty Images, Tom Williams/CQ Roll Call/Pool, Samuel Corum/Pool/AFP via Getty Images, Oliver Contreras/Getty Images
**The Senate rewards** its longest-serving members with power. The most dynamic freshman senator in the world would not have the influence that a senior senator does, which is part of the pernicious trap that has created the bipartisan gerontocracy under which we now wither.
As the senior senator from California on the Appropriations Committee, the temptation to stay forever is great, not just for selfish reasons but for the good of her state. “If we lost her seniority … every other state benefits from California not having seniority, because our appropriations are so much larger,” said Millman.
She has the conviction, held by some in their later years, that she knows better. This is the woman who helped to create Joshua Tree National Park but who also spoke dismissively to the [youth activists from the Sunrise Movement](https://nymag.com/intelligencer/2019/02/feinstein-fumbles-in-meeting-with-young-climate-activists.html) who came to her office in 2019, telling them they didnt understand how laws are made. “Ive been doing this for 30 years,” she said to the group, insisting, “I know what Im doing.” But now, with age and all its attendant authority and power, comes serious diminishment.
Multiple reports of her failing memory have been rumbling through Washington, D.C. In 2021, Chuck Schumer removed her from that ranking role on the Judiciary Committee. The *Chronicle* reported that “the senator is guided by staff members much more than her colleagues are,” a remarkable change for someone who once said, “You cant let staff run you.” I had let Feinsteins staff know in advance that I would be asking her about her record on gun reform, and early in our conversation it was clear that Feinstein had come prepared with notes. “The overwhelming statistic is that we have had 200-plus mass shootings so far in 2022, 230 people have been killed, and 840 injured. These are things that we wanted you to hear,” she said, before adding, “So I have this on a card, but I think those are key features.” The acknowledgment of the card felt like a point of pride: She wanted me to know she was sharp enough to know I was sharp enough to know.
That Feinstein may be wrestling with dementia is in fact among the most sympathetic things about her. Getting very old can be hard, lonely; her third husband died of cancer this spring. It is pretty awful now to watch her tell CNNs Dana Bash, in 2017, that she will stay in office because “its what Im meant to do, as long as the old bean holds up” — and put her finger to her head.
Why didnt she decline yet another six-year term in 2018 or earlier, when it was perhaps clear that the old bean was *not* really holding up as she had hoped? Her defenders will lay out all the reasons that retiring in 2017 didnt make sense, including simply that she won. “Is a diminished Senator Feinstein better than a junior California senator?” asked one of her former staffers. “I would argue, emphatically, yes.” Feinsteins office released a statement that read in part, “If the question is whether Im an effective senator for 40 million Californians, the record shows that I am.”
It is also true that she works among plenty of colleagues who are dumb as a box of hammers and have been so since their youth. “Ive worked in politics my whole life,” said Jones, “and met a lot of politicians who are little more than cardboard cutouts propped up by staff. Its important to understand that she was never that person.”
But the fact that many of her colleagues, on their best days, are less acute than Feinstein on her worst is exactly the kind of dismal, institutionally warped logic that has left us governed by eldercrats who will not live long enough to have to deal with the consequences of  their failures. Feinsteins defenders argue that there is something gendered about focusing on her overextended tenure, especially when the history of the Senate includes Strom Thurmond, who retired at 100 and was basically not sentient by the end. Chuck Grassley and Patrick Leahy and Mitch McConnell are all in their 80s. Joe Biden first got to the Senate in 1973, and hes the president of the United States. But being no worse than Strom Thurmond was not the standard to which we were supposed to aspire at this juncture. And while it may indeed be feminist heresy to expect more from women, in fairness, some of those women told us to expect more from them. They were the ones who cast their own elections as the dawn of a new era. They were the ones who argued that every generation does better than the one before.
Indeed, what may be producing the anger at this generation of Democrats is not just ageism, sexism, or the correct apprehension that Americas governing structures incentivize officials to hold on to power sometimes until they literally die. It is also the smug assuredness with which Democratic leaders, in whatever state of infirmity, can still confidently, in the summer of 2022, tell us to trust them and see themselves as a bulwark against the ruin that is so evidently our present and near future.
Perhaps the progress made over several decades in the middle of the 20th century gave Feinstein and her peers an idealized sense of the nations institutions as pliable and always improving. She could urge patience and civility because so many structural exclusions had begun to give way. “Women have really grown to the position where their capability is enormous,” she told me. “I see this with great pride: when women come in who are major officers in our military, in uniform, talking about a given problem, and they are articulate, theyre committed, and they make change. And so this is a day that we should not be disappointed in. Its a day where, if you look back 50 years, it was very different. But progress has been made, and progress will continue to be made. Im absolutely convinced of that.”
But those articulate women in the uniforms Feinstein fetishizes got there in part because of the social and political upheavals Feinstein has strained so hard to quell. The gains made by women and people of color and gays and lesbians and trans people and immigrants were extracted *by force* from a system that had been built to exclude them. To be on the side of the system in the wake of victories wrenched from that system was not to be at the center. It wasnt moderate. It wasnt neutral.
Feinstein doesnt subscribe to this reading of American democracy. She believes those at the top of institutions can help those at the bottom get what they want. But American government has become *less* democratic in the same years that she and her peers have risen to lead it. A majority of Americans want gun control, but the Senate, whose arcane rules Feinstein still submits to, will not allow it. They want abortion rights, but the Court, which was stolen by Feinsteins Republican friends, is poised to ensure that those rights are erased.
There is a great story in Robertss biography about how when Feinstein was on the Board of Supervisors, she got word that the headmistress of her old school, Sacred Heart, had been arrested protesting on behalf of farmworkers with Cesar Chavez. That headmistress, Sister Mary Mardel, told Roberts about how her former pupil had called the jail to speak to her. “Sister, what are you doing in jail?” Feinstein had asked her in alarm. “What about all the white gloves?”
Dianne Feinstein, the Institutionalist
&emsp;
&emsp;
---
`$= dv.el('center', 'Source: ' + dv.current().Link + ', ' + dv.current().Date.toLocaleString("fr-FR"))`

@ -0,0 +1,229 @@
---
Tag: ["Society", "Military", "Abuse"]
Date: 2022-06-14
DocType: "WebClipping"
Hierarchy:
TimeStamp: 2022-06-14
Link: https://www.motherjones.com/politics/2022/04/valley-forge-military-academy-problems-hazing-sexual-assault-lawsuits/
location:
CollapseMetaTable: Yes
---
Parent:: [[@News|News]]
Read:: [[2022-06-16]]
---
&emsp;
```button
name Save
type command
action Save current file
id Save
```
^button-HazingfightingsexualassaultsNSave
&emsp;
# Hazing, fighting, sexual assaults: How Valley Forge Military Academy devolved into “Lord of the Flies”
Facts matter: [Sign up](https://www.motherjones.com/newsletters/?mj_oac=Article_Top_Support) for the free *Mother Jones Daily* newsletter. [Support](https://secure.motherjones.com/flex/mj/key/7LIGHTB/src/7AHPT01%7CPAHPT01) our nonprofit reporting. [Subscribe](https://secure.motherjones.com/flex/MOJ/SUBS/?p=SEGYJP&c=SEGYJC&d=SEGYJD&f=SEGYJF) to our print magazine.
On a chilly evening in September 2020, Jordan Schumacher solemnly patrolled the grounds of Valley Forge Military Academy, near his wits end. Weeks earlier, the schools top brass had elevated the 20-year-old college sophomore to the highest rank available to cadets—first captain. A former Boy Scout whod joined a junior ROTC program at age 11, he was proud of the promotion and ready to lead. But as he navigated the schools toxic environment in his new role, hed been feeling increasingly helpless and depressed.
Entrusting students in leadership roles was all well and good, but a dearth of healthy adult oversight and accountability had contributed to a culture replete with assaults, verbal abuse, hazing, and sexual violence that had resulted in police visits, lawsuits, and a cold war pitting recalcitrant trustees and administrators against reform-minded parents, alumni, and cadets. Out on patrol that night, Schumacher told me, he felt on “the brink of darkness.”
The Forge, as insiders call it, resembles a cross between an East Coast prep school and a military installation. Its 100-acre campus is dotted with dormitories and academic buildings, but also with a war memorial, an obst­acle course, and a parade field for drill formations. Nestled 20 miles north of Philadelphia, the private institution teaches middle school, high school, and junior college students. Some graduate as commissioned military officers, but all are subject to the customs and courtesies of military life, as well as its trials and traumas.
With school leaders doing little to address the fraught campus atmosphere, Schumacher had taken it upon himself to patrol the grounds as often as possible. This evening, walking along a mossy brick pathway, he spotted something suspicious: Behind a storage shed, out of sight of campus surveillance cameras, a group of upperclassmen was tormenting a few shivering plebes.
Hed stumbled upon an unsanctioned version of the “cap shield” exam, an induction rite wherein new students are quizzed on the Forges nearly 100-year history. The exam is the culmination of a boot camp of sorts for incoming college students. Those who pass are welcomed into the Corps of Cadets, which Schumacher now commanded, and rewarded with the cap shield medal, a brass badge depicting the mythical moment when General George Washington, standing on the Pennsylvania battleground for which the school was named, prayed for the survival of the fledgling American republic.
Schumacher had arrived on campus in 2019, excited by the Forges time-honored traditions and drawn to its curricula on counterterrorism and cybersecurity. A stocky history nerd with dark brown hair, he spent hours memorizing school trivia and passed his cap shield exam in near-record time. But he soon came to see the exam as an empty ritual. It revolved around lofty principles, yet often culminated in a “cap shield handshake,” wherein plebes point the prick of the badge toward their palm and accept a vigorous clasp. A minor stabbing, perhaps, but telling of more extreme hazing that campus leaders seemed willing to tolerate, and sometimes even take part in.
When Schumacher disrupted the hazing session, the plebes were relieved, the bullies annoyed. Afterward, one emailed him a screed claiming he lacked the traits of a US Marine. “That pissed me off,” Schumacher recalls. “These cadets were clearly out of line. They had the wrong idea of what service and tradition really are.” But he was even more frustrated with the school for creating an environment in which college kids were saddled with responsibilities beyond their age and experience. Cadets were meant to be supported by adult TAC (teach, advise, counsel) officers, many of whom are military veterans. Yet in recent years, Forge administrators had laid off some of the best TACs and replaced them with less-enlightened ones. “We were no longer in the military. We were civilians,” notes one Marine veteran who worked as a TAC from 2005 to 2019. “We were there to be a role model for these kids, not a drill instructor. Many of my co-workers didnt understand that. They ruled by intimidation and fear.”
![](https://www.motherjones.com/wp-content/uploads/2022/04/473_valleyforge_04.jpg?w=642&is-pending-load=1)
Jordan Schumacher
Devin Oktar Yalkin
Schumacher and a handful of other cadets thus took it upon themselves to shield fellow students from bullies and twisted TACs alike. They did their best to prevent fights, and would rush injured kids to the hospital. One filled in as school chaplain, holding religious ceremonies and counseling suicidal cadets as young as 13. These self-appointed protectors also stayed with students experiencing mental health crises to ensure they didnt harm themselves, and organized shifts to track down comrades who had fled the campus—a frequent occurrence. “Its kind of like prison,” one former student said.
Schumacher found respite at the stables, where he and other members of the schools mounted battalion spent hours each week “dealing with the horses” and “dealing with ourselves.” He almost dropped out when the Forge, to cut costs, abruptly disbanded its cavalry and repurposed the polo arena for paintball. But it was confronting the cap shield bullies a few days later that sent him over the edge. Schumacher stormed back to his dorm afterward, gathered his belongings, and threw everything in his truck, yelling and banging doors as he vented his rage. As he sped off, he began crying. He didnt know whether he wanted to go on living: “I was just mentally shattered.”
His friends found him later, parked on the roadside in a state of shock, and urged him to come back to campus. (Ten other cadets went AWOL that weekend, some for a temporary taste of freedom, others hoping to escape permanently.) Schumacher returned to the dorms but quit the school for good soon after. Now a bona fide Marine, he believes Valley Forge fashions leaders only insofar as it exposes cadets to behavior unbecoming of an officer. “It brings out the best and the worst in people,” he told me. “I dont want to say thats a goal of the school, but its something that happens. It showed me who I didnt want to be.”
![](https://www.motherjones.com/wp-content/uploads/2022/04/473_valleyforge_09.jpg?w=990&is-pending-load=1)
“Underweight” cadets receive milk and cod liver oil, circa 1933.
Bettmann Archive/Getty
![](https://www.motherjones.com/wp-content/uploads/2022/04/valley-forge-section-break_2.png?w=300&is-pending-load=1)
Valley Forge has long billed itself as the kind of institution that breaks young people down in order to build them back better. Many business, political, and military leaders have embraced that tough-love approach. As alum General Norman Schwarzkopf, architect of the first Gulf War, put it, “West Point prepared me for the military. Valley Forge prepared me for life.”
The Forge has churned out other bigwigs, including Gustave Perna, the retired four-star general who led the Operation Warp Speed vaccine push, and General H.R. McMaster, Donald Trumps former national security adviser. But most famous of all is the novelist J.D. Salinger, whose parents sent him to the Forge in 1934 after he flunked out of a Manhattan prep school. It was here Salinger honed his writing skills—a sentimental poem he wrote about the school is still recited at its gatherings. His masterwork, *The Catcher in the Rye*, opens with Holden Caulfield at Pencey Prep, a fictionalized version of the Forge. Aspects of Salingers rendering ring true to cadets today, from the “crumby” food to a culture of bullying and entitlement perpetrated by “phonies” and “crooks.” “It was a terrible school, no matter how you looked at it,” Holden observes.
The fictional Pencey maintained strict rules and excellent academics—virtues, if ones Holden couldnt live up to. “I got the ax,” he informs readers. “They give guys the ax quite frequently at Pencey.” These parts of Salingers depiction no longer seem so apt. According to internal documents, police rec­ords, legal complaints, and interviews with more than 50 sources close to the school, including current and former cadets, parents, staff, and board members, campus leaders have allowed an environment of neglect, abuse, and impunity to fester.
While rule breakers once got the ax, staffers have allegedly overlooked serious misdeeds while retaining the offending students and banking their tuition dollars. (Tuition, plus room and board, starts at just under $38,000 per year for middle and high school and $48,000 for college.) One student stabbed a classmate with scissors; another bashed his peer with a baseball bat—neither met serious repercussions. Once a citadel of leadership, Valley Forge today is “basically a sleepaway camp for troubled kids with very little supervision,” says graduate Ray Bossert, a retired Army colonel and former TAC. “Its more *Lord of the Flies* than *The Catcher in the Rye*.” Walt Lord, a popular but short-lived school president, agrees: “It became Last Chance U, which was a revenue driver but also cancerous to the Corps of Cadets.”
Amid money woes, administrators have curtailed sports, slashed courses, and assigned teachers to unfamiliar subjects, leading to an academic decline so steep that some Forge cadets complain certain colleges no longer accept transfer credits for many of their courses. The campus is crumbling, too, its barracks periodically infested with rats, cockroaches, and mold­—cadets have also complained of burnt and moldy food in the dining hall. Lawlessness is commonplace. Over the last four academic years, the Radnor Township Police Department has responded more than 300 times to incidents on campus. Police reports obtained by *Mother Jones* from the last decade involve cadets as young as 13 experiencing psychiatric crises, including suicidal behavior. In 2016, an 18-year-old cadet took his own life in Lafayette Hall.
The police data, and campus security logs, document a litany of allegations, including assault, arson, burglary, larceny, narcotics and weapons possession, stalking, and rape. A recent post on a private Instagram account titled “Valley Forge Sucks” shows two cops peering into a schoolroom, with the caption: “Normal day at the Forge.”
![](https://www.motherjones.com/wp-content/uploads/2022/04/valley-forge-section-break_2.png?w=300&is-pending-load=1)
Valley Forge administrators declined to respond to detailed questions about the concerns raised in this story, or to make named staffers, administrators, or trustees available for interviews. Citing privacy concerns, retired Marine Col. Stuart Helgeson, the schools president, said in a statement that the Forge has “zero tolerance for hazing and illegal and inappropriate activity,” “thorough policies and procedures in place to address allegations of wrongdoing,” and “a proven track record of taking action to address concerns quickly and appropriately.” The school, he added, “will continue to manage matters that arise according to law, policy, and the best interest of the cadets entrusted to our care.”
School trustees and senior administrators, according to legal documents and numerous sources, have minimized rather than remediated the problems. An institutional focus on protecting the Forges reputation above all else has created, in the words of one former teacher, “a chocolate-covered onion.” Amid a steady drip of scandals, lawsuits, and pissed-off parents, leaders have clammed up, countersued, and compiled a list of perceived enemies who are barred from campus. Officials “constantly worried about themselves and covering their own asses,” says a former longtime TAC. “All they cared about was that there was no negative press, even if it meant that kids were being sodomized or kids were having inappropriate sexual relations, or getting drunk or getting high, or whatever. They didnt care.”
A twisted drill sergeant mentality took root. One TAC extinguished a cigarette in the palm of an underage cadet caught smoking, a former administrator told me. A former TAC said he nearly came to blows with a colleague whod beaten up a 14-year-old. In 2015, the schools thenTitle IX officer warned of a “Gomer Pyle method of training,” referring to a character from *Full Metal Jacket* whose brutal hazing by others pushes him to commit a murder-suicide.
In addition to recruiting military personnel, the school brought in former cops and prison guards to oversee cadets. A couple of the TACs came from Glen Mills, a Pennsylvania penal school that the state shut down in 2019 amid allegations of child abuse. Bossert and another former TAC singled out one Glen Mills colleague whom the Forge hired in 2016. This officer frequently got physical with students, according to his former co-workers, one of whom distinctly recalls him body-slamming a cadet in the mess hall.
Another controversial figure is J.J. Rivera, until recently the schools commandant, or head TAC, whose verbal attacks on cadets and flirtatious behavior with female cadets raised eyebrows. In a grainy video recently shared on the Valley Forge Sucks Instagram, Rivera, now chief of staff, can be heard screaming “Shut the fuck up!” at a whimpering young cadet. He then grabs the boy.
Schumacher and another former cadet remember Rivera at one point declaring his intent to give cadets an experience the commandant likened to a deployment in “one of the shit-istans.” This consisted of TACs berating and belittling the cadets and robbing them of sleep. “It was, Toughen the fuck up! If I hear you have problems, then fucking leave…I dont need a broken soldier,’” another former cadet recalls.
Several alumni who serve in the armed forces told me that nothing in their military experience has been as harrowing as their years at the Forge. Young Sheng, a 2015 graduate, recalls a punishing world of sleep deprivation, verbal abuse, and “smoking”—extreme physical conditioning that caused cadets to puke and pass out. The mistreatment “amplified my anger issues,” Sheng said, and led him to abuse others in turn. “Its extremely negligent to let students have this level of power over each others lives,” he said. “The culture was rife with abuse of every part of a persons being.” Recalls another alum: “I didnt feel like a human the majority of the time I was there.”
A rappel tower the Army constructed on campus for its Junior Reserve Officer Training Corps (JROTC), a program in which Valley Forge no longer participates.
Devin Oktar Yalkin
![](https://www.motherjones.com/wp-content/uploads/2022/04/valley-forge-section-break_2.png?w=300&is-pending-load=1)
Formal military education emerged in Europe during the 18th century and was embraced by the colonial brass during the Revolutionary War. “We are fighting against a people well acquainted with the theory and practice of war, brave by discipline and habit,” American General Henry Knox wrote in 1776 to John Adams, who then chaired the Continental Congress Board of War. Knox argued that the new republic needed to bring its own soldiers up to snuff at any expense.
In response, the Continental Congress promptly developed the first Army academy, West Point. Major Sylvanus Thayer, an early superintendent, set forth the standards by which US military schools would henceforth operate, building fighting men through a curriculum of tactical engineering, physical training, strict rules, and harsh discipline. According to *Cadets on Campus*, a history of military schools, Thayer defended his commandant, Captain John Bliss, after Bliss brutally assaulted a cadet. When cadets circulated a petition demanding Bliss be held accountable, Thayer expelled its 189 signatories and court-martialed the five organizers for leading a “mutiny.”
The incident helped codify a punitive atmosphere that has plagued military academics and the armed services they populate ever since. In 1898, a gentle cadet named Oscar Booz was critically injured in West Points underground fight club. During a subsequent congressional inquiry, New York Rep. Edmund Driggs described the academys hazing culture as “detestable, disgraceful, dishonourable, \[and\] disreputable.”
Military schooling took off nevertheless during the early 20th century, with roughly 280 institutions opening in the United States between 1903 and 1926. The five academies operated by military branches, including West Point, were the elite. The rest—private, religiously chartered, or state-run—attracted a more eclectic student body, ranging from aspiring officers to troubled adolescents whose parents felt they could use some discipline. Enrollment peaked after World War II, but by the end of the Vietnam War, 65 percent of the institutions had closed their doors. Military schools increasingly became associated with discipline for kids with behavioral issues.
Valley Forge was founded in 1928 by Lt. General Milton Grafly Baker, a veteran of World War I and close confidant of West Point graduate Dwight D. Eisenhower. At the height of its enrollment in the late 1960s, Valley Forge had 1,169 cadets—most white and all male. By the time Navy Rear Admiral Peter Long took over as president in 2000, the Forge was down to a few hundred students and on the verge of bankruptcy.
A former provost of the Naval War College, Long focused, with some success, on improving academic programs, and he managed to get the school on steadier financial footing, thanks in part to a post-9/11 enrollment surge. But in November 2004, the board of trustees booted Long for an alleged pattern of sexually harassing employees. (Long sued the school, claiming the allegations were cooked up by a trustee who disapproved of his management style. The case was settled out of court.)
The Forge has since cycled through eight presidents. By many accounts, its trustees and administrators—mostly former military men—have downplayed the schools problems by concocting positive images and suppressing scandals. To close budget gaps, they chopped haphazardly, deferring major maintenance projects, gutting academic programs, and laying off dedicated employees. A few years ago, the school began rationing toilet paper. It also relied on well-to-do foreign students, who pay higher tuition.
![](https://www.motherjones.com/wp-content/uploads/2022/04/473_valleyforge_07.jpg?w=990&is-pending-load=1)
Cadets listen to Republican presidential candidate Mitt Romney at a 2012 Valley Forge rally.
Bill OLeary/The Washington Post/Getty
Students of color and female cadets were admitted, if not with open arms. In a 2007 racial discrimination lawsuit, Forge teacher Harold Price, chair of the foreign languages department, claimed the school wasnt painting over racist graffiti—the suit cites one Black cadet who likened the campus atmosphere to a “race war.” Other sources told me racial slurs were common: “15-year-old white boys with silver spoons in their mouths saying the n-word. It was disgusting,” says a 2020 graduate.
Last August, a mother sued the Forge, alleging that Black cadets were punished far more harshly than others. Non-Black administrators collectively referred to Black cadets as “a gang,” the lawsuit claimed, and unruly non-Black cadets—one literally spat in the face of a staff member; another elicited a swat response by threatening to “blow up the school”—were allowed to remain on campus, while her kid was suspended over a racially charged fight he wasnt even involved in. (In a response to the lawsuit, the school disputed her account of the incident.)
The decision to admit women into the junior college was made in 2005 by Longs successor, Charles “Tony” McGeorge, the Forges first civilian president. The move evoked a vehement response from powerful alumni (including McGeorges son), who complained that Valley Forge was [losing its character](https://www.post-gazette.com/news/education/2005/10/30/Valley-Forge-no-longer-a-males-only-military-college/stories/200510300160). And the female cadets were met with hostility. “The rumors were that we were all sluts, and that we were easy,” one of them told the local paper.
Therese Dougherty, who oversaw student activities and the schools summer camp for McGeorges successors, filed a gender discrimination lawsuit in 2013 contending that administrators treated her in a “condescending and demeaning manner” and showed favoritism toward male employees. In an intern­al 2019 survey I obtained, cadets complain­ed about inadequate physical security. The school “doesnt want to deal with sexual harassment,” a female cadet wrote, and students guilty of sexual misconduct saw their behaviors “pushed under the rug.”
Another former cadet who attended around the same time told me she was drugged at an off-campus party and then sexually assaulted by a male Forge cadet while unconscious. She shared her story with several friends at the time (I spoke with two who confirmed this), one of whom proceeded to “beat the shit out of” the guy. When the TACs started asking questions and she gave them her account, “one of them said it was my fault.” The alleged assailant was allowed to remain on campus for the semester. “People could do whatever they wanted,” the young woman told me. “Rules werent being enforced.”
“I felt unsafe,” she added.
![](https://www.motherjones.com/wp-content/uploads/2022/04/valley-forge-section-break_2.png?w=300&is-pending-load=1)
The most comprehensive account of abuses at Valley Forge came in 2015, when Robert Wood, the schools Title IX officer, filed an explosive whistleblower complaint alleging that child abuse and sexual misconduct cases had been mishandled. The still-pending complaint warns of a “propensity” among TACs “for cadet allegations to be covered up and interfered with.” Wood also alleges that his attempts to investigate claims were repeatedly met with implicit threats by top officials, including William Gallagher, a retired Army colonel who held various senior roles.
In a contemporaneous memo to the Department of Education, Wood wrote that his efforts to investigate a sexual assault complaint involving two male cadets were impeded by Gallagher, who demanded Wood “cease” his work. During another standoff, Gallagher emailed an HR official asking when Woods contract was up for renewal. This prompted the schools lawyer to warn that firing him would amount to a “retaliatory discharge” based on Woods efforts to uncover “serious breakdowns” in how abuse allegations were dealt with.
Wood quit the Forge that year, in any case, after seven years on the job. But by the accounts of some cadets, their situation hasnt improved. Based on the schools own data, Valley Forge logged at least 30 incidents of alleged sexual misconduct from 2015 through 2020, from stalking and fondling to rape; two ongoing lawsuits claim the school has attempted to impede investigations by its Title IX office. Wood also alleged that middle and high school students were left unattended at night, which he described as “indefensible.”
Other sources back that up. In 2018, one former TAC said he was tasked with a night shift overseeing “four buildings, or 300 kids” by himself. The TACs were willfully “inattentive” to misbehavior, a 2021 graduate said. “There are many fights—I mean *many,* *many* fights I have seen that played out completely,” he added, “where one student was beaten to a bloody fucking pulp before anyone intervened.” (In December, the Valley Forge Sucks Instagram posted a video of two young cadets in camouflage freely pummeling one another in a bathroom.) Supervising officers got burned out, Schumacher told me, and began ignoring even blatant misbehavior: “Theyd shut their door to the TAC office.”
While many secondary schools grapple with some amount of egregious behavior, the military model made for a more challenging environment. “When a structure is set up on rank, power, and pain, youre going to have problems,” a former Forge official explained. Woods complaint cites parental concerns about supervision and abuse dating as far back as 1997. In 2004, a 17-year-old cadet was [charged](http://www.cnn.com/2004/LAW/01/21/military.academy.assault/) with stalking, “involuntary deviate intercourse”—a category of felony crimes ranging from forced oral and anal sex to other forced nonvaginal penetration—and sexual assault against a fellow student, prompting two other cadets to come forward with related allegations against him. This led to further charges, including assault and “terroristic threats.” (According to a local news report, a juvenile judge ultimately convicted the assailant of three lesser counts, and sentenced him to home detention.)
In 2007, two parents [told the *Philadelphia Inquirer*](https://www.inquirer.com/philly/news/homepage/20071018_Battle_lines_drawn_at_elite_academy.html) they were pulling their sons from the Forge after one of them, age 16, was brutally beaten by peers, and the other, a 13-year-old, was “repeatedly tormented,” kicked while doing pushups, and branded with a five-pointed star. In 2017, a 16-year-old cadet was allegedly subjected to a sadistic hazing ritual called “tooth-pasting.” The now-former cadet alleges in a lawsuit that fellow cadets hit him with a lacrosse stick, pushed it down his throat, and then tried to shove it into his anus. He was also waterboarded, he claims, and had his head slammed into a wall. The same suit claims that after a 13-year-old classmate reported his own abuse to school officials, his tormentors branded him with a “B”—for “bitch.”
Based on the schools nonprofit tax filings, Valley Forge has spent more than $4 million on legal fees over the last two decades. Perhaps the schools most formidable foe these days is Stewart Ryan, the Philadelphia-based lawyer who prosecuted Bill Cosby. He now represents the former cadet who filed the tooth-pasting lawsuit, and three others who allege that, as minors, they, too, experienced tooth-pasting and other abuse at the Forge from 2014 to 2018. Additional clients, Ryan says, are preparing complaints that stem from the Forges “intentional ignorance.”
Ryan Niessner, who submitted a sworn affidavit for one of Stewart Ryans cases, told me he was sexually assaulted as a 15-year-old Forge cadet in 2009. As he returned from the shower one night, a door flung open and five cadets dragged him into a room and attempted to penetrate him, first with fingers, then a coat hanger: “I struggled for a little bit, but five, six other people—numbers just kinda won that.” Soon after, he fought off another tooth-pasting attempt. He became withdrawn and depressed, and would eventually require therapy. In junior college, hoping to thwart such attacks, he and some of his Forge classmates took on overnight surveillance shifts. “We were the only adults in the building with high schoolers and middle schoolers,” he recalls.
![](https://www.motherjones.com/wp-content/uploads/2022/04/473_valleyforge_06.jpg?w=642&is-pending-load=1)
Ryan Niessner
Devin Oktar Yalkin
In his affidavit, Niessner testified that when he reported his abuse to the TAC office, an officer asked, “Will your parents sue?” (They did not.) “After this meeting,” he wrote, “I was discouraged from reporting this incident to anyone else.” A few years later, he shared his story with the police, who spoke to school officials. Niessner doesnt know how the Forge responded. But when a former administrator reported a different tooth-pasting attack to her superiors, “they didnt do anything about it,” she said. Bossert told me that some of the dozen or so cadets thought to have participated in tooth-pasting assaults were dismissed, only to return the following semester. None of them tried it again, to his knowledge. “But think of the type of kids that would do that,” Bossert says. “They are going to do hell across the board.”
In another troubling case that Wood discussed with a local newspaper in 2017, four male college cadets conspired with a fifth to covertly film his sexual encounter with a drunk female cadet. A disciplinary board advised that all of the perpetrators be dismissed, but the schools president ignored the recommendation and allowed three of the five to stay. As punishment, they were ordered to paint the commandants house. One of the boys spoke at graduation, and “the young lady who had been assaulted had to sit there and listen,” Wood said.
When a former TAC raised concerns about Symantha Hicks—a Forge guidance counselor who, according to police records, was suspected of giving alcohol to minors and performing oral sex on a 16-year-old—a school official allegedly tried to convince him not to go to the cops. Hicks denied engaging in sex with the boy, but was convicted of “corruption of minors.” The Forge had hired her to replace another female counselor whose comportment with students came under scrutiny. But when an administrator raised concerns with the HR office about *that* counselor—who was later convicted of sexually assaulting a 15-year-old at another school—“I was told that it was none of my business, to just stay out of it.”
Valley Forge also briefly employed a former soldier named Steve Stefanowicz as a TAC overseeing middle and high schoolers, until staffers discovered hed been a key player in the Abu Ghraib torture scandal.
![](https://www.motherjones.com/wp-content/uploads/2022/04/valley-forge-section-break_2.png?w=300&is-pending-load=1)
Walt Lords appointment as president in 2018 heralded a brief period of reform at Valley Forge. The son of working-class parents, Lord grew up in an Irish Catholic neighborhood in South Philadelphia. He received a full ride as a Forge cadet in the 1980s, and even got married in the school chapel. He ascended through the Army ranks to the position of major general and served in Sarajevo and Afghanistan.
Square-jawed and warm, Lord believed the only way to save his alma mater was by listening to peoples concerns. He met frequently with students and staff, snapped selfies with cadets, and cultivated closer relations with alumni and parents. He focused on positive reinforcement, using military challenge coins to reward good behavior. Lord also provided intense guidance to misbehaving cadets and booted a handful whose behavior had become threatening. “He didnt just kick somebody out,” a former trustee told me. “He had a valid investigation into what the issue was, and the punishment fit the crime.” This new approach quickly netted the school dozens of new students.
Yet Lord felt micromanaged by the trustees, including board chair John English, who served briefly in the Marines before founding a consulting firm. English demanded a say in day-to-day decisions but neglected systemic issues, according to the former trustee, who adds that most board members were disengaged: “Everyone told war stories. We didnt get anything done.”
Former Valley Forge president Walt Lord presided over a brief period of reform before stepping down.
Devin Oktar Yalkin
These concerns were echoed in an audit undertaken on behalf of a board member by the Healey Education Foundation, which warned that “Valley Forge is not going to survive by looking backwards.” A draft report, leaked to the press in 2019 and cited in a lawsuit that was later dismissed, noted that enrollment had declined 40 percent in the previous five years, and the school was nearly $7 million in debt. The authors laid most of the blame on the trustees hasty “Ready, Fire, Aim” decision-making style.
Lord felt confident he could tackle the Forges cultural issues. He also arranged weekly meetings with Vince Vuono, the chief financial officer, to get a better handle on the money woes. But Vuono would provide only the most basic, generic information: “My biggest point of frustration was the fact that I couldnt get the CFO to open up and tell me exactly where we stood financially,” Lord told me. “It was the most bizarre thing in the world.” Other administrators were similarly perplexed. “Nobody knew where the money was going,” one recalled.
Lord and others alluded to a multimillion-dollar donation from the family of an alum, the son of Ettore Boiardi, a.k.a. Chef Boyardee, which they believed was intended for building upgrades that were never completed. (The Forge has previously denied that the funds were misdirected.) The school is now being monitored by the US Department of Education for “financial or federal compliance issues,” which may stem, at least in part, from its sloppy handling of Pell grants. The Forge wasnt adequately communicating with students about the Pell program, and multiple cadets said they never received money they were promised. “I never really felt like they were following financial aid procedures,” one former staffer recalled.
Lord resigned in March 2019, after less than a year on the job, citing the boards incompetence. Trustee Jessica Wright, the former head of Pennsylvanias National Guard, announced her resignation shortly thereafter in a scathing letter that inveighed against the boards “reprehensible” apathy toward the schools challenges. As the news swept the campus, cadets showed up at Lords living quarters with cake, cookies, and a teddy bear.
Days later, hundreds of alumni arrived from around the country for a tense meeting with school officials at Mellon Hall, a stately building with a checkerboard-tiled ballroom. Nearly 4,000 parents and alumni signed a [petition](https://www.change.org/p/vfmac-bot-increase-transparency-let-general-lord-lead-valley-forge-as-he-sees-fit?recruiter=36177227&utm_source=share_petition&utm_medium=copylink&utm_campaign=share_petition&fbclid=IwAR2bPnnC8Hr1OAlaxz3KzwBA01f5036HvzTTmsX50CFbECYyjDC3-R8biYk) imploring the board of trustees to work out their differences with Lord so that he could be reinstated. Instead, school officials blacklisted their most vocal critics, Lord included. “We wanted to open up dialogue and fix the school,” said Scott Newell, an alum and parent of a former cadet. “What we got was silence. Parents were blocked on social media, concerns were ignored, and ultimately \[certain\] alumni were barred from the campus.”
Less than a month after Lords departure, a Forge cadet was assaulted and hospitalized. The local ABC News affiliate [reported](https://6abc.com/valley-forge-military-academy-assault-at-general-walt-lord/5217232/) hed been “mistakenly targeted as ratting out a group of cadets for underage drinking.” Thus began the latest phase of what the *Inquirer* called a [battle for Valley Forges soul](https://www.inquirer.com/business/vfma-valley-forge-military-academy-revolt-alumni-insurrection-major-general-walter-lord-20200726.html). Lines were drawn. On one side were concerned parents and alumni, and Lord; on the other an increasingly bellicose group of trustees and administrators, including Lords replacement, current president Stuart Helgeson. “We keep hoping these guys would go away,” Helgeson complained to the newspaper. “Theyre weakening the brand.”
Helgeson addressed the budget shortfalls by slashing college sports programs and eliminating the 16-horse cavalry. A prime slice of campus was sold off to developers for $1.6 million. Helgeson also tried some new revenue streams, such as licensing the Valley Forge name to a K12 school in Qatar and submitting a proposal to the local school board to establish a public charter school on the grounds. (The board rejected the plan, citing trustees dearth of educational experience and a lack of competent curriculum guidelines, and accused the Forge of trying “to subsidize its private school with taxpayer dollars.”) Finally, in a decision the cadets would feel acutely, Helgeson promoted TAC J.J. Rivera, a fellow Marine, to the title of commandant.
At least five cadets I interviewed identified Rivera, a former helicopter pilot who didnt respond to multiple requests for comment, as one of the most abusive TACs. Bossert and another former TAC told me Rivera sometimes slow-walked investigations—including one that involved a rape.
As Riveras former supervisor, Bossert recalls cautioning him about his demeanor with the young women on campus. One former administrator went so far as to call him a “creepo,” noting that female cadets often complained to her about Riveras behavior. Two female former cadets recalled to me how, after they were caught trying to sneak off campus, Rivera threatened to look in on their rooms at night when they slept.
Another one recalls Rivera flirting with her repeatedly and saying she reminded him of his wife. That cadet said Rivera once made her remove a shirt that violated the dress code—she had to extract the garment from underneath her sweatshirt: “He was right there, watching me.” A male former cadet told me that Rivera—after learning hed drilled with an ROTC unit at a base where Rivera also had trained—advised the boy, then still a minor, to check out a nearby strip bar called Club Risqué. (Two of the cadets former classmates confirmed that he told them this story shortly afterward.)
In 2020, fed up, Schumacher and a dozen or so other cadets created a PowerPoint and presented it to school officials. Titled “State of the Forge,” it detailed squalid living conditions, flawed Covid-19 policies, and ongoing bullying, including an attempted “lynching”—in which Black cadets offended by a white students racism allegedly tried to choke the kid with a belt. The presentation claimed that five classmates had either tried to kill themselves or had spoken to leadership about doing so that school year. The cadets I interviewed, along with an internal list of student grievances I obtained, say the Forge frequently minimizes mental health issues, with a school nurse once scolding a student for “sending up red flags that dont need to be sent up.”
Another slide depicted Rivera as particularly abusive, a contention bolstered by numerous staffers and cadets, including one who remembers Rivera routinely ordering Schumacher into his office just to scream at him. Rivera was “well-contained” during the presentation, Schumacher said, but their effort to speak truth to power amounted to naught. “It was a brush off the shoulder kind of thing,” he said.
![](https://www.motherjones.com/wp-content/uploads/2022/04/valley-forge-section-break_2.png?w=300&is-pending-load=1)
From the early West Point scandals to recent reports of hazing at the Virginia Military Institute, abuses at military schools have been codified in American culture through media reports, literature, and Hollywood tropes. *Taps*, a 1981 movie filmed at the Forge, follows a group of cadets who rebel violently against the proposed closing of their fictional academy. By the accounts of those I spoke with, the Forge has indeed come to mirror many of the worst aspects of military culture—the lies and cover-ups, the unwillingness to deal appropriately with sexual assaults, and the lack of financial transparency. The word “snafu” comes from a military acronym meaning “situation normal: all fucked up.” And thats a sentiment the Forge and like-minded institutions seem to be imprinting upon the next generation of military leaders.
The deliberately punitive ethos of military schools rests on the false assumption that it wrings out bad habits and encourages good ones. But [Michael Karson](https://psychology.du.edu/about/faculty-directory/michael-c-karson), a clinical psychologist and professor at the University of Denver who specializes in child abuse, told me that one of the few hard laws in his field is as follows: “Punishment doesnt work” to change peoples character, he says. It merely “makes them obedient.” This truth helps highlight the moral clarity of dissenters such as Salinger and Schumacher, whose insubordination was a clear-eyed response to abuse, a righteous rejection of bullying masquerading as command and control.
One can reasonably argue that the military must instill compliance and cohesion in its combat units. But the kind of torment Valley Forge kids were subjected to, trauma that can leave psychological wounds as deep as those borne by soldiers on a battlefield, is impossible to justify. Numerous parents have spoken of the ways, large and small, that their children were scarred by the Forge, and many former cadets, Schumacher included, have sought therapy to process their experiences. One mother told me that ever since her boy was raped at Valley Forge, a trauma incurred many years ago, he sleeps with a hunting knife under his pillow. And then there was the 18-year-old cadet who never made it to graduation.
Even the famously reclusive Salinger would eventually open up about his ambivalence toward the Forge. In an unpublished 1995 letter to a friend and former classmate, shared with me by the J.D. Sal­inger Literary Trust, the author, then 76, seemed to regret the untitled three-stanza poem he wrote shortly before graduation, which was placed on display in the school chapel after Salinger got famous. It begins:
*Hide not thy tears on this last day—*
*Your sorrow has no shame;*
*To march no more midst lines of gray;*
*No longer play the game.*
“Ive planned for years to stop by and either tear the exhibit down or at the very least add a little obscene graffiti at the bottom,” Salinger wrote. He reflected, too, on the “interesting collection of misfits” hed befriended at the Forge, and the memories they shared, bad and good.
But it was escaping the campus that brought him the greatest joy: “Though \[the Forge\], to me, was on the whole a thoroughly bad joke, its pretenses and posturing irreversibly sham, contemptible,” Salinger wrote, “I wonder if I ever again felt as free, as gratefully on the loose, as I did on that pretty walk to Wayne and the diner on a Sunday after signing out.”
&emsp;
&emsp;
---
`$= dv.el('center', 'Source: ' + dv.current().Link + ', ' + dv.current().Date.toLocaleString("fr-FR"))`

@ -0,0 +1,300 @@
---
Tag: ["Society", "Cult", "NYC"]
Date: 2022-06-14
DocType: "WebClipping"
Hierarchy:
TimeStamp: 2022-06-14
Link: https://www.esquire.com/news-politics/a40105747/the-follower-staten-island-1980s-cult/
location:
CollapseMetaTable: Yes
---
Parent:: [[@News|News]]
Read:: [[2022-06-16]]
---
&emsp;
```button
name Save
type command
action Save current file
id Save
```
^button-TheFollowerNSave
&emsp;
# The Follower
![d](https://hips.hearstapps.com/hmg-prod.s3.amazonaws.com/images/benjamin-rasmussen-esq060122-statenislandcult-001-1654117654.jpg?resize=480:*)
BENJAMIN RASMUSSEN
On the night of May 29, 2006, after seeing the documentary *An Inconvenient Truth* in Manhattan, Jeff Gross drove home from the Staten Island ferry to Ganas, a communal-living experiment hed spent decades building.
He climbed the steep steps up to the groups cluster of houses scattered among leafy walkways and squinted his way through uncut shrubs and poor lighting. As Jeff approached his porch, a figure stepped from the shadows and raised a handgun.
“What do you want?” Jeff shouted, and then, “No, no, dont do it!”
Shots *pop-pop-popped* as the shooter unloaded six rounds into his hip, stomach, arm, and neck. Jeff fell to the ground, blood pumping from his wounds. His assailant stepped over him and fled. A neighbor who heard the shooting knelt beside Jeff and shouted for towels to stanch the bleeding.
Many moments had delivered Jeff to this one. Since 1980, Ganas had been a community that embraced all manner of new-agey life. But his relationship with the group—particularly with its charismatic and often abusive leader, Mildred Gordon—had become unrecognizable since their early days. Hed signed over a small fortune, endured thousands of hours of “feedback” sessions, and entered a four-way marriage. And now he was bleeding out in the back of an ambulance.
How had Jeff gotten into this mess? And why had he stayed?
![d](https://hips.hearstapps.com/hmg-prod.s3.amazonaws.com/images/katherine-wolkoff-trunk-archive-esq060122-statenislandcult-004-1654118463.jpg?crop=1.00xw:0.889xh;0,0.0487xh&resize=480:* "kawo20220222-001")
Since 1980, as many as one hundred residents have lived at Ganas, just a twenty-minute walk from the Staten Island Ferry but a world away from the city that surrounds it.
KATHERINE WOLKOFF
When we met in November 2021, decades after he hooked up with Mildred, I asked him that very question, only to hear his deeply unsatisfying conclusion. “To me, I know youre writing your story, but I tried to tell you before you ever came out here that, in my opinion, its just like any situation,” he said of his nightmare at Ganas. Families, relationships, jobs, all of them can go bad. “But were talking about so many people in this situation, it seems even more complex and layered because of our lifestyle.”
The lifestyle Jeff and his coresidents lived until he was shot has a lot of names, though he still cant bring himself to use the *c-*word. But Americas foremost cult deprogrammer, Rick Alan Ross, described the group during Jeffs time as exactly that. Cults exist on a spectrum, Ross told me. “You have Waco Davidians, Heavens Gate, Children of God, and then you have groups that are far less destructive,” he said. “Jim Jones is a 10; Keith Raniere is a 9.” Ross considers Ganas as it existed when Jeff was there to be a 5 or a 6.
Jeff is now sixty-seven. It would be easy to look at his life these days—one in which he lives in hiding, afraid for his life, with a five-inch scar up his belly, lingering PTSD that once left him unable to tell waking life from dreams, and an outstanding $1.3 million judgment against his shooter—and think, *Well, thats what happens when you belong to one of the longest-running cults in New York City.* But the closer I got to Jeffs story, the more I came to see that he and other former members were right: This *was* a more complicated cult story than the ones I thought I knew, and an entirely more unsettling one.
It all started half a century ago, on a hot day when Jeff decided to go to the pool.
---
At Arizona State in the fall of 1973, everyone seemed to have life figured out except for Jeff Gross. He was nineteen, tall and lanky, with a melon scoop of kinky hair, almost handsome but hopelessly sheltered. It was a party school, and Jeff did not know how to party.
Jeff had grown up in Denver, the likable middle child in a middle-class Jewish home. “Oh, my brother, he was the smart one,” he said recently. “I was the one good with people.” His parents expected him to get married and take over his dads auto-parts company. “He may have gotten a message that youre going to be part of the family business,’ ” said David Gross, Jeffs older brother. “Youre not smart enough to be your own person.’ ”
But in a small act of rebellion, Jeff set his sights on the deserts of Arizona for college. As a sophomore, he moved into an apartment complex with a pool and a young crowd. His roommate was in school to get a tan, get drunk, and get laid. But Jeff wanted something bigger for his life—not that he could have defined it.
Jeff was a virgin and alone, until one day he decided to go to the pool with the crowd. On the deck, he spotted a tall and lithe brunette. Patty, sixteen, was beautiful, and shed been shipped out west by her mother and stepfather, who were en route, too, in just a few weeks.
To Jeffs shock, Patty was into him. She soon took his virginity. And the stories she told him! Back in New York, her mother, Mildred Gordon, was a rock star of the so-called human-potential movement—a catchall term for group therapy that ranged from yoga to chanting to hypnosis and silent retreats. Mildred and her husband Ed Smith had run Group Relations Ongoing Workshop, or GROW, out of a brownstone on the Upper West Side.
Jeff didnt know that Mildred was leaving GROW and Manhattan under a cloud—that a year earlier, in 1972, the state attorney general had investigated her and her husband and alleged that they had misrepresented themselves with phony degrees and were running a diploma mill, charging up to $5,000 in fees for certificates not recognized by any state agency.
![d](https://hips.hearstapps.com/hmg-prod.s3.amazonaws.com/images/benjamin-rasmussen-esq060122-statenislandcult-002-1654118528.jpg?resize=480:*)
Jeff Gross today.
BENJAMIN RASMUSSEN
Soon after she arrived, Mildred invited Jeff over for dinner and guided him in art-therapy sessions. Later, she spotted him flinging a Frisbee and called him a Greek god in her rich Lower East Side accent. “She couldnt believe that we had met,” Jeff said. “What a miracle, that was her whole thing.”
Meanwhile, Patty moved into Jeffs apartment to get space from Mildred. She was blunt. “Stay away from my mother,” she told him one day. But Jeff didnt. “I suddenly had my own personal life expert/mentor/sex counselor to help me,” he later wrote in a diary.
After graduation, Jeff followed Mildred to San Francisco. They set up a group apartment on Haight Street, and Jeff escorted her to meet men for sex. She winged for him at bars after Patty dumped him. They began collecting new friends. There was Bruno Krauchthaler, a twenty-year-old Swiss military deserter, handsome and troubled, with a case of agoraphobia and an abusive father. Jorge “George” Caneda was a Spanish dwarf who, as a boy, had perfected the art of playing people off each other in an effort to deflect from his disability. Susan Grossman was a leftist medical student who was still finding herself. (Both George and Susan declined to speak to me.)
Mildred nudged Jeff and Susan together. Mildred and Ed divorced, and she fixated on Bruno, often staying up until 3:00 a.m. talking to him about his life. It was intoxicating, Bruno recalled recently: “*I* wasnt that interested in my life.” It wasnt long before they were in bed together.
![d](https://hips.hearstapps.com/hmg-prod.s3.amazonaws.com/images/esq060122cover-lo-01-1654118567.jpg?resize=480:*)
RUVEN AFANADOR
A version of this article appeared in the SUMMER 2022 issue of Esquire
[subscribe](https://join.esquire.com/pubs/HR/ESQ/ESQ1_Plans.jsp?cds_page_id=253005&cds_mag_code=ESQ&cds_tracking_code=esq_edit_circulesredirect)
Jeff worked on a masters degree in social work, and his eventual thesis—a study of the apartment on Haight Street—imagined a vast network of cooperative businesses using “feedback learning,” Mildreds proprietary technique of helping her charges effect personal change through constant appraisal of their actions, motives, and character. It was a tricky practice to define—in Jeffs thesis, he spent eight tortured pages trying to explain the method, finally concluding of the process, “Neither the learner, the teacher, or anyone else at this point in time really understand how it happens.”
In 1979, Mildred and the group moved to New York City, to an apartment on East Sixth Street. They traveled in a pack and huddled around Mildred as she dispensed wisdom. They were so broke that the five of them would share an ice cream cone. (“Of course, Mildred got the biggest licks,” Jeff said.)
They needed more space to grow and looked across the water to an unlikely refuge: the cop-and-firefighter, ruby-red-Republican stronghold of Staten Island.
---
The home at 139 Corson Avenue sat atop a concrete retaining wall, where its height provided a sense of safety. In 1980, a crime wave was ravaging New York City, and Tompkinsville, a working-class neighborhood on the North Shore, wasnt exempt. Here, with the city twinkling in the distance, the group began a new life together. Jeff, Bruno, Susan, and George were all in their twenties, drinking and exploring dreamwork, yoga, hypnosis, and sex. Initially, Mildred was just part of the crew, albeit three decades older and eager to play therapist to her young roommates. But within a few years, she moved to establish order.
A clique called the Core Group, for the most committed members, emerged and heightened the financial stakes of the operation: They pooled their savings and income and made spending decisions by consensus. They opened secondhand-furniture-and-clothing businesses to employ the growing flock.
![d](https://hips.hearstapps.com/hmg-prod.s3.amazonaws.com/images/pq1-1654179390.png?resize=480:*)
Every morning, Jeff and the other residents, now nearly a dozen strong, met downstairs for breakfast and several hours of feedback learning. “Ultimately, my purpose is to brainwash you,” Mildred said to Bruno during a representative taped session. “To change your thinking to my thinking.”
In 1982, with Mildreds strong encouragement, Jeff and Susan got married. Jeffs father, elated that his son had married a Jewish doctor, was happy to finance a new home: another house on Corson Avenue for the group for $133,000. As soon as houses nearby went on the market, the group bought those, too, adding ten members with each new home. (Jeff said he would eventually sink more than $400,000 into the group.) The waiting list to join was such that they filled bedrooms as fast as Bruno, in charge of construction, could finish them.
“There was a magical feeling between us,” Jeff later wrote in his diary of those boom years. “The weird chemistry of the emerging, forested enclave on a Staten Island hillside with Manhattan off in the distance, and us, a group coming together to construct its own world.”
---
In 1986, Mildred, Bruno, Susan, and Jeff drove Mildreds convertible north to a conference in Ontario for “intentional communities,” the term they were using for their cohabitational experiment. There Mildred met Rebekah “Becky” Johnson, twenty-three, awkward and shy, and invited her to join them at Ganas, the name theyd chosen for the group, from the Spanish word for *desire.* Jeff had a bad feeling immediately—a sense that Becky might not be able to withstand feedback learning. But Mildred insisted.
Ganass constructed world was growing fast, and members were clear about their reasons for joining: a novel sense of community, personal growth, and lots of sex. Videotape from this era shows Ganasians, young and hopeful, skin packed with collagen, joking with one another at the ferry terminal and talking by candlelight late at night. Ganasians carried around “problem books” in which to record daily events and their reactions to them. The booklets came with a twenty-three-page instruction manual that outlined the baroque codes to be used: *de* for defensive, *cl* for clitoris, *MSdp* for dire predictions of doom, and so on. Bruno sometimes blazed through ten a month. (*Impotence* and *sad* appeared regularly in his “emotions” column.)
![d](https://hips.hearstapps.com/hmg-prod.s3.amazonaws.com/images/courtesy-bruno-krauchthaler-esq060122-statenislandcult-003-1654179414.jpg?resize=480:*)
Bruno Krauchthaler
Mildred coached members on foreplay and taught tricks for maintaining erections. She pushed reluctant members into bed, reasoning that having sex with someone you werent attracted to could be a learning experience. Bruno alone was consigned to monogamy; Mildred forbade him from sleeping with anyone but her. Intercourse was mostly vanilla. The edgiest practice was just how openly everyone talked about crushes, performance issues, and jealousies at morning planning sessions.
Mildreds theories about sexual freedom could turn dark in practice. She pressured Alfonso, a Spanish graduate student in his early thirties, who asked to be identified only by his first name, into sleeping with new member Becky, whom she viewed as young and inexperienced. He now regrets doing so. “It was very difficult to say no, lets put it that way,” Alfonso said recently. “\[Mildred\] had a lot of control over the whole situation.” Soon after, Becky seemed to sour on life at Ganas. The group eventually asked her to leave.
Work wasnt all it was cracked up to be, either. The group dreamed its secondhand stores could be laboratories for cooperative work. But employees were discouraged from talking—except to track customers over an intercom. Neighbors gossiped about the creepy PA system. The stores primary accomplishment was keeping everyone busy and bone-tired.
And while sex was encouraged, children were out of the question. Susan longed for a baby, but Mildred discouraged her. “Mildreds point was: Our baby is this,” Jeff said, referring to Ganas.
But as others enthusiasm for the circumscribed life on Corson Avenue dimmed, Jeff just wanted more Mildred. He followed her around with a clipboard, taking up a detailed collection of his own shortcomings as she saw them, waiting for a personal breakthrough that always seemed close. He wrote in his problem books and filled his hours with chores Mildred asked of him, including foot massages.
Jeff looked forward to his birthday. Every year, he was given an entire day—sometimes two!—of feedback. The group would gather for brunch, turn on a video camera, and spend hours dissecting what exactly was wrong with him. It was the same year after year: The group found Jeff beyond repair, and then, toward the end of the marathon session, Mildred would suddenly find a glimmer of hope. “Its sort of like a puppy looking forward to the treat,” Bruno said of Jeff and his birthdays. “And what he got was the same routine.” Every year, Jeff filed away the VHS tape of his grilling as a keepsake.
In 1989, Jorge Calvo, another Spaniard, whom George had recruited, announced he was leaving after nearly a decade at Ganas. “Everybody freaked out,” he said recently from his home in Spain. “I was the Antichrist in just one dinner.”
Alfonso realized that he, too, was feeling “less and less of a person, less and less capable to think” and wanted out. He moved in with Jorge in Manhattan after taking a measly $25,000 from the Core Group for eight years of work and sweat equity in Ganas. The pair visited museums and went barhopping before returning to Spain for good. “I think I saw more of Manhattan and New York in the last two months,” Alfonso said, “than in the rest of the eight years.”
---
In the summer of 1995, dozens of Ganasians sat in the backyard on Corson Avenue, waiting for a wedding to begin. Of the two grooms, Jeff was the more nervous. He sat stiffly in a plastic chair, wearing a too-tight tuxedo, skimming the vows he would say in a few minutes. Mildred had written parts of them, in preparation for Jeffs four-way marriage ceremony to Susan and two other members, another idea of hers.
Jeff was forty years old by then, and his springy hair had receded. His face was becoming drawn. He had no children, no career to speak of. He hadnt even really chosen his partners that day. He no longer had endless years ahead, but at least he had this.
The foursome took turns reading their vows. When it was Jeffs turn, he choked out, in a halting cadence, “Marriage is a sexual contract into the foreseeable future,” completely unable to envision his.
![d](https://hips.hearstapps.com/hmg-prod.s3.amazonaws.com/images/pq2-1654179470.png?resize=480:*)
Life at Ganas was making Jeff increasingly miserable. Hed once loved feedback sessions, alive with the feeling that all this could turn him into a greater version of himself, but they had somehow done the opposite. Lately, Mildred belittled him, calling Jeff a wannabe alpha male. He wrote to her, complaining that he wasnt making progress. “I dont really know how to reassure you,” she replied in a fourteen-page letter. “Anyway maybe you are right, and I am doing damage to you.”
There comes a moment in every story like Jeffs when a door appears, one the protagonist could walk through, but his feet dont move. For Jeff, there were two.
The first out came when he began to consider that life in the world hed left behind decades earlier might have some answers. In the early 1990s, he started a street festival near the ferry terminal, and it was a minor hit. But he could never fully separate the work from Ganas; when a Staten Island business group wanted to honor Jeff for his civic efforts, Mildred suggested he deliver a rambling speech at the luncheon, denouncing capitalism. “Like a fool I went along with it,” he said. The Core Group eventually convinced him to quit working on the festival entirely.
The second came in the form of Jeffs brother, David.
The Gross family was determined to hang on to a semblance of a relationship with Jeff. In September 1996, David asked Jeff to take a road trip from Boston to Shreveport, where he was now a molecular-biology professor at Louisiana State. On the drive, David pressed Jeff to at least consider having children. “For hours and hours I would try to convince him that he was missing out on something very important,” David told me. (Jeff remembered this differently: He really did want kids, he said, but Mildreds constant harping on his obsession with being an “alpha male” convinced Susan he would be an unfit father.)
But the group had prepped Jeff, advising him to be wary of advice from his overbearing older sibling. It worked. “It was clear he was so brainwashed and mesmerized by Mildred and others who were running the show there,” David said. “It was like talking to a brick wall.” Other times, when David visited Ganas, members descended on him with their trademark style of interrogation, berating him about bullying Jeff when they were kids.
Life at Ganas got bleaker. Every morning, from a massive easy chair, Mildred increasingly focused on Jeff and Bruno. Jeff mumbled “right” and “okay” as other Ganasians, enjoying their cereal, looked on.
Ganas was attracting more individuals simply looking for free therapy. In 1994, Becky Johnson, the ex-member Jeff had been suspicious about from the start, begged Ganas to allow her to return. Jeff and others objected, but Mildred overruled them. (Beckys tenure didnt last long. City marshals evicted her two years later after she failed to pay rent.) Jeff opposed another applicant, a middle-aged veteran. Mildred overruled him again. The new resident was later found in a Ganas kitchen defecating in a blender.
Mildred forbade Bruno from reading. He once bought an introduction-to-macroeconomics textbook, and Susan screamed at him until he returned it. But for Bruno, it was a turning point. He photocopied books at the library on his lunch break and hid the pages in his toolbox. “One thing education does is it lets you see options, and I didnt see options,” he said recently. “I was literally trapped in this view of the world.”
By the late 1990s, Bruno wanted to leave Mildred. Their relationship had been on the slide for years. Bruno alleged that Mildred once tried to hit him—and when he dodged her smacks, she wailed that the strain of swinging and missing could very well kill her. At night, he withheld sex until she agreed to watch VHS tapes of their feedback sessions and admit that she was increasingly dominating the group.
Part of what kept him from leaving was money: Ganas had all of his. Bruno was owed hundreds of thousands of dollars, based on the groups own formula, established after the Spaniards messy exit. He feared that if he left too suddenly, hed end up with nothing.
“Nobody *really* changed,” Bruno said. “Nothing *really* happened. It was like a nightmare.”
---
As the new millennium approached, the past came back to haunt Ganas. In 1999, Becky, now twice booted from Ganas, sued the group for $3 million. Her lawsuit called feedback learning an “unrecognized, unorthodox method of behavior modification that employs deceptive, coercive, and dangerous manipulative techniques similar to brainwashing.” She alleged that Mildred emotionally abused her and that shed been raped. (She later dropped the suit.)
Bruno and Mildred separated, and she prohibited anyone at Ganas from sleeping with him until she had a new partner. Within months, she was pressuring Dave Greenson, a young Brown grad with a lush head of hair, with the same guilt trips shed used on Bruno two decades earlier. “You cant believe how happy I was,” said Bruno, who was now free to walk away. “And sad for David.”
![d](https://hips.hearstapps.com/hmg-prod.s3.amazonaws.com/images/katherine-wolkoff-trunk-archive-esq060122-statenislandcult-005-1654179508.jpg?resize=480:*)
George Caneda, at home circa 2006.
Katherine Wolkoff / trunkarchive
Around 2001, Dave and Mildred married, despite their forty-six-year age difference, and they decamped to a Brighton Beach, Brooklyn, apartment purchased by the Core Group. Mildred drew a $40,000 salary from Ganas and returned several times a week to run feedback sessions.
But without her omnipresence, Ganas changed. “When a cult leader dies or retires, like Mildred did when she removed herself...then the group has to recalibrate,” said Rick Alan Ross, the cult expert.
Indeed, with Mildred gone, the original members of the Core Group began snapping out of the trance theyd been in and grabbing what they wanted from life. Bruno took a six-figure payout, toured Europe, and moved upstate. Susan traveled to Kazakhstan to adopt a child, years after Mildred had convinced her not to have one. And then there was George. He had always set himself apart from the group, resisting Mildreds pull. He set up a shadow group in another house and quietly tended the books. George borrowed $175,000 from the Core Group to buy a home in Spain; the group also gave a five-figure loan to Georges sister for another property purchase.
Even Jeff branched out, launching a new street festival. He thought he might be ready to leave—he was dating a new woman outside Ganas, enjoying his project, and thinking about starting a family. But after thirty years with Mildred, Jeff was bad with money, and even now, as he expanded his horizons, he couldnt see much farther than the ferry terminal.
Then one afternoon in 2004, as Jeff announced a musical act onstage, he heard a voice in the crowd call out, “Hey, Jeff!”
“I thought it was a bag lady,” he told me. “Then she took my picture.”
---
Over a quarter century, thousands of people had passed through Ganas as renters, short-term visitors, and dinner guests. In the blur of feedback sessions, hard work, and sleep deprivation, many of those names faded into obscurity. In Jeffs mind, Becky Johnson, the troubled, twice-evicted tenant, was one of those forgotten faces. Until she wasnt.
It started with the photo at the waterfront. Then, on Thanksgiving Day, big blue letters appeared in graffiti on the compounds retaining wall: rapist + pimp = jeff gross.
A few weeks later, Jeff was jogging home from the gym when he realized a car was following him. It crept alongside him for a few blocks, then sped ahead. Out jumped Becky wielding a silver object. Jeff thrust his hands out, thinking it was a knife. It was a camera, which captured a photo of Jeff looking oddly menacing.
Flyers with that photo began appearing in Tompkinsville: “He is a CAREER RAPIST and a PIMP...DO YOU WANT THIS CREEP IN YOUR NEIGHBORHOOD?” Becky was soon publishing a website with similar sentiments.
Jeff was confused. Becky had named him in her civil suit five years earlier—she alleged that he stood outside her door while a Bulgarian tenant raped her, allegations Jeff categorically denied. But Mildred and Julie Greve, Georges wife, had been the main targets of that legal action.
![d](https://hips.hearstapps.com/hmg-prod.s3.amazonaws.com/images/screengrab-esq060122-statenislandcult-006-1654179539.jpg?crop=0.881xw:0.890xh;0.0604xw,0&resize=480:*)
Becky Johnson appeared on episodes of Americas Most Wanted in 2006 and 2007.
Courtesy
(Becky did have some legitimate gripes with Mildred, who had promised attention and care and held herself out as a therapist despite not being licensed. Becky later sought evaluations from three separate mental-health providers in the late 1990s. She did not respond to my request for comment.)
Rattled, Jeff obtained a restraining order. But the Core Group seemed unconcerned. He suspected Becky was reading Ganass online newsletter, a potpourri of birthday announcements, poetry, and light admonishments. (“Are you a net turner-on-er of lights, or a net turner-off-er?”) But when he asked them to remove details of his personal schedule, they declined.
Jeff requested a few security measures at Ganas, including better lighting around the homes. In an August 2005 email from Spain, George refused, adding in a postscript that there was a landline phone by his pool, should anyone need to reach him. Some Ganasians *tut-tutted,* telling Jeff that he was not only overreacting but actually proving the point that Mildred had made about him for a quarter century: He was too concerned about other peoples opinions.
The obvious thing to do would be to get the hell out. Today, Jeff says the Core Groups refusal to pay him what he felt he was owed is why he didnt leave. But there was another reason, too. The way Jeff tried to leave was the same way he had stayed, by talking in endless circles, as if he needed their permission. He wanted the groups feedback on his plan, even though feedback was part of what he wanted to escape.
Then came the night he was shot.
---
In the ambulance on the way to the hospital, as EMTs worked to stop the bleeding, Jeff identified his shooter: Becky. From a bed in the ICU, he laughed at the tabloid headlines—dippy hippie bang bang, screamed the *Daily News* front page—but his euphoria was short-lived. Police advised him to stay away from Ganas, as Becky was still on the lam. After a three-week hospital stay, he decided to fly home to Denver and the family hed distanced himself from for decades. He felt ashamed. “My condition confirmed all of my familys fears about what I had been doing,” he said.
Jeff moved in with his mother and endured grueling physical-therapy sessions so intense that he once woke up in an emergency room after suffering a bout of transient global amnesia. A high school classmate took him to a range and taught him how to shoot. He bought two handguns.
*Americas Most Wanted* aired multiple episodes about the shooting. Jeff published a letter in the *Daily News,* imploring Becky to “put an end to this nightmare.” He hired a private investigator to help kick-start the NYPDs manhunt for her. That summer, Julie Greve was at home when Becky called, read out a bank account number, and demanded $1 million in cash.
In June 2007, Becky was arrested in Philadelphia after registering a car in her own name. At her apartment, police found an AK-47, one thousand rounds of ammunition, hair dye, eleven license plates, and bullet-riddled human-silhouette shooting targets.
Jeff wanted to hire a lawyer to pressure the district attorney to go to trial rather than cut a plea deal with less potential prison time for Becky. But when he wrote to the Core Group asking for help, they were cool on the idea of spending more money. Mildred herself felt no responsibility: “I guess, if anyone could be to blame, it would be me, both for taking her in, and then for kicking her out,” she wrote to Jeff. “But I dont feel guilty. I tried to help her and failed.”
Jeff discovered that his name was on a little-used Ganas credit card, and he took a cash advance to hire a lawyer, who lobbied the district attorney. For her part, Becky hired a shrewd local attorney who presented a simple defense: Becky didnt pull the trigger—but if she did, Jeff and his parasitic cult of ex-hippies and sex weirdos deserved it.
Jeff had been letting other people make decisions for him for decades, and to terrible effect. Now, with his physical safety in the hands of a jury, it was fitting that the streak continued. After deliberating for four and a half hours, a Staten Island jury acquitted Becky of all charges.
Jeff limped away from the scene. “Im stunned,” he said to a reporter. “Thats about it.”
Now that he was functionally kicked out of the Core Group, Jeff decided to start looking out for Jeff. In 2008, he sued for his share of Ganass assets, and then filed a second suit alleging that they had failed to implement security measures before the shooting. His estranged wife Susan and the rest of the Core Group, his so-called self-selected family for a quarter century, stopped speaking to him.
Jeff also sued Becky in civil court. A lawyer friend warned that he would likely never see a dime, but he pressed on. Compelling Ganas members to be deposed felt like an act of accountability for the whole group. “In my mind its: You got to face the music,” he said recently. Jeff and the group eventually settled for an undisclosed amount. In 2014, a civil jury found Becky responsible for shooting Jeff, as well as defaming and harassing him, and awarded him $1.3 million in damages. (He has received no money to date.)
A year later, in an unrelated case, Missouri police arrested Becky for stalking a former classmate.
---
It surprised me to learn that Jeff loves documentaries about cults. When I told him Id spoken to Rick Alan Ross, he got excited. He was game to go through a checklist Ross has developed to identify the hallmarks of a cult: an authoritarian leader with no meaningful accountability; a process of indoctrination; and financial, sexual, or other exploitation of group members. Jeff agreed that Ganas had checked all those boxes during the years he lived there, but he couldnt bring himself to say he had *been in a cult.* He insisted that what had happened to him happens to plenty of people. Sure, maybe his life had some of the trappings of the glossy cult docs he likes to watch. But how different, really, was he from the men who walk around every day, stuck in jobs, friendships, and marriages going nowhere, afraid to leave, afraid to stay, wondering where their lives went?
We love cult stories in part because they offer reassurance: *Who would be stupid enough to get involved with all that? Not you.* In the TV version of Jeffs story, he would leave Ganas to take control of his destiny. Mildreds spell now broken, we would welcome this pitiable creature back into the fold. Peppy music, roll credits.
But Jeffs break wasnt clean. In fact, it was hardly a break at all. Through the lawsuits and recriminations, he never really stopped talking to Mildred. They exchanged letters, and Jeff visited her Brighton Beach apartment for dinner. He wanted the woman who had sent his life careening off course to explain how he could get it back on track. “I still think maybe I was trying to make some sense of things, holding on to the belief still that she...would shed some light on things that I was struggling with,” he said recently.
Mildred eventually moved back into the Ganas compound, where she slipped into dementia, and died, in January 2015, at the age of ninety-two. Her memorial was at the Bowery Poetry Club; more than two hundred Ganasians and friends from her GROW days showed up to celebrate her life. Jeff desperately wanted to go to the funeral, but he stayed home—Dave, her widower, had cautioned against it, insisting there was too much bad blood. But Bruno did attend. He remembered just one person that day who said anything negative about Mildred: her daughter Patty, who had warned Jeff about her mother all those years ago.
After Mildreds death, Jeff yearned to make sense of his time at Ganas, but Susan, George, and the rest of the Core Group refused to speak to him. Instead, he reached out to former members.
Jeff noticed a pattern. Men whose confidence Mildred picked apart had actually done quite well for themselves outside Ganass walls. Jorge Calvo has a thriving career in film postproduction and is married with two daughters. Alfonso recently retired as an executive with a Spanish oil company and is also married, with three daughters of his own. Bruno is working on a bachelors degree and sells his paintings through Saatchi. Hes married, too. As a rule, the sooner they left, the better off they ended up.
Other former members are eager to downplay their involvement. Dave Greenson runs an anti-racism consulting firm and declined to speak on the record. George Caneda declined to comment, too. He lives in Spain, where he tweets about cryptocurrency and his skepticism of the efficacy of vaccines and Covid mandates.
Susan Grossman now leads Ganas, and she hosts regular informational sessions for prospective members, holding them via Zoom since the pandemic started. In December 2021, she tersely ejected a reporter from the meeting.
One former member who declined to speak on the record cautioned me: The keyhole through which you view this story wildly affects the telling. Some ex-members had a wonderful time on Corson Avenue. And many of those who fled Ganas have since made new, rich lives. Cults, like society at large, dole out joy and misery in unequal servings, both during the party and afterward.
Which brings us to Jeff. These days, he loves taking his nieces and nephews on hiking trips and deeply regrets not having kids of his own. His bullet--riddled left arm still aches in the cold.
“I would say Mildred is the worst thing that ever happened to Jeff,” said Bruno, who is still in touch with him. “He needed a normal life.”
Jeff remains baffled by his own life story. He often leans on bromides. Hed forgiven Mildred and Becky, he said, and “now I need to forgive myself.” He told me that “cultlike things” had happened to him, a phrase hed clearly been workshopping in his head to make sense of those years on Corson Avenue. He was trapped in the circular analysis of his condition that hed been using since the days of Mildreds problem books.
As we got to know each other, he often wanted *me* to explain what the hell had happened to him. “I dont know, you tell me!” was his refrain.
So I told Jeff what I saw. After all these years, couldnt he see that he might have been taken for a ride? That Mildred wasnt all that wise, that perhaps she was just a washed-up Svengali who found him in the Arizona desert: the first recruit for her second act. But he couldnt condemn her; he even wondered if she was a victim herself.
“There had to be some kind of virus going around that space that infected all of us, including Mildred,” Jeff said. “Maybe she was the spreader of it, but she got infected somehow. Right? I dont know.” After a relationship with her that spanned more than four decades, “I dont know” was the best he could muster.
When we parted ways on the sidewalk, I turned back just in time to see Jeff disappear into the cold night air. I felt a twinge in my stomach that felt like hunger and then sank into a nervous energy.
At a nearby sports bar, I started typing up my notes. The room hummed with the white noise of commercials and banter that soothes the quiet desperation of men. Floating on the aroma of draft beer was the sour truth: Id been desperate to convince Jeff that hed joined a cult, as if naming it would lend respectability to the thwarted lives of men who had not joined one. He had played along and accidentally revealed something far darker: His whole life, hed been locked in a prison of self-doubt and indecision. Mildred hadnt put him there. Shed merely taken away the keys. What separated Jeff from the man who wont leave a bad marriage or a soul-killing job was the bad luck to have met her. He was still sitting in that cell, waiting to be let out by a warden who was never coming back.
But there was a lockpick. Jeff had tucked it up his sleeve so many years ago hed forgotten it was there. Deep in his masters thesis, that naive blueprint for the ruinous three decades of his life that would follow, was a quote hed cited from the essayist Wendell Berry: “We have come, or we are coming fast, to the end of what we were given. The good possibilities that may lie ahead are only those that we will make ourselves, by a wiser and more generous and more exacting use of what we have left.”
Jeff Gross could keep processing the past. Or he could stop talking and start searching. The last real choice he made was to go to the pool in 1973. Wherever that nineteen-year-old was, Jeff needed to find him, stare into those pale, virgin eyes, and tell him what to do next.
This content is created and maintained by a third party, and imported onto this page to help users provide their email addresses. You may be able to find more information about this and similar content at piano.io
&emsp;
&emsp;
---
`$= dv.el('center', 'Source: ' + dv.current().Link + ', ' + dv.current().Date.toLocaleString("fr-FR"))`

@ -0,0 +1,113 @@
---
Tag: ["Society", "US", "MassShooting"]
Date: 2022-06-14
DocType: "WebClipping"
Hierarchy:
TimeStamp: 2022-06-14
Link: https://www.politico.com/news/magazine/2022/05/27/stopping-mass-shooters-q-a-00035762
location:
CollapseMetaTable: Yes
---
Parent:: [[@News|News]]
Read:: [[2022-06-18]]
---
&emsp;
```button
name Save
type command
action Save current file
id Save
```
^button-TwoProfessorsFoundWhatCreatesaMassShooterNSave
&emsp;
# Two Professors Found What Creates a Mass Shooter. Will Politicians Pay Attention?
Their findings, also published in the 2021 book, *The Violence Project: How to Stop a Mass Shooting Epidemic*, reveal striking commonalities among the perpetrators of mass shootings and suggest a data-backed, mental health-based approach could identify and address the next mass shooter before he pulls the trigger — if only politicians are willing to actually engage in finding and funding targeted solutions. POLITICO talked to Peterson and Densely from their offices in St. Paul, Minn., about how our national understanding about mass shooters has to evolve, why using terms like “monster” is counterproductive, and why political talking points about mental health need to be followed up with concrete action.
**POLITICO:** Since you both spend much of your time studying mass shootings, I wonder if you had the same stunned and horrified reaction as the rest of us to the Uvalde elementary school shooting. Or were you somehow expecting this?
**Jillian Peterson:** On some level, we were waiting because mass shootings are socially contagious and when one really big one happens and gets a lot of media attention, we tend to see others follow. But this one was particularly gutting. I have three elementary school kids, one of which is in 4th grade.
**James Densley:** Im also a parent of two boys, a 5-year-old and a 12-year-old. My 12-year-old knows what I do for a living and hes looking to me for reassurance and I didnt have the words for him. How do I say, “This happened at a school, but now its OK for you to go to your school and live your life.” Its heartbreaking.
**POLITICO:** Are you saying theres a link between the Buffalo and Uvalde shootings?
**Peterson:** We dont know for sure at this point, but our research would say that its likely. You had an 18-year-old commit a horrific mass shooting. His name is everywhere and we all spend days talking about “replacement theory.” That shooter was able to get our attention. So, if you have another 18-year-old who is on the edge and watching everything, that could be enough to embolden him to follow. We have seen this happen before.
**Densley:** Mass shooters study other mass shooters. They often find a way of relating to them, like, “There are other people out there who feel like me.”
**POLITICO:** Can you take us through the profile of mass shooters that emerged from your research?
**Peterson:** Theres this really consistent pathway. Early childhood trauma seems to be the foundation, whether violence in the home, sexual assault, parental suicides, extreme bullying. Then you see the build toward hopelessness, despair, isolation, self-loathing, oftentimes rejection from peers. That turns into a really identifiable crisis point where theyre acting differently. Sometimes they have previous suicide attempts.
Whats different from traditional suicide is that the self-hate turns against a group. They start asking themselves, “Whose fault is this?” Is it a racial group or women or a religious group, or is it my classmates? The hate turns outward. Theres also this quest for fame and notoriety.
**POLITICO:** Youve written about how mass shootings are always acts of violent suicide. Do people realize this is whats happening in mass shootings?
**Peterson:** I dont think most people realize that these are suicides, in addition to homicides. Mass shooters design these to be their final acts. When you realize this, it completely flips the idea that someone with a gun on the scene is going to deter this. If anything, thats an incentive for these individuals. They are going in to be killed.
Its hard to focus on the suicide because these are horrific homicides. But its a critical piece because we know so much from the suicide prevention world that can translate here.
**POLITICO:** Ive heard many references over the last few weeks to “monsters” and “pure evil.” Youve said this kind of language actually makes things worse. Why?
**Densley:** If we explain this problem as pure evil or other labels like terrorist attack or hate crime, we feel better because it makes it seem like weve found the motive and solved the puzzle. But we havent solved anything. Weve just explained the problem away. What this really problematic terminology does is prevent us from recognizing that mass shooters are us. This is hard for people to relate to because these individuals have done horrific, monstrous things. But three days earlier, that school shooter was somebodys son, grandson, neighbor, colleague or classmate. We have to recognize them as the troubled human being earlier if we want to intervene before they become the monster.
**Peterson:** The Buffalo shooter told his teacher that he was going to commit a murder-suicide after he graduated. People arent used to thinking that this kind of thing could be real because the people who do mass shootings are evil, psychopathic monsters and this is a kid in my class. Theres a disconnect.
**POLITICO:** Do you get criticism about being too sympathetic toward mass shooters?
**Peterson:** Were not trying to create excuses or say they shouldnt be held responsible. This is really about, what is the pathway to violence for these people, where does this come from? Only then can we start building data-driven solutions that work. If were unwilling to understand the pathway, were never going to solve this.
**POLITICO:** So, what are the solutions?
**Densley:** There are things we can do right now as individuals, like safe storage of firearms or something as simple as checking in with your kid.
**Peterson:** Then we really need resources at institutions like schools. We need to build teams to investigate when kids are in crisis and then link those kids to mental health services. The problem is that in a lot of places, those services are not there. Theres no community mental health and no school-based mental health. Schools are the ideal setting because it doesnt require a parent to take you there. A lot of perpetrators are from families where the parents are not particularly proactive about mental health appointments.
**POLITICO:** In your book, you say that in an ideal world, 500,000 psychologists would be employed in schools around the country. If you assume a modest salary of $70,000 a year, that amounts to over $35 billion in funding. Are you seeing any national or state-level political momentum for even a sliver of these kind of mental health resources?
**Densley:** Every time these tragedies happen, you always ask yourself, “Is this the one thats going to finally move the needle?” The Republican narrative is that were not going to touch guns because this is all about mental health. Well then, we need to ask the follow-up question of whats the plan to fix that mental health problem. Nobodys saying, “Lets fund this, lets do it, well get the votes.” Thats the political piece thats missing here.
**POLITICO:** Are Democrats talking about mental health?
**Densley:** Too often in politics it becomes an either-or proposition. Gun control or mental health. Our research says that none of these solutions is perfect on its own. We have to do multiple things at one time and put them together as a comprehensive package. People have to be comfortable with complexity and thats not always easy.
**Peterson:** Post-Columbine theres been this real focus on hardening schools — metal detectors, armed officers, teaching our kids to run and hide. The shift Im starting to see, at least here in Minnesota, is that people are realizing hardening doesnt work. Over 90 percent of the time, school shooters target their own school. These are insiders, not outsiders. We just had a bill in Minnesota that recognized public safety as training people in suicide prevention and funding counselors. I hope we keep moving in that direction.
**Densley:** In Uvalde, there was an army of good guys with guns in the parking lot. The hard approach doesnt seem to be getting the job done.
**POLITICO:** Do you support red flag laws?
**Peterson:** Our research certainly supports them, because so many perpetrators are actively showing warning signs. They are talking about doing this and telling people theyre suicidal. But what Buffalo showed us is that just because you have a red flag law on the books doesnt mean people are trained in how it works and how they should be implementing it.
**POLITICO:** What has to change to make the laws more effective?
**Densley:** There are two pieces. One is training and awareness. People need to know that the law exists, how it works and who has a duty to report an individual. The second piece is the practical component of law enforcement. What is the mechanism to safely remove those firearms? Especially if you have a small law enforcement presence, maybe one or two officers, and youre asking them to go into somebodys rural home and take care of their entire arsenal of weapons.
**POLITICO:** What should have happened in Buffalo, given that the state of New York has a red flag law?
**Peterson:** From what we know, it sounds like there should have been more education with the police, the mental health facility and the school. If any one of those three had initiated the red flag process, it should have prevented the shooter from making the purchase.
It really shows the limitations of our current systems. Law enforcement investigated, but the shooter had no guns at that moment, so it was not an immediate threat. The mental health facility concluded it was not an immediate crisis, so he goes back to school. If its not a red-hot situation in that moment, nobody can do anything. It was none of these peoples jobs to make sure that he got connected with somebody in the community who could help him long term.
**Densley:** Also, something happens to put people on the radar. Even if theyre not the next shooter, somethings not right. How can we help these individuals reintegrate in a way thats going to try and turn their lives around? That gets lost if we fixate just on the word “threat.”
**POLITICO:** I was struck by a detail in your book about one of the perpetrators you investigated. Minutes before he opened fire, you report that he called a behavior health facility. Is there always some form of reaching out or communication of intent before it happens?
**Peterson:** You dont see it as often with older shooters who often go into their workplaces. But for young shooters, its almost every case. We have to view this “leakage” as a cry for help. If youre saying, “I want to shoot the school tomorrow,” you are also saying, “I dont care if I live or die.” Youre also saying, “Im completely hopeless,” and youre putting it out there for people to see because part of you wants to be stopped.
We have to listen because pushing people out intensifies their grievance and makes them angrier. The Parkland shooter had just been expelled from school and then came back. This is not a problem we can punish our way out of.
&emsp;
&emsp;
---
`$= dv.el('center', 'Source: ' + dv.current().Link + ', ' + dv.current().Date.toLocaleString("fr-FR"))`

@ -0,0 +1,321 @@
---
Tag: ["Crime", "MassShooting", "Uvalde"]
Date: 2022-06-14
DocType: "WebClipping"
Hierarchy:
TimeStamp: 2022-06-14
Link: https://www.texastribune.org/2022/06/09/uvalde-chief-pete-arredondo-interview/
location:
CollapseMetaTable: Yes
---
Parent:: [[@News|News]]
Read:: No
---
&emsp;
```button
name Save
type command
action Save current file
id Save
```
^button-UvaldeschoolspolicechiefdefendsdelayinconfrontinggunmanNSave
&emsp;
# Waiting for keys, unable to break down doors: Uvalde schools police chief defends delay in confronting gunman
*[Sign up for The Brief](https://www.texastribune.org/newsletters/the-brief/?utm_medium=website&utm_source=trib-ads-owned&utm_campaign=trib-marketing&utm_term=inline-CTA-brief), our daily newsletter that keeps readers up to speed on the most essential Texas news.*
*Editors note: This story contains explicit language.*
Only a locked classroom door stood between [Pete Arredondo](https://www.texastribune.org/2022/06/03/pete-arredondo-uvalde-school-police-chief/) and a chance to bring down the gunman. It was sturdily built with a steel jamb, impossible to kick in.
He wanted a key. One goddamn key and he could get through that door to the kids and the teachers. The killer was armed with an AR-15. Arredondo thought he could shoot the gunman himself or at least draw fire while another officer shot back. Without body armor, he assumed he might die.
“The only thing that was important to me at this time was to save as many teachers and children as possible,” Arredondo said.
The chief of police for the Uvalde school district spent more than an hour in the hallway of Robb Elementary School. He called for tactical gear, a sniper and keys to get inside, holding back from the doors for 40 minutes to avoid provoking sprays of gunfire. When keys arrived, he tried dozens of them, but one by one they failed to work.
“Each time I tried a key I was just praying,” Arredondo said. Finally, 77 minutes after the massacre began, officers were able to unlock the door and fatally shoot the gunman.
In his first extended comments since the May 24 massacre, the deadliest school shooting in Texas history, Arredondo gave The Texas Tribune [an account of what he did inside the school during the attack](https://www.texastribune.org/2022/05/27/uvalde-texas-school-shooting-timeline/). He answered questions via a phone interview and in statements provided through his lawyer, George E. Hyde.
Aside from the Texas Department of Public Safety, which did not respond to requests for comment for this article, Arredondo is the only other law enforcement official to publicly tell his account of the police response to the shooting.
Arredondo, 50, insists he took the steps he thought would best protect lives at his hometown school, one he had attended himself as a boy.
Students fled and authorities helped others evacuate after a gunman entered Robb Elementary School in Uvalde on May 24. Credit: Courtesy of Pete Luna/Uvalde Leader-News
“My mind was to get there as fast as possible, eliminate any threats, and protect the students and staff,” Arredondo said. He noted that some 500 students from the school were safely evacuated during the crisis.
Arredondos decisions — like those of other law enforcement agencies that responded to the massacre that left 21 dead — are under intense scrutiny as federal and state officials try to decide what went wrong and what might be learned.
Whether the inability of police to quickly enter the classroom prevented the 21 victims — 19 students and two educators — from getting life-saving care is not known, and may never be. Theres evidence, including the fact that a teacher died [while being transported](https://www.nytimes.com/2022/06/09/us/uvalde-shooting-police-investigation.html) to the hospital, that suggests taking down the shooter faster might have made a difference. On the other hand, many of the victims likely died instantly. A pediatrician who attended to the victims [described small bodies “pulverized”](https://www.texastribune.org/2022/06/08/uvalde-congress-students-testify-gun-violence/) and “decapitated.” Some children were identifiable only by their clothes and shoes.
In the maelstrom of anguish, outrage and second-guessing that immediately followed the second deadliest school shooting in American history, the time Arredondo and other officers spent outside that door — more than an hour — have become emblems of failure.
As head of the six-member police force responsible for keeping Uvalde schools safe, Arredondo has been singled out for much of the blame, particularly by state officials. They criticized him for failing to take control of the police response and said he made the “wrong decision” that delayed officers from entering the classroom.
Arredondo has faced death threats. News crews have camped outside his home, forcing him to go into hiding. Hes been called cowardly and incompetent.
Neither accusation is true or fair, he says.
“Not a single responding officer ever hesitated, even for a moment, to put themselves at risk to save the children,” Arredondo said. “We responded to the information that we had and had to adjust to whatever we faced. Our objective was to save as many lives as we could, and the extraction of the students from the classrooms by all that were involved saved over 500 of our Uvalde students and teachers before we gained access to the shooter and eliminated the threat.”
Arredondos explanations dont fully address all the questions that have been raised. The Tribune spoke to seven law enforcement experts about Arredondos description of the police response. All but one said that serious lapses in judgment occurred.
Most strikingly, they said, by running into the school with no key and no radios and failing to take charge of the situation, the chief appears to have contributed to a chaotic approach in which officers deployed inappropriate tactics, adopted a defensive posture, failed to coordinate their actions, and wasted precious time as students and teachers remained trapped in two classrooms with a gunman who continued to fire his rifle.
Hyde, Arredondos lawyer, said those criticisms dont reflect the realities police face when theyre under fire and trying to save lives. Uvalde is a small working-class city of about 15,000 west of San Antonio. Its small band of school police officers doesnt have the staffing, equipment, training, or experience with mass violence that larger cities might.
His client ran straight toward danger armed with 29 years of law enforcement experience and a Glock 22 handgun. With no body armor and no second thoughts, the chief committed to stop the shooter or die trying.
![Community members gather in prayer at the Uvalde downtown plaza following the shooting at Robb Elementary School in Uvalde o…](https://thumbnails.texastribune.org/KG4DnQZp-Z3MmqaUtxQZbTA0nxg=/850x570/smart/filters:quality(75)/https://static.texastribune.org/media/files/bf52e5091534dc9ed3af073f051b7971/Uvalde%20May%2024%20REUTERS%20TT.jpg)
Community members gathered to pray at the Uvalde downtown plaza on May 24 after the shooting at Robb Elementary School. Credit: Mikala Compton/Austin American-Statesman via REUTERS
## 77 minutes
One of Arredondos most consequential decisions was immediate. Within seconds of arriving at the northeast entrance of Robb Elementary around 11:35 a.m., he left his police and campus radios outside the school.
To Arredondo, the choice was logical. An armed killer was loose on the campus of the elementary school. Every second mattered. He wanted both hands free to hold his gun, ready to aim and fire quickly and accurately if he encountered the gunman.
Arredondo provided the following account of how the incident unfolded in a phone interview, in written answers, and in explanations passed through his lawyer.
He said he didnt speak out sooner because he didnt want to compound the communitys grief or cast blame at others.
Thinking he was the first officer to arrive and wanting to waste no time, Arredondo believed that carrying the radios would slow him down. One had a whiplike antenna that would hit him as he ran. The other had a clip that Arredondo knew would cause it to fall off his tactical belt during a long run.
Arredondo said he knew from experience that the radios did not work in some school buildings.
But that decision also meant that for the rest of the ordeal, he was not in radio contact with the scores of other officers from at least five agencies that swarmed the scene.
Almost immediately, Arredondo teamed up with a Uvalde police officer and began checking classrooms, looking for the gunman.
As they moved to the west side of the campus, a teacher pointed them to the wing the gunman had entered. As Arredondo and the Uvalde police officer ran toward it, they heard a “great deal of rounds” fired off inside. Arredondo believes that was the moment the gunman first entered adjoining classrooms 111 and 112 and started firing on the children with an AR-15 rifle.
Arredondo and the Uvalde officer entered the buildings south side and saw another group of Uvalde police officers entering from the north.
Arredondo checked to see if the door on the right, room 111, would open. Another officer tried room 112. Both doors were locked.
Arredondo remembers the gunman fired a burst of shots from inside the classroom, grazing the police officers approaching from the north. Some of the bullets pierced the classroom door, and others went through the classroom wall and lodged in the wall adjacent to the hallway, where there were other classrooms. The officers on the north end of the hallway retreated after being shot, but they werent seriously injured and returned shortly after to try to contain the gunman.
Because the gunman was already inside the locked classroom, some of the measures meant to protect teachers and students in mass shooting situations worked against police trying to gain entry.
Arredondo described the classroom door as reinforced with a hefty steel jamb, designed to keep an attacker on the outside from forcing their way in. But with the gunman inside the room, that took away officers ability to immediately kick in the door and confront the shooter.
Arredondo believed the situation had changed from that of an active shooter, to a gunman who had barricaded himself in a classroom with potential other victims.
![A woman holds her head during mass at Primera Iglesia Bautista Church in Uvalde on May 29, 2022.](https://thumbnails.texastribune.org/rjf3O3yh13W5QfrR_AwXVU92ozk=/850x570/smart/filters:quality(75)/https://static.texastribune.org/media/files/ef9a97c9b6477403bee9fc6aa5efcd09/Uvalde%20Mass%20EL%20TT%2032.jpg)
People worshipped during Mass at Primera Iglesia Bautista church in Uvalde on May 29. Credit: Evan L'Roy for The Texas Tribune
Texas Department of Public Safety officials and news outlets have reported that the shooter fired his gun at least two more times as police waited in the hallway outside the classrooms for more than an hour. And DPS officials have said dispatchers were relaying information about 911 calls coming from children and teachers in the classrooms, begging the police for help.
[Arredondo said he was not aware of the 911 calls](https://www.texastribune.org/2022/06/02/uvalde-shooting-roland-gutierrez-911-calls/) because he did not have his radio and no one in the hallway relayed that information to him. Arredondo and the other officers in the hallway took great pains to remain quiet. Arredondo said they had no radio communications — and even if theyd had radios, his lawyer said, they would have turned them off in the hallway to avoid giving away their location. Instead, they passed information in whispers for fear of drawing another round of gunfire if the shooter heard them.
Finding no way to enter the room, Arredondo called police dispatch from his cellphone and asked for a SWAT team, snipers and extrication tools, like a fire hook, to open the door.
Arredondo remained in the hallway for the rest of the ordeal, waiting for a way to get into the room, and prepared to shoot the gunman if he tried to exit the classroom.
Arredondo assumed that some other officer or official had taken control of the larger response. He took on the role of a front-line responder.
He said he never considered himself the scenes incident commander and did not give any instruction that police should not attempt to breach the building. DPS officials have described Arredondo as the incident commander and said Arredondo made the call to stand down and treat the incident as a “barricaded suspect,” which halted the attempt to enter the room and take down the shooter. “I didnt issue any orders,” Arredondo said. “I called for assistance and asked for an extraction tool to open the door.”
Officers in the hallway had few options. At some point, Arredondo tried to talk to the gunman through the walls in an effort to establish a rapport, but the gunman did not respond.
With the gunman still firing sporadically, Arredondo realized that children and teachers in adjacent rooms remained in danger if the gunman started shooting through the walls.
“The ammunition was penetrating the walls at that point,” Arredondo said. “Weve got him cornered, were unable to get to him. You realize you need to evacuate those classrooms while we figured out a way to get in.”
Lights in the classrooms had also been turned off, another routine lockdown measure that worked against the police. With little visibility into the classroom, they were unable to pinpoint the gunmans location or to determine whether the children and teachers were alive.
Arredondo told officers to start breaking windows from outside other classrooms and evacuating those children and teachers. He wanted to avoid having students coming into the hallway, where he feared too much noise would attract the gunmans attention.
While other officers outside the school evacuated children, Arredondo and the officers in the hallway held their position and waited for the tools to open the classroom and confront the gunman.
At one point, a Uvalde police officer noticed Arredondo was not wearing body armor. Worried for the chiefs safety, the Uvalde officer offered to cover for Arredondo while he ran out of the building to get it.
“Ill be very frank. He said, Fuck you. Im not leaving this hallway,’” Hyde recounted. “He wasnt going to leave without those kids.”
Without any way to get into the classroom, officers in the hallway waited desperately for a way to secure entry and did the best they could to otherwise advance their goal of saving lives.
“Its not that someone said stand down,” Hyde said. “It was Right now, we cant get in until we get the tools. So were going to do what we can do to save lives. And what was that? It was to evacuate the students and the parents and the teachers out of the rooms.”
Tools that might have been useful in breaking through the door never materialized, but Arredondo had also asked for keys that could open the door. Unlike some other school district police departments, Uvalde CISD officers dont carry master keys to the schools they visit. Instead, they request them from an available staff member when theyre needed.
Robb Elementary did not have a modern system of locks and access control. “Youre talking about a key ring thats got to weigh 10 pounds,” Hyde said.
Eventually, a janitor provided six keys. Arredondo tried each on a door adjacent to the room where the gunman was, but it didnt open.
Later, another key ring with between 20 and 30 keys was brought to Arredondo.
“I was praying one of them was going to open up the door each time I tried a key,” Arredondo said in an interview.
None did.
Eventually, the officers on the north side of the hallway called Arredondos cellphone and told him they had gotten a key that could open the door.
The officers on the north side of the hallway formed a group of mixed law enforcement agencies, including U.S. Border Patrol, to enter the classroom and take down the shooter, Arredondo said.
Ten days after the shooting, The New York Times [reported](https://www.nytimes.com/2022/06/03/us/uvalde-police-response.html?referringSource=articleShare) that a group of U.S. Border Patrol agents ignored a directive spoken into their earpieces not to enter the room. The Times has since reported that Arredondo did not object when the team entered the room.
Hyde said if a directive delaying entry was issued, it did not come from Arredondo, but the Times reported that someone was issuing orders at the scene. Hyde said he did not know who that person was. The Border Patrol declined to comment.
At 12:50 p.m., as the officers entered the classroom, Arredondo held his position near the south classroom door in the hallway, in case the gunman tried to run out that door.
At last, the shooter, Salvador Ramos, 18, was brought down. A harrowing standoff rapidly became an effort to find the wounded and count the dead.
Once the officers cleared the room, Border Patrol agents trained to render emergency medical service assessed the wounded. Arredondo and other officers formed a line to help pass the injured children out of the hallway and to emergency medical care.
![Police block off the road leading to the scene of a school shooting at Robb Elementary on May 24, 2022, in Uvalde.](https://thumbnails.texastribune.org/dOL3VSFgSU3DB9bA3XwJDS8UrAM=/850x570/smart/filters:quality(75)/https://static.texastribune.org/media/files/ca327da7068cb3c7ae7f2f66a33224c6/Uvalde%20School%20Shooting%20SF%2009.jpg)
Police blocked off the road leading to the scene of a school shooting May 24 at Robb Elementary. Credit: Sergio Flores for The Texas Tribune
## Expert analysis
A police officer intentionally ditching his radio while answering a call? “Ive never heard anything like that in my life,” said Steve Ijames, a police tactics expert and former assistant police chief of Springfield, Missouri.
The discarded radio, the missing key and the apparent lack of an incident commander are some of questions raised by experts about the response of Arredondo and the various agencies involved.
Officers are trained never to abandon their radios, their primary communication tool during an emergency, said Ijames. That Arredondo did so the moment he arrived on scene is inexplicable, he said.
Ijames added that it is “inconceivable” that Arredondos officers did not have a plan to access any room or building on campus at any moment, given that the school district makes up the entirety of the tiny forces jurisdiction.
The experts, which included active-shooting researchers and retired law enforcement personnel, homed in on the moment officers entered the school and found the doors to rooms 111 and 112 locked. Three said this moment afforded Arredondo a chance to step back, regroup and work with other officers to devise a new strategy.
“It takes having someone who has the wherewithal to come up with a quick, tactical plan and executing it,” said former Seguin police Chief Terry Nichols. “It may not be the best plan, but a plan executed vigorously is better than the best unexecuted plan in the world.”
Nichols, who teaches classes on active-shooter responses, said he understands the instinct for command staff to want to confront a gunman themselves. But he said commanders must not lose focus of their role in an emergency.
“We have to — as leaders, especially as a chief of police — step back and allow our men and women to go do what they do, and use our training and experience where theyre needed, to command and control a chaotic situation,” Nichols said.
Active-shooter protocols developed after the 1999 shooting at Columbine High School, where a slow police response delayed medical care that could have saved several victims, train police to confront shooters immediately, without waiting for backup and without regard for their personal safety. An active-shooting training that Uvalde school district police attended in March stressed these tactics, warning that responders likely would be required to place themselves in harms way.
“The training that police officers have received for more than a decade mandates that when shots are fired in an active-shooter situation, officers or an officer needs to continue through whatever obstacles they face to get to the shooter, period,” said [Katherine Schweit](https://www.katherineschweit.com/), a retired FBI agent who co-wrote the bureaus foundational research on mass shootings. “If that means they go through walls, or go around the back through windows, or through an adjoining classroom, they do that.”
Bruce Ure, a former Victoria police chief, said drawing conclusions about police conduct during the shooting is premature since the authorities have not completed their investigations. He said he believes Arredondo acted reasonably given the circumstances he faced.
Ure disagreed that Arredondo should have retreated into a command role once other officers arrived, since most active-shooter events last mere minutes. He argued that no amount of ad-hoc planning outside would have changed the outcome of the massacre once the shooter got inside the classrooms.
He said attempting to breach windows or open classroom doors by force were unrealistic options that would have exposed police and children to potentially fatal gunfire with little chance of success. Officers only choice, he said, was to wait to find a key, which he agreed should not have taken so long.
Hyde said attempting to enter through windows would have “guaranteed all the children in the rooms would be killed” along with several officers. He said this “reckless and ineffective” action, when police could not see where the shooter was, would have made officers easy targets to be picked off at will.
Ure, who as an attendee was wounded in the hand during the 2017 Las Vegas concert shooting that killed 60 people, acknowledged the post-Columbine wisdom that immediately confronting shooters is paramount. But he said the scene inside Robb Elementary presented a “perfect storm” of an active shooter barricaded with hostages.
“Theres no manual for this type of scenario,” Ure said. “If people need to be held appropriately accountable, then so be it. But I think the lynch-mob mentality right now isnt serving any purpose, and its borderline reckless.”
![Emergency responders block off Robb Elementary School where 21 people including children were killed in a shooting on May 24…](https://thumbnails.texastribune.org/UdyYHndo84l9t2g0I35JYhV5apA=/850x570/smart/filters:quality(75)/https://static.texastribune.org/media/files/d581a6f393fad2c12ced7167eaa5bf1d/Uvalde%20May%2024%20REUTERS%20TT%2002.jpg)
Emergency responders blocked off Robb Elementary School in Uvalde, where 21 people were killed in a shooting on May 24. Credit: Angela Piazza/Corpus Christi Caller-Times via REUTERS
## Questions over command
The day after the shooting, Arredondo and other local officials stood behind Gov. [Greg Abbott](https://www.texastribune.org/directory/greg-abbott/) and DPS Director Steve McCraw as they held their first major news conference to address the slaughter.
Abbott lauded law enforcement agencies for their “amazing courage” and said the actions of police officers were the reason the shooting was “not worse.” McCraw said a school resource officer had “engaged” the shooter outside the building but was unable to stop him from entering.
To Arredondo, that information did not ring true. Arredondo turned to a DPS official, whom he declined to identify, and asked why state officials had been given inaccurate information.
In a stunning reversal at a news conference the next day, the DPS regional director for the area, Victor Escalon, [retracted](https://www.texastribune.org/2022/05/26/uvalde-school-shooting-police-response/) McCraws initial claim and said the gunman “was not confronted by anybody” before entering the school.
At a third news conference the following afternoon, Abbott said he was “[livid](https://www.texastribune.org/2022/05/27/greg-abbott-texas-uvalde-shooting/)” about being “misled” about the police response to the shooting. He said his incorrect remarks were merely a recitation of what officers had told him.
Hyde said the inaccurate information did not come from Arredondo, who had briefed state and law enforcement officials about the shooting before the first press conference. Abbott on Wednesday declined to identify who had misled him, saying only that the bad information had come from “public officials.”
McCraw also told reporters that Arredondo, whom he identified by his position rather than his name, treated the gunman as a “barricaded suspect” rather than an active shooter, which McCraw deemed a mistake. In the news conference, McCraw referred to Arredondo as the shootings “incident commander.”
Hyde said Arredondo did not issue any orders to other law enforcement agencies and had no knowledge that they considered him the incident commander.
The National Incident Management System, which guides all levels of government on how to respond to mass emergency events, says that the first person on scene is the incident commander. That incident commander remains in that charge until they relinquish it or are incapacitated.
Hyde acknowledged those guidelines but said Arredondos initial response to the shooting was not that of an incident commander, but of a first responder.
“Once he became engaged, intimately involved on the front line of this case, he is one of those that is in the best position to continue to resolve the incident at that time,” Hyde said. “So while its easy to identify him as the incident commander because of that NIMS process, in practicality, you see here he was not in the capacity to be able to run this entire organization.”
With no radio and no way to receive up-to-date information about what was happening outside of the hallway, Hyde said, another one of the local, state and federal agencies that arrived at the scene should have taken over command.
Nichols, the former Seguin police chief, dismissed the idea that another officer would seamlessly adopt the incident commander role simply because Arredondo never did. He said decisive commanders are especially important when multiple agencies respond to an incident and are unsure how to work together.
“You know the facility. Youre the most intimately knowledgeable about this,” Nichols said of Arredondo. “Take command and set what your priorities need to be, right now.”
On May 31, officials with DPS, which is investigating the Uvalde shooting, told news outlets that Arredondo was [no longer cooperating with the agency](https://www.texastribune.org/2022/05/31/uvalde-school-police-chief-investigation/). The agencys investigative unit, the Texas Rangers, wanted to continue talking with the police chief, but he had not responded to the agencys request for two days, DPS officials said.
Hyde said Arredondo participated in multiple interviews with DPS in the days following the shooting, including a law enforcement debriefing the day of the attack and a videotaped debriefing with DPS analysts and the FBI the day after.
Hed also briefed the governor and other state officials and had multiple follow-up calls with DPS for its investigation.
But after McCraw said at a press conference on May 27 that [Arredondo made the “wrong decision,”](https://www.texastribune.org/2022/05/27/uvalde-school-shooting-police-errors/) the police chief “no longer participated in the investigation to avoid media interference,” Hyde said.
The Rangers had asked Arredondo to come in for another interview, but he told investigators he could not do it on the day they asked because he was covering shifts for his officers, Hyde said.
“At no time did he communicate his unwillingness to cooperate with the investigation,” Hyde said. “His phone was flooded with calls and messages from numbers he didnt recognize, and its possible he missed calls from DPS but still maintained daily interaction by phone with DPS assisting with logistics as requested.”
Hyde said Arredondo is open to cooperating with the Rangers investigation but would like to see a transcript of his previous comments.
“Thats a fair thing to ask for before he has to then discuss it again because, as time goes by, all the information that he hears, its hard to keep straight,” Hyde said.
![Hundreds wait in line holding flowers and each other to pay their respects at a memorial in front of the Robb Elementary Sch…](https://thumbnails.texastribune.org/rmcpYLvuL2bqYCTVl3m7pr_88Hc=/850x570/smart/filters:quality(75)/https://static.texastribune.org/media/files/0b22ff1684446eb4bb16e79b520a32f4/Crosses%20Memorial%20KGB%20TT%2001.jpg)
Children visited the memorial at Robb Elementary on May 28. Hundreds of people waited in line holding flowers and one another to pay their respects there. Credit: Kaylee Greenlee Beal for The Texas Tribune
## “They loved those kids”
When the gunman was dead, police had another grim task: moving the tiny bodies of injured children out of the room and getting them emergency medical care as soon as possible.
A line was formed to gently but quickly move them out. Each child passed through Arredondos arms.
Later that night, Arredondo went to the Uvalde civic center, where families waited desperately for news that their loved ones had survived, or had at worst been taken to the hospital for treatment.
For Arredondo, his lawyer said, telling families that “no additional kids were coming out of the school alive was the toughest part of his career.”
The chaotic law enforcement response to the shooting by local, state and federal agencies is under investigation by the U.S. Department of Justice and the Texas Department of Public Safety. It is the subject of an investigative committee of the Texas Legislature and will be the source of months of scrutiny by public officials, survivors and the families of the deceased. Survivors and the families of victims have started contacting lawyers for potential legal action.
Arredondos role will be central to all of those probes.
For now, he is avoiding the public eye, having left his home temporarily because it is under constant watch by news reporters.
But hes also been unable to mourn with his community.
Arredondo grew up in the community and attended Robb Elementary as a boy. He started his career at the Uvalde Police Department and spent 16 years there before moving to Laredo for work.
He returned to his hometown in 2020 to head up the school districts police department. He and his police officers loved high-fiving the schoolchildren on his visits to the schools, Hyde said.
“It was the highlight of his days,” Hyde said. “They loved those kids.”
Arredondos ties to the shooting are also familial. One of the teachers killed by the gunman, Irma Garcia, was married to Arredondos second cousin, Joe Garcia. [Garcia died suddenly two days after his wifes death](https://www.texastribune.org/2022/06/01/garcia-funeral-uvalde-shooting/).
Arredondo grew up with Joe Garcia and went to school with him. But when the funeral services started, Arredondo said he opted against attending because he didnt want his presence to distract from the Garcias grieving loved ones.
His small police department is also suffering.
Eva Mireles, another teacher killed by the gunman, was married to Uvalde Consolidated Independent School District police officer Ruben Ruiz.
“They lost a person that they consider family,” Hyde said.
To relieve his grieving officers, Arredondo has picked up extra shifts at the police department.
And hes received death threats and negative messages from people he does not know.
“Those are people who just dont know the whole story that are making their assumptions on what theyre hearing or reading. Thats been difficult,” he said. “The police in Uvalde, were like your family, your brothers and sisters. We help each other out at any cost, and were used to helping out the community, period, because thats what most public servants are about.”
Arredondo said he remains proud of his response and that of his other officers that day. He believes they saved lives. He also believes that fate brought him back home for a reason.
“No one in my profession wants to ever be in anything like this,” Arredondo said. “But being raised here in Uvalde, I was proud to be here when this happened. I feel like I came back home for a reason, and this might possibly be one of the main reasons why I came back home. Were going to keep on protecting our community at whatever cost.”
*Disclosure: The New York Times has been a financial supporter of The Texas Tribune, a nonprofit, nonpartisan news organization that is funded in part by donations from members, foundations and corporate sponsors. Financial supporters play no role in the Tribunes journalism. Find a complete [list of them here](https://www.texastribune.org/support-us/corporate-sponsors/).*
&emsp;
&emsp;
---
`$= dv.el('center', 'Source: ' + dv.current().Link + ', ' + dv.current().Date.toLocaleString("fr-FR"))`

@ -0,0 +1,181 @@
---
Tag: ["History", "Maya", "Stars"]
Date: 2022-06-14
DocType: "WebClipping"
Hierarchy:
TimeStamp: 2022-06-14
Link: https://www.science.org/content/article/what-did-ancient-maya-see-in-stars-their-descendants-team-with-scientists-find-out
location:
CollapseMetaTable: Yes
---
Parent:: [[@News|News]]
Read:: [[2022-06-16]]
---
&emsp;
```button
name Save
type command
action Save current file
id Save
```
^button-WhatdidtheancientMayaseeinthestarsNSave
&emsp;
# What did the ancient Maya see in the stars? Their descendants team up with scientists to find out
![issue cover image](https://www.science.org/cms/asset/5f055fb7-3537-4408-bc23-f9ed99e73b9f/science.2022.376.issue-6597.cover.jpg)
A version of this story appeared in Science, Vol 376, Issue 6597.[Download PDF](https://www.science.org/doi/epdf/10.1126/science.add1859)
Zunil, Guatemala—As the Sun climbs over a hillside ceremony, Ixquik Poz Salanic invokes a day in the sacred calendar: *Tzi*, a day for seeking justice. Before she passes the microphone to the next speaker, she counts to 13 in Kiche, an Indigenous Maya language with more than 1 million present-day speakers in Guatemalas central highlands. A few dozen onlookers nod along, from grandmothers in traditional dresses to visiting schoolchildren shifting politely in their seats. Then the crowd joins a counterclockwise procession around a fire at the mouth of a cave, shuffle dancing to the beat of three men playing marimba while they toss offerings of candles, copal, and incense to the wind-licked flames.
Poz Salanic, a lawyer, serves as a daykeeper for her community, which means she keeps track of a 260-day cycle—20 days counted 13 times—that informs Maya ritual life. In April, archaeologists announced they had deciphered a 2300-year-old inscription bearing a date in this same calendar format, proving it was in use millennia ago by the historic Maya, who lived across southeastern Mexico and Central America. In small villages like this one, the Maya calendar kept ticking through conquest and centuries of persecution.
As recently as the 1990s, “Everything we did today would have been called witchcraft,” says fellow daykeeper Roberto Poz Pérez, Poz Salanics father, after the day count concludes and everyone has enjoyed a lunch of tamales.
![In the 1980s, Roberto Poz Pérez, helped spark a revival of suppressed spiritual practices, learning from surviving daykeepers and purging Catholic elements that had seeped into the rituals of mayan culture.](https://www.science.org/do/10.1126/science.add2189/full/_20220603nf_maya_perez.jpg)
Roberto Poz Pérez serves as a daykeeper in his Zunil community, keeping the sacred 260-day count.SERGIO MONTÚFAR/PINCELADASNOCTURNAS.COM/ESTRELLAS ANCESTRALES “ASTRONOMY IN THE MAYA WORLDVIEW”
The 260-day calendar is a still-spinning engine within what was once a much larger machine of Maya knowledge: a vast corpus of written, quantitative Indigenous science that broke down the natural world and human existence into interlocking, gearlike cycles of days. In its service, Maya astronomers described the movements of the Sun, Moon, and planets with world-leading precision, for example tracking the waxing and waning of the Moon to the half-minute.
In the 19th century, Western science belatedly began to comprehend the sophistication of Maya knowledge, recognizing that a table of dates in a rare, surviving Maya text tracked the movements of Venus in the 260-day calendar. That discovery—or rediscovery—set off a still-ongoing wave of research into Maya astronomy. Researchers scoured archaeological sites and sifted through Mayan script looking for references to the cosmos. Hugely popular, the field also spawned a fringe of New Age groups, doomsday cultists, and the racist insinuation that the Maya must have had help from alien visitors.
In the past few years, slowly converging lines of evidence have been restoring the clearest picture yet of the stargazing knowledge European colonizers fought so hard to scrub away. Lidar surveys have identified vast ceremonial complexes buried under jungle and dirt, many of which appear to be oriented to astronomical phenomena. Archaeologists have excavated what looks like an astronomers workshop and identified images that may depict individual astronomers. Some Western scholars also include todays Maya as collaborators, not just anthropological informants. They seek insight into the worldview that drove Maya astronomy, to learn not only what the ancient stargazers did, but why.
And some present-day Maya hope the collaborations can help recover their heritage. In Zunil, members of the Poz Salanic family have begun to search for fragments of the old sky knowledge in surrounding communities. “Its more than just wanting the information,” says Poz Salanics brother, Tepeu Poz Salanic, a graphic designer and also a daykeeper. “We say youre waking up something that has been sleeping for a long time, and you have to do so with care.”
After the Spanish arrived in the 1500s, the conquerors set out to extirpate Maya knowledge and culture. Although the Spanish were aware of some of the intricacies of Maya culture, including the 260-day calendar, priests burned Maya texts, among them accordion-folded books of bark paper called codices, painted densely with illustrations and hieroglyphs. “We found a large number of books,” wrote a priest in Yucatán. “As they contained nothing in which there were not to be seen superstition and lies of the devil, we burned them all, which they regretted to an amazing degree, and which caused them much affliction.” Only four looted precolonial volumes surfaced later, all in foreign cities with vague chains of custody.
By the end of the 19th century, one codex was in a library in Dresden, where it fell into the hands of a German librarian and hobbyist mathematician named Ernst Förstemann. He couldnt puzzle out the hieroglyphs, but he deciphered numbers written in a table.
These were dates in the 260-day sacred cycle, Förstemann saw. And based on the intervals of time between the dates, the table had to be a guide to the motions of the planet Venus, which cycles through a 584-day, four-part dance in which it appears as the morning star, vanishes from the sky, reappears as the evening star, then vanishes once more.
![View of the stairs of the castle of Kukulcan at the Mayan archaeological site of Chichen Itza in Yucatan State, Mexico, during the celebration of the spring equinox on March 21, 2022.](https://www.science.org/do/10.1126/science.add2189/full/_20220603_nf_chitzenitza.jpg)
On the spring equinox at Chichén Itzá in Yucatán state in Mexico, the Sun casts a rattlesnake pattern of light and shadow down the great staircase.HUGO BORGES/AFP/GETTY IMAGES
Since then, researchers studying the codices and stone inscriptions at archaeological sites have recognized that precolonial Maya clocked motions of the Sun, Moon, and likely Mars with sophisticated algorithms; that they likely aligned buildings to point at particular sunrises; and that they inscribed celestial context such as the phase of the Moon into historical records.
Scholars have limited evidence of each practice, capturing narrow, through-a-keyhole glimpses of customs that evolved across a vast territory over thousands of years. But the archaeological evidence suggests that between 2000 or 3000 years ago, Maya communities embraced a set of mathematical concepts linked to celestial events and other repeating patterns that influenced personal rituals and public life, eventually growing into an intricate, interlocking system.
One early and overarching goal was to meter the flow of time. The first inscriptions of the 260-day cycle, for example, date to this early period. No one agrees on the precise significance of the sacred count: It could be the approximate interval between a missed period and childbirth, how long it takes maize to grow, or the product of 20, the fingers-plus-toes base of Maya math, and 13, another common Maya number that could itself be justified by the number of days between a first crescent Moon and full Moon.
Around this time, the early Maya also invented a yearlong solar calendar that would have been helpful for seasonal tasks such as planting corn. By 2000 years ago, they had begun to track a third calendar called the Long Count, a cumulative, ongoing record of days elapsed since the calendars putative zero date in 3114 B.C.E. This would have enabled Maya scribes to scan back through centuries of historical events on the ground and in the sky.
Archaeologists think all these ideas and their connections to celestial movements may be enshrined in the crumbled architecture of the Maya world. In one famous example from late-stage Maya history, at the site of Chichén Itzá in Mexico, a snake head sculpture sits at the foot of a staircase going up a massive pyramid. On every spring and fall equinox, when night and day are the same length—and huge throngs gather to watch—the Sun casts sharp, triangular shadows down the staircase, creating what looks like the diamondback pattern of a rattlesnake.
Then again, a similar shadow is cast for a few days before and after the equinox, too. Proponents cant prove the 10th century builders meant to mark this particular day, nor can skeptics disprove it.
Given a starry skys worth of possible patterns, says Ivan Šprajc, an archaeologist at the Institute of Anthropological and Spatial Studies in Slovenia, “The reality is that for any alignment you can find some astronomical correlate.” But Maya scholars are now identifying cases in which statistical weight from many sites or other details lend extra credibility to the astronomical links.
Two hours downslope from Zunil, dappled light filters through the tree canopy at Takalik Abaj, the ruins of a proto-Maya city laid out in a neat grid along a trade route. There, a battered stone stela excavated in 1989 bears a Long Count date fragment that may refer to an unknown event around 300 B.C.E.
Christa Schieber de Lavarreda, the sites archaeological director, points to a flat stone, considered an altar, found face-up just a few feet away, which archaeologists think was installed at the same time as the stela. Its surface is indented with delicate carvings of two bare feet, toe pads included, as if a person stood there and sank in a few centimeters. “Very ergonomic,” she jokes. If someone stood in those prints, she says, they would have faced where the Sun rose over the horizon on the winter solstice, the years shortest day.
![An image showing the Madrid codex](https://www.science.org/do/10.1126/science.add2189/full/_20220603_fea_mayaarcheo_madridcodex_cutout.jpg)
Page 34 of the Madrid Codex, one of only four that survivedBibliothèque Nacionale de France/WikiCommons Pubic Domain
For Zunil daykeepers and other Indigenous groups, sites like this are sacred places where ancient knowledge comes alive; their right to conduct ceremonies here is codified in Guatemalan law.
The surrounding ancient city contains more clues to ancient astronomical awareness. The plaza containing the date inscription, for example, belongs to a common style that Maya city planners apparently followed for more than 1000 years. The eastern side of the plaza features a low, horizontal platform running roughly north to south, with a higher structure in the middle. On the western side is a pyramid topped with a temple or the eroded nub of one ([see graphic](https://www.science.org/#sidebar)).
Beginning in the 1920s, archaeologists began to clamber up these pyramids in the early mornings and look east, toward the rising Sun over the platform, suspecting the complexes might mark particular solar positions.
A stream of recent data supports the idea, Šprajc says. In 2021, he analyzed 71 such plazas scattered through Mexico, Guatemala, and Belize, measured either with surveying equipment on his own jungle forays or with lidar, a laser technology sensitive to the faint footprints of ruins now buried under forest and earth. In the most widespread shared orientation, someone standing on the central pyramids would see the morning Sun crest over the middle structure of the opposite platform twice a year: 12 February and 30 October, with a suggestive 260 days in between. Perhaps, Šprajc argued in *PLOS ONE*, these specific sunrises could have been marked with public gatherings or acted as a kickoff for planting or harvesting festivals.
Ongoing research suggests designers of even older architecture shared a similar worldview. In 2020, archaeologist Takeshi Inomata of the University of Arizona used lidar data to spot a vast, elevated rectangular platform, with 20 subplatforms around its edges, that stretched 1.4 kilometers in Tabasco, Mexico. Reported in *Nature*, the structure dates back to between 1000 and 800 B.C.E., before direct archaeological records of Maya writing and calendar systems. At the big complexs very center, Inomata found the raised outlines of the pyramid-and-platform “E-group” layout thought to be a solar marker.
In a 2021 study in *Nature Human Behaviour*, Inomata used lidar to identify 478 smaller rectangular complexes of similar age scattered across Veracruz and Tabasco; many have similar orientations linked to sunrises on specific dates. In unpublished work with Šprajc and archaeoastronomer Anthony Aveni of Colgate University, Inomata is now reanalyzing the lidar maps to see what sunrises people at those spaces might have looked to, perhaps dates separated by 20-day multiples from the solar zenith passage, when the Sun passes directly overhead.
For later periods of Maya history, scholars seeking astronomical evidence rely more on inscriptions. Long after the Tabasco platform was erected, during a monument-building florescence spanning most of the first millennium C.E. called the Classic Period, generations of Maya lavished attention on calculating the dates of new and full Moons, sorting out the challenging arithmetic of the lunar cycles ungainly 29.53 days. At Copan in modern-day Honduras and surrounding cities, early 20th century archaeologists found engravings that record one “formula” for tracking the Moon that is only off by about 30 seconds per month from the value measured today; at Palenque, in southern Mexico, another version of the same formula is even more accurate.
![Graphic showing early Maya cities and explaining how they featured an architectural layout that may have been used to mark—and memorialize—the rising Sun on particular dates.](https://www.science.org/do/10.1126/science.add2189/full/_220603_nf_maya_map_2.svg)
(MAP) K. FRANKLIN AND V. ALTOUNIAN/SCIENCE; (DATA) I. ŠPRAJC, PLOS ONE, 16:4 (2021) HTTPS://DOI.ORG/10.1371/JOURNAL.PONE.0250785
Some recent discoveries about this time period focus on the astronomers themselves. In 2012, archaeologists described a ninth century wall mural in Xultún, Guatemala, in which a group of uniformed scholars meets with the citys ruler. On nearby walls and over the mural itself, scholars scribbled the same kind of lunar calculations as in Palenque; one even appears to have signed their name underneath a block of arithmetic. A skeleton of a man wearing the uniform depicted in the mural was later buried under the floor of this apparent Moon-tracking workshop; a woman with bookmaking tools was also buried there.
Clues like the Xultún mural point to a network of scholars serving in Classic Period royal courts, says David Stuart, an epigrapher at the University of Texas, Austin, involved with the Xultún excavations. These specialists tracked celestial events and ritual calendars, communicating across cities and generating what must have been reams of now-vanished paper calculations. “The records we see imply the existence of libraries of records of astronomical patterns,” Stuart says, which rulers likely used to pick out fortuitous future dates.
On a deeper level, modern scholars argue that Classic Period rulers used their astrotheologians to project legitimacy. These rulers presented themselves as cosmic actors, even performing occasional rituals thought to imbue time with fresh momentum that would keep it cycling smoothly. Their dynastic histories, inscribed in stone, appear to include mythic figures and celestial bodies as forerunners and peers. Narratives of the lives of kings, for example, might harken back to the birth of a deity on the same date multiple cycles ago in the distant past. Many stories also open with descriptions of the exact phase of the Moon.
“What were doing now,” Stuart says, “is realizing that Maya history and Maya astronomy are the same thing.”
The four surviving codices—housed in Dresden, Madrid, Paris, and New York City—offer a glimpse of a still-later period of Maya civilization, between the Xultún workshop and the last centuries before Spanish conquest. These books were likely painted around the 1400s in Yucatán. But researchers think they contain much older records charting exactly how the Sun, Moon, and planets had appeared in the sky centuries before, from the eighth through the 10th centuries, according to Long Count dates in the Venus table and a table of solar eclipses.
After the Maya script was deciphered in the 1980s and 90s, scholars began to probe the Venus tables larger cultural purpose. Epigrapher Gabrielle Vail at the University of North Carolina, Chapel Hill, and Tulane University archaeologist Christine Hernández argued in 2013, for example, that the table recounts battles between Venus and the Sun, in a fusion of creation stories from the Maya and what is now central Mexico.
The table traces how Venus oscillates through its morning star-evening star routine almost exactly five times in 8 years, alongside illustrations that depict meetings between Venus in deity form and other godlike figures. Armed with this table, Vail says, a forerunner of todays daykeepers could anticipate on what dates in the 260-day calendar such appearances might fall, and what omens they might hold.
Even the “almost” in Venuss schedule was considered: An additional set of correction factors, provided on another page in the Dresden Codex, helps correct for how the cycle slips by a few days per century.
### Story in the sky
The Venus table on page 48 of the Dresden Codex mathematically describes the planets motions in the night sky, alongside an epic narrative.
![Graphic describing the Venus table on page 48 of the Dresden Codex.](https://www.science.org/do/10.1126/science.add2189/full/_220603_nf_maya_codex.svg)
(GRAPHIC) V. ALTOUNIAN/SCIENCE; (DATA) GABRIELLE VAIL/UNC CHAPEL HILL; I. ŠPRAJC, PLOS ONE, 16:4 (2021) HTTPS://DOI.ORG/10.1371/JOURNAL.PONE.0250785
In a book published in March, Gerardo Aldana, a Maya scholar at the University of California, Santa Barbara, builds a case that the astronomer who devised the “correction” for the Venus predictions was a woman working around 900 C.E. He points to a figure depicted in a carving on a structure interpreted as a Venus observatory at Chichén Itzá, who wears a long skirt and a feathered serpent headdress—iconography imported from central Mexico and associated with Venus that took over in that city around that time. In another mural, a similarly dressed figure with breasts walks in a massive procession rich with feathered serpent ideology.
After the arrival of the Spanish in the early 16th century, colonizers destroyed countless codices as well as the Maya glyph system, and the long-term, quantitative sky tracking it enabled. Yet the Maya and their culture persist, with some 7 million people still speaking one or more of 30 Mayan-descended languages.
Their astronomical knowledge lingers, too, especially folklore and stories with agricultural or ecological import that have been assembled over lifetimes of systematic observation. When anthropologists visited Maya communities in the 20th century, for example, they found the 260-day calendar and elements of the solar calendar still cycling, and experts who could divine the time of night by watching the stars spin overhead. “Everybody just assumes that the knowledge has been erased, that nobody is looking at the sky,” says Jarita Holbrook, an academic at the University of Edinburgh who has studied Indigenous star knowledge in Africa, the Pacific, and Mesoamerica. “Theyre wrong.”
A few days after the fire ceremony in Guatemala, at the other end of the Maya world in Mexicos Yucatán Peninsula, Maya elder María Ávila Vera, 84, shuffles with a cane along a path through Uxmal, an ancient city turned tourist magnet. With city lights far away, the late evening sky has deepened to an inky black. Looking up at the Greek constellation Orion, she starts to tell a story she learned in childhood about three stars in a line, symbolizing a traditional planting of corn, beans, and squash.
Unlike more detached Western approaches to studying natural phenomena, many Maya and their collaborators believe that knowledge is intricately linked to places and relationships. In this view, one of the best ways to understand past astronomers is to visit the places where they scanned the skies.
At Uxmal, Isabel Hawkins walks by Ávila Vera side, proffering a steady arm. Hawkins, a former astrophysicist, became fascinated with Maya culture after she began working in science education. She befriended local archaeologists, Indigenous knowledge holders like the Zunil daykeepers, Mesoamerican academics—and Êvila Vera, whom she met at an astronomy presentation to a Yucatec community in the San Francisco Bay Area.
In November 2019, this loose network gathered for a trip through Guatemala and Honduras to collaborate under a new set of methods called cultural astronomy, which emphasizes reciprocal relationships with living Indigenous sources in addition to archaeological ruins and ancient texts.
“Instead of feeling that we were behind whats going on in other areas of the world, we felt that we were contributing to a new concept,” say Tomás Barrientos, an archaeologist who hosted part of the meeting at the University of the Valley of Guatemala.
A central task for cultural astronomers is simply to save living star lore and oral traditions that stretch back into deep time. This often involves assembling puzzle pieces. After meeting Hawkins, daykeeper Tepeu Poz Salanic began to search for surviving star stories in the Guatemalan highlands. He often visits nearby towns to play in a revived version of the ancient Maya ball game and at each stop, asks whether locals know about the stars.
![A single exposure of Tat Willy Barreno, daykeeper](https://www.science.org/do/10.1126/science.add2189/full/_20220603_nf_maya_gatekeeper.jpg)
In Zunil, Guatemala, daykeeper Willy Barreno conducts a ceremony. Daykeepers rely on the ancient 260-day calendar to schedule ceremonies and give advice. SERGIO MONTÚFAR/PINCELADASNOCTURNAS.COM/ESTRELLAS ANCESTRALES “ASTRONOMY IN THE MAYA WORLDVIEW”
One representation of ancient Maya star stories is preserved in the Paris Codex. Among the constellations it mentions are a deer and a scorpion, but the illustrations in the codex dont come with patterns of dots to match with stars.
Locals in the town of Santa Lucía Utatlán told Tepeu Poz Salanic there was a deer in the night sky but didnt recall where. But he knew that in the Guatemalan highlands today, the stars in what the Greeks called the constellation Scorpio are also thought of as a scorpion. (No one knows whether stories from two continents converged, or they got muddled together after colonization.) The scorpions Kiche name is *pa raqan kej*, “under the deers leg,” Poz Salanic reported in 2021 in the *Research Notes of the American Astronomical Society*. He thinks the deer constellation from the Paris Codex may be above the scorpions tail, in the constellation Western astronomers call Sagittarius.
For her part, Ávila Vera remembers practical uses of stargazing. Her godfather once brought her to a corn field before dawn and pointed to a bundle of stars that were soon washed away in the light of the rising Sun. Those stars were the Pleiades—in Yucatec, *tsab*, or the rattle of the snake—and he told her that the clusters predawn appearances began as the harvest approached. If the stars in the cluster looked distinct instead of blurry, it meant a clear atmosphere, sunny skies, and a good crop. (Similar practices persist in Indigenous communities in the Andes; in 2000, a team of scientists argued in *Nature* that a blurry view of the early dawn Pleiades can reliably tip off villagers to expect El Niño conditions and less rain months later.)
At 4:30 a.m. in Uxmal, the stars are shining through a thin mist, the Moon is a few days removed from full, and place, nature, and scholarship collide. Hawkins and archaeologist Héctor Cauich of Mexicos National Institute of Anthropology and History mount steep steps to a massive complex called the Governors Palace. Bats flutter past their heads, returning to roost in the structure. Reaching the ancient buildings main door, the visitors turn and look east: Venus hangs in the sky straight ahead over an expanse of jungle, flanked closely by Mars and Saturn.
This vantage was created around 950 C.E. when a new ruler in Uxmal known to archaeologists as Lord Chac built up this complex. Its a long, raised structure that is blanketed with groups of five sculptures of Chac, a Maya rain deity with a curling, trunklike nose. The façade also bears more than 350 glyphs signifying “Venus” or “star,” including under each of Chacs eyes. More Chac sculptures, this time with the number “8” etched above their eyes, adorn the buildings corners; in 2018, Uxmals director, archaeologist José Huchim Herrera of Mexicos National Institute of Anthropology and History, excavated the last two of these, confirming they share the same iconography.
A 3D model of a detail from the Governor's Palace at Uxmal shows the curling, trunklike nose of the rain deity Chac. Above Chacs rectangular eyes are a horizontal bar and three dots—the number 8 in Mayan script, perhaps referring to the 8 years it takes Venus to cycle back to the same place in the sky.HÉCTOR CAUICH AND JOSÉ HUCHIM/INAH
Given that it takes Venus 8 years to go through five cycles, this structure practically screams its affiliation with the planet. Uxmal as a whole has been studied for decades and attracts hundreds of thousands of visitors. And yet archaeoastronomers and living Maya are still working to parse this buildings meaning. For example, on the day the planet hits the southernmost point in the sky it will ever reach, anyone standing before dawn in the main door of the Governors Palace and looking east would see a distant pyramid almost exactly in line with Venus. Aveni thinks the structures were positioned to create this sightline.
But Huchim Herrera is partial to another hypothesis: that the viewer is instead meant to stand on a pyramid and look west toward the building as Venus, in its guise as the evening star, rises over the Venus-spangled structure; then the key date would be when Venus hits its northernmost point. In 1990, Šprajc and Huchim Herrera, seeking the not-yet-discovered pyramid, followed the line from the Governors Palace main door straight into the jungle, slashing out a path with machetes. After a long morning, they found a vast, unmapped mound known to their local guide as Cehtzuc, which is still unexcavated.
If you stood on that mound, Venuss northernmost appearance would pass directly over the Governors Palace and would occur in early May, when the rainy period starts in Yucatán. “The strongest motivation for any of these things is venerating water,” Huchim Herrera says.
For Ávila Vera, meanwhile, Uxmal stirs deep memories. On her last day visiting the site, she recounted a vivid recollection from girlhood: sitting by the train tracks under the shade of a tree, listening to stories about stars and ancient cities told by her grandmother, a midwife in a small Yucatec Maya town in the 1940s.
Ancient sites like Uxmal, her grandmother had said, were not places they were worthy to visit. They were sacred, ancestral homes to caretaker entities who would need to grant permission. But much later in life, Ávila Vera balanced that warning with the desire to see a place at the heart of her grandmothers stories. She went in to Uxmal with Hawkins.
Now, she has long since crossed another threshold, going from receiving oral tradition to passing it forward. What her grandmother emphasized most by the train tracks, Ávila Vera says, first in Spanish and then in Yucatec, was the need to keep passing knowledge down to her own children.
“*Le betik kaabet a pak le nek tu tsu a puksikal*,” her grandmother told her. “You have to plant the seed in your heart that will set the foundation.”
&emsp;
&emsp;
---
`$= dv.el('center', 'Source: ' + dv.current().Link + ', ' + dv.current().Date.toLocaleString("fr-FR"))`

@ -71,7 +71,7 @@ All things related to personal Finances.
&emsp;
- [ ] :moneybag: [[@Finances]]: Transfer UK pension to CH 📅 2022-06-29
- [ ] :moneybag: [[@Finances]]: Transfer UK pension to CH 📅 2022-08-29
- [x] [[@Finances]]: Closing accounts with [[hLedger]] 📅 2022-01-28 ✅ 2022-01-22
- [x] [[@Finances]]: Set up 2022 & CHF 📅 2022-01-23 ✅ 2022-01-22
@ -116,7 +116,8 @@ hide task count
&emsp;
- [ ] [[@Finances]]: update crypto prices within Obsidian 🔼 🔁 every month on the 2nd Tuesday 📅 2022-06-14
- [ ] [[@Finances]]: update crypto prices within Obsidian 🔼 🔁 every month on the 2nd Tuesday 📅 2022-07-12
- [x] [[@Finances]]: update crypto prices within Obsidian 🔼 🔁 every month on the 2nd Tuesday 📅 2022-06-14 ✅ 2022-06-14
- [x] [[@Finances]]: update crypto prices within Obsidian 🔼 🔁 every month on the 2nd Tuesday 📅 2022-05-10 ✅ 2022-05-07
- [x] [[@Finances]]: update crypto prices within Obsidian 🔼 🔁 every month on the 2nd Tuesday 📅 2022-04-12 ✅ 2022-04-11
- [x] [[@Finances]]: update crypto prices within Obsidian 🔼 🔁 every month on the 2nd Tuesday 📅 2022-03-08 ✅ 2022-03-08

@ -9,7 +9,7 @@ Priority: "Medium"
Status: To-Do
StartDate: 2021-08-12
DueDate: 2022-12-31
NextReviewDate: &RD 2022-06-15
NextReviewDate: &RD 2022-09-15
TimeStamp: 2021-08-12
location: [51.514678599999996, -0.18378583926867909]
fc-calendar: "D2D Calendar"

@ -73,13 +73,13 @@ Repository of Tasks & To-dos regarding life style.
&emsp;
- [ ] :swimming_man: [[@Lifestyle]]: Re-start swimming 📅 2022-06-30
- [ ] :horse_racing: [[@Lifestyle]]: Re-start [[@Lifestyle#polo|Polo]] 📅 2022-06-30
- [ ] 🎵 [[@Lifestyle]]: Continue building [[@Lifestyle#Music Library|Music Library]] 📅 2022-06-30
- [ ] :swimming_man: [[@Lifestyle]]: Re-start swimming 📅 2022-07-30
- [ ] :horse_racing: [[@Lifestyle]]: Re-start [[@Lifestyle#polo|Polo]] 📅 2022-07-30
- [ ] 🎵 [[@Lifestyle]]: Continue building [[@Lifestyle#Music Library|Music Library]] 📅 2022-09-30
&emsp;
[[@Travels|Travels]]
[[@@Travels|Travels]]
```ad-task
~~~tasks

@ -76,7 +76,7 @@ Keeping personal projects in check and on track.
- [ ] Refaire [[@Personal projects#Chevalière|chevalière]] (Bastard & Flourville) 📅 2023-12-31
- [ ] Continuer à construire un petit trousseau d'[[@Personal projects#art|art]] 📅 2023-02-21
- [ ] Caligraph & frame life mementos 📅 2023-06-30
- [ ] :fleur_de_lis: Continue [[@lebv.org Tasks|lebv.org]] 📅 2022-06-28
- [ ] :fleur_de_lis: Continue [[@lebv.org Tasks|lebv.org]] 📅 2022-09-28
- [ ] Acheter une [[Voitures|voiture]] ⏳ 2022-07-31 📅 2022-12-31
&emsp;

@ -82,7 +82,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-01 ✅ 2022-01-31
- [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-14
- [ ] ♻ [[Household]]: *Cardboard* recycling collection 🔁 every 2 weeks on Tuesday 📅 2022-06-28
- [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-17 ✅ 2022-05-16
- [x] [[Household]]: *Cardboard* recycling collection 🔁 every 2 weeks on Tuesday 📅 2022-05-03 ✅ 2022-05-03
@ -99,10 +100,13 @@ This section on different household obligations.
#### House chores
- [ ] 🛎 🛍 REMINDER [[Household]]: Monthly shop in France 🔁 every month on the last Saturday 🛫 2022-05-30 📅 2022-06-25
- [ ] 🛎 🧻 REMINDER [[Household]]: check need for toilet paper 🔁 every week 📅 2022-06-13
- [ ] 🛎 🧻 REMINDER [[Household]]: check need for toilet paper 🔁 every week 📅 2022-06-27
- [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-06 ✅ 2022-06-07
- [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-06-18
- [ ] :bed: [[Household]] Change bedsheets 🔁 every 2 weeks on Saturday 📅 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-04 ✅ 2022-05-29
- [x] :bed: [[Household]] Change bedsheets 🔁 every 2 weeks on Saturday 📅 2022-05-30 ✅ 2022-05-29

@ -98,7 +98,8 @@ style: number
&emsp;
- [ ] :birthday: **[[Noémie de Villeneuve|Noémie]]** 🔁 every year 📅 2022-06-20
- [ ] :birthday: **[[Noémie de Villeneuve|Noémie]]** 🔁 every year 📅 2023-06-20
- [x] :birthday: **[[Noémie de Villeneuve|Noémie]]** 🔁 every year 📅 2022-06-20 ✅ 2022-06-20
- [x] :birthday: Noémie 🔁 every year 📅 2021-06-20 ✅ 2021-10-01
&emsp;

@ -17,7 +17,7 @@ Source:
---
Parent:: [[@Reading master|Reading list]], [[@Travels|Travels]]
Parent:: [[@Reading master|Reading list]], [[@@Travels|Travels]]
---

@ -0,0 +1,87 @@
---
Alias: ["France"]
Tag: ["Travel"]
Date: 2022-06-20
DocType: Note
ChildrenType: ["Travel", "Place"]
Hierarchy: "Root"
location:
CollapseMetaTable: Yes
---
Parent:: [[@Lifestyle|Lifestyle]]
---
&emsp;
```button
name Create Note
type append template
action NewFile
id CreateNote
```
^button-FranceNewNote
```button
name Save
type command
action Save current file
id Save
```
^button-FranceSave
&emsp;
# Folder map
&emsp;
```ad-abstract
title: Summary
collapse: open
This note enables to list all places in France where recommendations can be made.
```
&emsp;
```toc
style: number
```
&emsp;
---
&emsp;
### Master Navigation
&emsp;
```dataview
Table Date as "Creation Date" from "03.02 Travels"
Where DocType = "Place" and Place.Country = "France"
Sort file.link ascending
```
&emsp;
---
&emsp;
### Tag Navigation
&emsp;
```dataview
Table without id tags as "Tags" From "03.02 Travels"
Where DocType = "Place" and Place.Country = "France"
Flatten file.tags as tags
Group by tags
```
&emsp;
&emsp;

@ -0,0 +1,112 @@
---
Tag: ["Provence", "Camargue", "Toro", "Artsy"]
Date: 2022-06-20
DocType: "Place"
Hierarchy: "NonRoot"
TimeStamp:
location: [43.6776223,4.6309653]
Place:
Type: Region
SubType: City
Style: Provençal
Location: Gard
Country: France
Status: Visited
CollapseMetaTable: yes
locations:
---
Parent:: [[@France|France]]
&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-ArlesSave
&emsp;
# Arles
&emsp;
```ad-abstract
title: Summary
collapse: open
Note Description
```
&emsp;
```toc
style: number
```
&emsp;
---
&emsp;
### Accommodation
&emsp;
- L'Arlatan ([LArlatan Hotel Arles - Boutique hotel Arles, Provence](https://www.arlatan.com/fr))
- Le Cloitre ([Boutique-hôtel à Arles centre-ville | Hôtel Le Cloître, Arles](https://www.lecloitre.com/fr))
&emsp;
---
&emsp;
### Restaurants
&emsp;
- L'Arlatan ([LArlatan Hotel Arles - Boutique hotel Arles, Provence](https://www.arlatan.com/fr))
- Le Cloitre ([Boutique-hôtel à Arles centre-ville | Hôtel Le Cloître, Arles](https://www.lecloitre.com/fr))
&emsp;
---
&emsp;
### Shopping
&emsp;
- Yoko Concept (Interiors)
- Moustique (Interiors)
- Bisou (Interiors)
&emsp;
---
&emsp;
### A visiter
&emsp;
- les Arenes
- Hotel Dieu
- Theatre romain
&emsp;
&emsp;

@ -0,0 +1,95 @@
---
Tag: ["Provence", "MiddleAge", "PopeCity", "Wine"]
Date: 2022-06-20
DocType: "Place"
Hierarchy: "NonRoot"
TimeStamp:
location: [43.9492493,4.8059012]
Place:
Type: Region
SubType: City
Style: Provençal
Location:
Country: France
Status: Visited
CollapseMetaTable: yes
locations:
---
Parent:: [[@France|France]]
&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-AvignonSave
&emsp;
# Avignon
&emsp;
```ad-abstract
title: Summary
collapse: open
Note Description
```
&emsp;
```toc
style: number
```
&emsp;
---
&emsp;
### Accomodation
&emsp;
- La Bégude Saint-Pierre ([Accueil - English - La Bégude Saint-Pierre](https://hotel-pontdugard.com/en/))
&emsp;
---
&emsp;
### Restaurants
&emsp;
- L'Épicerie de Ginette (Avignon): [L'Épicerie de Ginette - Avignon | French cuisine near me | Book now](https://lepicerie-de-ginette-restaurant-avignon.metro.rest/?lang=en)
- le Bec à Vin (Uzès): [Restaurant traditionnel Gard - GREG AND CLO](https://www.lebecavin.com/)
&emsp;
---
&emsp;
### A visiter
- le Pont d'Avignon
- Le Palais des Papes
- Uzès
&emsp;
&emsp;

@ -16,7 +16,7 @@ Travel:
---
Parent:: [[@Travels|Travels]]
Parent:: [[@@Travels|Travels]]
---

@ -16,7 +16,7 @@ Travel:
---
Parent:: [[@Travels|Travels]]
Parent:: [[@@Travels|Travels]]
---

@ -0,0 +1,98 @@
---
Tag: ["Provence", "Toro", "Edgy", "Roman"]
Date: 2022-06-20
DocType: "Place"
Hierarchy: "NonRoot"
TimeStamp:
location: [43.8374249,4.3600687]
Place:
Type: Region
SubType: City
Style: Provençal
Location: Gard
Country: France
Status: Visited
CollapseMetaTable: yes
locations:
---
Parent:: [[@France|France]]
&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-NimesSave
&emsp;
# Nimes
&emsp;
```ad-abstract
title: Summary
collapse: open
Note Description
```
&emsp;
```toc
style: number
```
&emsp;
---
&emsp;
### Accommodation
&emsp;
&emsp;
---
&emsp;
### Restaurants
&emsp;
- Maison Villaret (patisserie) [Maison Villaret - Croquant Villaret - Maison Villaret](https://maison-villaret.com/)
- La Maison d'Arthur (bar)
&emsp;
---
&emsp;
### A visiter
&emsp;
- Arenes de Nimes
- Musée de la Romanité
- Maison Carrée
- Tour Magne & parc alentours
- Temple de Diane
&emsp;
&emsp;

@ -10,7 +10,7 @@ CollapseMetaTable: Yes
---
Parent:: [[@Travels|Travels]]
Parent:: [[@@Travels|Travels]]
---

@ -10,7 +10,7 @@ CollapseMetaTable: Yes
---
Parent:: [[@Travels|Travels]]
Parent:: [[@@Travels|Travels]]
---

@ -16,7 +16,7 @@ Travel:
---
Parent:: [[@Travels|Travels]]
Parent:: [[@@Travels|Travels]]
---

@ -11,7 +11,7 @@ CollapseMetaTable: Yes
---
Parent:: [[@Travels|Travels]]
Parent:: [[@@Travels|Travels]]
---

@ -195,7 +195,7 @@ The following Apps require a manual backup:
- [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-02
- [ ] [[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-06-13
- [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-01 ✅ 2022-01-08

@ -237,7 +237,9 @@ sudo bash /etc/addip4ban/addip4ban.sh
#### Ban List Tasks
- [ ] 🖥 [[Selfhosting]], [[Configuring UFW|Firewall]] Get IP addresses caught by Postfix 🔁 every week on Saturday 📅 2022-06-11
- [ ] 🖥 [[Selfhosting]], [[Configuring UFW|Firewall]] Get IP addresses caught by Postfix 🔁 every week on Saturday 📅 2022-06-25
- [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-04 ✅ 2022-06-04
- [x] [[Selfhosting]], [[Configuring UFW|Firewall]] Get IP addresses caught by Postfix 🔁 every week on Saturday 📅 2022-05-28 ✅ 2022-05-28
- [x] [[Selfhosting]], [[Configuring UFW|Firewall]] Get IP addresses caught by Postfix 🔁 every week on Saturday 📅 2022-05-21 ✅ 2022-05-21
@ -250,7 +252,9 @@ 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-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
- [ ] 🖥 [[Selfhosting]], [[Configuring UFW|Firewall]]: Update the Blocked IP list 🔁 every month on Saturday 📅 2022-06-11
- [ ] 🖥 [[Selfhosting]], [[Configuring UFW|Firewall]]: Update the Blocked IP list 🔁 every month on Saturday 📅 2022-06-25
- [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-04 ✅ 2022-06-04
- [x] [[Selfhosting]], [[Configuring UFW|Firewall]]: Update the Blocked IP list 🔁 every month on Saturday 📅 2022-05-28 ✅ 2022-05-28
- [x] [[Selfhosting]], [[Configuring UFW|Firewall]]: Update the Blocked IP list 🔁 every month on Saturday 📅 2022-05-21 ✅ 2022-05-21

@ -702,7 +702,8 @@ List of monitored services:
- [x] [[Server Tools]]: Backup server 🔁 every 6 months on the 1st Tuesday ✅ 2021-10-13
- [x] Set-up landing page
- [ ] [[Selfhosting]], [[Server Tools|Tools]]: Upgrader Gitea & Health checks 🔁 every 4 months 📅 2022-06-18
- [ ] :desktop_computer: [[Selfhosting]], [[Server Tools|Tools]]: Upgrader Gitea & Health checks 🔁 every 4 months 📅 2022-10-18
- [x] :desktop_computer: [[Selfhosting]], [[Server Tools|Tools]]: Upgrader Gitea & Health checks 🔁 every 4 months 📅 2022-06-18 ✅ 2022-06-20
- [ ] [[Selfhosting]], [[Server Tools|Tools]]: Upgrader Bitwarden & Health checks 🔁 every 4 months 📅 2022-08-18
- [x] [[Selfhosting]], [[Server Tools|Tools]]: Upgrader Bitwarden & Health checks 🔁 every 4 months 📅 2022-04-18 ✅ 2022-04-16

@ -290,7 +290,8 @@ Everything is rather self-explanatory.
- [x] [[Server VPN]]: Backup server 🔁 every 6 months on the 1st Tuesday 📅 2021-10-14 ✅ 2022-01-08
- [x] [[Server VPN]]: Backup server 🔁 every 6 months on the 1st Tuesday ✅ 2021-10-13
- [ ] [[Selfhosting]], [[Server VPN|VPN]]: Check VPN state & dashboard 🔁 every 3 months 📅 2022-06-18
- [ ] :shield: [[Selfhosting]], [[Server VPN|VPN]]: Check VPN state & dashboard 🔁 every 3 months 📅 2022-09-18
- [x] :shield: [[Selfhosting]], [[Server VPN|VPN]]: Check VPN state & dashboard 🔁 every 3 months 📅 2022-06-18 ✅ 2022-06-20
- [x] [[Selfhosting]], [[Server VPN|VPN]]: Check VPN state & dashboard 🔁 every 3 months 📅 2022-03-18 ✅ 2022-03-18
[[#^Top|TOP]]

@ -72,7 +72,9 @@ All tasks and to-dos Crypto-related.
[[#^Top|TOP]]
&emsp;
- [ ] 💰[[Crypto Tasks#internet alerts|monitor Crypto news and publications]] 🔁 every week on Friday 📅 2022-06-10
- [ ] 💰[[Crypto Tasks#internet alerts|monitor Crypto news and publications]] 🔁 every week on Friday 📅 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-10 ✅ 2022-06-10
- [x] 💰[[Crypto Tasks#internet alerts|monitor Crypto news and publications]] 🔁 every week on Friday 📅 2022-06-03 ✅ 2022-06-04
- [x] [[Crypto Tasks#internet alerts|monitor Crypto news and publications]] 🔁 every week on Friday 📅 2022-05-27 ✅ 2022-05-27
- [x] [[Crypto Tasks#internet alerts|monitor Crypto news and publications]] 🔁 every week on Friday 📅 2022-05-20 ✅ 2022-05-20

@ -72,7 +72,9 @@ Note summarising all tasks and to-dos for Listed Equity investments.
[[#^Top|TOP]]
&emsp;
- [ ] 💰[[Equity Tasks#internet alerts|monitor Equity news and publications]] 🔁 every week on Friday 📅 2022-06-10
- [ ] 💰[[Equity Tasks#internet alerts|monitor Equity news and publications]] 🔁 every week on Friday 📅 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-10 ✅ 2022-06-10
- [x] 💰[[Equity Tasks#internet alerts|monitor Equity news and publications]] 🔁 every week on Friday 📅 2022-06-03 ✅ 2022-06-04
- [x] [[Equity Tasks#internet alerts|monitor Equity news and publications]] 🔁 every week on Friday 📅 2022-05-27 ✅ 2022-05-27
- [x] [[Equity Tasks#internet alerts|monitor Equity news and publications]] 🔁 every week on Friday 📅 2022-05-20 ✅ 2022-05-20

@ -72,7 +72,9 @@ Tasks and to-dos for VC investments.
[[#^Top|TOP]]
&emsp;
- [ ] 💰[[VC Tasks#internet alerts|monitor VC news and publications]] 🔁 every week on Friday 📅 2022-06-10
- [ ] 💰[[VC Tasks#internet alerts|monitor VC news and publications]] 🔁 every week on Friday 📅 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-10 ✅ 2022-06-10
- [x] 💰[[VC Tasks#internet alerts|monitor VC news and publications]] 🔁 every week on Friday 📅 2022-06-03 ✅ 2022-06-04
- [x] [[VC Tasks#internet alerts|monitor VC news and publications]] 🔁 every week on Friday 📅 2022-05-27 ✅ 2022-05-27
- [x] [[VC Tasks#internet alerts|monitor VC news and publications]] 🔁 every week on Friday 📅 2022-05-20 ✅ 2022-05-20

Loading…
Cancel
Save