Skip to content

Instantly share code, notes, and snippets.

View DivineDominion's full-sized avatar

Christian Tietze DivineDominion

View GitHub Profile
@DivineDominion
DivineDominion / URL+resolvedAgainstBase.swift
Last active January 31, 2022 10:37
Given two file path URLs, determine the shortest relative path to get from one to the other, e.g. `../../folder/file.txt`
// Copyright © 2021 Christian Tietze. All rights reserved. Distributed under the MIT License.
import Foundation
extension URL {
/// Produces a relative path to get from `baseURL` to the receiver for use in e.g. labels.
///
/// When there's no common ancestor, e.g. `/tmp/` and `/var/`, then this returns an absolute path. The only exception to this rule is when `baseURL` itself is the root `/`, since tor that base _all_ paths are relative.
///
/// - Returns: Shortest relative path to get from `baseURL` to receiver, e.g. `"../../subdirectory/file.txt"`, and `"."` if both are identical. Absolute path (or absolute URL for non-`file://` URLs) if there's nothing in common.
@DivineDominion
DivineDominion / kramdown_gfm_wikilink.rb
Created April 22, 2021 10:13
Kramdown GFM Parser extension for [[wikilinks]]
@DivineDominion
DivineDominion / convert_dayone_to_org.rb
Last active October 18, 2024 12:10
Convert Day One (macOS) Journal.txt to Emacs org-mode diary/journal — https://christiantietze.de/posts/2020/10/export-day-one-journal-to-org-mode/
#!/usr/bin/env ruby
#
# convert_dayone_to_org.rb
# Copyright © 2020 Christian Tietze. All rights reserved. Distributed under the MIT License.
#
# Converts a Day One plain text export (Journal.txt) into org-mode journal format. It does
# - Markdown image conversion from ![](thepath.jpg) to [[thepath.jpg]]
# - Extraction of images from the front of an entry; moves it right after the property drawer.
# - Creation of nested year/month/day date sections (see example below)
#
@DivineDominion
DivineDominion / html-entity-insert.el
Last active July 30, 2020 09:14
Emacs lisp function to select a HTML entity from a filterable list and insert it at point. Based on Based on code by @emacs_gifs from https://emacsgifs.github.io/html-entities-helper
;; Licensed under GNU/GPL. https://emacsgifs.github.io/html-entities-helper
(defun ct/html-entity-insert ()
"Select and insert an html entity.
Uses the list from https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references."
(interactive)
(defvar _html-entity-list
'("char: \" entity: " text: quotation mark (APL quote)"
"char: & entity: & text: ampersand"
"char: ' entity: ' text: apostrophe (apostrophe-quote); see below"
"char: < entity: &lt; text: less-than sign"

About the gradual processing of thoughts while talking

If you want to know something and cannot find it through meditation, I advise you, my dear, meaningful friend, to talk about it with your nearest acquaintance, who will be upsetting you. It does not have to be a sharp-thinking head, nor do I mean it as if you should ask him about it: no! Rather, you should tell him yourself first of all. I see your eyes wide open, and you answer me that in your early years you were advised to speak of nothing but things you already understand. Others, I want you to speak out of a reasonable intention to instruct you, and so, in different cases, both rules of wisdom may well coexist. The Frenchman says, l'appétit vient en mangeant, and this principle of experience remains true if you parody it, and says, l'idee vient en parlant.

I often sit at my business table above the files and, in a complicated dispute, I explore the point of view from which it would like to be judged. I usually look into the light, as the brightest

@DivineDominion
DivineDominion / find_zettel_orphans.rb
Last active May 2, 2020 07:47
In a directory of Zettel notes, find all those without incoming links
#!/usr/bin/env ruby
require 'set'
# Change the path here:
ARCHIVE = '~/Archive/'
EXTENSIONS = %w{.md .txt .markdown .mdown .text}
#################################################################
@DivineDominion
DivineDominion / random_file.rb
Last active April 4, 2020 08:38
Find a random plain text file in a directory
#!/usr/bin/env ruby
# Usage: random_file.rb [options]
# -d, --dir [VALUE] Path to the note archive. Default: the current working directory.
# -c, --count [VALUE] Amount of unique random notes to fetch
# -h, --help Prints this help
require "optparse"
CURRENT_PATH = Dir.pwd
@DivineDominion
DivineDominion / gdcr2019.rb
Created November 16, 2019 15:32
A weird implementation idea for Game of Life
#!/usr/bin/env ruby
require "rspec"
class God
def kill!(cell)
cell.sacrifice_to self
end
def surrender(process)
@DivineDominion
DivineDominion / execute.rb
Last active October 29, 2019 08:23
Extract note links from a source note
#!/usr/bin/env ruby
# Avoid all the script configuration and use this convenience script instead!
#
# 1) Put it into the same folder,
# 2) run the script: `ruby _execute.rb PATH/TO/THE_NOTE.txt`
##################
# Configure here #

Keybase proof

I hereby claim:

  • I am divinedominion on github.
  • I am ctietze (https://keybase.io/ctietze) on keybase.
  • I have a public key ASAeEXhO_3ukmYArB4BCULSfFFT-rpg6j_aXiWWv_zmBEwo

To claim this, I am signing this object: