summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPreston Pan <ret2pop@nullring.xyz>2026-03-23 17:42:43 -0700
committerPreston Pan <ret2pop@nullring.xyz>2026-03-23 17:42:43 -0700
commitbf3ca86247b6e193ff39bb14e21d46db43689ee2 (patch)
treee6a73f3d1f7b52fece741b1dff6269a4e3bc6f9f
parentfa8cc133cb4449b97be021c7e1f374c773e8a347 (diff)
new snippets; working on mindmap/config
-rw-r--r--404.org11
-rw-r--r--agenda.org15
-rw-r--r--config/emacs.org406
-rw-r--r--config/nix.org37
-rw-r--r--journal/20260321.org9
-rw-r--r--mindmap/limit.org66
-rw-r--r--mindmap/lrc_circuit.pngbin4632 -> 4632 bytes
m---------nix0
-rw-r--r--yasnippet/latex-mode/braces5
-rw-r--r--yasnippet/latex-mode/net5
-rw-r--r--yasnippet/org-mode/proof7
-rw-r--r--yasnippet/org-mode/theorem11
12 files changed, 341 insertions, 231 deletions
diff --git a/404.org b/404.org
index 1720385..28fbd03 100644
--- a/404.org
+++ b/404.org
@@ -85,6 +85,16 @@ You know what, I could have lorum ipsum'd all of this, but instead I have writte
#+begin_example
lol, you really think this example means anything? Well, luckily for you, it does not.
#+end_example
+I can also write some nice theorems and proofs:
+#+begin_theorem
+If $X$ is a locally compact Hausdorff space and I am your dad, then $Y$ is your grandmother.
+#+end_theorem
+
+#+begin_proof
+We will use proof by contradiction. Suppose $Y$ was not your grandmother, then for all $x \in X$ there exists an open neighborhood $U$ such that $\overline{U}$ is compact,
+yet because I am your dad, I must live in every compact neighborhood that you live in, so really if you think of me as a net I am everywhere all at
+once. So the only way I could not do that is if your grandmother was my mom and I had to take care of her in her old age. Contradiction!
+#+end_proof
These are really all important specialised visual elements that I use in order to style my website. Though there are also some other notable org-mode
related ones:
* TODO Wow, Look
@@ -131,7 +141,6 @@ These are all great albums. See? If you've discovered something here, you haven'
- [X] Check number three
* Links and Inline Markup
Here is an [[https://ret2pop.net][external link]], a [[./index.html][relative link]], *bold*, /italic/, _underline_, +strike+, =verbatim=, and ~code~.
-
* Description List
- Org :: Powerful plaintext editing
- CSS :: The worst possible system anyone could have designed
diff --git a/agenda.org b/agenda.org
index 7e00707..9dbe3ce 100644
--- a/agenda.org
+++ b/agenda.org
@@ -85,11 +85,12 @@ Current stack:
- Hyaluronic acid (2x/day)
- Glycerin for hands
** TODO Supplements
-SCHEDULED: <2026-03-19 Thu .+1d>
+SCHEDULED: <2026-03-22 Sun .+1d>
:PROPERTIES:
-:LAST_REPEAT: [2026-03-18 Wed 22:51]
+:LAST_REPEAT: [2026-03-21 Sat 10:26]
:STYLE: habit
:END:
+- State "DONE" from "TODO" [2026-03-21 Sat 10:26]
- State "DONE" from "TODO" [2026-03-18 Wed 22:51]
- State "DONE" from "TODO" [2025-09-30 Tue 13:20]
- State "DONE" from "TODO" [2025-09-28 Sun 20:52]
@@ -173,11 +174,12 @@ Stretches:
- Seal
- Cat
** TODO Journal
-SCHEDULED: <2026-03-19 Thu .+1d>
+SCHEDULED: <2026-03-22 Sun .+1d>
:PROPERTIES:
-:LAST_REPEAT: [2026-03-18 Wed 23:16]
+:LAST_REPEAT: [2026-03-21 Sat 10:33]
:STYLE: habit
:END:
+- State "DONE" from "TODO" [2026-03-21 Sat 10:33]
- State "DONE" from "TODO" [2026-03-18 Wed 23:16]
- State "DONE" from "TODO" [2026-03-17 Tue 02:05]
- State "DONE" from "TODO" [2025-09-28 Sun 20:52]
@@ -205,12 +207,13 @@ SCHEDULED: <2026-03-19 Thu .+1d>
I want to journal every day, at least a little bit, about my life and track it with a git repo.
** TODO Update Agenda
:PROPERTIES:
-:LAST_REPEAT: [2026-03-19 Thu 03:36]
+:LAST_REPEAT: [2026-03-21 Sat 10:26]
:END:
+- State "DONE" from "TODO" [2026-03-21 Sat 10:26]
- State "DONE" from "TODO" [2026-03-19 Thu 03:36]
- State "DONE" from "TODO" [2026-03-18 Wed 22:51]
If I didn't update the agenda today, take my agenda with a grain of salt.
-SCHEDULED: <2026-03-20 Fri .+1d>
+SCHEDULED: <2026-03-22 Sun .+1d>
** TODO Start Vacuum Robot
Start the vacuum robot so that it can clean the floor, every day.
SCHEDULED: <2025-10-16 Thu .+1d>
diff --git a/config/emacs.org b/config/emacs.org
index c0e568c..29794af 100644
--- a/config/emacs.org
+++ b/config/emacs.org
@@ -84,6 +84,7 @@ syntax elsewhere. Generally, however, these are all unordered and not dependent
(menu-bar-mode -1)
(scroll-bar-mode -1)
(tool-bar-mode -1)
+ (global-auto-revert-mode 1)
;; load theme, fonts, and transparency. Prettify symbols.
(set-face-attribute 'default nil :font "Iosevka Nerd Font" :height 130)
@@ -263,226 +264,226 @@ of course Emacs was not designed to be fully imperative.
** Org Mode
This is my org mode configuration, which also configures latex.
#+begin_src emacs-lisp :tangle ../nix/init.el
-(use-package org
- :demand t
- :after (f s dash nix-mode scheme-mode)
- :hook
- ((org-mode . remove-annoying-pairing))
- :custom
- (org-export-allow-bind-keywords t "don't emit warnings")
- (org-confirm-babel-evaluate nil "I want to evaluate stuff when publishing")
- ;; Fix terrible indentation issues
- (org-edit-src-content-indentation 0)
- (org-src-tab-acts-natively t)
- (org-src-preserve-indentation t)
-
- (TeX-PDF-mode t)
- (org-confirm-babel-evaluate nil "Don't ask to evaluate code block")
- (org-export-with-broken-links t "publish website even with broken links")
- (org-src-fontify-natively t "Colors!")
+ (use-package org
+ :demand t
+ :after (f s dash nix-mode)
+ :hook
+ ((org-mode . remove-annoying-pairing))
+ :custom
+ (org-export-allow-bind-keywords t "don't emit warnings")
+ (org-confirm-babel-evaluate nil "I want to evaluate stuff when publishing")
+ ;; Fix terrible indentation issues
+ (org-edit-src-content-indentation 0)
+ (org-src-tab-acts-natively t)
+ (org-src-preserve-indentation t)
- ;; org-latex
- (org-format-latex-header "\\documentclass{article} \
- \\usepackage[usenames]{color} \
- [DEFAULT-PACKAGES] \
- [PACKAGES] \
- \\pagestyle{empty} % do not remove \
- % The settings below are copied from fullpage.sty \
- \\setlength{\\textwidth}{\\paperwidth} \
- \\addtolength{\\textwidth}{-3cm} \
- \\setlength{\\oddsidemargin}{1.5cm} \
- \\addtolength{\\oddsidemargin}{-2.54cm} \
- \\setlength{\\evensidemargin}{\\oddsidemargin} \
- \\setlength{\\textheight}{\\paperheight} \
- \\addtolength{\\textheight}{-\\headheight} \
- \\addtolength{\\textheight}{-\\headsep} \
- \\addtolength{\\textheight}{-\\footskip} \
- \\addtolength{\\textheight}{-3cm} \
- \\setlength{\\topmargin}{1.5cm} \
- \\addtolength{\\topmargin}{-2.54cm} \
- \\usepackage{amsmath} \
- ")
- (org-preview-latex-image-directory (expand-file-name "~/.cache/ltximg/") "don't use weird cache location")
- (org-latex-preview-ltxpng-directory (expand-file-name "~/.cache/ltximg/") "don't use weird cache location")
- (org-latex-to-html-convert-command "printf '%%s' %i | pandoc -f latex -t html --mathml | tr -d '\\n' | sed -e 's/^<p>//' -e 's/<\\/p>$//'" "latex to MathML with special character handling")
- (org-latex-to-mathml-convert-command "printf '%%s' %i | pandoc -f latex -t html --mathml | tr -d '\\n' | sed -e 's/^<p>//' -e 's/<\\/p>$//'" "latex to MathML with special character handling")
+ (TeX-PDF-mode t)
+ (org-confirm-babel-evaluate nil "Don't ask to evaluate code block")
+ (org-export-with-broken-links t "publish website even with broken links")
+ (org-src-fontify-natively t "Colors!")
- (TeX-engine 'xetex "set xelatex as default engine")
- (preview-default-option-list '("displaymath" "textmath" "graphics") "preview latex")
- ;; (preview-image-type 'png "Use PNGs")
- (org-preview-latex-default-process 'dvipng)
- (org-format-latex-options
- '(:foreground default
- :background default
- :scale 2
- :html-foreground "Black"
- :html-background "Transparent"
- :html-scale 1.5
- :matchers ("begin" "$1" "$" "$$" "\\(" "\\[")) "space latex better")
- (org-return-follows-link t "be able to follow links without mouse")
- (org-startup-indented t "Indent the headings")
- (org-image-actual-width '(300) "Cap width")
- (org-startup-with-latex-preview t "see latex previews on opening file")
- (org-startup-with-inline-images t "See images on opening file")
- (org-hide-emphasis-markers t "prettify org mode")
- (org-use-sub-superscripts "{}" "Only display superscripts and subscripts when enclosed in {}")
- (org-pretty-entities t "prettify org mode")
- (org-agenda-files (list "~/monorepo/agenda.org" "~/org/notes.org" "~/org/agenda.org") "set default org files")
- (org-default-notes-file (concat org-directory "/notes.org") "Notes file")
+ ;; org-latex
+ (org-format-latex-header "\\documentclass{article} \
+ \\usepackage[usenames]{color} \
+ [DEFAULT-PACKAGES] \
+ [PACKAGES] \
+ \\pagestyle{empty} % do not remove \
+ % The settings below are copied from fullpage.sty \
+ \\setlength{\\textwidth}{\\paperwidth} \
+ \\addtolength{\\textwidth}{-3cm} \
+ \\setlength{\\oddsidemargin}{1.5cm} \
+ \\addtolength{\\oddsidemargin}{-2.54cm} \
+ \\setlength{\\evensidemargin}{\\oddsidemargin} \
+ \\setlength{\\textheight}{\\paperheight} \
+ \\addtolength{\\textheight}{-\\headheight} \
+ \\addtolength{\\textheight}{-\\headsep} \
+ \\addtolength{\\textheight}{-\\footskip} \
+ \\addtolength{\\textheight}{-3cm} \
+ \\setlength{\\topmargin}{1.5cm} \
+ \\addtolength{\\topmargin}{-2.54cm} \
+ \\usepackage{amsmath} \
+ ")
+ (org-preview-latex-image-directory (expand-file-name "~/.cache/ltximg/") "don't use weird cache location")
+ (org-latex-preview-ltxpng-directory (expand-file-name "~/.cache/ltximg/") "don't use weird cache location")
+ (org-latex-to-html-convert-command "printf '%%s' %i | pandoc -f latex -t html --mathml | tr -d '\\n' | sed -e 's/^<p>//' -e 's/<\\/p>$//'" "latex to MathML with special character handling")
+ (org-latex-to-mathml-convert-command "printf '%%s' %i | pandoc -f latex -t html --mathml | tr -d '\\n' | sed -e 's/^<p>//' -e 's/<\\/p>$//'" "latex to MathML with special character handling")
- ;; ricing
- (org-auto-align-tags nil)
- (org-tags-column 0)
- (org-catch-invisible-edits 'show-and-error)
- (org-special-ctrl-a/e t)
- (org-insert-heading-respect-content t)
- (org-hide-emphasis-markers t)
- (org-pretty-entities t)
- (org-agenda-tags-column 0)
- (org-ellipsis "…")
- :config
- (org-babel-do-load-languages 'org-babel-load-languages
- '((shell . t)
- (python . t)
- (nix . t)
- (scheme . t)
- (latex . t))))
+ (TeX-engine 'xetex "set xelatex as default engine")
+ (preview-default-option-list '("displaymath" "textmath" "graphics") "preview latex")
+ ;; (preview-image-type 'png "Use PNGs")
+ (org-preview-latex-default-process 'dvipng)
+ (org-format-latex-options
+ '(:foreground default
+ :background default
+ :scale 2
+ :html-foreground "Black"
+ :html-background "Transparent"
+ :html-scale 1.5
+ :matchers ("begin" "$1" "$" "$$" "\\(" "\\[")) "space latex better")
+ (org-return-follows-link t "be able to follow links without mouse")
+ (org-startup-indented t "Indent the headings")
+ (org-image-actual-width '(300) "Cap width")
+ (org-startup-with-latex-preview t "see latex previews on opening file")
+ (org-startup-with-inline-images t "See images on opening file")
+ (org-hide-emphasis-markers t "prettify org mode")
+ (org-use-sub-superscripts "{}" "Only display superscripts and subscripts when enclosed in {}")
+ (org-pretty-entities t "prettify org mode")
+ (org-agenda-files (list "~/monorepo/agenda.org" "~/org/notes.org" "~/org/agenda.org") "set default org files")
+ (org-default-notes-file (concat org-directory "/notes.org") "Notes file")
-(use-package org-tempo
- :after org)
+ ;; ricing
+ (org-auto-align-tags nil)
+ (org-tags-column 0)
+ (org-catch-invisible-edits 'show-and-error)
+ (org-special-ctrl-a/e t)
+ (org-insert-heading-respect-content t)
+ (org-hide-emphasis-markers t)
+ (org-pretty-entities t)
+ (org-agenda-tags-column 0)
+ (org-ellipsis "…")
+ :config
+ (org-babel-do-load-languages 'org-babel-load-languages
+ '((shell . t)
+ (python . t)
+ (nix . t)
+ (scheme . t)
+ (latex . t))))
-(use-package org-habit
- :after org
- :custom
- (org-habit-preceding-days 7 "See org habit entries")
- (org-habit-following-days 35 "See org habit entries")
- (org-habit-show-habits t "See org habit entries")
- (org-habit-show-habits-only-for-today nil "See org habit entries")
- (org-habit-show-all-today t "Show org habit graph"))
+ (use-package org-tempo
+ :after org)
-(use-package htmlize
- :demand t
- :after (catppuccin-theme doom-themes yaml-mode))
+ (use-package org-habit
+ :after org
+ :custom
+ (org-habit-preceding-days 7 "See org habit entries")
+ (org-habit-following-days 35 "See org habit entries")
+ (org-habit-show-habits t "See org habit entries")
+ (org-habit-show-habits-only-for-today nil "See org habit entries")
+ (org-habit-show-all-today t "Show org habit graph"))
-(unless noninteractive
(use-package htmlize
- :after (doom-themes)))
+ :demand t
+ :after (catppuccin-theme doom-themes yaml-mode))
-(use-package ox-latex
- :after (org)
- :custom
- (org-latex-compiler "xelatex" "Use latex as default")
- (org-latex-pdf-process '("xelatex -interaction=nonstopmode -output-directory=%o %f") "set xelatex as default"))
+ (unless noninteractive
+ (use-package htmlize
+ :after (doom-themes)))
-(use-package ox-html
- :demand t
- :after (org htmlize)
- :custom
- (org-html-htmlize-output-type 'css "allow styling from CSS file")
- (org-html-with-latex 'html "let my html handler handle latex")
- (org-html-mathjax-options nil "disable mathjax, use MathML")
- (org-html-mathjax-template "" "disable mathjax, use MathML")
- (org-html-head-include-default-style nil "use my own css for everything")
- (org-html-head-include-scripts nil "use my own js for everything")
- (org-html-postamble (concat "Copyright © 2024 " system-fullname) "set copyright notice on bottom of site")
- (org-html-divs '((preamble "header" "preamble")
- (content "main" "content")
- (postamble "footer" "postamble")) "semantic html exports")
- (org-html-viewport '((width "device-width")
- (initial-scale "1.0")
- (minimum-scale "1.0")) "Prevent zooming out past default size")
- :config (advice-add 'org-html-latex-environment :around #'org-html-latex-environment-pandoc-fix))
+ (use-package ox-latex
+ :after (org)
+ :custom
+ (org-latex-compiler "xelatex" "Use latex as default")
+ (org-latex-pdf-process '("xelatex -interaction=nonstopmode -output-directory=%o %f") "set xelatex as default"))
-(use-package ox-rss
- :after org
- :demand t)
+ (use-package ox-html
+ :demand t
+ :after (org htmlize)
+ :custom
+ (org-html-htmlize-output-type 'css "allow styling from CSS file")
+ (org-html-with-latex 'html "let my html handler handle latex")
+ (org-html-mathjax-options nil "disable mathjax, use MathML")
+ (org-html-mathjax-template "" "disable mathjax, use MathML")
+ (org-html-head-include-default-style nil "use my own css for everything")
+ (org-html-head-include-scripts nil "use my own js for everything")
+ (org-html-postamble (concat "Copyright © 2024 " system-fullname) "set copyright notice on bottom of site")
+ (org-html-divs '((preamble "header" "preamble")
+ (content "main" "content")
+ (postamble "footer" "postamble")) "semantic html exports")
+ (org-html-viewport '((width "device-width")
+ (initial-scale "1.0")
+ (minimum-scale "1.0")) "Prevent zooming out past default size")
+ :config (advice-add 'org-html-latex-environment :around #'org-html-latex-environment-pandoc-fix))
-(use-package ox-publish
- :demand t
- :after (org f s dash ox-html ox-rss)
- :custom
- (org-publish-project-alist
- `(("website-org"
- :base-directory "~/monorepo"
- :base-extension "org"
- :exclude "nix/README\\.org\\|blog/rss\\.org\\|result/.*\\|nix/.*"
- :publishing-directory "~/website_html"
- :with-author t
- :with-date t
- :with-broken-links t
- :language en
+ (use-package ox-rss
+ :after org
+ :demand t)
- :recursive t
- :publishing-function org-html-publish-to-html
- :headline-levels 4
- :html-footnotes-section "<div id=\"footnotes\"><hr><div id=\"text-footnotes\"><span class=\"footnotes-label-hidden\">%s</span>%s</div></div>"
- :html-head ,(concat "<meta name=\"theme-color\" content=\"#ffffff\">\n<link rel=\"preload\" href=\"/fonts/Inconsolata-Medium.woff2\" as=\"font\" type=\"font/woff2\" crossorigin>\n<meta name=\"theme-color\" content=\"#ffffff\">\n<link rel=\"preload\" href=\"/fonts/Lora-Medium.woff2\" as=\"font\" type=\"font/woff2\" crossorigin>\n<link rel=\"preload\" href=\"/fonts/CormorantGaramond-Bold.woff2\" as=\"font\" type=\"font/woff2\" crossorigin>\n<link rel=\"preload\" href=\"/fonts/CormorantGaramond-Medium.woff2\" as=\"font\" type=\"font/woff2\" crossorigin>\n<link rel=\"manifest\" href=\"/site.webmanifest\">\n<link rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/favicon-16x16.png\">\n<link rel=\"mask-icon\" href=\"/safari-pinned-tab.svg\" color=\"#5bbad5\">\n<link rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/favicon-32x32.png\">\n<link rel=\"apple-touch-icon\" sizes=\"180x180\" href=\"/apple-touch-icon.png\"><meta name=\"msapplication-TileColor\" content=\"#da532c\">\n"
- "<style>"
- (->> (create-htmlize-css)
- (s-replace-regexp "<style[^>]*>" "")
- (s-replace "</style>" "")
- (s-replace "<![CDATA[/*><![CDATA[/*>\n" "")
- (s-replace "/*]]>*/-->" "")
- (s-trim)
- (minify-css))
- (f-read-text "~/monorepo/style.css" 'utf-8)
- "</style>")
- :html-preamble t
- :html-preamble-format (("en" "<p class=\"preamble\"><a href=\"/index.html\">home</a> | <a href=\"./index.html\">section main page</a> | <a href=\"/blog/rss.xml\">rss feed</a></p><hr>"))
+ (use-package ox-publish
+ :demand t
+ :after (org f s dash ox-html ox-rss)
+ :custom
+ (org-publish-project-alist
+ `(("website-org"
+ :base-directory "~/monorepo"
+ :base-extension "org"
+ :exclude "nix/README\\.org\\|blog/rss\\.org\\|result/.*\\|nix/.*"
+ :publishing-directory "~/website_html"
+ :with-author t
+ :with-date t
+ :with-broken-links t
+ :language en
+
+ :recursive t
+ :publishing-function org-html-publish-to-html
+ :headline-levels 4
+ :html-footnotes-section "<div id=\"footnotes\"><hr><div id=\"text-footnotes\"><span class=\"footnotes-label-hidden\">%s</span>%s</div></div>"
+ :html-head ,(concat "<meta name=\"theme-color\" content=\"#ffffff\">\n<link rel=\"preload\" href=\"/fonts/Inconsolata-Medium.woff2\" as=\"font\" type=\"font/woff2\" crossorigin>\n<meta name=\"theme-color\" content=\"#ffffff\">\n<link rel=\"preload\" href=\"/fonts/Lora-Medium.woff2\" as=\"font\" type=\"font/woff2\" crossorigin>\n<link rel=\"preload\" href=\"/fonts/CormorantGaramond-Bold.woff2\" as=\"font\" type=\"font/woff2\" crossorigin>\n<link rel=\"preload\" href=\"/fonts/CormorantGaramond-Medium.woff2\" as=\"font\" type=\"font/woff2\" crossorigin>\n<link rel=\"manifest\" href=\"/site.webmanifest\">\n<link rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/favicon-16x16.png\">\n<link rel=\"mask-icon\" href=\"/safari-pinned-tab.svg\" color=\"#5bbad5\">\n<link rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/favicon-32x32.png\">\n<link rel=\"apple-touch-icon\" sizes=\"180x180\" href=\"/apple-touch-icon.png\"><meta name=\"msapplication-TileColor\" content=\"#da532c\">\n"
+ "<style>"
+ (->> (create-htmlize-css)
+ (s-replace-regexp "<style[^>]*>" "")
+ (s-replace "</style>" "")
+ (s-replace "<![CDATA[/*><![CDATA[/*>\n" "")
+ (s-replace "/*]]>*/-->" "")
+ (s-trim)
+ (minify-css))
+ (f-read-text "~/monorepo/style.css" 'utf-8)
+ "</style>")
+ :html-preamble t
+ :html-preamble-format (("en" "<p class=\"preamble\"><a href=\"/index.html\">home</a> | <a href=\"./index.html\">section main page</a> | <a href=\"/blog/rss.xml\">rss feed</a></p><hr>"))
- ;; sitemap.html stuff
- :auto-sitemap t
- :sitemap-filename "sitemap.org"
- :sitemap-title "Site Index"
- :sitemap-style list
- :sitemap-sort-files anti-chronologically)
+ ;; sitemap.html stuff
+ :auto-sitemap t
+ :sitemap-filename "sitemap.org"
+ :sitemap-title "Site Index"
+ :sitemap-style list
+ :sitemap-sort-files anti-chronologically)
- ("website-blog-rss"
- :base-directory "~/monorepo/blog"
- :base-extension "org"
- :recursive nil
- :exclude "rss\\.org\\|index\\.org\\|404\\.org"
- :rss-extension "xml"
+ ("website-blog-rss"
+ :base-directory "~/monorepo/blog"
+ :base-extension "org"
+ :recursive nil
+ :exclude "rss\\.org\\|index\\.org\\|404\\.org"
+ :rss-extension "xml"
- :publishing-directory "~/website_html/blog"
- :publishing-function rp/org-rss-publish-to-rss
- :html-link-home "https://ret2pop.net/blog/"
- :html-link-use-abs-url t
+ :publishing-directory "~/website_html/blog"
+ :publishing-function rp/org-rss-publish-to-rss
+ :html-link-home "https://ret2pop.net/blog/"
+ :html-link-use-abs-url t
- ;; use custom sitemap functionality to publish rss feed
- :auto-sitemap t
- :sitemap-filename "rss.org"
- :sitemap-title "Blog Feed"
- :sitemap-style list
- :sitemap-sort-folders ignore
- :sitemap-sort-files anti-chronologically
- :sitemap-format-entry format-rss-feed-entry
- :sitemap-function format-rss-feed)
+ ;; use custom sitemap functionality to publish rss feed
+ :auto-sitemap t
+ :sitemap-filename "rss.org"
+ :sitemap-title "Blog Feed"
+ :sitemap-style list
+ :sitemap-sort-folders ignore
+ :sitemap-sort-files anti-chronologically
+ :sitemap-format-entry format-rss-feed-entry
+ :sitemap-function format-rss-feed)
- ("website-sitemap-xml"
- :base-directory "~/monorepo"
- :base-extension "org"
- :recursive t
- :exclude "nix/README\\.org\\|blog/rss\\.org"
- :publishing-directory "~/website_html"
- :publishing-function rp/org-sitemap-publish-function
- :auto-sitemap t
- :sitemap-filename "sitemap.xml"
- :sitemap-format-entry org-sitemap-format-entry-xml
- :sitemap-style list
- :sitemap-function org-sitemap-format-xml)
+ ("website-sitemap-xml"
+ :base-directory "~/monorepo"
+ :base-extension "org"
+ :recursive t
+ :exclude "nix/README\\.org\\|blog/rss\\.org"
+ :publishing-directory "~/website_html"
+ :publishing-function rp/org-sitemap-publish-function
+ :auto-sitemap t
+ :sitemap-filename "sitemap.xml"
+ :sitemap-format-entry org-sitemap-format-entry-xml
+ :sitemap-style list
+ :sitemap-function org-sitemap-format-xml)
- ("website-static"
- :base-directory "~/monorepo"
- :base-extension "css\\|js\\|png\\|jpg\\|gif\\|pdf\\|mp3\\|ogg\\|swf\\|ico\\|asc\\|pub\\|webmanifest\\|xml\\|svg\\|txt\\|webp\\|conf"
- :publishing-directory "~/website_html/"
- :recursive t
- :publishing-function org-publish-attachment)
+ ("website-static"
+ :base-directory "~/monorepo"
+ :base-extension "css\\|js\\|png\\|jpg\\|gif\\|pdf\\|mp3\\|ogg\\|swf\\|ico\\|asc\\|pub\\|webmanifest\\|xml\\|svg\\|txt\\|webp\\|conf"
+ :publishing-directory "~/website_html/"
+ :recursive t
+ :publishing-function org-publish-attachment)
- ("website"
- :auto-sitemap t
- :components ("website-org" "website-static" "website-blog-rss" "website-sitemap-xml")))
- "functions to publish website"))
+ ("website"
+ :auto-sitemap t
+ :components ("website-org" "website-static" "website-blog-rss" "website-sitemap-xml")))
+ "functions to publish website"))
#+end_src
As you can see, I only have one real entry in config here (I don't count requires even though
they have to be on the top)
@@ -556,6 +557,11 @@ Company-mode! We need this to do autocomplete stuff.
#+begin_src emacs-lisp :tangle ../nix/init.el
(use-package company
:custom (company-backends '(company-ispell company-capf company-yasnippet company-files) "Set company backends")
+ :bind (:map company-active-map
+ ("RET" . nil)
+ ("<return>" . nil)
+ ("tab" . company-complete-selection)
+ ("<tab>" . company-complete-selection))
:hook ((after-init . global-company-mode)))
(use-package company-box
:hook (company-mode . company-box-mode))
diff --git a/config/nix.org b/config/nix.org
index 4af62f3..5690f7f 100644
--- a/config/nix.org
+++ b/config/nix.org
@@ -1564,25 +1564,19 @@ does not support conduit at the moment. Note that this is not fully declarative
** Ollama
Use ollama for serving large language models to my other computers.
#+begin_src nix :tangle ../nix/modules/ollama.nix
-{ config, lib, pkgs, ... }:
-{
- # services.open-webui.enable = lib.mkDefault (!config.monorepo.profiles.server.enable);
- services.ollama = {
- enable = lib.mkDefault config.monorepo.profiles.desktop.enable;
- package = if (config.monorepo.profiles.cuda.enable) then pkgs.ollama-cuda else pkgs.ollama-vulkan;
- loadModels = if (config.monorepo.profiles.cuda.enable) then [
- "qwen3:30b"
- "qwen3-coder:latest"
- "qwen2.5-coder:latest"
- "gemma3:12b-it-qat"
- ] else [
- "qwen3:0.6b"
- "qwen2.5-coder:0.5b"
- ];
- host = "0.0.0.0";
- openFirewall = true;
- };
-}
+ { config, lib, pkgs, ... }:
+ {
+ # services.open-webui.enable = lib.mkDefault (!config.monorepo.profiles.server.enable);
+ services.ollama = {
+ enable = lib.mkDefault config.monorepo.profiles.desktop.enable;
+ package = if (config.monorepo.profiles.cuda.enable) then pkgs.ollama-cuda else pkgs.ollama-vulkan;
+ loadModels = if (config.monorepo.profiles.cuda.enable) then [
+ ] else [
+ ];
+ host = "0.0.0.0";
+ openFirewall = true;
+ };
+ }
#+end_src
** Bitcoind
#+begin_src nix :tangle ../nix/modules/bitcoin.nix
@@ -4629,6 +4623,7 @@ standard.
};
shellAliases = {
+ ret2pop-serve = "devd -ol ~/website_html/";
clone-secrets = "git clone ssh://\"$1\"/home/preston/secrets \"$HOME/secrets\"";
get-channel-id = "yt-dlp --print \"%(channel_id)s\" --playlist-end 1 \"$1\"";
se = "sops edit";
@@ -4648,7 +4643,7 @@ standard.
};
loginExtra = ''
if [[ "$(tty)" = "/dev/tty1" ]]; then
- exec Hyprland
+ exec start-hyprland
fi
'';
};
@@ -4714,7 +4709,7 @@ for these configurations.
pavucontrol alsa-utils imagemagick ffmpeg helvum
# Net
- curl rsync gitFull ungoogled-chromium
+ curl rsync gitFull ungoogled-chromium devd
# Tor
torsocks tor-browser
diff --git a/journal/20260321.org b/journal/20260321.org
new file mode 100644
index 0000000..35bca5b
--- /dev/null
+++ b/journal/20260321.org
@@ -0,0 +1,9 @@
+#+TITLE: Daily Journal
+#+STARTUP: showeverything
+#+DESCRIPTION: My daily journal entry
+#+AUTHOR: Preston Pan
+#+date:
+#+options: broken-links:t
+* Saturday, 21 March 2026
+** 10:26
+I'm in Victoria and I'm finished review on Stone-Cech compactification.
diff --git a/mindmap/limit.org b/mindmap/limit.org
index d25409b..d0f6679 100644
--- a/mindmap/limit.org
+++ b/mindmap/limit.org
@@ -73,11 +73,42 @@ where the central "object of importance" (a common theme in math is one where yo
Specifically, the limits of universal nets have a deep relation to compactness, but here we will explore the most informative and essential
form of this idea and its algebraic properties. We will quickly go over the one-point compactification, and then introduce the stone-cech
compactification after.
-*** One Point Compactification
+** One Point Compactification
:PROPERTIES:
:ID: 339b32e7-ad89-40d7-8b11-5b293bd1056f
:END:
-*** Stone Cech Compcatification
+The one-point compactification is the simplest possible compactification of a topological space as you are adding only one point, and it does have a
+rather simple definition, although it is really only interesting in locally compact hausdorff spaces.
+
+Let $X$ be a locally compact Hausdorff space, then its one-point compactification is $X \cup \lbrace \infty \rbrace$, where the topology defined on
+this is as follows:
+1. if $U$ is open in $X$, $U$ is open in $X \cup \lbrace \infty \rbrace$.
+2. if $F \subset X$ is a compact subset and $\infty \in F^{c}$, then $F^{c}$ is open.
+The topology generated by these open sets it the topology associated with the one-point compactification of $X$. If $X$ is locally compact hausdorff,
+then in fact this topology is compact hausdorff, which is why it is the notable case. We shall see this in a proof.
+#+begin_theorem
+If $X$ is a locally compact Hausdorff space and $X^{\plus} = X \cup \lbrace \infty \rbrace$ is the one-point compactification of $X$, then $X^{\plus}$ is a
+compact Hausdorff space.
+#+end_theorem
+
+#+begin_proof
+In order to prove this, we must first prove it is compact, then we must prove it is Hausdorff. For the first we will use proof by
+contradiction. Let $\lbrace x_{\alpha}\rbrace$ be a universal net in
+$X^{\plus}$, then suppose $\lbrace x_{\alpha}\rbrace$ does not converge in $X^{\plus}$. Then $\lbrace x_{\alpha} \rbrace$ also doesn't converge to $\infty$, and let $U_{\infty}$ be an open
+neighborhood of $\infty$ which $\lbrace x_{\alpha} \rbrace$ is not eventually in. Then the complement $U_{\infty}^{c}$ must be compact (the only way to define a
+neighborhood of $\infty$ is in terms of the complements of compact sets). But if $\lbrace x_{\alpha} \rbrace$ is eventually in $U_{\infty}^{c}$ it is eventually in a compact
+set and must converge. However $\lbrace x_{\alpha} \rbrace$ is universal and therefore must eventually be in either $U_{\infty}$ (impossible by construction) or $U_{\infty}^{c}$
+(also impossible). Contradiction!
+
+To prove that it is Hausdorff, it is enough to prove that $\infty$ is separated from the other points (this is because all points in $X$ already are
+separated by open sets in $X$). Let $x \in X$, then there exists an open neighborhood $U$ such that $\infty \not \in \overline{U}$ (choose $U$ such that
+$\overline{U}$ is compact, and this set exists due to locally compact property of $X$). Then $\overline{U}^{c}$ is a neighborhood of $\infty$ and is disjoint from $U$.
+#+end_proof
+
+Importantly, the one-point compactification can be thought of as a generalisation of the compactification of $\mathbb{R}^n$ via identification with
+$S^n$, and it can be thought of as undoing stereographic projection. It is also the smallest possible compactification as you are only adding one
+point. Note that it is possible for $X$ itself to be compact, and in that case $\infty$ is a disconnected component.
+** Stone-Cech Compactification
:PROPERTIES:
:ID: 14bebb09-2e38-4b55-adc0-97ba571331af
:END:
@@ -85,7 +116,8 @@ We can construct the Stone Cech Compcatification on a completely regular topolog
but will at least give us the Hausdorff property in the compactified space. To start, let $A$ be the set of all $f_{\alpha}: X \rightarrow [0, 1]_{\alpha}$ such that $f$ is
continuous (with $\alpha$ being an arbitrary but consistent index), and let us define a Tychonoff space $Y = \prod_{\alpha \in A}[0, 1]_{\alpha}$ and an embedding $\phi: X \rightarrow Y$
where the embedding $\phi$ is defined as $(\phi(x))_{\alpha }= f_{\alpha}(x)$. Then the idea is that the /closure/ of $\phi(X)$ in $Y$ is a compactification of $X$.
-In fact, this is sort of analogous to currying in the theory of computer science.
+In fact, this is sort of analogous to currying in the theory of computer science, or delayed or /lazy evaluation/, and as we shall see, it will share
+similar algebraic properties.
How do we know the space is compact? We know that $Y$ is compact because $[0, 1]$ is compact, and we apply Tychonoff's theorem. How do we know that
$\overline{\phi(X)}$ is compact? It is closed and a subset of a compact set. However, what we have /not/ shown thus far is that $\phi(X)$ is truly an embedding. To see
@@ -93,3 +125,31 @@ this, the completely regular property of $X$ saves the day; if we /didn't/ have
separated by any function, and then you'd lose the one-to-one property of $\phi$. Also, $\phi$ is clearly always continuous; we use the property that
$\pi_{\alpha}\circ \phi(x) = f_{\alpha}(x)$, and $\phi$ is continuous iff its projections $f_{\alpha}$ are continuous. Now all we need to show is that $\phi^{-1}$ is continuous, which we can
also do with the completely regular property.
+
+Before this we will introduce some more standard notation that will make it seem much more like currying in programming. For example we can just drop
+the index $\alpha$ and index by the function $f$ instead. Of course in real programming this is terrible as you'd want to index by pointer, however in math
+we have infinite power so we're just going to index by the literal function. How this will work is that instead of writing
+$(\phi(x))_{\alpha} = f_{\alpha}(x)$, we will instead
+write $\phi(x)(f) = f(x)$, and we will index our space with the set $A$ directly. The standard way to write the space $\overline{\phi(X)}$ is actually $\beta X$ so we'll
+write it that way from now on as well. I just thought that the above would have been a more intuitive explanation for the concept for me in the past. We will
+call $\phi$ the /evaluation map/, for obvious reasons if you come from programming.
+#+begin_theorem
+if $X$ is a completely regular space and $\phi: X \rightarrow \beta X$ is the evaluation map of all continuous $f: X \rightarrow [0, 1]$, then $\phi$ is an open map on its image $\phi(X)$.
+#+end_theorem
+
+#+begin_proof
+In this proof we will use the net definition of continuity. Suppose $\phi(x_{\alpha}) \rightarrow \phi(x)$, yet $x_{\alpha} \not \rightarrow x$. Then there exists some open neighborhood $U$ of
+$x$ such that $x_{\alpha}$ is not eventually in $U$. Because of complete regularity, there exists a map $f$ separating $x$ from $U^{c}$. If
+$\phi(x_{\alpha}) \rightarrow \phi(x)$, then $\pi_{f} \circ \phi(x_{\alpha}) \rightarrow \pi_{f} \circ \phi(x)$, but clearly this is equivalent to $f(x_{\alpha}) \rightarrow f(x)$. Any subnet of a convergent net converges to the same
+value, so we create a subnet $\lbrace y_{\alpha}\rbrace$ of $\lbrace x_{\alpha} \rbrace$ such that $\lbrace y_{\alpha}\rbrace$ is eventually in
+$U^{c}$ (this is possible because $\lbrace x_{\alpha}\rbrace$ is frequently in $U^{c}$). Then $f(y_{\alpha}) \rightarrow 1$ ($f(U^{c}) \equiv 1$ by construction), yet $f(x) = 0$. But this is clearly absurd, because $\lbrace y_{\alpha} \rbrace$
+converges uniquely, and the constant $1$ net cannot converge to $0$! Contradiction.
+#+end_proof
+*** Algebra on Limits
+Often times it is useful to think of limits as /objects in themselves/ rather than an object that you apply to, say, a sequence. Often times algebras on
+different /kinds/ of limits enables oneself to draw on connections between limits and many other fields of mathematics. For instance, the /closure/ of a
+set is exactly the same set with all its limit points included, and both closures, and as we will see, limits, are /idempotent/, which is to say,
+applying them once is the same thing as applying them twice. Note that if $f: X \rightarrow Y$ where $Y$ is any topological space and $f$ is any continuous
+function, then $\beta f(X) = f(\beta X)$, which one can represent with a commutative diagram, where $\beta f$ is the /unique extension/ of the mapping $f$. Actually, in a moment
+we will see that the funcor commuting is equivalent to the /limit/ commuting.
+
diff --git a/mindmap/lrc_circuit.png b/mindmap/lrc_circuit.png
index 4bdf642..9f781a0 100644
--- a/mindmap/lrc_circuit.png
+++ b/mindmap/lrc_circuit.png
Binary files differ
diff --git a/nix b/nix
-Subproject 6ce29a77b651e25d252007afb997cac3d493ecb
+Subproject b31c6f724bfd67075f3d3d4e5401b679ad3da6b
diff --git a/yasnippet/latex-mode/braces b/yasnippet/latex-mode/braces
new file mode 100644
index 0000000..29d4603
--- /dev/null
+++ b/yasnippet/latex-mode/braces
@@ -0,0 +1,5 @@
+# -*- mode: snippet -*-
+# name: braces
+# key: braces
+# --
+\lbrace $0 \rbrace
diff --git a/yasnippet/latex-mode/net b/yasnippet/latex-mode/net
new file mode 100644
index 0000000..1a2f7b8
--- /dev/null
+++ b/yasnippet/latex-mode/net
@@ -0,0 +1,5 @@
+# -*- mode: snippet -*-
+# name: net
+# key: net
+# --
+$\lbrace $0_{\alpha} \rbrace$ \ No newline at end of file
diff --git a/yasnippet/org-mode/proof b/yasnippet/org-mode/proof
new file mode 100644
index 0000000..6affa55
--- /dev/null
+++ b/yasnippet/org-mode/proof
@@ -0,0 +1,7 @@
+# -*- mode: snippet -*-
+# name: proof
+# key: proof
+# --
+#+begin_proof
+ $0
+#+end_proof \ No newline at end of file
diff --git a/yasnippet/org-mode/theorem b/yasnippet/org-mode/theorem
new file mode 100644
index 0000000..cb20ccd
--- /dev/null
+++ b/yasnippet/org-mode/theorem
@@ -0,0 +1,11 @@
+# -*- mode: snippet -*-
+# name: theorem
+# key: theorem
+# --
+#+begin_theorem
+$1
+#+end_theorem
+
+#+begin_proof
+$0
+#+end_proof \ No newline at end of file