diff options
author | Preston Pan <preston@nullring.xyz> | 2023-07-13 22:58:59 +0800 |
---|---|---|
committer | Preston Pan <preston@nullring.xyz> | 2023-07-13 22:58:59 +0800 |
commit | c335c05f511a373681d8644500d7750a519f58fa (patch) | |
tree | a1fa2737bc88c52ed8d0b894af772b6c41009462 | |
parent | 5362e381bcf1b1fe212ff3d550f61c9d55cd18e6 (diff) |
add a lot of things
-rw-r--r-- | about.org | 25 | ||||
-rw-r--r-- | config/doom.org | 133 | ||||
-rw-r--r-- | config/elfeed.org | 28 | ||||
-rw-r--r-- | config/qutebrowser.org | 10 | ||||
-rw-r--r-- | index.org | 3 | ||||
-rw-r--r-- | journal/20230615.org | 16 | ||||
-rw-r--r-- | journal/20230616.org | 19 | ||||
-rw-r--r-- | journal/20230619.org | 23 | ||||
-rw-r--r-- | journal/20230620.org | 15 | ||||
-rw-r--r-- | journal/20230621.org | 20 | ||||
-rw-r--r-- | journal/20230622.org | 10 | ||||
-rw-r--r-- | journal/20230623.org | 39 | ||||
-rw-r--r-- | journal/20230624.org | 15 | ||||
-rw-r--r-- | journal/20230625.org | 19 | ||||
-rw-r--r-- | journal/20230704.org | 22 | ||||
-rw-r--r-- | journal/20230711.org | 20 | ||||
-rw-r--r-- | journal/index.org | 3 | ||||
-rw-r--r-- | mindmap/duality.org | 9 | ||||
-rw-r--r-- | mindmap/electrostatics.org | 97 | ||||
-rw-r--r-- | mindmap/emergence.org | 25 | ||||
-rw-r--r-- | mindmap/mathematics.org | 14 | ||||
-rw-r--r-- | mindmap/physics.org | 36 |
22 files changed, 565 insertions, 36 deletions
diff --git a/about.org b/about.org new file mode 100644 index 0000000..a3b3b9c --- /dev/null +++ b/about.org @@ -0,0 +1,25 @@ +#+title: About +#+author: Preston Pan +#+description: About me and my contacts +#+html_head: <link rel="stylesheet" type="text/css" href="style.css" /> +#+language: en +#+OPTIONS: broken-links:t +#+date: <2023-06-26 Mon> + +* About Me +Some might know me as ret2pop, some as Preston Pan, and +others as [[https://preston.nullring.xyz][LiCoO2]]. + +** Contact +Here are all the methods you should use to contact me: +*** IRC +- ret2pop on libera.chat + - Note: I will not always be online and I don't use a bouncer on this server. Email me to coordinate a time if you really need to reach me this way. +- LiCoO2 on [[https://andrei.rm-r.org/irc][the best irc server]]. +*** Email +- preston@nullring.xyz +- ret2pop@gmail.com + +* Professional +For now, you should consult [[https://preston.nullring.xyz/about/index.html][my other website]], but I will make +this my main website in the future. diff --git a/config/doom.org b/config/doom.org index 50e6dd0..7508cdd 100644 --- a/config/doom.org +++ b/config/doom.org @@ -11,10 +11,12 @@ My name, and the org mode directory on my computer, as well as basic editor conf Below is the old documentation. #+begin_src emacs-lisp :tangle yes (setq user-full-name "Preston Pan" - user-mail-address "prseton@nullring.xyz") + user-mail-address "preston@nullring.xyz") (setq display-line-numbers-type t) - +(setq x-select-enable-clipboard t) +(setq save-interprogram-paste-before-kill t) +(setq yank-pop-change-selection t) (setq org-directory "~/org/") #+end_src - `load!' for loading external *.el files relative to this one @@ -39,7 +41,6 @@ First we load our packages: #+end_src Now, we set our keybindings: #+begin_src emacs-lisp :tangle yes - (setq exwm-input-global-keys `( ([?\s-r] . exwm-reset) @@ -88,7 +89,6 @@ Now, we set our keybindings: (interactive) (start-process "" nil "/usr/bin/slock"))))) - #+end_src And we also need to set up our media keys: #+begin_src emacs-lisp :tangle yes @@ -125,9 +125,11 @@ Now we configure fonts: doom-big-font (font-spec :family "FiraCode Nerd Font" :size 28)) #+end_src ** Color Scheme -I'm using the catppuccin theme, which is available on github. +I'm experimenting with many themes right now. One of these themes is the city-lights theme, another one of them +is the catppuccin theme. #+begin_src emacs-lisp :tangle yes -(setq doom-theme 'doom-rouge) +(setq doom-theme 'doom-city-lights) +;; (setq doom-theme 'doom-rouge) ;; (setq catppuccin-flavor 'mocha) #+end_src ** Doom Module and Programs Configuration @@ -139,6 +141,10 @@ Now we add these two files to our agenda search path: "~/org/notes.org")) (setq org-default-notes-file (concat org-directory "/notes.org")) #+end_src +And we also want to set up org-habit to start graphing our habits as soon as possible: +#+begin_src emacs-lisp :tangle yes +(setq org-habit-preceding-days 1) +#+end_src *** IRC Set up circe to connect to my bouncer: #+begin_src emacs-lisp :tangle yes @@ -150,27 +156,39 @@ Set up circe to connect to my bouncer: :user "LiCoO2/AndreiNet" :pass ,(+pass-get-secret "ZNC")))) #+end_src +And another to connect to libera: +#+begin_src emacs-lisp :tangle yes +(set-irc-server! "irc.libera.chat" + `(:tls t + :port 6697 + :nick "ret2pop" + :sasl-username "ret2pop" + :sasl-password (lambda (&rest _) (+pass-get-secret "libera.chat")) + :channels ("#emacs" "#rwx"))) +#+end_src *** Email In order to use this configuration, you must install and configure mu and mbsync. #+begin_src emacs-lisp :tangle yes -(setq mu4e-get-mail-command "mbsync --config ~/.config/doom/mbsyncrc prestonpan") (setq send-mail-function 'smtpmail-send-it) +(setq smtpmail-default-smtp-server "mail.nullring.xyz") (setq smtpmail-smtp-server "mail.nullring.xyz") (setq smtpmail-smtp-service 465) (setq smtpmail-stream-type 'ssl) -(setq mu4e-drafts-folder "/Drafts") -(setq mu4e-sent-folder "/Sent") -(setq mu4e-trash-folder "/Trash") +(after! mu4e + (setq mu4e-get-mail-command "mbsync prestonpan") + (setq mu4e-drafts-folder "/Drafts") + (setq mu4e-sent-folder "/Sent") + (setq mu4e-trash-folder "/Trash") -(setq mu4e-html2text-command "w3m -T text/html" - mu4e-update-interval 300 - mu4e-headers-auto-update t - mu4e-view-show-images t - mu4e-compose-signature-auto-include nil - mu4e-use-fancy-chars t) -(setq mu4e-compose-reply-ignore-address '("no-?reply" "preston@nullring.xyz")) + (setq mu4e-html2text-command "w3m -T text/html" + mu4e-update-interval 300 + mu4e-headers-auto-update t + mu4e-view-show-images t + mu4e-compose-signature-auto-include nil + mu4e-use-fancy-chars t) + (setq mu4e-compose-reply-ignore-address '("no-?reply" "preston@nullring.xyz"))) #+end_src *** RSS We need to set up elfeed with a list of rss feeds. @@ -180,6 +198,22 @@ We need to set up elfeed with a list of rss feeds. (add-hook! 'elfeed-search-mode-hook #'elfeed-update) (setq rmh-elfeed-org-files '("~/org/elfeed.org")) #+end_src +*** EWW +We want the default search engine of eww to be google because duckduckgo is bad: +#+begin_src emacs-lisp :tangle yes +(setq search-engines + '( + (("google" "g") "https://google.com/search?q=%s") + (("duckduckgo" "d" "ddg") "https://duckduckgo.com/?q=%s") + (("rfc" "r") "https://www.rfc-editor.org/rfc/rfc%s.txt") + (("rfc-kw" "rk") "https://www.rfc-editor.org/search/rfc_search_detail.php?title=%s"))) + +(setq search-engine-default "google") +(setq eww-search-prefix "https://google.com/search?q=") +(setq browse-url-browser-function 'eww-browse-url) +(add-hook 'eww-mode-hook + (lambda () (local-set-key (kbd "y Y") #'eww-copy-page-url))) +#+end_src *** Music In order to use this configuration, you must have mpd configured to use the same directory. We automatically connect to mpd. @@ -269,6 +303,11 @@ And then we need to add some templates with org-capture in order to add entries `(("c" "Contact" entry (file+headline "~/org/contacts.org" "Friends"), my/org-contacts-template :empty-lines 1))) #+end_src +*** Org Timer +Sometimes I want a timer to help me keep track of the time. +#+begin_src emacs-lisp :tangle yes +(setq org-clock-sound "~/audio/ding.wav") +#+end_src ** Keybindings Now we set up our keybindings for our applications: #+begin_src emacs-lisp :tangle yes @@ -285,8 +324,14 @@ Now we set up our keybindings for our applications: :desc "Open password manager" "p w" #'ivy-pass) (map! :leader - :desc "Open password manager" + :desc "Open dictionary program" "d i" #'dictionary) +(map! :leader + :desc "Open rtorrent frontend" + "r t" #'mentor) +(map! :leader + :desc "Open eww web browser" + "e w" #'eww) #+end_src ** External Packages we want to include some packages that don't come with doom emacs. @@ -305,22 +350,59 @@ loopbacks in gpg-agent.conf. (pinentry-start)) #+end_src *** Rainbow Mode +This is not used currently but might in the future. #+begin_src emacs-lisp :tangle yes (define-globalized-minor-mode global-rainbow-mode rainbow-mode (lambda () (when (not (memq major-mode (list 'org-agenda-mode))) (rainbow-mode 1)))) -(global-rainbow-mode 1) #+end_src *** Automatically tangle +Tangling manually every single time is kind of painful. Instead, we allow ourselves to set a flag +in org that allows org to know we should tangle on save: #+begin_src emacs-lisp :tangle yes (use-package! org-auto-tangle :hook (org-mode . org-auto-tangle-mode)) #+end_src +*** Notifications +We use ednc to manage notifications. +#+begin_src emacs-lisp :tangle yes +(ednc-mode 1) + +(defun show-notification-in-buffer (old new) + (let ((name (format "Notification %d" (ednc-notification-id (or old new))))) + (with-current-buffer (get-buffer-create name) + (if new (let ((inhibit-read-only t)) + (if old (erase-buffer) (ednc-view-mode)) + (insert (ednc-format-notification new t)) + (pop-to-buffer (current-buffer))) + (kill-buffer))))) + +(add-hook 'ednc-notification-presentation-functions + #'show-notification-in-buffer) + +(evil-define-key 'normal ednc-view-mode-map + (kbd "d") 'ednc-dismiss-notification + (kbd "RET") 'ednc-invoke-action + (kbd "e") 'ednc-toggle-expanded-view) +#+end_src +*** Playing Video +#+begin_src emacs-lisp :tangle yes +(setq empv-invidious-instance "https://yewtu.be/api/v1") +#+end_src +*** Mastodon +#+begin_src emacs-lisp :tangle yes +(setq mastodon-instance-url "https://types.pl" + mastodon-active-user "ret2pop") +#+end_src * packages.el Configuration These are some external packages that I use that are not provided by doom modules. #+begin_src emacs-lisp :tangle packages.el +(unpin! evil-collection) +(package! evil-collection + :recipe (:repo "kepi/evil-collection" :branch "mu4e-development")) + (package! pinentry) (package! kbd-mode :recipe (:host github @@ -331,6 +413,17 @@ These are some external packages that I use that are not provided by doom module (package! org-auto-tangle) (package! rainbow-mode) (package! ednc) +(package! mentor) +(package! request) ;; dependency for lemmy client +(package! plz) ;; dependency for lemmy client; either request or plz is idk what to use +(package! curl-to-elisp) +(package! empv) +(package! elpher) +(package! ement) +(package! mastodon) +(package! go-translate) +(package! ts) +(package! chess) #+end_src * init.el Configuration @@ -396,7 +489,7 @@ This installs all the doom modules that we are going to be configuring: vc :term - ;;eshell ; the elisp shell that works everywhere + eshell ; the elisp shell that works everywhere ;;shell ; simple shell REPL for Emacs ;; term ; basic terminal emulator for Emacs vterm diff --git a/config/elfeed.org b/config/elfeed.org index bd71ffd..ca942ea 100644 --- a/config/elfeed.org +++ b/config/elfeed.org @@ -4,17 +4,33 @@ #+description: My list of blogs, news sites, and channels. #+html_head: <link rel="stylesheet" type="text/css" href="../style.css" /> -* Feed + +* Feed :elfeed: +In general, this feed has rss feeds whose associated links are viewable in +eww, by design. It has a focus on technology related subjects, with some of my personal +feeds. Feeds labeled private are feeds that are connected to an account I have, so +you might not want them. ** Blogs :blog: Here are some interesting blogs, many of which are from substack. -*** https://astralcodexten.substack.com/feed *** https://graymirror.substack.com/feed *** https://lukesmith.xyz/index.xml :lukesmith: + ** News :news: -*** https://rss.nytimes.com/services/xml/rss/nyt/Technology.xml -*** https://rss.nytimes.com/services/xml/rss/nyt/World.xml -*** https://rss.nytimes.com/services/xml/rss/nyt/Science.xml -*** https://rss.nytimes.com/services/xml/rss/nyt/AsiaPacific.xml +These are the news articles that I subscribe to. Some of these are politics related +but I mostly just want to inform myself about technology subjects. +*** https://feeds.washingtonpost.com/rss/politics?itid=lk_inline_manual_2 +*** https://news.ycombinator.com/rss + ** Podcasts :podcast: *** https://notrelated.xyz/rss :lukesmith: + +** Forums :forum: +*** https://reddthat.com/feeds/front/eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOjkwMiwiaXNzIjoicmVkZHRoYXQuY29tIiwiaWF0IjoxNjg3NzgyNjk1fQ.XVCUjs0u5-kjNwFKvE6xlGCu7ij1QmzGEy0Pettdc_s.xml?sort=Active :personal: + +** Science Journals :journal: +I like to get new information about recent studies related to technology. +*** http://www.nature.com/nmat/current_issue/rss/ + ** Misc. +This is a section dedicated to everything that does not fit the above categories +or is newly added from Qutebrowser with the xr keybinding. diff --git a/config/qutebrowser.org b/config/qutebrowser.org index 0763f68..03741b0 100644 --- a/config/qutebrowser.org +++ b/config/qutebrowser.org @@ -11,9 +11,15 @@ We start with imports: #+begin_src python :tangle config.py from pathlib import Path from urllib.parse import urlparse -import catppuccin +# import catppuccin #+end_src We import pathlib to get our home directory. +** Theming +I am experimenting with many themes right now, and one of them is the [[https://github.com/gicrisf/qute-city-lights][city-lights]] theme. +Another one I have used is the [[https://github.com/catppuccin/catppuccin][catppuccin]] theme. +#+begin_src python :tangle config.py +config.source('themes/qute-city-lights/city-lights-theme.py') +#+end_src ** Variables We need the location of the home directory. #+begin_src python :tangle config.py @@ -95,5 +101,5 @@ c.downloads.location.directory = "~/downloads" ** End of Config #+begin_src python :tangle config.py config.load_autoconfig() -catppuccin.setup(c, 'mocha', False) +# catppuccin.setup(c, 'mocha', False) #+end_src @@ -36,5 +36,8 @@ can therefore publish them. So I did! Configurations include: - QuteBrowser - Elfeed …and many more! +** [[file:about.org][About]] +To see my contact information and whatnot. + * About this Website I wrote this website in org mode. For more information, see the [[file:README.org][README]]. diff --git a/journal/20230615.org b/journal/20230615.org new file mode 100644 index 0000000..a8a2600 --- /dev/null +++ b/journal/20230615.org @@ -0,0 +1,16 @@ +#+TITLE: Daily Journal +#+STARTUP: showeverything +#+DESCRIPTION: My daily journal entry +#+AUTHOR: Preston Pan +#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../style.css" /> +#+html_head: <script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script> +#+html_head: <script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script> +#+options: broken-links:t +* Thursday, 15 June 2023 +** 21:53 +I've been in China for a day now, and the jetlag got to me so I slept way too early. +Nevertheless, this has been nice so far. I am currently working more on my analytical +mechanics book, and I want to learn some group theory and figure out some lagrangian +mechanics. + +I need to work more on the website, specifically the mindmap. diff --git a/journal/20230616.org b/journal/20230616.org new file mode 100644 index 0000000..afc83df --- /dev/null +++ b/journal/20230616.org @@ -0,0 +1,19 @@ +#+TITLE: Daily Journal +#+STARTUP: showeverything +#+DESCRIPTION: My daily journal entry +#+AUTHOR: Preston Pan +#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../style.css" /> +#+html_head: <script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script> +#+html_head: <script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script> +#+options: broken-links:t +* Friday, 16 June 2023 +** 13:43 +By the way, my system timezone is not accurate and I just noticed that this is affecting +my journal times, so I am going to fix that. + +Today, I plan to do some more mechanics, specifically stuff relating to angular momentum +and lagrangian mechanics. I hope to learn more about quantum mechanics theory, so I think +this is a good starting point. + +Also, I would like to learn some general relativity. Although I know the general idea, the +differential geometry part of it is still hard, so I need to study some of that. diff --git a/journal/20230619.org b/journal/20230619.org new file mode 100644 index 0000000..d004d3c --- /dev/null +++ b/journal/20230619.org @@ -0,0 +1,23 @@ +#+TITLE: Daily Journal +#+STARTUP: showeverything +#+DESCRIPTION: My daily journal entry +#+AUTHOR: Preston Pan +#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../style.css" /> +#+html_head: <script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script> +#+html_head: <script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script> +#+options: broken-links:t +* Monday, 19 June 2023 +** 16:48 +Basically, I got my mechanical keyboard, a laptop stand, and +my wacom drawing thing. It's pretty cozy here. + +Yesterday, I did a little bit of drawing in perspective. I am not +currently good at drawing, but i am starting by just doing the basics +of perspective and I will attempt landscapes in the future. + +This keyboard has blue switches. I could not even find that much information +on the keyboard online, but it is an hp k23. I do not even know if it is good, +but it can be made good because the switches are hot-swappable. + +Anyway, I do like the keyboard a lot, and in the future, I plan to do more +drawing. diff --git a/journal/20230620.org b/journal/20230620.org new file mode 100644 index 0000000..9461dc3 --- /dev/null +++ b/journal/20230620.org @@ -0,0 +1,15 @@ +#+TITLE: Daily Journal +#+STARTUP: showeverything +#+DESCRIPTION: My daily journal entry +#+AUTHOR: Preston Pan +#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../style.css" /> +#+html_head: <script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script> +#+html_head: <script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script> +#+options: broken-links:t +* Tuesday, 20 June 2023 +** 02:52 +Despite it being logged as a different day, today for me is still +when i wrote my last blog article because i haven't changed my +system time yet due to procrastination. Today, I figured out how +to send org mode emails. I will manage my contacts with org mode +too. diff --git a/journal/20230621.org b/journal/20230621.org new file mode 100644 index 0000000..d8ece6c --- /dev/null +++ b/journal/20230621.org @@ -0,0 +1,20 @@ +#+TITLE: Daily Journal +#+STARTUP: showeverything +#+DESCRIPTION: My daily journal entry +#+AUTHOR: Preston Pan +#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../style.css" /> +#+html_head: <script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script> +#+html_head: <script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script> +#+options: broken-links:t +* Wednesday, 21 June 2023 +** 21:34 +I've fixed the timezones, so they will now appear correctly. Additionally, I +have figured out more advanced org-agenda task building, and I will therefore +use it to build more advanced personal efficiency mechanisms, a set of heuristic +tools that build more abstract heuristic tools (thus having an exponential effect), +and also build infrastructure that helps with doing more "useful" tasks. + +I've been thinking about this conceptual infrastructure recently, and how primitive +the average person's infrastructures regarding personal efficiency mechanisms are. +Emacs and org mode are both examples of personal efficiency mechanisms, and so are +things like planners, lists, capital, skills, heuristics, journals, notes, and others. diff --git a/journal/20230622.org b/journal/20230622.org new file mode 100644 index 0000000..6ffc805 --- /dev/null +++ b/journal/20230622.org @@ -0,0 +1,10 @@ +#+TITLE: Daily Journal +#+STARTUP: showeverything +#+DESCRIPTION: My daily journal entry +#+AUTHOR: Preston Pan +#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../style.css" /> +#+html_head: <script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script> +#+html_head: <script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script> +#+options: broken-links:t + +* Thursday, 22 June 2023 diff --git a/journal/20230623.org b/journal/20230623.org new file mode 100644 index 0000000..d822ff7 --- /dev/null +++ b/journal/20230623.org @@ -0,0 +1,39 @@ +#+TITLE: Daily Journal +#+STARTUP: showeverything +#+DESCRIPTION: My daily journal entry +#+AUTHOR: Preston Pan +#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../style.css" /> +#+html_head: <script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script> +#+html_head: <script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script> +#+options: broken-links:t +* Friday, 23 June 2023 +** 06:16 +*** DONE Check if these todos work +SCHEDULED: <2023-06-22 Thu> +I am finally trying out using org agenda as a dayplanner, +and as a result, I want to check if these todos work. +Additionally, I will be linking my old site to my new one +(this one). +** 10:15 +So basically these timestamps work for real now, and this +todo also works. I have set up exwm in emacs so my qtile +configuration is no longer being worked on as it is being +replaced by exwm. + +EXWM is nice because the keybindings are consistent. You can +treat x window buffers in the same way you do text buffers, +and the modeline can act as a status bar. The modeline has +battery percentage and time built into it which makes it +a bar replacement as those two things are the only thing +I need really. + +What's nice is that if there is something going on inside emacs +and you are in another application, you can see it via the modeline, +whereas you would need notifications if you were to do this +in a conventional window manager. For example, i can get irc notifications +from my emacs irc client by simply glancing at the modeline while I am +in, say, qutebrowser. + +I'm currently looking into xwidgets in order to replace my web browser +in favor of emacs. If I can do that, then 95% of my computing +can be done with emacs integration. diff --git a/journal/20230624.org b/journal/20230624.org new file mode 100644 index 0000000..29dfbee --- /dev/null +++ b/journal/20230624.org @@ -0,0 +1,15 @@ +#+TITLE: Daily Journal +#+STARTUP: showeverything +#+DESCRIPTION: My daily journal entry +#+AUTHOR: Preston Pan +#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../style.css" /> +#+html_head: <script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script> +#+html_head: <script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script> +#+options: broken-links:t +* Saturday, 24 June 2023 +** 14:06 +So, today I began looking into using the nyxt browser and integrating it with +emacs. It's really interesting, actually, you can connect to a repl and have +the two communicate. + +Also, I might update the website's css. This css was meant to be temporary. diff --git a/journal/20230625.org b/journal/20230625.org new file mode 100644 index 0000000..2294a66 --- /dev/null +++ b/journal/20230625.org @@ -0,0 +1,19 @@ +#+TITLE: Daily Journal +#+STARTUP: showeverything +#+DESCRIPTION: My daily journal entry +#+AUTHOR: Preston Pan +#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../style.css" /> +#+html_head: <script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script> +#+html_head: <script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script> +#+options: broken-links:t +* Sunday, 25 June 2023 +** 13:24 +I've realized that switching themes with my configuration is +really easy because everything is either emacs or my web browser +(or some other third party application that doesn't need a theme +anyway). I'm currently trying out the city lights theme, but I will +probably experiment with more as well. + +Today I feel really tired for some reason. Even so, I've been looking +into category theory and group theory. I don't have any physical books +on the two subjects, but I do have online copies. diff --git a/journal/20230704.org b/journal/20230704.org new file mode 100644 index 0000000..d9ce56a --- /dev/null +++ b/journal/20230704.org @@ -0,0 +1,22 @@ +#+TITLE: Daily Journal +#+STARTUP: showeverything +#+DESCRIPTION: My daily journal entry +#+AUTHOR: Preston Pan +#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../style.css" /> +#+html_head: <script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script> +#+html_head: <script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script> +#+options: broken-links:t +* Tuesday, 04 July 2023 +** 12:49 +I haven't done a journal entry for a while, but there are a couple +of things that are pretty cool and new. I've fixed all my emacs +config internal bugs, and so the only thing left to do in order +to make my emacs config perfect is try to do everything in emacs. +EXWM already sort of achieves this goal, but I want to open the least +amount of x window buffers as possible as well. Therefore, I've started +using eww more, and it is actually good. Additionally, I've started +using GNU Info more and the documentation is actually really good. + +I've also been experimenting with eshell. It feels highly integrated +because of how you can use shell functions as well as lisp functions +all in one REPL. diff --git a/journal/20230711.org b/journal/20230711.org new file mode 100644 index 0000000..cfa1ae5 --- /dev/null +++ b/journal/20230711.org @@ -0,0 +1,20 @@ +#+TITLE: Daily Journal +#+STARTUP: showeverything +#+DESCRIPTION: My daily journal entry +#+AUTHOR: Preston Pan +#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../style.css" /> +#+html_head: <script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script> +#+html_head: <script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script> +#+options: broken-links:t +* Tuesday, 11 July 2023 +** 16:00 +I haven't written a blog post in a while, pain. Basically, recently I have +been doing not a whole lot because of mood problems revolving around sleep. +There are a few things that I want to try working towards, and a lot of them +are internally motivating, but my physical and mental condition is kind of catching up +to me. + +I have gotten evil-mode in mu4e to work because before it did not in doom emacs. +I am always very tired for some reason and I have no idea why I am tired. +I guess i could try coffee as a motivator, and that usually works. I think I need +to exercise more. diff --git a/journal/index.org b/journal/index.org index 345deba..bfdcb46 100644 --- a/journal/index.org +++ b/journal/index.org @@ -23,6 +23,9 @@ done #+end_src #+RESULTS: +- [[file:20230711.org][20230711.org]] +- [[file:20230704.org][20230704.org]] +- [[file:20230625.org][20230625.org]] - [[file:20230624.org][20230624.org]] - [[file:20230623.org][20230623.org]] - [[file:20230622.org][20230622.org]] diff --git a/mindmap/duality.org b/mindmap/duality.org index a47e951..cef6faa 100644 --- a/mindmap/duality.org +++ b/mindmap/duality.org @@ -130,9 +130,6 @@ prime can be represented by a smaller factor of that number. For example, 4-alit What's interesting is that one is a factor of everything. This represents the "null filter", or "anti filter", which doesn't filter any data and simply represents it all as one thing. Very interesting. -*** P-ality, where P is Prime -I've yet to experiment with other P-alities, but I'm sure they work too. For now, I will say that they probably work, but won't be as elegant as -a duality, for other reasons: -** Two is small, and Close to e -The last thing that makes two unique is simply that it is the smallest prime number, which means thinking about the concept is relatively easy. It is -also an approximation of the constant e, or euler's constant, which has implications in computer science and storing data as well. +** Two is small and not One +The number two is also the smallest natural number that is not one. This means it is the simplest way to subdivide any particular object. This makes +it more elegant compared to some other modalities. diff --git a/mindmap/electrostatics.org b/mindmap/electrostatics.org new file mode 100644 index 0000000..e71a05e --- /dev/null +++ b/mindmap/electrostatics.org @@ -0,0 +1,97 @@ +:PROPERTIES: +:ID: 32f0b8b1-17bc-4c91-a824-2f2a3bbbdbd1 +:END: +#+title: electrostatics +#+author: Preston Pan +#+html_head: <link rel="stylesheet" type="text/css" href="../style.css" /> +#+html_head: <script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script> +#+html_head: <script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script> +#+options: broken-links:t + +* What is Electricity? +Because this is an introduction and not a lesson in quantum mechanics, I will say that electricity is broadly +defined by the charge that an object has that corresponds the force that it both feels and also gives +to other objects. Charge is measured in coulombs and can be negative or positive, which leads us to the man himself: + +* Coulomb's Law +In order to define the phenomena of electric force in the real world, we use +this experimentally verified law known as Coulomb's Law. Let \( \vec{r_{1}} \) be the displacement +of a charge \( Q \), and let \( \vec{r_{2}} \) be the displacement of a charge \( q \), where these two charges are named \( P_{1}\) and \( P_{2} \) respectively. +Then let \( \vec{r} = \vec{r_{1}} - \vec{r_{2}} \) be the distance between the charges. For simplicity, we assume +these charges have no mass or volume; we call these /point charges/. The equation for the force +on \( P_{1} \) is as follows: + +\begin{align*} +\vec{F(\vec{r})} = \frac{1}{4\pi\epsilon_{0}}\frac{qQ}{r^{2}} \hat{r}. +\end{align*} + +Where \( \hat{r} \) is the unit vector pointing in the direction of \( P_{2} \). Note that there are a +couple of interesting things about this force. First, it is an inverse square law, and the formula looks a lot like the one for gravitation, +only charge can be negative and mass cannot. Second, it is symmetrical, +in the sense that the force felt by \( P_{2} \) is going to be the same, only \( \hat{r} \) +is pointing in the other direction. Also, note that due to linearity, this force calculation follows the /superposition principle/. +That is, if we have different electrostatic forces acting on one particle: + +\begin{align*} +\vec{F_{tot}} = \vec{F_{1}} + \vec{F_{2}} + … = \sum_{i=1}^{n} \vec{F_{i}}. +\end{align*} + +Wait, where does the \( \frac{1}{4\pi\epsilon_{0}} \) term come from? Well, the surface area of a sphere +is \( 4\pi r^{2}\) , which explains both the inverse square law and this \( 4\pi \) term in the denominator, +but what about \( \epsilon_{0} \), what does it even mean? + +Well, it is simply a conversion of units from /speed of light/ terms to /SI unit terms/. If you +think of it like that, you will never need to know what the units actually are, although I'm +sure you can find that online. Just know that it is called the permeability of free space, and +it is defined in terms of the speed of light and a constant relating to magnetism: + +\begin{align*} +\epsilon_{0}\mu_{0} = \frac{1}{c^{2}} +\end{align*} + +but since this is electrostatics and not electrodynamics, you will not have to worry about +magnetic constants. Again, it is just a shift from speed of light units to our mortal units. + +** Electric Field +Okay, now we can continue to defining the /electric field/ of a particle. Let's call \( P_{1} \) our +/test charge/, and \( P_{2} \) our /source charge/. If we now want to measure the force on \( P_{1} \), +our equation is going to be the same. However, we can define a field \( \vec{E(\vec{r})} \) such that: + +\begin{align*} +\vec{F} = Q\vec{E} +\end{align*} + +Where: + +\begin{align*} +\vec{E} = \frac{\vec{F}}{Q} +\end{align*} + +Therefore, the value of \( \vec{E} \) for a point charge must be: + +\begin{align*} +\vec{E} := \frac{1}{4\pi\epsilon_{0}}\frac{q}{r^{2}}\hat{r}. +\end{align*} + +The result is we find a way to express force in a /test charge independent way/. This is useful +because we often want to find the force if an arbitrary object with an arbitrary charge is next +to the particle in question, instead of focusing specifically on two charges. + +Note that it is trivial to prove that \( \vec{E} \) also follows the superposition principle. + + +** Continuous Charge Distributions +Now that we have a working definition of \( \vec{E} \), we can now find the electric field of an object +that has a continuous charge distribution. Note that there aren't actually infinite charges in real +world objects which is what we are assuming by taking an integral over some space of charge, but +it's close enough because there are so many individual charges in real world objects. Assuming we are in +three dimensions: + +\begin{align*} + |