diff options
| -rw-r--r-- | 404.org | 11 | ||||
| -rw-r--r-- | agenda.org | 15 | ||||
| -rw-r--r-- | config/emacs.org | 406 | ||||
| -rw-r--r-- | config/nix.org | 37 | ||||
| -rw-r--r-- | journal/20260321.org | 9 | ||||
| -rw-r--r-- | mindmap/limit.org | 66 | ||||
| -rw-r--r-- | mindmap/lrc_circuit.png | bin | 4632 -> 4632 bytes | |||
| m--------- | nix | 0 | ||||
| -rw-r--r-- | yasnippet/latex-mode/braces | 5 | ||||
| -rw-r--r-- | yasnippet/latex-mode/net | 5 | ||||
| -rw-r--r-- | yasnippet/org-mode/proof | 7 | ||||
| -rw-r--r-- | yasnippet/org-mode/theorem | 11 |
12 files changed, 341 insertions, 231 deletions
@@ -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 @@ -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 Binary files differindex 4bdf642..9f781a0 100644 --- a/mindmap/lrc_circuit.png +++ b/mindmap/lrc_circuit.png 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 |
