vault backup: 2024-08-08 09:24:38
This commit is contained in:
1
.obsidian/app.json
vendored
Normal file
1
.obsidian/app.json
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{}
|
||||||
1
.obsidian/appearance.json
vendored
Normal file
1
.obsidian/appearance.json
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{}
|
||||||
3
.obsidian/community-plugins.json
vendored
Normal file
3
.obsidian/community-plugins.json
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
[
|
||||||
|
"obsidian-git"
|
||||||
|
]
|
||||||
30
.obsidian/core-plugins-migration.json
vendored
Normal file
30
.obsidian/core-plugins-migration.json
vendored
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
{
|
||||||
|
"file-explorer": true,
|
||||||
|
"global-search": true,
|
||||||
|
"switcher": true,
|
||||||
|
"graph": true,
|
||||||
|
"backlink": true,
|
||||||
|
"canvas": true,
|
||||||
|
"outgoing-link": true,
|
||||||
|
"tag-pane": true,
|
||||||
|
"properties": false,
|
||||||
|
"page-preview": true,
|
||||||
|
"daily-notes": true,
|
||||||
|
"templates": true,
|
||||||
|
"note-composer": true,
|
||||||
|
"command-palette": true,
|
||||||
|
"slash-command": false,
|
||||||
|
"editor-status": true,
|
||||||
|
"bookmarks": true,
|
||||||
|
"markdown-importer": false,
|
||||||
|
"zk-prefixer": false,
|
||||||
|
"random-note": false,
|
||||||
|
"outline": true,
|
||||||
|
"word-count": true,
|
||||||
|
"slides": false,
|
||||||
|
"audio-recorder": false,
|
||||||
|
"workspaces": false,
|
||||||
|
"file-recovery": true,
|
||||||
|
"publish": false,
|
||||||
|
"sync": false
|
||||||
|
}
|
||||||
20
.obsidian/core-plugins.json
vendored
Normal file
20
.obsidian/core-plugins.json
vendored
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
[
|
||||||
|
"file-explorer",
|
||||||
|
"global-search",
|
||||||
|
"switcher",
|
||||||
|
"graph",
|
||||||
|
"backlink",
|
||||||
|
"canvas",
|
||||||
|
"outgoing-link",
|
||||||
|
"tag-pane",
|
||||||
|
"page-preview",
|
||||||
|
"daily-notes",
|
||||||
|
"templates",
|
||||||
|
"note-composer",
|
||||||
|
"command-palette",
|
||||||
|
"editor-status",
|
||||||
|
"bookmarks",
|
||||||
|
"outline",
|
||||||
|
"word-count",
|
||||||
|
"file-recovery"
|
||||||
|
]
|
||||||
4
.obsidian/daily-notes.json
vendored
Normal file
4
.obsidian/daily-notes.json
vendored
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"format": "YYYY-MM-DD (dddd)",
|
||||||
|
"autorun": true
|
||||||
|
}
|
||||||
22
.obsidian/graph.json
vendored
Normal file
22
.obsidian/graph.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"collapse-filter": true,
|
||||||
|
"search": "",
|
||||||
|
"showTags": false,
|
||||||
|
"showAttachments": false,
|
||||||
|
"hideUnresolved": false,
|
||||||
|
"showOrphans": true,
|
||||||
|
"collapse-color-groups": true,
|
||||||
|
"colorGroups": [],
|
||||||
|
"collapse-display": true,
|
||||||
|
"showArrow": false,
|
||||||
|
"textFadeMultiplier": 0,
|
||||||
|
"nodeSizeMultiplier": 1,
|
||||||
|
"lineSizeMultiplier": 1,
|
||||||
|
"collapse-forces": true,
|
||||||
|
"centerStrength": 0.518713248970312,
|
||||||
|
"repelStrength": 10,
|
||||||
|
"linkStrength": 1,
|
||||||
|
"linkDistance": 250,
|
||||||
|
"scale": 1.0000000000000004,
|
||||||
|
"close": false
|
||||||
|
}
|
||||||
56
.obsidian/plugins/obsidian-git/data.json
vendored
Normal file
56
.obsidian/plugins/obsidian-git/data.json
vendored
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
{
|
||||||
|
"commitMessage": "vault backup: {{date}}",
|
||||||
|
"commitDateFormat": "YYYY-MM-DD HH:mm:ss",
|
||||||
|
"autoSaveInterval": 0,
|
||||||
|
"autoPushInterval": 0,
|
||||||
|
"autoPullInterval": 0,
|
||||||
|
"autoPullOnBoot": false,
|
||||||
|
"disablePush": false,
|
||||||
|
"pullBeforePush": true,
|
||||||
|
"disablePopups": false,
|
||||||
|
"disablePopupsForNoChanges": false,
|
||||||
|
"listChangedFilesInMessageBody": false,
|
||||||
|
"showStatusBar": true,
|
||||||
|
"updateSubmodules": false,
|
||||||
|
"syncMethod": "merge",
|
||||||
|
"customMessageOnAutoBackup": false,
|
||||||
|
"autoBackupAfterFileChange": false,
|
||||||
|
"treeStructure": false,
|
||||||
|
"refreshSourceControl": true,
|
||||||
|
"basePath": "",
|
||||||
|
"differentIntervalCommitAndPush": false,
|
||||||
|
"changedFilesInStatusBar": false,
|
||||||
|
"showedMobileNotice": true,
|
||||||
|
"refreshSourceControlTimer": 7000,
|
||||||
|
"showBranchStatusBar": true,
|
||||||
|
"setLastSaveToLastCommit": false,
|
||||||
|
"submoduleRecurseCheckout": false,
|
||||||
|
"gitDir": "",
|
||||||
|
"showFileMenu": true,
|
||||||
|
"authorInHistoryView": "hide",
|
||||||
|
"dateInHistoryView": false,
|
||||||
|
"lineAuthor": {
|
||||||
|
"show": false,
|
||||||
|
"followMovement": "inactive",
|
||||||
|
"authorDisplay": "initials",
|
||||||
|
"showCommitHash": false,
|
||||||
|
"dateTimeFormatOptions": "date",
|
||||||
|
"dateTimeFormatCustomString": "YYYY-MM-DD HH:mm",
|
||||||
|
"dateTimeTimezone": "viewer-local",
|
||||||
|
"coloringMaxAge": "1y",
|
||||||
|
"colorNew": {
|
||||||
|
"r": 255,
|
||||||
|
"g": 150,
|
||||||
|
"b": 150
|
||||||
|
},
|
||||||
|
"colorOld": {
|
||||||
|
"r": 120,
|
||||||
|
"g": 160,
|
||||||
|
"b": 255
|
||||||
|
},
|
||||||
|
"textColorCss": "var(--text-muted)",
|
||||||
|
"ignoreWhitespace": false,
|
||||||
|
"gutterSpacingFallbackLength": 5
|
||||||
|
},
|
||||||
|
"autoCommitMessage": "vault backup: {{date}}"
|
||||||
|
}
|
||||||
44901
.obsidian/plugins/obsidian-git/main.js
vendored
Normal file
44901
.obsidian/plugins/obsidian-git/main.js
vendored
Normal file
File diff suppressed because one or more lines are too long
10
.obsidian/plugins/obsidian-git/manifest.json
vendored
Normal file
10
.obsidian/plugins/obsidian-git/manifest.json
vendored
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"author": "Vinzent",
|
||||||
|
"authorUrl": "https://github.com/Vinzent03",
|
||||||
|
"id": "obsidian-git",
|
||||||
|
"name": "Git",
|
||||||
|
"description": "Integrate Git version control with automatic backup and other advanced features.",
|
||||||
|
"isDesktopOnly": false,
|
||||||
|
"fundingUrl": "https://ko-fi.com/vinzent",
|
||||||
|
"version": "2.25.0"
|
||||||
|
}
|
||||||
562
.obsidian/plugins/obsidian-git/styles.css
vendored
Normal file
562
.obsidian/plugins/obsidian-git/styles.css
vendored
Normal file
@@ -0,0 +1,562 @@
|
|||||||
|
@keyframes loading {
|
||||||
|
0% {
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
transform: rotate(360deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="git-view"] .button-border {
|
||||||
|
border: 2px solid var(--interactive-accent);
|
||||||
|
border-radius: var(--radius-s);
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="git-view"] .view-content {
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="git-history-view"] .view-content {
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.loading > svg {
|
||||||
|
animation: 2s linear infinite loading;
|
||||||
|
transform-origin: 50% 50%;
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.obsidian-git-center {
|
||||||
|
margin: auto;
|
||||||
|
text-align: center;
|
||||||
|
width: 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.obsidian-git-textarea {
|
||||||
|
display: block;
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.obsidian-git-center-button {
|
||||||
|
display: block;
|
||||||
|
margin: 20px auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tooltip.mod-left {
|
||||||
|
overflow-wrap: break-word;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tooltip.mod-right {
|
||||||
|
overflow-wrap: break-word;
|
||||||
|
}
|
||||||
|
.git-tools {
|
||||||
|
display: flex;
|
||||||
|
margin-left: auto;
|
||||||
|
}
|
||||||
|
.git-tools .type {
|
||||||
|
padding-left: var(--size-2-1);
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
width: 11px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.git-tools .type[data-type="M"] {
|
||||||
|
color: orange;
|
||||||
|
}
|
||||||
|
.git-tools .type[data-type="D"] {
|
||||||
|
color: red;
|
||||||
|
}
|
||||||
|
.git-tools .buttons {
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
.git-tools .buttons > * {
|
||||||
|
padding: 0 0;
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.is-active .git-tools .buttons > * {
|
||||||
|
color: var(--nav-item-color-active);
|
||||||
|
}
|
||||||
|
|
||||||
|
.git-author {
|
||||||
|
color: var(--text-accent);
|
||||||
|
}
|
||||||
|
|
||||||
|
.git-date {
|
||||||
|
color: var(--text-accent);
|
||||||
|
}
|
||||||
|
|
||||||
|
.git-ref {
|
||||||
|
color: var(--text-accent);
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-d-none {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-wrapper {
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-file-header {
|
||||||
|
background-color: var(--background-primary);
|
||||||
|
border-bottom: 1px solid var(--interactive-accent);
|
||||||
|
font-family: var(--font-monospace);
|
||||||
|
height: 35px;
|
||||||
|
padding: 5px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-file-header,
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-file-stats {
|
||||||
|
display: -webkit-box;
|
||||||
|
display: -ms-flexbox;
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-file-stats {
|
||||||
|
font-size: 14px;
|
||||||
|
margin-left: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-lines-added {
|
||||||
|
border: 1px solid #b4e2b4;
|
||||||
|
border-radius: 5px 0 0 5px;
|
||||||
|
color: #399839;
|
||||||
|
padding: 2px;
|
||||||
|
text-align: right;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-lines-deleted {
|
||||||
|
border: 1px solid #e9aeae;
|
||||||
|
border-radius: 0 5px 5px 0;
|
||||||
|
color: #c33;
|
||||||
|
margin-left: 1px;
|
||||||
|
padding: 2px;
|
||||||
|
text-align: left;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-file-name-wrapper {
|
||||||
|
-webkit-box-align: center;
|
||||||
|
-ms-flex-align: center;
|
||||||
|
align-items: center;
|
||||||
|
display: -webkit-box;
|
||||||
|
display: -ms-flexbox;
|
||||||
|
display: flex;
|
||||||
|
font-size: 15px;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-file-name {
|
||||||
|
overflow-x: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-file-wrapper {
|
||||||
|
border: 1px solid var(--background-modifier-border);
|
||||||
|
border-radius: 3px;
|
||||||
|
margin-bottom: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-file-collapse {
|
||||||
|
-webkit-box-pack: end;
|
||||||
|
-ms-flex-pack: end;
|
||||||
|
-webkit-box-align: center;
|
||||||
|
-ms-flex-align: center;
|
||||||
|
align-items: center;
|
||||||
|
border: 1px solid var(--background-modifier-border);
|
||||||
|
border-radius: 3px;
|
||||||
|
cursor: pointer;
|
||||||
|
display: none;
|
||||||
|
font-size: 12px;
|
||||||
|
justify-content: flex-end;
|
||||||
|
padding: 4px 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-file-collapse.d2h-selected {
|
||||||
|
background-color: #c8e1ff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-file-collapse-input {
|
||||||
|
margin: 0 4px 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-diff-table {
|
||||||
|
border-collapse: collapse;
|
||||||
|
font-family: Menlo, Consolas, monospace;
|
||||||
|
font-size: 13px;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-files-diff {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-file-diff {
|
||||||
|
overflow-y: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-file-side-diff {
|
||||||
|
display: inline-block;
|
||||||
|
margin-bottom: -8px;
|
||||||
|
margin-right: -4px;
|
||||||
|
overflow-x: scroll;
|
||||||
|
overflow-y: hidden;
|
||||||
|
width: 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-code-line {
|
||||||
|
padding: 0 8em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-code-line,
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-line {
|
||||||
|
display: inline-block;
|
||||||
|
-webkit-user-select: none;
|
||||||
|
-moz-user-select: none;
|
||||||
|
-ms-user-select: none;
|
||||||
|
user-select: none;
|
||||||
|
white-space: nowrap;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-line {
|
||||||
|
padding: 0 4.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-code-line-ctn {
|
||||||
|
word-wrap: normal;
|
||||||
|
background: none;
|
||||||
|
display: inline-block;
|
||||||
|
padding: 0;
|
||||||
|
-webkit-user-select: text;
|
||||||
|
-moz-user-select: text;
|
||||||
|
-ms-user-select: text;
|
||||||
|
user-select: text;
|
||||||
|
vertical-align: middle;
|
||||||
|
white-space: pre;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.theme-light .workspace-leaf-content[data-type="diff-view"] .d2h-code-line del,
|
||||||
|
.theme-light
|
||||||
|
.workspace-leaf-content[data-type="diff-view"]
|
||||||
|
.d2h-code-side-line
|
||||||
|
del {
|
||||||
|
background-color: #ffb6ba;
|
||||||
|
}
|
||||||
|
|
||||||
|
.theme-dark .workspace-leaf-content[data-type="diff-view"] .d2h-code-line del,
|
||||||
|
.theme-dark
|
||||||
|
.workspace-leaf-content[data-type="diff-view"]
|
||||||
|
.d2h-code-side-line
|
||||||
|
del {
|
||||||
|
background-color: #8d232881;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-code-line del,
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-code-line ins,
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-line del,
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-line ins {
|
||||||
|
border-radius: 0.2em;
|
||||||
|
display: inline-block;
|
||||||
|
margin-top: -1px;
|
||||||
|
text-decoration: none;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
|
||||||
|
.theme-light .workspace-leaf-content[data-type="diff-view"] .d2h-code-line ins,
|
||||||
|
.theme-light
|
||||||
|
.workspace-leaf-content[data-type="diff-view"]
|
||||||
|
.d2h-code-side-line
|
||||||
|
ins {
|
||||||
|
background-color: #97f295;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.theme-dark .workspace-leaf-content[data-type="diff-view"] .d2h-code-line ins,
|
||||||
|
.theme-dark
|
||||||
|
.workspace-leaf-content[data-type="diff-view"]
|
||||||
|
.d2h-code-side-line
|
||||||
|
ins {
|
||||||
|
background-color: #1d921996;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-code-line-prefix {
|
||||||
|
word-wrap: normal;
|
||||||
|
background: none;
|
||||||
|
display: inline;
|
||||||
|
padding: 0;
|
||||||
|
white-space: pre;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .line-num1 {
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .line-num1,
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .line-num2 {
|
||||||
|
-webkit-box-sizing: border-box;
|
||||||
|
box-sizing: border-box;
|
||||||
|
overflow: hidden;
|
||||||
|
padding: 0 0.5em;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
width: 3.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .line-num2 {
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-code-linenumber {
|
||||||
|
background-color: var(--background-primary);
|
||||||
|
border: solid var(--background-modifier-border);
|
||||||
|
border-width: 0 1px;
|
||||||
|
-webkit-box-sizing: border-box;
|
||||||
|
box-sizing: border-box;
|
||||||
|
color: var(--text-muted);
|
||||||
|
cursor: pointer;
|
||||||
|
display: inline-block;
|
||||||
|
position: absolute;
|
||||||
|
text-align: right;
|
||||||
|
width: 7.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-code-linenumber:after {
|
||||||
|
content: "\200b";
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-linenumber {
|
||||||
|
background-color: var(--background-primary);
|
||||||
|
border: solid var(--background-modifier-border);
|
||||||
|
border-width: 0 1px;
|
||||||
|
-webkit-box-sizing: border-box;
|
||||||
|
box-sizing: border-box;
|
||||||
|
color: var(--text-muted);
|
||||||
|
cursor: pointer;
|
||||||
|
display: inline-block;
|
||||||
|
overflow: hidden;
|
||||||
|
padding: 0 0.5em;
|
||||||
|
position: absolute;
|
||||||
|
text-align: right;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
width: 4em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-diff-tbody tr {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-linenumber:after {
|
||||||
|
content: "\200b";
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-emptyplaceholder,
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-emptyplaceholder {
|
||||||
|
background-color: var(--background-primary);
|
||||||
|
border-color: var(--background-modifier-border);
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-code-line-prefix,
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-code-linenumber,
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-linenumber,
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-emptyplaceholder {
|
||||||
|
-webkit-user-select: none;
|
||||||
|
-moz-user-select: none;
|
||||||
|
-ms-user-select: none;
|
||||||
|
user-select: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-code-linenumber,
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-linenumber {
|
||||||
|
direction: rtl;
|
||||||
|
}
|
||||||
|
|
||||||
|
.theme-light .workspace-leaf-content[data-type="diff-view"] .d2h-del {
|
||||||
|
background-color: #fee8e9;
|
||||||
|
border-color: #e9aeae;
|
||||||
|
}
|
||||||
|
|
||||||
|
.theme-light .workspace-leaf-content[data-type="diff-view"] .d2h-ins {
|
||||||
|
background-color: #dfd;
|
||||||
|
border-color: #b4e2b4;
|
||||||
|
}
|
||||||
|
|
||||||
|
.theme-dark .workspace-leaf-content[data-type="diff-view"] .d2h-del {
|
||||||
|
background-color: #521b1d83;
|
||||||
|
border-color: #691d1d73;
|
||||||
|
}
|
||||||
|
|
||||||
|
.theme-dark .workspace-leaf-content[data-type="diff-view"] .d2h-ins {
|
||||||
|
background-color: rgba(30, 71, 30, 0.5);
|
||||||
|
border-color: #13501381;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-info {
|
||||||
|
background-color: var(--background-primary);
|
||||||
|
border-color: var(--background-modifier-border);
|
||||||
|
color: var(--text-normal);
|
||||||
|
}
|
||||||
|
|
||||||
|
.theme-light
|
||||||
|
.workspace-leaf-content[data-type="diff-view"]
|
||||||
|
.d2h-file-diff
|
||||||
|
.d2h-del.d2h-change {
|
||||||
|
background-color: #fdf2d0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.theme-dark
|
||||||
|
.workspace-leaf-content[data-type="diff-view"]
|
||||||
|
.d2h-file-diff
|
||||||
|
.d2h-del.d2h-change {
|
||||||
|
background-color: #55492480;
|
||||||
|
}
|
||||||
|
|
||||||
|
.theme-light
|
||||||
|
.workspace-leaf-content[data-type="diff-view"]
|
||||||
|
.d2h-file-diff
|
||||||
|
.d2h-ins.d2h-change {
|
||||||
|
background-color: #ded;
|
||||||
|
}
|
||||||
|
|
||||||
|
.theme-dark
|
||||||
|
.workspace-leaf-content[data-type="diff-view"]
|
||||||
|
.d2h-file-diff
|
||||||
|
.d2h-ins.d2h-change {
|
||||||
|
background-color: rgba(37, 78, 37, 0.418);
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list-wrapper {
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list-wrapper a {
|
||||||
|
color: #3572b0;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"]
|
||||||
|
.d2h-file-list-wrapper
|
||||||
|
a:visited {
|
||||||
|
color: #3572b0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list-header {
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list-title {
|
||||||
|
font-weight: 700;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list-line {
|
||||||
|
display: -webkit-box;
|
||||||
|
display: -ms-flexbox;
|
||||||
|
display: flex;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list {
|
||||||
|
display: block;
|
||||||
|
list-style: none;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list > li {
|
||||||
|
border-bottom: 1px solid var(--background-modifier-border);
|
||||||
|
margin: 0;
|
||||||
|
padding: 5px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list > li:last-child {
|
||||||
|
border-bottom: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-file-switch {
|
||||||
|
cursor: pointer;
|
||||||
|
display: none;
|
||||||
|
font-size: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-icon {
|
||||||
|
fill: currentColor;
|
||||||
|
margin-right: 10px;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-deleted {
|
||||||
|
color: #c33;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-added {
|
||||||
|
color: #399839;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-changed {
|
||||||
|
color: #d0b44c;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-moved {
|
||||||
|
color: #3572b0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-tag {
|
||||||
|
background-color: var(--background-primary);
|
||||||
|
display: -webkit-box;
|
||||||
|
display: -ms-flexbox;
|
||||||
|
display: flex;
|
||||||
|
font-size: 10px;
|
||||||
|
margin-left: 5px;
|
||||||
|
padding: 0 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-deleted-tag {
|
||||||
|
border: 2px solid #c33;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-added-tag {
|
||||||
|
border: 1px solid #399839;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-changed-tag {
|
||||||
|
border: 1px solid #d0b44c;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-leaf-content[data-type="diff-view"] .d2h-moved-tag {
|
||||||
|
border: 1px solid #3572b0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ====================== Line Authoring Information ====================== */
|
||||||
|
|
||||||
|
.cm-gutterElement.obs-git-blame-gutter {
|
||||||
|
/* Add background color to spacing inbetween and around the gutter for better aesthetics */
|
||||||
|
border-width: 0px 2px 0.2px 2px;
|
||||||
|
border-style: solid;
|
||||||
|
border-color: var(--background-secondary);
|
||||||
|
background-color: var(--background-secondary);
|
||||||
|
}
|
||||||
|
|
||||||
|
.cm-gutterElement.obs-git-blame-gutter > div,
|
||||||
|
.line-author-settings-preview {
|
||||||
|
/* delegate text color to settings */
|
||||||
|
color: var(--obs-git-gutter-text);
|
||||||
|
font-family: monospace;
|
||||||
|
height: 100%; /* ensure, that age-based background color occupies entire parent */
|
||||||
|
text-align: right;
|
||||||
|
padding: 0px 6px 0px 6px;
|
||||||
|
white-space: pre; /* Keep spaces and do not collapse them. */
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 800px) {
|
||||||
|
/* hide git blame gutter not to superpose text */
|
||||||
|
.cm-gutterElement.obs-git-blame-gutter {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
180
.obsidian/workspace.json
vendored
Normal file
180
.obsidian/workspace.json
vendored
Normal file
@@ -0,0 +1,180 @@
|
|||||||
|
{
|
||||||
|
"main": {
|
||||||
|
"id": "f916ff7f85f9714c",
|
||||||
|
"type": "split",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"id": "546bd9b07f7ea6ce",
|
||||||
|
"type": "tabs",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"id": "94c300538bb82cf0",
|
||||||
|
"type": "leaf",
|
||||||
|
"state": {
|
||||||
|
"type": "markdown",
|
||||||
|
"state": {
|
||||||
|
"file": "2024-08-07 (Wednesday).md",
|
||||||
|
"mode": "source",
|
||||||
|
"source": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "04c9da25d52b39af",
|
||||||
|
"type": "leaf",
|
||||||
|
"state": {
|
||||||
|
"type": "markdown",
|
||||||
|
"state": {
|
||||||
|
"file": "2024-08-08 (Thursday).md",
|
||||||
|
"mode": "source",
|
||||||
|
"source": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"currentTab": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"direction": "vertical"
|
||||||
|
},
|
||||||
|
"left": {
|
||||||
|
"id": "303d52cc963f7a2a",
|
||||||
|
"type": "split",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"id": "a5cd105236c6a66b",
|
||||||
|
"type": "tabs",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"id": "7d4cfa54f3e28aba",
|
||||||
|
"type": "leaf",
|
||||||
|
"state": {
|
||||||
|
"type": "file-explorer",
|
||||||
|
"state": {
|
||||||
|
"sortOrder": "alphabetical"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "0b4eb06bc73c59e6",
|
||||||
|
"type": "leaf",
|
||||||
|
"state": {
|
||||||
|
"type": "search",
|
||||||
|
"state": {
|
||||||
|
"query": "",
|
||||||
|
"matchingCase": false,
|
||||||
|
"explainSearch": false,
|
||||||
|
"collapseAll": false,
|
||||||
|
"extraContext": false,
|
||||||
|
"sortOrder": "alphabetical"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "e61ce6efa7ffc257",
|
||||||
|
"type": "leaf",
|
||||||
|
"state": {
|
||||||
|
"type": "bookmarks",
|
||||||
|
"state": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"direction": "horizontal",
|
||||||
|
"width": 300
|
||||||
|
},
|
||||||
|
"right": {
|
||||||
|
"id": "42bed08da67bfa37",
|
||||||
|
"type": "split",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"id": "4eb47e5e9c029866",
|
||||||
|
"type": "tabs",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"id": "2d4d24909708b212",
|
||||||
|
"type": "leaf",
|
||||||
|
"state": {
|
||||||
|
"type": "backlink",
|
||||||
|
"state": {
|
||||||
|
"file": "2024-08-08 (Thursday).md",
|
||||||
|
"collapseAll": false,
|
||||||
|
"extraContext": false,
|
||||||
|
"sortOrder": "alphabetical",
|
||||||
|
"showSearch": false,
|
||||||
|
"searchQuery": "",
|
||||||
|
"backlinkCollapsed": false,
|
||||||
|
"unlinkedCollapsed": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "7df5c7bf889662fa",
|
||||||
|
"type": "leaf",
|
||||||
|
"state": {
|
||||||
|
"type": "outgoing-link",
|
||||||
|
"state": {
|
||||||
|
"file": "2024-08-08 (Thursday).md",
|
||||||
|
"linksCollapsed": false,
|
||||||
|
"unlinkedCollapsed": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "c638fcf7163258ea",
|
||||||
|
"type": "leaf",
|
||||||
|
"state": {
|
||||||
|
"type": "tag",
|
||||||
|
"state": {
|
||||||
|
"sortOrder": "frequency",
|
||||||
|
"useHierarchy": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "f5e8442e75959142",
|
||||||
|
"type": "leaf",
|
||||||
|
"state": {
|
||||||
|
"type": "outline",
|
||||||
|
"state": {
|
||||||
|
"file": "2024-08-08 (Thursday).md"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"currentTab": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"direction": "horizontal",
|
||||||
|
"width": 380.5
|
||||||
|
},
|
||||||
|
"left-ribbon": {
|
||||||
|
"hiddenItems": {
|
||||||
|
"switcher:Open quick switcher": false,
|
||||||
|
"graph:Open graph view": false,
|
||||||
|
"canvas:Create new canvas": false,
|
||||||
|
"daily-notes:Open today's daily note": false,
|
||||||
|
"templates:Insert template": false,
|
||||||
|
"command-palette:Open command palette": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"active": "04c9da25d52b39af",
|
||||||
|
"lastOpenFiles": [
|
||||||
|
"Private Equity thoughts.md",
|
||||||
|
"2024-08-07 (Wednesday).md",
|
||||||
|
"2024-08-08 (Thursday).md",
|
||||||
|
"2024-08-06 (Tuesday).md",
|
||||||
|
"Untitled.canvas",
|
||||||
|
"2024-08-05 (Monday).md",
|
||||||
|
"2024-08-05 Duplicate billing profile bug hunting (BEN-1564).canvas",
|
||||||
|
"2024-08-02 (Friday).md",
|
||||||
|
"Book club notes/Excellence Wins.md",
|
||||||
|
"Book club notes",
|
||||||
|
"2024-08-02 Order-level discounting email response to Dan.md",
|
||||||
|
"2024-08-01 (Thursday).md",
|
||||||
|
"Welcome.md",
|
||||||
|
"create a link.md",
|
||||||
|
"2024-08"
|
||||||
|
]
|
||||||
|
}
|
||||||
9
2024-08-01 (Thursday).md
Normal file
9
2024-08-01 (Thursday).md
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
Tried to use GitHub Copilot this morning for refactoring the CRM API ETL unit tests to my new testing methods, but it couldn't get it right. Later in the day, it did great on a more focused refactor ask.
|
||||||
|
|
||||||
|
Met with Hugo for my 1:1 and he went our the mid-year review with me. He only had nice things to say about me, so that's encouraging. One thing to work on that we discussed: removing some project management duties so I can focus more on technical work.
|
||||||
|
|
||||||
|
Had my 1:1 with Ricardo today too. We mostly discussed the replatforming work: how it's going, his perspective and whether I'd like to get more involved with it in phase 2. Summary: disappointed with Celigo, BigCommerce and Trellis (their quality of work), but generally happy with other things like Builder.io and using Next.js for new.logos.com
|
||||||
|
|
||||||
|
Refactoring these CRM API ETL unit tests took most of the day--it's just a lot of manual effort and then fixing unit tests when the expectations are slightly different because I've revamped the testing helper methods. I expect to be done today though.
|
||||||
|
|
||||||
|
Tomorrow, I hope to get tests written for the Commerce Info ETL refactor and get a PR in for that.
|
||||||
5
2024-08-02 (Friday).md
Normal file
5
2024-08-02 (Friday).md
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
Merged my unit testing refactor PR.
|
||||||
|
|
||||||
|
Created tests for the Commerce Account Info integration ETL refactor and put up a PR for that. Will hope to merge it Monday.
|
||||||
|
|
||||||
|
Had a good first book club meeting about the Excellence Wins book. I'm liking this book a lot--very easy to read and great thoughts on excellence in business and especially customer service. Seems everyone on the call was enjoying it too.
|
||||||
39
2024-08-02 Order-level discounting email response to Dan.md
Normal file
39
2024-08-02 Order-level discounting email response to Dan.md
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
Hi all,
|
||||||
|
|
||||||
|
I have an update about this effort.
|
||||||
|
|
||||||
|
The royalty calculator has been updated to produce additional information that takes order-level discounting into consideration. These calculations are _not yet_ reducing royalties figures. Our first step was to get the calculator spitting out the right numbers so that we could do some retrospective analysis on the potential savings we might find. This will help us validate the original hope of saving $2million/year and the value of applying these calculations to royalty amounts.
|
||||||
|
|
||||||
|
I've shared a sheet link below, prepared by Justin Strandburg. A couple of notes about this sheet:
|
||||||
|
|
||||||
|
1. The data in the sheet _only_ includes sales from orders that had order-level discounts
|
||||||
|
2. The past three months were queried. So, this is data for May, June and July 2024.
|
||||||
|
3. Sheet rows are grouped by rightsholder, month and then royalty formula. Because of this, you will see multiple rows for the same rightsholder.
|
||||||
|
4. Column H shows the potential royalties savings. Summing Column H gives us the total, potential royalties savings for the past three months.
|
||||||
|
5. Column H _does not_ take any "can be discounted" configuration into consideration. That is, these potential savings assume all rightsholders allow us to discount royalties for all resources. We know this is not true.
|
||||||
|
|
||||||
|
Summing column H gives us $71,342.11. Extrapolating this number over a year gives us (very) roughly $300,000. Considering that the past three months do not include increased sales from a launch year, we could generously double this amount to $600,000. This brings us _extremely generously_ to only a quarter of the original hope of $2m/year. We're assuming that the real savings will be considerably less than $600k/year.
|
||||||
|
[https://docs.google.com/spreadsheets/d/1d43TneMSwzg6ZzBUZzvJyiUG4kWXT009tIbM4KLE5MU/edit?usp=sharing](https://docs.google.com/spreadsheets/d/1d43TneMSwzg6ZzBUZzvJyiUG4kWXT009tIbM4KLE5MU/edit?usp=sharing)
|
||||||
|
|
||||||
|
Even if the savings-per-quarter are half of what the sheet shows (so, roughly $150k/year), I think this work is worth completing, especially as we move forward with subscriptions and look to implement "5% off for subscribers"-type discounting. However, we have one remaining hurdle: an accurate source of data for which royalties we are contractually allowed to discount.
|
||||||
|
|
||||||
|
The real source of truth is the large set of rightsholder contracts in LinkSquares. Unfortunately, even with LinkSquares tooling, it's hard to efficiently plumb these contracts for royalty discounting clauses. The contract wording is not standardized and is not always a simple "yes" or "no".
|
||||||
|
|
||||||
|
The Titles & Terms spreadsheet is a mostly-reliable proxy for our contracts. However, it suffers from some accuracy concerns. Primarily, a) it is manually maintained, b) in analyzing it, we have found contradictory "discountable" answers for the same resource, and c) as Jessica said below, the sheet's purpose is to inform base package building and, thus, the "discountable" values don't always mean "contractually able to discount royalties".
|
||||||
|
|
||||||
|
We have two ways forward that I see:
|
||||||
|
1. Rely on Titles & Terms to inform the royalty calculator about which royalties can be discounted
|
||||||
|
2. Implement a "positive confirmation" approach, see below
|
||||||
|
|
||||||
|
In my opinion, basing our calculations on the T&T sheet comes with risks we don't need to take. The risk being that we end up violating our contractual obligations to our rightsholders while having no process in place to catch these errors except our rightsholders informing us so that we can fix erroneous payments.
|
||||||
|
|
||||||
|
I believe the majority of potential savings can be achieved with no uncertainty by using a "positive confirmation" approach. The sheet I linked-to above indicates that there are only a handful of rightsholders for which we could potentially save a meaningful amount of money. For those rightsholders, I recommend that we manually review our contracts to confirm which of their resources can and cannot have royalties discounted. The process might look something like this:
|
||||||
|
1. Clear all "can be discounted" checkboxes in BusinessDesk for all active contract terms. This checkbox is, currently, purely informational and has no function in the royalty calculator. We can automate this.
|
||||||
|
2. Update the royalty calculator to honor the "can be discounted" checkbox for royalty discounting purposes.
|
||||||
|
3. Determine the top-savings-potential rightsholders from the sheet Justin produced and review the contracts we have for them.
|
||||||
|
4. Manually check the corresponding "can be discounted" checkboxes in BusinessDesk to accurately reflect contracts in LinkSquares.
|
||||||
|
5. Continue calculating potential savings in the royalty calculator and reviewing the output for non-yet-positively-confirmed rightsholders to trigger the positive confirmation process.
|
||||||
|
|
||||||
|
I apologize for the lengthy email. I hope it's helpful for you all to guide us on the path forward!
|
||||||
|
|
||||||
|
Ben
|
||||||
7
2024-08-05 (Monday).md
Normal file
7
2024-08-05 (Monday).md
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
Enjoyed [this article](https://graphite.dev/blog/bors-google-tap-merge-queue?ref=dailydev) about the problem of merge skew and how to solve it for high-velocity code repositories.
|
||||||
|
|
||||||
|
Started working on bug causing duplicate billing profiles to be created from Salesforce (CRM API) integration. Not sure of the exact cause yet, but at least one user has 88 duplicate address-only BPs!
|
||||||
|
|
||||||
|
Discussed the path forward for order-level discounts and determining which resources they apply to with Ezekiel and Kyle. We agreed on not trusting the Titles&Terms spreadsheet, but giving the royalties team the tooling to accomplish this without making the decision as the dev team on which data source to trust. This puts that responsibility where it belongs (with the royalties team) and not with us, where we are poorly suited to make that decision or take responsibility for the outcome.
|
||||||
|
|
||||||
|
Nate Merritt told me he is leaving Logos and going to [BiblioNexus]([Open Source Software for Bible Translation (biblionexus.org)](https://biblionexus.org/)). This is a big blow to Logos and the Business Solutions Group in general. Ricardo wants me to be the new tech lead for Commerce. I'm willing, but tentative about doing it. I can't fill Nate's shoes, for sure.
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"nodes":[
|
||||||
|
{"id":"2ae4e170393087ae","x":-420,"y":-300,"width":620,"height":140,"type":"group","label":"Transformer determines to create BP"},
|
||||||
|
{"id":"441005acc47d9c36","type":"text","text":"SalesforcePersonAccountLoader","x":-200,"y":-60,"width":297,"height":50},
|
||||||
|
{"id":"bda4d7cee8a1fc1a","type":"text","text":"No Logos BPs found","x":-380,"y":-260,"width":250,"height":60},
|
||||||
|
{"id":"2a546673faf1e1ab","type":"text","text":"No Logos BPs match","x":-100,"y":-260,"width":250,"height":60},
|
||||||
|
{"id":"34d9d49694429d5f","type":"text","text":"CRM API creates Logos BP","x":-51,"y":100,"width":260,"height":50}
|
||||||
|
],
|
||||||
|
"edges":[
|
||||||
|
{"id":"201bc0e3711a8b39","fromNode":"441005acc47d9c36","fromSide":"bottom","toNode":"34d9d49694429d5f","toSide":"top"},
|
||||||
|
{"id":"85cf554274bc5fdf","fromNode":"2ae4e170393087ae","fromSide":"bottom","toNode":"441005acc47d9c36","toSide":"top"}
|
||||||
|
]
|
||||||
|
}
|
||||||
7
2024-08-06 (Tuesday).md
Normal file
7
2024-08-06 (Tuesday).md
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
Nate Merritt announced he's leaving Logos today. I talked to my team about potentially becoming the tech lead for Commerce and the need for leadership for the Business Enablement team. Kyle and Ezekiel both are willing.
|
||||||
|
|
||||||
|
Our internet went out pretty early in the day. I need to reschedule 1:1s with Kyle and Ezekiel tomorrow.
|
||||||
|
|
||||||
|
I couldn't continue debugging the duplicate billing profile issue because I needed to continue to look at BusinessDesk accounts, Graylog and the database. Couldn't do that without internet.
|
||||||
|
|
||||||
|
Instead I got a great head start on refactoring the Notes integration between Salesforce and Faithlife. I have the rough draft done of the outbound (Faithlife to Salesforce) integration.
|
||||||
7
2024-08-07 (Wednesday).md
Normal file
7
2024-08-07 (Wednesday).md
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
Internet was out for most of the day, so I worked from the dining room table so that my phone had a good enough reception to do my hotspot. It doesn't work well in the basement. I'm guessing it's because the reception isn't as good.
|
||||||
|
|
||||||
|
Met with Nate today about possibly taking over the commerce team tech lead position with him leaving for BiblioNexus. Sounds like I could do it. It wouldn't be much different than leading the BEN team. But, even though I'm not the one who would fill this role, the biggest hole he's leaving is the staff engineer position and his historical knowledge.
|
||||||
|
|
||||||
|
Deployed the fix for the salesforce person account integration test fixture that was causing duplicate billing profiles sometimes.
|
||||||
|
|
||||||
|
Deployed a fix for segments being pushed to Amplitude cohorts. The bug was that we were accidentally replacing the entire cohort population when the cohort name changed but weren't pushing the entire population to Amplitude. The fix was to push the whole population any time the name changes. The Amplitude Behavioral Cohort API doesn't have a route to just update the cohort without replacing the population. Once deployed, I reran the Salesforce Data Loader job to re-upload all the Amplitude cohort populations. Going forward, it should keep them in sync properly.
|
||||||
0
2024-08-08 (Thursday).md
Normal file
0
2024-08-08 (Thursday).md
Normal file
16
Book club notes/Excellence Wins.md
Normal file
16
Book club notes/Excellence Wins.md
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
## Part 1 thoughts
|
||||||
|
I really like the authors attitude--very positive and customer focused while being reasonable too.
|
||||||
|
|
||||||
|
Excellence seems like a quality with very little supporters today. I love the idea of doing things excellently at a high degree of quality.
|
||||||
|
|
||||||
|
I love the idea of each employee having a $2000 allowance to make sure a customer was happy. The stories he shares of employees using this (to buy metal detectors to find a wedding ring, to fly to Hawaii to get a laptop) are incredibly inspiring. WAs there ever abuse of it?
|
||||||
|
|
||||||
|
I love the long-term view he sets out. Short term cost cutting, shortcuts or other things only lead to everyone losing in the end. The customer doesn't get your product anymore. You don't get their money anymore. The employees lose their jobs.
|
||||||
|
|
||||||
|
Mostly, what he's teaching is essentially just good treatment of other people--ie, how you should treat anyone you encounter, whether in a business context or not. It all aligns with the biblical worldview of treating people.
|
||||||
|
|
||||||
|
I really loved his story about getting to the root of the problem of room service not being done quickly. I turned out to be the large delays in the elevator arriving to take the room service guy to the room. This was because the laundry service guys were blocking the doors. This was happening because they didn't have enough linens for each bed which was a cost-cutting measure from the opening of the hotel that had never been addressed! Finding the root of the problem was a lengthy process that no one would have guessed without the investigation he launched.
|
||||||
|
|
||||||
|
Applying the "everyone has $2000 to make customers happy" concept to us, I think this can be seen as the freedom we developers have to fix bugs and deploy the changes to production without jumping through all the hoops of approval or pull request reviews, etc. We have license and authority to do what it takes to fix things for people.
|
||||||
|
|
||||||
|
How do you effectively get everyone on board to serve customers with such high quality?
|
||||||
11
Private Equity thoughts.md
Normal file
11
Private Equity thoughts.md
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
My meeting with Nate yesterday triggered a few more thoughts on private equity and Cove Hill's ownership of Logos.
|
||||||
|
|
||||||
|
1. Their goal is, obviously, profit
|
||||||
|
1. Moving to subscriptions shows a stronger revenue stream
|
||||||
|
2. While it both benefits us and our customers, subscriptions are driven mainly (I'm assuming) by Cove Hill wanting to show a strnger company to sell us to someone else
|
||||||
|
2. There's no going back after selling to private equity.
|
||||||
|
1. I don't know how Logos would ever ben independent again
|
||||||
|
3. The re-platform to third-party tools is a mixed bag
|
||||||
|
1. Driven by resume building for Cove Hill, "our portfolio includes BigCommerce, Algolia, etc!"
|
||||||
|
2. We don't want to own tools that others make better. But our business model is complex (ownership model, dynamic pricing, etc) and seeps into everything we do (orders, payment plans, subscriptions, etc) that third-parties do "better", but can't replicate for us
|
||||||
|
3. Moving to third parties is not going well
|
||||||
Reference in New Issue
Block a user