]> Untitled Git - monorepo.git/commitdiff
add a lot of things
authorPreston Pan <preston@nullring.xyz>
Thu, 13 Jul 2023 14:58:59 +0000 (22:58 +0800)
committerPreston Pan <preston@nullring.xyz>
Thu, 13 Jul 2023 14:58:59 +0000 (22:58 +0800)
22 files changed:
about.org [new file with mode: 0644]
config/doom.org
config/elfeed.org
config/qutebrowser.org
index.org
journal/20230615.org [new file with mode: 0644]
journal/20230616.org [new file with mode: 0644]
journal/20230619.org [new file with mode: 0644]
journal/20230620.org [new file with mode: 0644]
journal/20230621.org [new file with mode: 0644]
journal/20230622.org [new file with mode: 0644]
journal/20230623.org [new file with mode: 0644]
journal/20230624.org [new file with mode: 0644]
journal/20230625.org [new file with mode: 0644]
journal/20230704.org [new file with mode: 0644]
journal/20230711.org [new file with mode: 0644]
journal/index.org
mindmap/duality.org
mindmap/electrostatics.org [new file with mode: 0644]
mindmap/emergence.org
mindmap/mathematics.org
mindmap/physics.org [new file with mode: 0644]

diff --git a/about.org b/about.org
new file mode 100644 (file)
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.
index 50e6dd00bde7ff59404838cf5bb258bf23847720..7508cdd4a4e18cbe8225c382484e2ac47de48331 100644 (file)
@@ -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
index bd71ffd85ccea45c1dd7f92f3e0ff851afd7b6d8..ca942ea4dda2949ee120ef453de0882927825a05 100644 (file)
@@ -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.
index 0763f68f8f4fd71121f8667b608e5691247d0a2e..03741b009239f6e16360a3fa3f7c224f78966b96 100644 (file)
@@ -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
index 9334207f58c8455f1d73919d70fb0c09b944deb7..55469f1804d2984cc27d79ce0465b6dbe786a28b 100644 (file)
--- a/index.org
+++ b/index.org
@@ -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 (file)
index 0000000..a8a2600
--- /dev/null
@@ -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 (file)
index 0000000..afc83df
--- /dev/null
@@ -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 (file)
index 0000000..d004d3c
--- /dev/null
@@ -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 (file)
index 0000000..9461dc3
--- /dev/null
@@ -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 (file)
index 0000000..d8ece6c
--- /dev/null
@@ -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 (file)
index 0000000..6ffc805
--- /dev/null
@@ -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 (file)
index 0000000..d822ff7
--- /dev/null
@@ -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 (file)
index 0000000..29dfbee
--- /dev/null
@@ -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 (file)
index 0000000..2294a66
--- /dev/null
@@ -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 (file)
index 0000000..d9ce56a
--- /dev/null
@@ -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 (file)
index 0000000..cfa1ae5
--- /dev/null
@@ -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.
index 345deba556d02263a46017619c18322b99496121..bfdcb4692e5eb1e1d08a6549a5e7125342b5fa16 100644 (file)
@@ -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]]
index a47e951a062f143f085380d2dc08c41ae159f0a2..cef6faafc48bf53472bc64a5a31fe1017f494147 100644 (file)
@@ -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 (file)
index 0000000..e71a05e
--- /dev/null
@@ -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*}
+\vec{E(\vec{r})} = \frac{1}{4\pi\epsilon_{0}} \int_{space} \frac{\sigma(\vec{r_{2}})}{r^{2}}\hat{r}d\tau
+\end{align*}
+
+Where \( \tau \) is the patch of volume we are integrating over, and \( \sigma \) is the charge density function,
+which takes a position vector and returns the charge at that vector. Of course, surface and line integrals
+have their own analogues -- simply replace \( d\tau \) with \( da \) or \( dl \), and make sure your charge
+distribution is in the correct amount of dimensions.
index 9a146cfcc9d50fdae74c4da50f6037082ac896ad..9c975a57aeb7228eddbdff02553973153ebbd7a8 100644 (file)
@@ -6,4 +6,27 @@
 #+html_head: <link rel="stylesheet" type="text/css" href="style.css" />
 
 * Emergence systems are…
