Music. Okay, let me try that again.
It's ret2pop! My website for all things.
-
** Sounds awesome! But why is it written in org instead of html?
Because I have converted to the church of emacs. Remember:
-anything and everything that can be rewritten in org, can and should
-be rewritten in org.
+anything and everything that can be rewritten in org should be rewritten in org.
*** so how did you actually do that?
By using the ~org-publish~ function, ~org-roam~, and ~org-journal~,
-as well as writing a lot of things with a literate config.
+as well as writing a lot of things with a literate config. To see more, see my
+[[file:config/emacs.org][emacs configuration]] and my [[https://git.nullring.xyz/toughnix.git/tree/][NixOS configuration]].
** So, where is this website of yours located?
https://ret2pop.nullring.xyz, it is the road to enlightenment.
-
* Wait, so where are your dotfiles?
To use my dotfiles, clone this repository:
#+begin_src bash
git clone https://github.com/ret2pop/ret2pop-website.git ~/org/website
#+end_src
-and install my [[https://github.com/ret2pop/hyprnixmacs][NixOS Configuration]]. The org files /are/ the dotfiles, or
+and install my [[https://git.nullring.xyz/toughnix.git/][NixOS configuration]]. The org files /are/ the dotfiles, or
at least in the case of emacs.
To use my full system, you also need to have a ~password-store~ from the ~pass~
-password manager in its standard location with an entry called ~Mail~, and you need
-to clone my [[https://github.com/ret2pop/wallpapers.git][wallpapers]] repository.
+password manager in its standard location with an entry called ~Mail~, and you should
+otherwise follow the instructions listed on the hyprnixmacs repository.
* License
See the [[file:LICENSE.org][license]]. The style.css has its own license.
My callsign is ~VE7PPN~.
*** Linkedin
You can see my [[https://ca.linkedin.com/in/preston-pan-4aa635296][personal linkedin profile]].
+*** How Old am I?
+born in 12/23/2005, but does it really matter?
** Keys
This is for all my public keys that are important. Note: for cryptocurrency public keys, see
[[file:index.org][the index]] page with all my addresses. Use either your own self hosted scanner, or another
public scanner to get my public keys.
- This is [[file:public-key.asc][my gpg public key for ret2pop]].
- This is [[file:id_ed25519.pub][my ssh key]].
+* Feeds
+RSS (and Atom feeds) are ways of keeping up-to-date in a minimal and universal way.
+- [[https://git.nullring.xyz/ret2pop-website.git/?format=atom][Website Cgit repo atom feed]]
+
* Professional
Here you can find [[file:./resume2.pdf][my resume]], which contains it all. I am always open for new job opportunities!
-
-* How Old am I?
-born in 12/23/2005, but does it really matter?
--- /dev/null
+#+title: Stop Asking for Better Horses
+#+author: Preston Pan
+#+description: It doesn't happen instantly.
+#+html_head: <link rel="stylesheet" type="text/css" href="../style.css" />
+#+html_head: <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
+#+html_head: <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
+#+html_head: <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
+#+html_head: <link rel="manifest" href="/site.webmanifest">
+#+html_head: <link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5">
+#+html_head: <meta name="msapplication-TileColor" content="#da532c">
+#+html_head: <meta name="theme-color" content="#ffffff">
+#+html_head: <meta name="viewport" content="width=1000; user-scalable=0;" />
+#+language: en
+#+OPTIONS: broken-links:t
+
+* Times Never Change
+#+name: Henry Ford (allegedly)
+#+begin_quote
+If I had asked people what they wanted, they would have asked for better horses -- Henry Ford (Allegedly)
+#+end_quote
+Before his time, cars were nothing but a novelty item for people that could afford them.
+It's a simple idea, but it's what runs our world today. However, the democratization of information
+that the internet has blessed upon us has some side-effects that distort truth signals created
+by the market. Let's take a deep dive into the strange difference between what people /say is true/
+(i.e. "people want better horses!") versus what people /actually want/ (i.e. real demand or real
+risk taking).
+* You're Not Vested
+You (probably) are not an investor. You have no skin in the game, and you do not lose anything
+if your guess is wrong on the internet. Nobody will ultimately point out your mistake, because
+you're likely not important enough that your mistakes will be talked about. And, even for people
+that are, nobody will call them out on how wrong they are; people are too busy making their
+own opinions! So if you're not investor, it does no good to you if you think something is a bubble.
+In fact, if you /are/ an investor and have enough capital for what I'm suggesting, you should know
+about:
+** Information and Markets
+In a market, any relevant information that's not reflected in the price is an arbitrage opportunity.
+If you believe that some technology's fundamental value is zero (or low), you have a couple of
+options: shorting and puts (or some put spread). Of course, the common counterargument is that
+the market is irrational, so you'll just end up losing all your money if you buy puts. Well, you
+always have a choice of parameters. For instance, you can buy less puts and you can increase your
+amount OTM. If you have a couple million dollars, you could make a profit by buying one-week put
+options every week, while adjusting your parameters OTM. During a bubble, there are only two
+possibilities: either put options are not priced in, so as long as you continue to have capital
+there's always some risk exposure (isolating your thesis) that could allow you to make money, or
+the put options are priced in, in which case the fact that it's a bubble should be obvious from the
+EMH. Therefore, there's always a way to make money off of your twitter prediction! Will you? I
+believe that should be our measure of how much we should continue to believe in people on the
+internet.
+** Economists as Market Participants
+When economists predict a recession or predict a Ponzi scheme or bubble, why don't they participate
+in the market place? The government has essentially infinite capital; they could roll put options
+on their own economy if they wanted to. If the government is correct about a possible recession,
+then great: their bet in the market pays off, and it can use that bet to employ people and put
+them back to work. If the government is incorrect, more money flows into the private sector,
+strengthening the correct market actors and crippling the inefficient market actor. When economists
+make predictions, remember: they don't take risks like this, the government doesn't take risks like
+this in the same way market participants do. Therefore, this is my rule of thumb: /never/ trust
+/anyone/ that isn't vested in the market to tell you what's happening in the market, even
+/expert economists/. Economists can advise the government to short or to buy puts, basically
+participating in the market in the same way that regular market actors do. In this way, there is
+an inherent accountability/feedback mechanism.
+* The Internet is the Better Fax Machine
+People forget that the general sentiment at the time of the dot com bubble: while there were many
+people who were fanatics about the new technology, there were many skeptics, which all said the same
+thing: why do we need the internet when we already have [[https://www.laphamsquarterly.org/revolutions/miscellany/paul-krugmans-poor-prediction][fax machines]]? Often, they forget that
+they're /not/ market participants, and there's probably some underlying /reason/ why people are
+investing money at such a large volume. Of course, real bubbles exist, but it's no use in trying
+to distinguish fake bubbles from real bubbles if you're /not vested/. And, often, real bubbles
+are in part propped up by the government. In fact, if the government simply bought puts in the way
+outlined above, and they were correct, there would /be no bubbles/. Why do we need the internet?
+It's not for the economists to comment on, let alone the /average Joe/.
+* Blockchain is the Better (or Worse) Bank
+The same sentiment is currently being expressed by the public consciousness for blockchain
+technology. First, probably 80% of these people have never heard about smart contracts or how
+they work. I'm currently vested in blockchain, and I used to work in the industry. I can tell
+you a couple things about blockchain, but most of what I'll tell you is that most of the public
+is just /wrong/, like horribly wrong, most of the time. It's probably a common theme in most
+industries, but for blockchain, where on one hand there is a huge craze, and on the other there
+are people saying the technology is worth $0, it is even more so.
+
+Blockchain technology gives people incentives to agree on the state of some data so long as the
+native token is valuable, with possibly some state machine that manipulates this database of data.
+That's literally it. A lot of research into blockchain technology boils down to this, and its
+uses range from supply chain tracking to finance (which I think is the most realistic use-case).
+This isn't a debunk of common talking points, but what I can tell you is that for many use cases,
+if you didn't have the concept of blockchain, you'd almost have to reinvent it, but worse. That
+in and of itself makes the industry valuable, and given my "insider experience" (I didn't do that
+much but I was very much surrounded by world class experts), I can tell you that it's not all
+vaporware. And yet, despite all of these peoples' hard work, all their long hours and vision and
+clever insight, people have the audacity to say that the technology is equivalent to "a worse bank".
+* AI is the Better Autocomplete
+Now the new kid on the block is AI. Of course, people are already saying that this technology should
+be worth close to $0, or that this technology might be a net negative on society, when we haven't
+even seen 3 years worth of LLMs existing. People refuse to believe that these LLMs are developing
+emergent abilities, despite the [[https://cset.georgetown.edu/article/emergent-abilities-in-large-language-models-an-explainer/][clear evidence]] from LLM researchers suggesting so. People are out
+here still talking about next token prediction, meanwhile chain-of-thought reasoning and
+[[https://ai.meta.com/research/publications/large-concept-models-language-modeling-in-a-sentence-representation-space/][Large Concept Models]] are under way. The reason why we saw an explosion of narrative that
+"AI is just a better autocomplete" is specifically because people are resistant to change despite
+it being ultimately more demanded and better for them, in the same way people wanted
+/better horses/. When will the public learn to stop tracing the same loop?
+* Conclusion: Stop Asking for Better Horses
+Silicon Valley often reinvents the wheel in the early stages of large technology. However,
+clearly we see that investments into technology that on the surface are just "theoretically better
+horses" end up being completely different, and often more demanded and better products than the
+original. Of course there are real fuck-ups as well. See Enron and Theranos. But investors don't
+want to lose money; the government, on the other hand, won't leave people alone about regulations
+on the finance industry without showing us that it actually has better knowledge. And, it'd really
+be nice if the general public would stop expecting better horses, and then getting disappointed
+when they don't get them.
+
#+begin_src shell :results output raw :exports both
for f in *;
do
- if [[ "$f" == "index.org" || "$f" == "img" ]]; then
- continue
+ if [[ "$f" == "index.org" || "$f" == "README.org" || "$f" == "emacs.el" ]]; then
+ continue
fi
- printf -- "- [[file:$f][$f]]\n"
+
+ if [ -d "$f" ]; then
+ continue
+ fi
+
+ name="$(grep '^#+title:' "$f" | sed 's/^#+title:[[:space:]]*//')"
+ printf -- "- [[file:$f][$name]]\n"
done
#+end_src
#+RESULTS:
-- [[file:automation.org][automation.org]]
-- [[file:cognition.org][cognition.org]]
-- [[file:crypto.org][crypto.org]]
-- [[file:machine_learning.org][machine_learning.org]]
-- [[file:nixos.org][nixos.org]]
-- [[file:private_keys.org][private_keys.org]]
-- [[file:stem.org][stem.org]]
-- [[file:tech-bros.org][tech-bros.org]]
-- [[file:voting.org][voting.org]]
-- [[file:you_dont_matter.org][you_dont_matter.org]]
+- [[file:automation.org][Automation, Hypocrisy, and Capitalism]]
+- [[file:cognition.org][Cognition]]
+- [[file:crypto.org][A Review of Cryptocurrency]]
+- [[file:horses.org][Stop Asking for Better Horses]]
+- [[file:machine_learning.org][Machine Learning is Here]]
+- [[file:nixos.org][You should use NixOS]]
+- [[file:private_keys.org][Passwords Are Obselete]]
+- [[file:stem.org][Stem]]
+- [[file:tech-bros.org][Tech Bros]]
+- [[file:voting.org][Representative Voting]]
+- [[file:you_dont_matter.org][You Don't Matter]]
@@html: </div>@@
*** [[https://www.wired.com/feed/tag/ai/latest/rss][Wired AI News]]
Wired isn't too bad at covering science and technology.
*** [[https://www.wired.com/feed/category/science/latest/rss][Wired Science]]
+Look above.
*** [[https://feeds.washingtonpost.com/rss/politics?itid=lk_inline_manual_2][Washington Post Politics]]
Politics is almost useless, but it helps with understanding what people are saying around me.
*** [[https://news.ycombinator.com/rss][Hacker News]]
Credibility: misreported on ER EPR correspondence
** Podcasts :podcast:
*** [[https://notrelated.xyz/rss][Not Related]] :lukesmith:
+This is a podcast by Luke Smith that talks about anything that he wants to.
** Forums :forum:
** Science Journals :journal:
I like to get new information about recent studies related to technology.
about politics is kind of pointless.
** 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.
+or is newly added from [[file:qutebrowser.org][Qutebrowser]] with the xr keybinding.
+(require 'tex-site)
(pixel-scroll-precision-mode 1)
(setq scroll-conservatively 101)
(display-battery-mode 1)
(setq debug-ignored-errors
(cons 'remote-file-error debug-ignored-errors))
(set-face-attribute 'default nil :font "Iosevka Nerd Font" :height 140)
+(setq preview-default-option-list '("displaymath" "textmath" "graphics"))
+(setq preview-image-type 'png)
+(setq org-latex-pdf-process
+ '("xelatex -interaction=nonstopmode -output-directory=%o %f"))
+(setq org-latex-preview-image-directory "/home/preston/.cache/ltximg/")
(setq org-preview-latex-image-directory "/home/preston/.cache/ltximg/")
+(setq-default line-spacing 2)
+(setq org-startup-with-latex-preview t)
+(setq-default org-startup-indented t
+ org-pretty-entities t
+ org-use-sub-superscripts "{}"
+ org-hide-emphasis-markers t
+ org-startup-with-inline-images t
+ org-image-actual-width '(300))
(setq-default fill-column 100)
(add-hook 'text-mode-hook #'auto-fill-mode)
(setopt display-fill-column-indicator-column 100)
(add-hook 'prog-mode-hook #'display-fill-column-indicator-mode)
(add-hook 'org-mode-hook #'display-fill-column-indicator-mode)
+(setq TeX-engine 'xetex)
(add-hook 'prog-mode-hook
- (lambda ()
- (setq prettify-symbols-alist
- '(("lambda" . ?λ)
- ("->" . ?→)
- ("map" . ?↦)
- ("/=" . ?≠)
- ("!=" . ?≠)
- ("==" . ?≡)
- ("<=" . ?≤)
- (">=" . ?≥)
- ("&&" . ?∧)
- ("||" . ?∨)
- ("sqrt" . ?√)
- ("..." . ?…)))
- (prettify-symbols-mode)))
+ (lambda ()
+ (setq prettify-symbols-alist
+ '(("lambda" . ?λ)
+ ("->" . ?→)
+ ("map" . ?↦)
+ ("/=" . ?≠)
+ ("!=" . ?≠)
+ ("==" . ?≡)
+ ("<=" . ?≤)
+ (">=" . ?≥)
+ ("&&" . ?∧)
+ ("||" . ?∨)
+ ("sqrt" . ?√)
+ ("..." . ?…)))
+ (prettify-symbols-mode)))
(add-hook 'org-mode-hook (lambda ()
- (setq prettify-symbols-alist
- '(("#+begin_src" . ?)
- ("#+BEGIN_SRC" . ?)
- ("#+end_src" . ?)
- ("#+END_SRC" . ?)
- ("#+begin_example" . ?)
- ("#+BEGIN_EXAMPLE" . ?)
- ("#+end_example" . ?)
- ("#+END_EXAMPLE" . ?)
- ("#+header:" . ?)
- ("#+HEADER:" . ?)
- ("#+name:" . ?﮸)
- ("#+NAME:" . ?﮸)
- ("#+results:" . ?)
- ("#+RESULTS:" . ?)
- ("#+call:" . ?)
- ("#+CALL:" . ?)
- (":PROPERTIES:" . ?)
- (":properties:" . ?)
- ("lambda" . ?λ)
- ("->" . ?→)
- ("map" . ?↦)
- ("/=" . ?≠)
- ("!=" . ?≠)
- ("==" . ?≡)
- ("<=" . ?≤)
- (">=" . ?≥)
- ("&&" . ?∧)
- ("||" . ?∨)
- ("sqrt" . ?√)
- ("..." . ?…))))
- (prettify-symbols-mode))
+ (setq prettify-symbols-alist
+ '(("#+begin_src" . ?)
+ ("#+BEGIN_SRC" . ?)
+ ("#+end_src" . ?)
+ ("#+END_SRC" . ?)
+ ("#+begin_example" . ?)
+ ("#+BEGIN_EXAMPLE" . ?)
+ ("#+end_example" . ?)
+ ("#+END_EXAMPLE" . ?)
+ ("#+header:" . ?)
+ ("#+HEADER:" . ?)
+ ("#+name:" . ?﮸)
+ ("#+NAME:" . ?﮸)
+ ("#+results:" . ?)
+ ("#+RESULTS:" . ?)
+ ("#+call:" . ?)
+ ("#+CALL:" . ?)
+ (":PROPERTIES:" . ?)
+ (":properties:" . ?)
+ ("lambda" . ?λ)
+ ("->" . ?→)
+ ("map" . ?↦)
+ ("/=" . ?≠)
+ ("!=" . ?≠)
+ ("==" . ?≡)
+ ("<=" . ?≤)
+ (">=" . ?≥)
+ ("&&" . ?∧)
+ ("||" . ?∨)
+ ("sqrt" . ?√)
+ ("..." . ?…))))
+ (prettify-symbols-mode))
(global-prettify-symbols-mode 1)
(use-package unicode-fonts
(require 'org-habit)
(setq org-agenda-files (list "~/org/agenda.org"
- "~/org/notes.org"))
+ "~/org/notes.org"))
(setq org-default-notes-file (concat org-directory "/notes.org"))
(setq org-habit-preceding-days 1)
(require 'ox-publish)
(setq org-publish-project-alist
- '(("website-org"
- :base-directory "~/org/website"
- :base-extension "org"
- :publishing-directory "~/website_html"
- :recursive t
- :publishing-function org-html-publish-to-html
- :headline-levels 4
- :html-preamble t
- :html-preamble-format (("en" "<p class=\"preamble\"><a href=\"/index.html\">home</a> | <a href=\"./index.html\">section main page</a></p><hr>")))
- ("website-static"
- :base-directory "~/org/website"
- :base-extension "css\\|js\\|png\\|jpg\\|gif\\|pdf\\|mp3\\|ogg\\|swf\\|ico"
- :publishing-directory "~/website_html/"
- :recursive t
- :publishing-function org-publish-attachment)
- ("website" :auto-sitemap t :components ("website-org" "website-static"))))
+ '(("website-org"
+ :base-directory "~/org/website"
+ :base-extension "org"
+ :publishing-directory "~/website_html"
+ :recursive t
+ :publishing-function org-html-publish-to-html
+ :headline-levels 4
+ :html-preamble t
+ :html-preamble-format (("en" "<p class=\"preamble\"><a href=\"/index.html\">home</a> | <a href=\"./index.html\">section main page</a></p><hr>")))
+ ("website-static"
+ :base-directory "~/org/website"
+ :base-extension "css\\|js\\|png\\|jpg\\|gif\\|pdf\\|mp3\\|ogg\\|swf\\|ico\\|asc\\|pub\\|webmanifest\\|xml"
+ :publishing-directory "~/website_html/"
+ :recursive t
+ :publishing-function org-publish-attachment)
+ ("website" :auto-sitemap t :components ("website-org" "website-static"))))
;; (setq org-export-html-postamble-format '(("en" "<p class=\"preamble\"><a href=\"../index.html\">previous page</a> | <a href=\"/index.html\">home</a></p>")))
(setq org-html-postamble "Copyright © 2024 Preston Pan")
(if (eolp) (let (parens-require-spaces) (insert-pair)) (self-insert-command 1)))
(add-hook 'org-mode-hook
- (lambda ()
- (define-key org-mode-map "\"" 'electric-pair)
- (define-key org-mode-map "(" 'electric-pair)
- (define-key org-mode-map "[" 'electric-pair)
- (define-key org-mode-map "{" 'electric-pair)))
+ (lambda ()
+ (define-key org-mode-map "\"" 'electric-pair)
+ (define-key org-mode-map "(" 'electric-pair)
+ (define-key org-mode-map "[" 'electric-pair)
+ (define-key org-mode-map "{" 'electric-pair)))
(add-hook 'prog-mode-hook
- (lambda ()
- (define-key prog-mode-map "\"" 'electric-pair)
- (define-key prog-mode-map "(" 'electric-pair)
- (define-key prog-mode-map "[" 'electric-pair)
- (define-key prog-mode-map "{" 'electric-pair)))
+ (lambda ()
+ (define-key prog-mode-map "\"" 'electric-pair)
+ (define-key prog-mode-map "(" 'electric-pair)
+ (define-key prog-mode-map "[" 'electric-pair)
+ (define-key prog-mode-map "{" 'electric-pair)))
(electric-pair-mode)
(use-package lyrics-fetcher
(add-to-list 'yas-snippet-dirs "~/org/website/yasnippet/")
(yas-global-mode 1))
(add-hook 'org-mode-hook
- (lambda () (yas-minor-mode)
- (yas-activate-extra-mode 'latex-mode)))
+ (lambda () (yas-minor-mode)
+ (yas-activate-extra-mode 'latex-mode)))
(eval-after-load "company" '(add-to-list 'company-backends
- '(company-ispell company-capf company-irony
- company-yasnippet company-files)))
+ '(company-ispell company-capf company-irony
+ company-yasnippet company-files)))
(add-hook 'after-init-hook 'global-company-mode)
(use-package ispell
:init
(org-babel-do-load-languages 'org-babel-load-languages
'(
- (shell . t)
- (python . t)
- (latex . t)
+ (shell . t)
+ (python . t)
+ (latex . t)
)
)
(defun org-journal-file-header-func (time)
"Custom function to create journal header."
(concat
- (pcase org-journal-file-type
- (`daily "#+TITLE: Daily Journal\n#+STARTUP: showeverything\n#+DESCRIPTION: My daily journal entry\n#+AUTHOR: Preston Pan\n#+HTML_HEAD: <link rel=\"stylesheet\" type=\"text/css\" href=\"../style.css\" />\n#+html_head: <script src=\"https://polyfill.io/v3/polyfill.min.js?features=es6\"></script>\n#+html_head: <script id=\"MathJax-script\" async src=\"https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js\"></script>\n#+options: broken-links:t")
- (`weekly "#+TITLE: Weekly Journal\n#+STARTUP: folded")
- (`monthly "#+TITLE: Monthly Journal\n#+STARTUP: folded")
- (`yearly "#+TITLE: Yearly Journal\n#+STARTUP: folded"))))
+ (pcase org-journal-file-type
+ (`daily "#+TITLE: Daily Journal\n#+STARTUP: showeverything\n#+DESCRIPTION: My daily journal entry\n#+AUTHOR: Preston Pan\n#+HTML_HEAD: <link rel=\"stylesheet\" type=\"text/css\" href=\"../style.css\" />\n#+html_head: <script src=\"https://polyfill.io/v3/polyfill.min.js?features=es6\"></script>\n#+html_head: <script id=\"MathJax-script\" async src=\"https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js\"></script>\n#+options: broken-links:t")
+ (`weekly "#+TITLE: Weekly Journal\n#+STARTUP: folded")
+ (`monthly "#+TITLE: Monthly Journal\n#+STARTUP: folded")
+ (`yearly "#+TITLE: Yearly Journal\n#+STARTUP: folded"))))
(setq org-journal-file-header 'org-journal-file-header-func)
(setq org-journal-file-format "%Y%m%d.org")
(setq dashboard-set-init-info t)
(setq dashboard-week-agenda t)
(setq dashboard-items '((recents . 5)
- (bookmarks . 5)
- (projects . 5)
- (agenda . 5)
- (registers . 5)))
+ (bookmarks . 5)
+ (projects . 5)
+ (agenda . 5)
+ (registers . 5)))
:config
(dashboard-setup-startup-hook))
(defun prestonpan ()
(interactive)
(erc-tls :server "nullring.xyz"
- :port "6697"))
+ :port "6697"))
(defun liberachat ()
(interactive)
(erc-tls :server "irc.libera.chat"
- :port "6697"))
+ :port "6697"))
(defun efnet ()
(interactive)
(erc-tls :server "irc.prison.net"
- :port "6697"))
+ :port "6697"))
(defun matrix-org ()
(interactive)
(require 'llm-ollama)
(with-eval-after-load 'llm-ollama)
(setopt ellama-provider (make-llm-ollama
- :host "localhost"
- :chat-model "gemma:7b")))
+ :host "localhost"
+ :chat-model "gemma:7b")))
(use-package elfeed
:init
(setq search-engine-default "google")
(setq eww-search-prefix "https://google.com/search?q=")
-(setq browse-url-secondary-browser-function 'browse-url-generic browse-url-generic-program "chromium")
-(setq browse-url-browser-function 'eww-browse-url)
+(setq browse-url-secondary-browser-function 'browse-url-generic browse-url-generic-program "firefox")
+;; (setq browse-url-browser-function "firefox")
(add-hook 'eww-mode-hook
(lambda () (local-set-key (kbd "y Y") #'eww-copy-page-url)))
(setq org-roam-directory (file-truename "~/org/website/mindmap"))
(setq org-roam-capture-templates '(("d" "default" plain "%?"
:target (file+head "${title}.org"
- "#+title: ${title}\n#+author: Preston Pan\n#+html_head: <link rel=\"stylesheet\" type=\"text/css\" href=\"../style.css\" />\n#+html_head: <script src=\"https://polyfill.io/v3/polyfill.min.js?features=es6\"></script>\n#+html_head: <script id=\"MathJax-script\" async src=\"https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js\"></script>\n#+options: broken-links:t")
- :unnarrowed t)))
+ "#+title: ${title}\n#+author: Preston Pan\n#+html_head: <link rel=\"stylesheet\" type=\"text/css\" href=\"../style.css\" />\n#+html_head: <script src=\"https://polyfill.io/v3/polyfill.min.js?features=es6\"></script>\n#+html_head: <script id=\"MathJax-script\" async src=\"https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js\"></script>\n#+options: broken-links:t")
+ :unnarrowed t)))
:config
(org-roam-db-autosync-mode))
:hook (after-init . org-roam-ui-mode)
:config
(setq org-roam-ui-sync-theme t
- org-roam-ui-follow t
- org-roam-ui-update-on-save t
- org-roam-ui-open-on-start t))
+ org-roam-ui-follow t
+ org-roam-ui-update-on-save t
+ org-roam-ui-open-on-start t))
(use-package pinentry
:init (setq epa-pinentry-mode `loopback)
(setq user-mail-address "preston@nullring.xyz")
(setq user-full-name "Preston Pan")
(setq sendmail-program "msmtp"
- send-mail-function 'smtpmail-send-it
- message-sendmail-f-is-evil t
- message-sendmail-extra-arguments '("--read-envelope-from")
- message-send-mail-function 'message-send-mail-with-sendmail)
+ send-mail-function 'smtpmail-send-it
+ message-sendmail-f-is-evil t
+ message-sendmail-extra-arguments '("--read-envelope-from")
+ message-send-mail-function 'message-send-mail-with-sendmail)
(require 'smtpmail)
(use-package mu4e
(setq message-kill-buffer-on-exit t)
(setq mu4e-compose-dont-reply-to-self t)
(setq mu4e-change-filenames-when-moving t)
- (setq mu4e-get-mail-command "mbsync prestonpan")
+ (setq mu4e-get-mail-command "mbsync ret2pop")
(setq mu4e-compose-reply-ignore-address '("no-?reply" "ret2pop@gmail.com"))
(setq mu4e-html2text-command "w3m -T text/html" ; how to hanfle html-formatted emails
- mu4e-update-interval 300 ; seconds between each mail retrieval
- mu4e-headers-auto-update t ; avoid to type `g' to update
- mu4e-view-show-images t ; show images in the view buffer
- mu4e-compose-signature-auto-include nil ; I don't want a message signature
- mu4e-use-fancy-chars t))
+ mu4e-update-interval 300 ; seconds between each mail retrieval
+ mu4e-headers-auto-update t ; avoid to type `g' to update
+ mu4e-view-show-images t ; show images in the view buffer
+ mu4e-compose-signature-auto-include nil ; I don't want a message signature
+ mu4e-use-fancy-chars t))
(use-package ivy-pass)
-#+TITLE: Emacs Configuration
+#+title: Emacs Configuration
#+AUTHOR: Preston Pan
#+DESCRIPTION: my personal emacs configuration for nixOS
#+html_head: <link rel="stylesheet" type="text/css" href="../style.css" />
This section contains important UI elements and starting customization variables to make
emacs work in a semi-sane way and make it not look ugly:
#+begin_src emacs-lisp
+ (require 'tex-site)
(pixel-scroll-precision-mode 1)
(setq scroll-conservatively 101)
(display-battery-mode 1)
(add-hook 'text-mode-hook 'visual-line-mode)
(and window-system (server-start))
(setq debug-ignored-errors
- (cons 'remote-file-error debug-ignored-errors))
+ (cons 'remote-file-error debug-ignored-errors))
(set-face-attribute 'default nil :font "Iosevka Nerd Font" :height 140)
+ (setq preview-default-option-list '("displaymath" "textmath" "graphics"))
+ (setq preview-image-type 'png)
+ (setq org-latex-pdf-process
+ '("xelatex -interaction=nonstopmode -output-directory=%o %f"))
+ (setq org-latex-preview-image-directory "/home/preston/.cache/ltximg/")
(setq org-preview-latex-image-directory "/home/preston/.cache/ltximg/")
+ (setq-default line-spacing 2)
+ (setq org-startup-with-latex-preview t)
+ (setq-default org-startup-indented t
+ org-pretty-entities t
+ org-use-sub-superscripts "{}"
+ org-hide-emphasis-markers t
+ org-startup-with-inline-images t
+ org-image-actual-width '(300))
(setq-default fill-column 100)
(add-hook 'text-mode-hook #'auto-fill-mode)
(setopt display-fill-column-indicator-column 100)
(add-hook 'prog-mode-hook #'display-fill-column-indicator-mode)
(add-hook 'org-mode-hook #'display-fill-column-indicator-mode)
+ (setq TeX-engine 'xetex)
(add-hook 'prog-mode-hook
- (lambda ()
- (setq prettify-symbols-alist
- '(("lambda" . ?λ)
- ("->" . ?→)
- ("map" . ?↦)
- ("/=" . ?≠)
- ("!=" . ?≠)
- ("==" . ?≡)
- ("<=" . ?≤)
- (">=" . ?≥)
- ("&&" . ?∧)
- ("||" . ?∨)
- ("sqrt" . ?√)
- ("..." . ?…)))
- (prettify-symbols-mode)))
+ (lambda ()
+ (setq prettify-symbols-alist
+ '(("lambda" . ?λ)
+ ("->" . ?→)
+ ("map" . ?↦)
+ ("/=" . ?≠)
+ ("!=" . ?≠)
+ ("==" . ?≡)
+ ("<=" . ?≤)
+ (">=" . ?≥)
+ ("&&" . ?∧)
+ ("||" . ?∨)
+ ("sqrt" . ?√)
+ ("..." . ?…)))
+ (prettify-symbols-mode)))
(add-hook 'org-mode-hook (lambda ()
- (setq prettify-symbols-alist
- '(("#+begin_src" . ?)
- ("#+BEGIN_SRC" . ?)
- ("#+end_src" . ?)
- ("#+END_SRC" . ?)
- ("#+begin_example" . ?)
- ("#+BEGIN_EXAMPLE" . ?)
- ("#+end_example" . ?)
- ("#+END_EXAMPLE" . ?)
- ("#+header:" . ?)
- ("#+HEADER:" . ?)
- ("#+name:" . ?﮸)
- ("#+NAME:" . ?﮸)
- ("#+results:" . ?)
- ("#+RESULTS:" . ?)
- ("#+call:" . ?)
- ("#+CALL:" . ?)
- (":PROPERTIES:" . ?)
- (":properties:" . ?)
- ("lambda" . ?λ)
- ("->" . ?→)
- ("map" . ?↦)
- ("/=" . ?≠)
- ("!=" . ?≠)
- ("==" . ?≡)
- ("<=" . ?≤)
- (">=" . ?≥)
- ("&&" . ?∧)
- ("||" . ?∨)
- ("sqrt" . ?√)
- ("..." . ?…))))
- (prettify-symbols-mode))
+ (setq prettify-symbols-alist
+ '(("#+begin_src" . ?)
+ ("#+BEGIN_SRC" . ?)
+ ("#+end_src" . ?)
+ ("#+END_SRC" . ?)
+ ("#+begin_example" . ?)
+ ("#+BEGIN_EXAMPLE" . ?)
+ ("#+end_example" . ?)
+ ("#+END_EXAMPLE" . ?)
+ ("#+header:" . ?)
+ ("#+HEADER:" . ?)
+ ("#+name:" . ?﮸)
+ ("#+NAME:" . ?﮸)
+ ("#+results:" . ?)
+ ("#+RESULTS:" . ?)
+ ("#+call:" . ?)
+ ("#+CALL:" . ?)
+ (":PROPERTIES:" . ?)
+ (":properties:" . ?)
+ ("lambda" . ?λ)
+ ("->" . ?→)
+ ("map" . ?↦)
+ ("/=" . ?≠)
+ ("!=" . ?≠)
+ ("==" . ?≡)
+ ("<=" . ?≤)
+ (">=" . ?≥)
+ ("&&" . ?∧)
+ ("||" . ?∨)
+ ("sqrt" . ?√)
+ ("..." . ?…))))
+ (prettify-symbols-mode))
(global-prettify-symbols-mode 1)
#+end_src
* Unicode
:html-preamble-format (("en" "<p class=\"preamble\"><a href=\"/index.html\">home</a> | <a href=\"./index.html\">section main page</a></p><hr>")))
("website-static"
:base-directory "~/org/website"
- :base-extension "css\\|js\\|png\\|jpg\\|gif\\|pdf\\|mp3\\|ogg\\|swf\\|ico"
+ :base-extension "css\\|js\\|png\\|jpg\\|gif\\|pdf\\|mp3\\|ogg\\|swf\\|ico\\|asc\\|pub\\|webmanifest\\|xml"
:publishing-directory "~/website_html/"
:recursive t
:publishing-function org-publish-attachment)
(setq search-engine-default "google")
(setq eww-search-prefix "https://google.com/search?q=")
-(setq browse-url-secondary-browser-function 'browse-url-generic browse-url-generic-program "chromium")
-(setq browse-url-browser-function 'eww-browse-url)
+(setq browse-url-secondary-browser-function 'browse-url-generic browse-url-generic-program "firefox")
+;; (setq browse-url-browser-function "firefox")
(add-hook 'eww-mode-hook
(lambda () (local-set-key (kbd "y Y") #'eww-copy-page-url)))
#+end_src
(setq message-kill-buffer-on-exit t)
(setq mu4e-compose-dont-reply-to-self t)
(setq mu4e-change-filenames-when-moving t)
- (setq mu4e-get-mail-command "mbsync prestonpan")
+ (setq mu4e-get-mail-command "mbsync ret2pop")
(setq mu4e-compose-reply-ignore-address '("no-?reply" "ret2pop@gmail.com"))
(setq mu4e-html2text-command "w3m -T text/html" ; how to hanfle html-formatted emails
mu4e-update-interval 300 ; seconds between each mail retrieval
#+OPTIONS: broken-links:t
* What is this magic?
They're configurations for extremely obscure programs I use. Yeah, I know, I'm somewhat of a hipster myself.
-Also, this is kind of outdated, because I use my [[https://github.com/ret2pop/hyprnixmacs][NixOS Configuration]] instead. Well, I still use the vanilla
+Also, this is kind of outdated, because I use my [[https://git.nullring.xyz/toughnix.git/about][NixOS Configuration]] instead. Well, I still use the vanilla
(not doom) emacs configuration.
** Configurations
Here is a list of my configurations for various programs:
@@html: <div class="links-page">@@
#+begin_src shell :results output raw :exports both
-for f in *;
-do
- if [[ "$f" == "index.org" || "$f" == "README.org" ]]; then
- continue
- fi
- printf -- "- [[file:$f][$f]]\n"
-done
+ for f in *;
+ do
+ if [[ "$f" == "index.org" || "$f" == "README.org" || "$f" == "emacs.el" ]]; then
+ continue
+ fi
+ name="$(grep '^#+title:' "$f" | sed 's/^#+title:[[:space:]]*//')"
+ printf -- "- [[file:$f][$name]]\n"
+ done
#+end_src
#+RESULTS:
-- [[file:doom.org][doom.org]]
-- [[file:elfeed.org][elfeed.org]]
-- [[file:emacs.el][emacs.el]]
-- [[file:emacs.org][emacs.org]]
-- [[file:fish.org][fish.org]]
-- [[file:kmonad.org][kmonad.org]]
-- [[file:nix.org][nix.org]]
-- [[file:qtile.org][qtile.org]]
-- [[file:qutebrowser.org][qutebrowser.org]]
+- [[file:doom.org][Doom Literate Config]]
+- [[file:elfeed.org][Interesting RSS Feeds]]
+- [[file:emacs.org][Emacs Configuration]]
+- [[file:fish.org][Fish RC File]]
+- [[file:kmonad.org][KMonad Configuration]]
+- [[file:nix.org][NixOS Configuration]]
+- [[file:qtile.org][My Qtile Config (Mocha)]]
+- [[file:qutebrowser.org][Qutebrowser Configuration]]
@@html: </div>@@
-#+TITLE: NixOS Configuration
+#+title: NixOS Configuration
#+AUTHOR: Preston Pan
#+Description: My NixOS configuration in full
#+html_head: <link rel="stylesheet" type="text/css" href="../style.css" />
* [[file:config/index.org][Configurations]]
Most of my configurations/dotfiles for various programs are literate configurations, and I
can therefore publish them. So I did! Configurations include:
-- doom emacs
-- QTile
-- QuteBrowser
+- EMacs
- Elfeed
+- Qutebrowser
…and many more!
* [[https://github.com/ret2pop][Projects]]
My programming projects can be found on my github; other projects that do not directly pertain
to my projects on github or need a more in-depth explanation are explained further in my blog.
+I also have a [[https://git.nullring.xyz][personal git server]] for those interested.
* [[https://youtube.com/@ret2pop][Music and Media]]
Most of the music that I have recorded can be found on my Youtube channel. Note that it will also
contain other things that I filmed.
I wrote this website in org mode. For more information, see the [[file:README.org][README]]. Here is how I upload my
website:
#+begin_src shell :exports code :results silent
- git add .
- rsync -azvP ~/website_html/ root@nullring.xyz:/usr/share/nginx/ret2pop/
- echo "asdf"
+git add .
+rsync -azvP --chmod="Du=rwx,Dg=rx,Do=rx,Fu=rw,Fg=r,Fo=r" ~/website_html/ root@nullring.xyz:/usr/share/nginx/ret2pop/
#+end_src
Then I run magit after.
* Donate
** XMR
An anonymous form of ecash, the only one out of these that is actually being used for the purpose
of currency (on the dark web):
+[[./img/monero.png]]
#+begin_example
88DQVgiowjJLwsHfTaNjNgJ9Wu4Pw9msie89M2fMrTVJeDEnzqwYMQjX9nAnEDegWrU9LsJdNYp5EKkzxT73DuD6EGa9eWf
#+end_example
** ETH (And associated tokens)
Utility in the form of smart contracts (which are perhaps useful for something important in the future),
with first mover advantage in this regard:
+[[./img/eth.png]]
#+begin_example
0x135Ed80afB7Cd06E494e5Bb737Da8D4B23153480
#+end_example
** BTC
The standard, and probably will continue to be used as a prediction market/speculative asset for the
efficacy of other cryptocurrencies:
+[[./img/bitcoin.png]]
#+begin_example
bc1qaymk2ky8unwq7jdydjw6y9a5xr9z60mkds9ttq
#+end_example
--- /dev/null
+#+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, 02 January 2025
+Ainslie is coming to my house today, and winter break is almost over. I'm currently trying to do
+more sysadministration in order to set up my email server. Additionally, I need to drink some coffee
+and I also need to throw out the trash.
--- /dev/null
+#+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, 03 January 2025
+** 15:52
+I'm just waiting for Ainslie to come back. I did a lot of administration of my website, and
+fragtog-mode stopped working in Emacs 29.4 on NixOS. I decided to rice org-mode a bit more,
+and I've fixed the website article naming in the index pages.
#+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
-
* Introduction
The Fourier Transform is a generalization of the Fourier Series. It has applications in solving [[id:4be41e2e-52b9-4cd1-ac4c-7ecb57106692][differential equations]] and
has applications in many different fields, including [[id:136e79df-106f-4989-ab19-89705929cf91][quantum mechanics]], radio, planetary motion, and even the study
** The Heat Equation
The heat equation is the study of how heat travels in a conductor with the unknown function in question being $f(\vec{r}, t)$,
-giving the temperature at position $\vec{r}$ at time $t$. Now we want to describe the time rate of change of this function, so we use a
-[[id:3993a45d-699b-4512-93f9-ba61f498f77f][partial derivative]]:
+giving the temperature at position $\vec{r}$ at time $t$. Now we want to describe the time rate of
+change of this function, so we use a [[id:3993a45d-699b-4512-93f9-ba61f498f77f][partial derivative]]:
\begin{align}
\label{Heat equation 1}
\partial_{t}f = ?f
#+end_export
#+CAPTION: LRC Circuit
-[[./lrc_circuit_source.png]]
+[[./img/lrc_circuit_source.png]]
This new [[id:4be41e2e-52b9-4cd1-ac4c-7ecb57106692][differential equation]] looks like this:
\begin{align*}
[LD^{2} + RD + \frac{1}{C}]i(t) = V_{0}sin(\phi + 2\pi\omega t)
* Introducing: the Mindmap
Do you want to know everything like me and be a smart person instead of dumb?
Well, you've come to the right place! 👍
-
+* [[file:../graph_view/index.html][Graph View]]
+Everyone should experience the graph view of the wonderful *mindmap!!!!!*
** What is this?
It's a place that hopes to explain *EVERYTHING!!*
** Isn't that unrealistic?
No you don't. That being said, if you really want the list of all articles, here you go:
@@html: <div class="links-page">@@
#+begin_src shell :results output raw :exports both
-set -f
-IFS='
-'
-for f in $(ls | sort -r);
-do
- if [[ "$f" == "index.org" || "$f" == "README.org" ]]; then
- continue
- fi
- printf -- "- [[file:$f][$f]]\n"
-done
-unset IFS
-set +f
+ for f in *;
+ do
+ if [[ "$f" == "index.org" || "$f" == "README.org" || "$f" == *.png || "$f" == *.log ]]; then
+ continue
+ fi
+
+ if [ -d "$f" ]; then
+ continue
+ fi
+
+ name="$(grep '^#+title:' "$f" | sed 's/^#+title:[[:space:]]*//')"
+ printf -- "- [[file:$f][$name]]\n"
+ done
#+end_src
#+RESULTS:
-- [[file:stack.org][stack.org]]
-- [[file:special relativity.org][special relativity.org]]
-- [[file:self-assembly.org][self-assembly.org]]
-- [[file:recursion.org][recursion.org]]
-- [[file:python.org][python.org]]
-- [[file:physics.org][physics.org]]
-- [[file:philosophy.org][philosophy.org]]
-- [[file:partial derivative.org][partial derivative.org]]
-- [[file:Newtonian mechanics.org][Newtonian mechanics.org]]
-- [[file:natural number.org][natural number.org]]
-- [[file:Maxwell's Equations.org][Maxwell's Equations.org]]
-- [[file:mathematics.org][mathematics.org]]
-- [[file:mass-spring system.org][mass-spring system.org]]
-- [[file:magnetostatics.org][magnetostatics.org]]
-- [[file:ltximg][ltximg]]
-- [[file:lrc_circuit_source.png][lrc_circuit_source.png]]
-- [[file:lrc_circuit.png][lrc_circuit.png]]
-- [[file:LRC circuit.org][LRC circuit.org]]
-- [[file:#LRC circuit.org#][#LRC circuit.org#]]
-- [[file:Lorentz Force.org][Lorentz Force.org]]
-- [[file:logic.org][logic.org]]
-- [[file:limit.org][limit.org]]
-- [[file:Legendre Transformation.org][Legendre Transformation.org]]
-- [[file:Lagrangian mechanics.org][Lagrangian mechanics.org]]
-- [[file:Kirchhoff's Laws.org][Kirchhoff's Laws.org]]
-- [[file:inverse square.org][inverse square.org]]
-- [[file:inheritance.org][inheritance.org]]
-- [[file:infinity.org][infinity.org]]
-- [[file:induction.org][induction.org]]
-- [[file:group.org][group.org]]
-- [[file:function.org][function.org]]
-- [[file:framework.org][framework.org]]
-- [[file:Fourier Transform.org][Fourier Transform.org]]
-- [[file:factorial.org][factorial.org]]
-- [[file:everything.org][everything.org]]
-- [[file:emergence.org][emergence.org]]
-- [[file:electrostatics.org][electrostatics.org]]
-- [[file:egoism.org][egoism.org]]
-- [[file:duality.org][duality.org]]
-- [[file:divergence theorem.org][divergence theorem.org]]
-- [[file:dirac delta.org][dirac delta.org]]
-- [[file:differential equation.org][differential equation.org]]
-- [[file:derivative.org][derivative.org]]
-- [[file:del operator.org][del operator.org]]
-- [[file:continuity equation.org][continuity equation.org]]
-- [[file:conservative force.org][conservative force.org]]
-- [[file:circuit_diagram.png][circuit_diagram.png]]
-- [[file:central force.org][central force.org]]
+- [[file:central force.org][central force]]
+- [[file:circuit analysis.org][circuit analysis]]
+- [[file:consequentialism.org][consequentialism]]
+- [[file:conservative force.org][conservative force]]
+- [[file:continuity equation.org][continuity equation]]
+- [[file:del operator.org][del operator]]
+- [[file:derivative.org][derivative]]
+- [[file:differential equation.org][differential equation]]
+- [[file:dirac delta.org][dirac delta]]
+- [[file:divergence theorem.org][divergence theorem]]
+- [[file:duality.org][duality]]
+- [[file:egoism.org][egoism]]
+- [[file:electrostatics.org][electrostatics]]
+- [[file:emergence.org][emergence]]
+- [[file:everything.org][everything]]
+- [[file:factorial.org][factorial]]
+- [[file:Fourier Transform.org][Fourier Transform]]
+- [[file:framework.org][framework]]
+- [[file:function.org][function]]
+- [[file:group.org][group]]
+- [[file:Heaviside Step Function.org][Heaviside Step Function]]
+- [[file:Hilbert Space.org][Hilbert Space]]
+- [[file:IAK.org][IAK]]
+- [[file:IEEDI.org][IEEDI]]
+- [[file:induction.org][induction]]
+- [[file:infinity.org][infinity]]
+- [[file:inheritance.org][inheritance]]
+- [[file:inner product space.org][inner product space]]
+- [[file:inverse square.org][inverse square]]
+- [[file:Kirchhoff's Laws.org][Kirchhoff's Laws]]
+- [[file:L_{2} space.org][L_{2} space]]
+- [[file:Lagrangian mechanics.org][Lagrangian mechanics]]
+- [[file:Laplace Transform.org][Laplace Transform]]
+- [[file:Legendre Transformation.org][Legendre Transformation]]
+- [[file:limit.org][limit]]
+- [[file:logic.org][logic]]
+- [[file:Lorentz Force.org][Lorentz Force]]
+- [[file:LRC circuit.org][LRC circuit]]
+- [[file:magnetostatics.org][magnetostatics]]
+- [[file:mathematics.org][mathematics]]
+- [[file:Maxwell's Equations.org][Maxwell's Equations]]
+- [[file:metric space.org][metric space]]
+- [[file:natural number.org][natural number]]
+- [[file:Newtonian mechanics.org][Newtonian mechanics]]
+- [[file:normed vector space.org][normed vector space]]
+- [[file:Ohm's Law.org][Ohm's Law]]
+- [[file:partial derivative.org][partial derivative]]
+- [[file:philosophy.org][philosophy]]
+- [[file:physics.org][physics]]
+- [[file:quantum mechanics.org][quantum mechanics]]
+- [[file:recursion.org][recursion]]
+- [[file:self-assembly.org][self-assembly]]
+- [[file:special relativity.org][special relativity]]
+- [[file:stack.org][stack]]
+- [[file:vector space.org][vector space]]
@@html: </div>@@
--- /dev/null
+This is XeTeX, Version 3.141592653-2.6-0.999995 (TeX Live 2023/nixos.org) (preloaded format=xelatex 1980.1.1) 3 JAN 2025 14:31
+entering extended mode
+ restricted \write18 enabled.
+ %&-line parsing enabled.
+**&xelatex prv_LRC_circuit.org.ini \nonstopmode\nofiles\PassOptionsToPackage{active,tightpage,auctex}{preview}\AtBeginDocument{\ifx\ifPreview\undefined\RequirePackage[displaymath,textmath,graphics]{preview}[2004/11/05]\fi} \input \detokenize{ "LRC circuit.org.tex" }
+(./prv_LRC_circuit.org.ini
+LaTeX2e <2023-11-01> patch level 1
+L3 programming layer <2024-02-20>
+(/nix/store/w8fdfdyc5l71qr9m42h2fpifzxp9p5mn-texlive-2023-env-texmfdist/tex/latex/mylatex/mylatex.ltx)) (/nix/store/w8fdfdyc5l71qr9m42h2fpifzxp9p5mn-texlive-2023-env-texmfdist/tex/latex/tools/.tex File ignored)
+No auxiliary output files.
+
+! I can't find file `"LRC circuit.org.tex"'.
+<inserted text> "LRC circuit.org.tex"
+
+<*> ...\input \detokenize{ "LRC circuit.org.tex" }
+
+(Press Enter to retry, or Control-D to exit)
+Please type another input file name
+! Emergency stop.
+<inserted text> "LRC circuit.org.tex"
+
+<*> ...\input \detokenize{ "LRC circuit.org.tex" }
+
+*** (job aborted, file error in nonstop mode)
+
+
+Here is how much of TeX's memory you used:
+ 39 strings out of 474773
+ 1168 string characters out of 5739028
+ 1917839 words of memory out of 5000000
+ 22285 multiletter control sequences out of 15000+600000
+ 558069 words of font info for 36 fonts, out of 8000000 for 9000
+ 1348 hyphenation exceptions out of 8191
+ 13i,0n,22p,396b,12s stack positions out of 10000i,1000n,20000p,200000b,200000s
+No pages of output.
--- /dev/null
+This is XeTeX, Version 3.141592653-2.6-0.999995 (TeX Live 2023/nixos.org) (preloaded format=xelatex 1980.1.1) 3 JAN 2025 14:31
+entering extended mode
+ restricted \write18 enabled.
+ file:line:error style messages enabled.
+ %&-line parsing enabled.
+**\nonstopmode\nofiles\PassOptionsToPackage{active,tightpage,auctex}{preview}\AtBeginDocument{\ifx\ifPreview\undefined\RequirePackage[displaymath,textmath,graphics]{preview}[2004/11/05]\fi} \input \detokenize{ "LRC circuit.org.tex" }
+
+! Emergency stop.
+<inserted text> "LRC circuit.org.tex"
+
+<*> ...\input \detokenize{ "LRC circuit.org.tex" }
+
+*** (job aborted, file error in nonstop mode)
+
+
+Here is how much of TeX's memory you used:
+ 19 strings out of 474773
+ 380 string characters out of 5739028
+ 1917839 words of memory out of 5000000
+ 22275 multiletter control sequences out of 15000+600000
+ 558069 words of font info for 36 fonts, out of 8000000 for 9000
+ 1348 hyphenation exceptions out of 8191
+ 13i,0n,22p,268b,10s stack positions out of 10000i,1000n,20000p,200000b,200000s
+No pages of output.
@import url("https://fonts.googleapis.com/css2?family=Inconsolata&display=swap");
body {
- margin: 40px auto;
- width: 700px;
- max-width: 100%;
- line-height: 1.6;
- font-size: 16px;
- background: #fffff4;
- color: #3a1616;
- padding: 0 10px;
- font-size: 18px;
- line-height: 28px;
- font-family: "Lora";
- font-weight: 500;
- /* Smooth the font a little bit, it's a
+ margin: 40px auto;
+ width: 700px;
+ max-width: 100%;
+ line-height: 1.6;
+ font-size: 16px;
+ background: #fffff4;
+ color: #3a1616;
+ padding: 0 10px;
+ font-size: 18px;
+ line-height: 28px;
+ font-family: "Lora";
+ font-weight: 500;
+ /* Smooth the font a little bit, it's a
bit too bold on retina screens */
- -webkit-font-smoothing: antialiased;
+ -webkit-font-smoothing: antialiased;
}
/* --------------------------------------------------- */
animations*/
/* --------------------------------------------------- */
input {
- padding: 10px 16px;
- margin: 2px 0;
- box-sizing: border-box;
- border: 2px solid #dabebe;
- border-radius: 6px;
- background: #fffff4;
- color: #3a1616;
- font-size: 16px;
- -webkit-transition: 0.5s;
- transition: 0.5s;
- outline: none;
+ padding: 10px 16px;
+ margin: 2px 0;
+ box-sizing: border-box;
+ border: 2px solid #dabebe;
+ border-radius: 6px;
+ background: #fffff4;
+ color: #3a1616;
+ font-size: 16px;
+ -webkit-transition: 0.5s;
+ transition: 0.5s;
+ outline: none;
}
input:focus {
- border: 2px solid #3a1616;
+ border: 2px solid #3a1616;
}
/* --------------------------------------- */
/* The button is very similar to the input */
/* --------------------------------------- */
.button {
- background-color: #fffff4;
- border: none;
- color: black;
- padding: 6px 14px;
- text-align: center;
- text-decoration: none;
- display: inline-block;
- font-size: 16px;
- margin: 4px 2px;
- transition-duration: 0.4s;
- cursor: pointer;
- border: 2px solid #3a1616;
- border-radius: 6px;
+ background-color: #fffff4;
+ border: none;
+ color: black;
+ padding: 6px 14px;
+ text-align: center;
+ text-decoration: none;
+ display: inline-block;
+ font-size: 16px;
+ margin: 4px 2px;
+ transition-duration: 0.4s;
+ cursor: pointer;
+ border: 2px solid #3a1616;
+ border-radius: 6px;
}
.button:hover {
- background-color: #3a1616;
- color: white;
+ background-color: #3a1616;
+ color: white;
}
/* ----------------------------------------------- */
.isa_success,
.isa_warning,
.isa_error {
- width: 90%;
- margin: 10px 0px;
- padding: 12px;
+ width: 90%;
+ margin: 10px 0px;
+ padding: 12px;
}
.isa_info {
- color: #00529b;
- background-color: #bde5f8;
+ color: #00529b;
+ background-color: #bde5f8;
}
.isa_success {
- color: #4f8a10;
- background-color: #dff2bf;
+ color: #4f8a10;
+ background-color: #dff2bf;
}
.isa_warning {
- color: #9f6000;
- background-color: #feefb3;
+ color: #9f6000;
+ background-color: #feefb3;
}
.isa_error {
- color: #d8000c;
- background-color: #ffd2d2;
+ color: #d8000c;
+ background-color: #ffd2d2;
}
h1,
h2,
h3 {
- line-height: 1.2;
- font-family: "Lora";
+ line-height: 1.2;
+ font-family: "Lora";
}
img {
- max-width: 100%;
- border-radius: 10px;
- text-align: center;
- margin-left: auto;
- margin-right: auto;
- display: block;
- width: 50%;
+ max-width: 100%;
+ border-radius: 10px;
+ text-align: center;
+ margin-left: auto;
+ margin-right: auto;
+ display: block;
+ width: 50%;
}
/* --------------------------------------------- */
/* Bold hover animations on links and clickables */
/* --------------------------------------------- */
a {
- cursor: pointer;
- color: #217ab7;
- line-height: inherit;
- transition: 0.14s;
+ cursor: pointer;
+ color: #217ab7;
+ line-height: inherit;
+ transition: 0.14s;
}
a:hover {
- color: white;
- background-color: #3297d3;
+ color: white;
+ background-color: #3297d3;
}
a:visited {
- color: #43458b;
- border-color: #43458b;
+ color: #43458b;
+ border-color: #43458b;
}
a:visited:hover {
- color: white;
- background-color: #9251ac;
+ color: white;
+ background-color: #9251ac;
}
pre {
- font-family: "Inconsolata", monospace;
+ font-family: "Inconsolata", monospace;
}
::selection {
- color: white;
- background: #ff4081;
+ color: white;
+ background: #ff4081;
}
#table-of-contents {
- height: 100%; /* Full-height: remove this if you want "auto" height */
- width: 250px; /* Set the width of the sidebar */
- position: fixed; /* Fixed Sidebar (stay in place on scroll) */
- z-index: 1; /* Stay on top */
- top: 0; /* Stay at the top */
- left: 0;
- font-size: 0px;
- overflow-x: hidden; /* Disable horizontal scroll */
- padding-top: 20px;
- border-right: 1px;
- background: #133201;
+ height: 100%; /* Full-height: remove this if you want "auto" height */
+ width: 250px; /* Set the width of the sidebar */
+ position: fixed; /* Fixed Sidebar (stay in place on scroll) */
+ z-index: 1; /* Stay on top */
+ top: 0; /* Stay at the top */
+ left: 0;
+ font-size: 0px;
+ overflow-x: hidden; /* Disable horizontal scroll */
+ padding-top: 20px;
+ border-right: 1px;
+ background: #133201;
}
#table-of-contents ul a {
- padding: 6px 8px 6px 16px;
- text-decoration: none;
- font-size: 25px;
- display: block;
- font-size: 15px;
- color: black;
+ padding: 6px 8px 6px 16px;
+ text-decoration: none;
+ font-size: 25px;
+ display: block;
+ font-size: 15px;
+ color: black;
}
#table-of-contents ul a {
- padding: 6px 8px 6px 16px;
- text-decoration: none;
- font-size: 25px;
- display: block;
- font-size: 15px;
- color: white;
- background-color: #133201;
+ padding: 6px 8px 6px 16px;
+ text-decoration: none;
+ font-size: 25px;
+ display: block;
+ font-size: 15px;
+ color: white;
+ background-color: #133201;
}
#table-of-contents ul a:hover {
- color: white;
- background-color: #133201;
+ color: white;
+ background-color: #133201;
}
#table-of-contents ul a:visited {
- color: white;
- border-color: #133201;
+ color: white;
+ border-color: #133201;
}
#table-of-contents ul a:visited:hover {
- color: white;
- background-color: #133201;
+ color: white;
+ background-color: #133201;
}
#table-of-contents ul {
- list-style-type: none;
- padding-left: 0;
+ list-style-type: none;
+ padding-left: 0;
}
.content {
- margin-left: 160px; /* Same as the width of the sidebar */
- padding: 0px 10px;
+ margin-left: 160px; /* Same as the width of the sidebar */
+ padding: 0px 10px;
}
.src,
.example {
- color: #cdd6f4;
- background-color: #1e1e2e;
- box-shadow:
- rgba(0, 0, 0, 0.3) 0px 19px 38px,
- rgba(0, 0, 0, 0.22) 0px 15px 12px;
+ color: #cdd6f4;
+ background-color: #1e1e2e;
+ box-shadow:
+ rgba(0, 0, 0, 0.3) 0px 19px 38px,
+ rgba(0, 0, 0, 0.22) 0px 15px 12px;
}
#postamble {
- text-align: center;
+ text-align: center;
}
pre.src-stem:before {
- content: "Stem";
+ content: "Stem";
}
.links-page > ul {
- columns: 2;
- -webkit-columns: 2;
- -moz-columns: 2;
+ columns: 2;
+ -webkit-columns: 2;
+ -moz-columns: 2;
}
.theorem {
-display:block;
-margin-left:10px;
-margin-bottom:20px;
-font-style:normal;
+ display:block;
+ margin-left:10px;
+ margin-bottom:20px;
+ font-style:normal;
}
.theorem:before{
-content:"Theorem.\00a0\00a0";
-float:left;
-font-weight:bold;
+ content:"Theorem.\00a0\00a0";
+ float:left;
+ font-weight:bold;
}
.proof{
-display:block;
-margin-left:10px;
-margin-bottom:30px;
-font-style:normal;
+ display:block;
+ margin-left:10px;
+ margin-bottom:30px;
+ font-style:normal;
}
.proof:before{
-content:'Proof.\00a0\00a0';
-float:left;
-font-weight:bold;
+ content:'Proof.\00a0\00a0';
+ float:left;
+ font-weight:bold;
}
.proof:after{
-content:"\25FC";
-float:right;
+ content:"\25FC";
+ float:right;
+}
+blockquote {
+ width:60%;
+ margin:50px auto;
+ font-style:italic;
+ color: #555555;
+ padding:1.2em 30px 1.2em 75px;
+ border-left:8px solid #78C0A8 ;
+ line-height:1.6;
+ position: relative;
+ background:#EDEDED;
+}
+blockquote::before{
+ font-family:Arial;
+ content: "\201C";
+ color:#78C0A8;
+ font-size:4em;
+ position: absolute;
+ left: 10px;
+ top:-10px;
+}
+
+blockquote::after{
+ content: '';
}
/* On smaller screens, where height is less than 450px, change the style of the sidebar (less padding and a smaller font size) */
@media screen and (max-height: 450px) {
- .sidenav {
- padding-top: 15px;
- }
- .sidenav a {
- font-size: 18px;
- }
+ .sidenav {
+ padding-top: 15px;
+ }
+ .sidenav a {
+ font-size: 18px;
+ }
}
@media (max-width: 1250px) {
- body {
- margin: 20px auto;
- font-size: 20px;
- }
- h1 {
- font-size: 20px;
- }
- h2 {
- font-size: 18px;
- }
- #table-of-contents {
- display: none;
- }
- #table-of-contents ul a {
- padding: 0px 0px 0px 0px;
- text-decoration: none;
- }
+ body {
+ margin: 20px auto;
+ font-size: 20px;
+ }
+ h1 {
+ font-size: 20px;
+ }
+ h2 {
+ font-size: 18px;
+ }
+ #table-of-contents {
+ display: none;
+ }
+ #table-of-contents ul a {
+ padding: 0px 0px 0px 0px;
+ text-decoration: none;
+ }
}