-Many things.
+Existent in many forms and at many levels. They are the fundamental building
+block of everything that exists, I argue, and nothing in this theory of
+everything will contradict this statement!
+
+** What is Emergence?
+Emergence can be broadly defined as a system whose components organize themselves
+into a larger structure via simpler rules that each component follows.
+
+Entire systems such as [[id:a6bc601a-7910-44bb-afd5-dffa5bc869b1][mathematics]] can be explained in terms of a couple axioms,
+where all the theorems arising from those axioms are emergent from those axioms.
+At least, that is a relatively simple explanation, and does not capture the full
+beauty of emergent systems. Therefore, I call apoun an example from daily life:
+
+*** Societies
+At every scale, societies exhibit properties of emergence. For example, families
+and small communities comprise small areas of town, which comprise cities,
+which then make up provinces, and finally countries. In this particular example,
+we self organize into self-similar [[id:8f265f93-e5fd-4150-a845-a60ab7063164][recursive]] hierarchies. This is for a good reason;
+in order for societies to scale, there need to be abstractions. Each level in the
+hierarchy conveys more but less exact information, until we get to the national
+level which deals the most with aggregates.
+
+*** Markets Emergent
+To use a particular hierarchy example, markets are emergent from barter in goods.
index 55c3dc52f1e01f17c8a94e1c96ede1ae72f23779..d6d706562d98267a2d3fde8e0a0e10d8a21e161b 100644 (file)
@@ -12,4 +12,16 @@ With a couple of set theory axioms. One might
 describe it as an extrapolation framework
 without grounding (i.e. a set of implications;
 if p then q, but never specifying if p is a property
-of a real system or not).
+of a real system or not). Therefore, mathematics
+is suitable for modeling other things if we believe
+those other things have some rules and are logically
+consistent.
+
+There are many subfields in math, ranging from group theory
+to complex analysis. However, much of the time we are able to find
+morphisms between these different fields in mathematics, which we
+model using category theory.
+
+** Mathematical Models
+*** [[id:ece8bf94-4e3c-4939-a77a-9949c1ec0dc6][Physics]]
+This is a stub.
diff --git a/mindmap/physics.org b/mindmap/physics.org
new file mode 100644 (file)
index 0000000..b70f829
--- /dev/null
@@ -0,0 +1,36 @@
+:PROPERTIES:
+:ID:       ece8bf94-4e3c-4939-a77a-9949c1ec0dc6
+:END:
+#+title: physics
+#+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
+
+* Laws of Nature
+By engaging in physics modeling, we are postulating that there are rules that
+"nature" follows, and that these rules are logically consistent. At least,
+mathematical models postulate this, and non-mathematical models of the universe
+have been relegated to the study of metaphysics.
+
+* Fields in Physics
+** Classical Mechanics
+Classical mechanics deals with fields of physics that do not deal with time dilation or quantum
+weirdness. It is called classical mechanics because most of these theories were invented before
+their quantum or relativistic counterparts, and usually serve as a baseline understanding
+for the later topics.
+*** Newtonian Mechanics
+It all started when Newton created three (but really two) fundamental laws of the universe that
+governed all things.
+*** Lagrangian Mechanics
+This is a different strain of classical mechanics. Instead of looking at direction and vectors,
+it looks at a single fundamental principle, even more fundamental than inertia and conservation of momentum:
+optimization. We believe that nature always optimizes for some parameters in all physical phenomena.
+*** Classical Electrodynamics
+Classical electrodynamics attempts to explain the electromagnetic force from a classical perspective. What is
+light? How does electricity actually work? All these questions you will find (half) answered in the study
+of electrodynamics.
+**** [[id:32f0b8b1-17bc-4c91-a824-2f2a3bbbdbd1][Electrostatics]]
+This is a study of the force of particles with charge on another in a motionless context. It is the baseline
+for studying more complicated electromagnetic theory.