This commit is contained in:
SqrtMinusOne 2023-11-09 11:11:04 +00:00
parent e109c6415e
commit 24ffff1259
17 changed files with 134 additions and 81 deletions

View file

@ -5,6 +5,7 @@
<link>https://sqrtminusone.xyz/categories/</link>
<description>Recent content in Categories on SqrtMinusOne</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language><atom:link href="https://sqrtminusone.xyz/categories/index.xml" rel="self" type="application/rss+xml" />
<language>en-us</language>
<atom:link href="https://sqrtminusone.xyz/categories/index.xml" rel="self" type="application/rss+xml" />
</channel>
</rss>

View file

@ -879,6 +879,10 @@
<td>Mount stuff over SSH</td>
</tr>
<tr>
<td>lftp</td>
<td>File transfer</td>
</tr>
<tr>
<td>git-lfs</td>
<td></td>
</tr>

View file

@ -3562,7 +3562,19 @@ Emacs is also particularly great at writing Lisp code, e.g. Clojure, Common Lisp
<!--listend-->
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#008000">use-package</span> <span style="color:#19177c">restclient</span>
</span></span><span style="display:flex;"><span> <span style="color:#008000">:if</span> (<span style="color:#19177c">not</span> <span style="color:#19177c">my/remote-server</span>)
</span></span><span style="display:flex;"><span> <span style="color:#008000">:straight</span> <span style="color:#800">t</span>)
</span></span><span style="display:flex;"><span> <span style="color:#008000">:straight</span> <span style="color:#800">t</span>
</span></span><span style="display:flex;"><span> <span style="color:#008000">:config</span>
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">general-define-key</span>
</span></span><span style="display:flex;"><span> <span style="color:#008000">:keymaps</span> <span style="color:#19177c">&#39;restclient-mode-map</span>
</span></span><span style="display:flex;"><span> <span style="color:#008000">:states</span> <span style="color:#666">&#39;</span>(<span style="color:#19177c">normal</span> <span style="color:#19177c">visual</span>)
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;RET&#34;</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">restclient-http-send-current</span>
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;M-RET&#34;</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">restclient-http-send-current-stay-in-window</span>
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;y&#34;</span> <span style="color:#800">nil</span>
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;M-y&#34;</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">restclient-copy-curl-command</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">general-define-key</span>
</span></span><span style="display:flex;"><span> <span style="color:#008000">:keymaps</span> <span style="color:#19177c">&#39;restclient-response-mode-map</span>
</span></span><span style="display:flex;"><span> <span style="color:#008000">:states</span> <span style="color:#666">&#39;</span>(<span style="color:#19177c">normal</span> <span style="color:#19177c">visual</span>)
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;q&#34;</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">quit-window</span>))
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>(<span style="color:#008000">use-package</span> <span style="color:#19177c">ob-restclient</span>
</span></span><span style="display:flex;"><span> <span style="color:#008000">:after</span> (<span style="color:#19177c">org</span> <span style="color:#19177c">restclient</span>)
@ -4254,7 +4266,51 @@ Emacs is also particularly great at writing Lisp code, e.g. Clojure, Common Lisp
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">advice-add</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">org-ql-view--format-element</span> <span style="color:#008000">:override</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">my/org-ql-view--format-element-override</span>))
</span></span></code></pre></div><h5 id="aggregate-clocked-time">Aggregate clocked time</h5>
<p>This turned out to be kinda complicated&hellip; I want to produce a report that aggregates my clocked time. Maybe I&rsquo;ll extract the below into a separate package, but it&rsquo;s so tightly bound to my needs so I&rsquo;m not sure if there&rsquo;s any value in it.</p>
<p>First, in order to implement the aggregation I need a function to process alists:</p>
<p>Work-in-progress.</p>
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#008000">defun</span> <span style="color:#19177c">my/org-ql--get-clock-data-parse-buffer</span> ()
</span></span><span style="display:flex;"><span> (<span style="color:#008000">let</span> (<span style="color:#19177c">res</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">org-element-map</span> (<span style="color:#19177c">org-element-parse-buffer</span>) <span style="color:#19177c">&#39;clock</span>
</span></span><span style="display:flex;"><span> (<span style="color:#008000">lambda</span> (<span style="color:#19177c">clock</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#008000">let</span> ((<span style="color:#19177c">start</span> (<span style="color:#19177c">time-convert</span>
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">org-timestamp-to-time</span> (<span style="color:#19177c">org-element-property</span> <span style="color:#008000">:value</span> <span style="color:#19177c">clock</span>))
</span></span><span style="display:flex;"><span> <span style="color:#19177c">&#39;integer</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">end</span> (<span style="color:#19177c">time-convert</span>
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">org-timestamp-to-time</span> (<span style="color:#19177c">org-element-property</span> <span style="color:#008000">:value</span> <span style="color:#19177c">clock</span>) <span style="color:#800">t</span>)
</span></span><span style="display:flex;"><span> <span style="color:#19177c">&#39;integer</span>)))
</span></span><span style="display:flex;"><span> (<span style="color:#008000">save-excursion</span>
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">org-back-to-heading</span> <span style="color:#800">t</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#008000">let*</span> ((<span style="color:#19177c">headline</span> (<span style="color:#19177c">org-element-at-point-no-context</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">tags-val</span> (<span style="color:#19177c">org-ql--tags-at</span> (<span style="color:#00f">point</span>)))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">tags</span> (<span style="color:#19177c">seq-filter</span>
</span></span><span style="display:flex;"><span> <span style="color:#00f">#&#39;stringp</span> <span style="color:#408080;font-style:italic">;; to filter out `org-ql-nil&#39;</span>
</span></span><span style="display:flex;"><span> (<span style="color:#00f">append</span> (<span style="color:#008000">unless</span> (<span style="color:#00f">eq</span> (<span style="color:#00f">car</span> <span style="color:#19177c">tags-val</span>) <span style="color:#19177c">&#39;org-ql-nil</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#00f">car</span> <span style="color:#19177c">tags-val</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#008000">unless</span> (<span style="color:#00f">eq</span> (<span style="color:#00f">cdr</span> <span style="color:#19177c">tags-val</span>) <span style="color:#19177c">&#39;org-ql-nil</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#00f">cdr</span> <span style="color:#19177c">tags-val</span>)))))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">filename</span> (<span style="color:#19177c">f-filename</span>
</span></span><span style="display:flex;"><span> (<span style="color:#00f">buffer-file-name</span>)))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">outline-path</span> (<span style="color:#00f">mapcar</span>
</span></span><span style="display:flex;"><span> <span style="color:#00f">#&#39;substring-no-properties</span>
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">org-ql--outline-path</span>)))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">category</span> (<span style="color:#19177c">org-get-category</span>)))
</span></span><span style="display:flex;"><span> (<span style="color:#008000">push</span>
</span></span><span style="display:flex;"><span> <span style="color:#666">`</span>((<span style="color:#008000">:start</span> <span style="color:#666">.</span> <span style="color:#666">,</span><span style="color:#19177c">start</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#008000">:end</span> <span style="color:#666">.</span> <span style="color:#666">,</span><span style="color:#19177c">end</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#008000">:headline</span> <span style="color:#666">.</span> <span style="color:#666">,</span><span style="color:#19177c">headline</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#008000">:tags</span> <span style="color:#666">.</span> <span style="color:#666">,</span><span style="color:#19177c">tags</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#008000">:filename</span> <span style="color:#666">.</span> <span style="color:#666">,</span><span style="color:#19177c">filename</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#008000">:outline-path</span> <span style="color:#666">.</span> <span style="color:#666">,</span><span style="color:#19177c">outline-path</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#008000">:category</span> <span style="color:#666">.</span> <span style="color:#666">,</span><span style="color:#19177c">category</span>))
</span></span><span style="display:flex;"><span> <span style="color:#19177c">res</span>))))))
</span></span><span style="display:flex;"><span> <span style="color:#19177c">res</span>))
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>(<span style="color:#008000">defun</span> <span style="color:#19177c">my/org-ql--get-clock-data</span> ()
</span></span><span style="display:flex;"><span> (<span style="color:#008000">let</span> (<span style="color:#19177c">res</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#008000">dolist</span> (<span style="color:#19177c">file</span> (<span style="color:#19177c">org-agenda-files</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#008000">with-current-buffer</span> (<span style="color:#19177c">find-file-noselect</span> <span style="color:#19177c">file</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#008000">setq</span> <span style="color:#19177c">res</span> (<span style="color:#00f">append</span> <span style="color:#19177c">res</span> (<span style="color:#19177c">my/org-ql--get-clock-data-parse-buffer</span>)))))
</span></span><span style="display:flex;"><span> <span style="color:#19177c">res</span>))
</span></span></code></pre></div><p>A function to aggregate on alists:</p>
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#008000">defun</span> <span style="color:#19177c">my/alist-agg</span> (<span style="color:#19177c">path</span> <span style="color:#19177c">alist</span> <span style="color:#19177c">value</span>)
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;Traverse ALIST by PATH, adding VALUE to each node.
</span></span></span><span style="display:flex;"><span><span style="color:#ba2121">
@ -4497,6 +4553,12 @@ Emacs is also particularly great at writing Lisp code, e.g. Clojure, Common Lisp
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">org-ql--add-markers</span>
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">org-element-at-point</span>)))))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">my/org-ql-meeting-tasks</span> <span style="color:#19177c">meeting</span>)))
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>(<span style="color:#008000">with-eval-after-load</span> <span style="color:#19177c">&#39;org-agenda</span>
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">general-define-key</span>
</span></span><span style="display:flex;"><span> <span style="color:#008000">:keymaps</span> <span style="color:#19177c">&#39;org-agenda-mode-map</span>
</span></span><span style="display:flex;"><span> <span style="color:#008000">:states</span> <span style="color:#666">&#39;</span>(<span style="color:#19177c">normal</span> <span style="color:#19177c">motion</span>)
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;gm&#34;</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">my/org-ql-meeting-tasks-agenda</span>))
</span></span></code></pre></div><h5 id="tracking-habits">Tracking habits</h5>
<p>Let&rsquo;s see how this goes.</p>
<p>References:</p>
@ -8392,6 +8454,44 @@ Some other optimization settings:</p>
</span></span><span style="display:flex;"><span> <span style="color:#19177c">&#39;telega-image-mode</span> <span style="color:#19177c">&#39;telega-webpage-mode</span>))
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>(<span style="color:#008000">setq</span> <span style="color:#19177c">telega-online-status-function</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">my/telega-online-status</span>)
</span></span></code></pre></div><p>Switch to topic in forum chats.</p>
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#008000">defun</span> <span style="color:#19177c">my/telega-switch-to-topic</span> ()
</span></span><span style="display:flex;"><span> (<span style="color:#008000">interactive</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#008000">let*</span> ((<span style="color:#19177c">topics-data</span> (<span style="color:#00f">gethash</span>
</span></span><span style="display:flex;"><span> (<span style="color:#00f">plist-get</span> <span style="color:#19177c">telega-chatbuf--chat</span> <span style="color:#008000">:id</span>)
</span></span><span style="display:flex;"><span> <span style="color:#19177c">telega--chat-topics</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">topics-string</span>
</span></span><span style="display:flex;"><span> (<span style="color:#00f">mapcar</span>
</span></span><span style="display:flex;"><span> (<span style="color:#008000">lambda</span> (<span style="color:#19177c">topic</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#008000">let*</span> ((<span style="color:#19177c">name</span> (<span style="color:#00f">plist-get</span> (<span style="color:#00f">plist-get</span> <span style="color:#19177c">topic</span> <span style="color:#008000">:info</span>) <span style="color:#008000">:name</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">unread-count</span> (<span style="color:#00f">plist-get</span> <span style="color:#19177c">topic</span> <span style="color:#008000">:unread_count</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">name-string</span> (<span style="color:#008000">with-temp-buffer</span>
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">telega-ins--topic-title</span> <span style="color:#19177c">topic</span> <span style="color:#19177c">&#39;with-icon</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#00f">buffer-string</span>))))
</span></span><span style="display:flex;"><span> (<span style="color:#008000">if</span> (<span style="color:#19177c">zerop</span> <span style="color:#19177c">unread-count</span>)
</span></span><span style="display:flex;"><span> <span style="color:#19177c">name-string</span>
</span></span><span style="display:flex;"><span> (<span style="color:#00f">format</span> <span style="color:#ba2121">&#34;%-40s (%s)&#34;</span>
</span></span><span style="display:flex;"><span> <span style="color:#19177c">name-string</span>
</span></span><span style="display:flex;"><span> (<span style="color:#00f">propertize</span> (<span style="color:#00f">format</span> <span style="color:#ba2121">&#34;%d&#34;</span> <span style="color:#19177c">unread-count</span>)
</span></span><span style="display:flex;"><span> <span style="color:#19177c">&#39;face</span> <span style="color:#19177c">&#39;telega-unread-unmuted-modeline</span>)))))
</span></span><span style="display:flex;"><span> <span style="color:#19177c">topics-data</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">topics-collection</span> (<span style="color:#008000">cl-loop</span> <span style="color:#19177c">for</span> <span style="color:#19177c">datum</span> <span style="color:#19177c">in</span> <span style="color:#19177c">topics-data</span>
</span></span><span style="display:flex;"><span> <span style="color:#19177c">for</span> <span style="color:#00f">string</span> <span style="color:#19177c">in</span> <span style="color:#19177c">topics-string</span>
</span></span><span style="display:flex;"><span> <span style="color:#19177c">collect</span> (<span style="color:#00f">cons</span> <span style="color:#00f">string</span> <span style="color:#19177c">datum</span>)))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">topic</span> (<span style="color:#00f">completing-read</span> <span style="color:#ba2121">&#34;Topic: &#34;</span> <span style="color:#19177c">topics-collection</span> <span style="color:#800">nil</span> <span style="color:#800">t</span>)))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">telega-chat--goto-thread</span>
</span></span><span style="display:flex;"><span> <span style="color:#19177c">telega-chatbuf--chat</span>
</span></span><span style="display:flex;"><span> (<span style="color:#00f">plist-get</span>
</span></span><span style="display:flex;"><span> (<span style="color:#00f">plist-get</span>
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">alist-get</span> <span style="color:#19177c">topic</span> <span style="color:#19177c">topics-collection</span> <span style="color:#800">nil</span> <span style="color:#800">nil</span> <span style="color:#00f">#&#39;equal</span>)
</span></span><span style="display:flex;"><span> <span style="color:#008000">:info</span>)
</span></span><span style="display:flex;"><span> <span style="color:#008000">:message_thread_id</span>))))
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>(<span style="color:#008000">with-eval-after-load</span> <span style="color:#19177c">&#39;telega</span>
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">general-define-key</span>
</span></span><span style="display:flex;"><span> <span style="color:#008000">:states</span> <span style="color:#666">&#39;</span>(<span style="color:#19177c">normal</span>)
</span></span><span style="display:flex;"><span> <span style="color:#008000">:keymaps</span> <span style="color:#19177c">&#39;telega-chat-mode-map</span>
</span></span><span style="display:flex;"><span> <span style="color:#ba2121">&#34;T&#34;</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">my/telega-switch-to-topic</span>))
</span></span></code></pre></div><h4 id="google-translate">Google Translate</h4>
<p>Emacs interface to Google Translate.</p>
<p>Can&rsquo;t make it load lazily for some strange reason.</p>
@ -8724,6 +8824,9 @@ Some other optimization settings:</p>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>(<span style="color:#008000">defun</span> <span style="color:#19177c">my/elcord-update-presence-mask-advice</span> (<span style="color:#19177c">r</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#00f">list</span> (<span style="color:#19177c">my/elcord-mask-buffer-name</span> (<span style="color:#00f">nth</span> <span style="color:#666">0</span> <span style="color:#19177c">r</span>)) (<span style="color:#00f">nth</span> <span style="color:#666">1</span> <span style="color:#19177c">r</span>)))
</span></span></code></pre></div><p>Create a symlink for flatpak:</p>
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#008000">defun</span> <span style="color:#19177c">my/elcord-symlink</span> ()
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">shell-command-to-string</span> <span style="color:#ba2121">&#34;bash -c &#39;ln -sf {app/com.discordapp.Discord,$XDG_RUNTIME_DIR}/discord-ipc-0 &amp;&#39;&#34;</span>))
</span></span></code></pre></div><p>And the package configuration:</p>
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#008000">use-package</span> <span style="color:#19177c">elcord</span>
</span></span><span style="display:flex;"><span> <span style="color:#008000">:straight</span> <span style="color:#800">t</span>
@ -8738,7 +8841,8 @@ Some other optimization settings:</p>
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">advice-add</span> <span style="color:#19177c">&#39;elcord--try-update-presence</span> <span style="color:#008000">:filter-args</span> <span style="color:#00f">#&#39;</span><span style="color:#19177c">my/elcord-update-presence-mask-advice</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">add-to-list</span> <span style="color:#19177c">&#39;elcord-mode-text-alist</span> <span style="color:#666">&#39;</span>(<span style="color:#19177c">telega-chat-mode</span> <span style="color:#666">.</span> <span style="color:#ba2121">&#34;Telega Chat&#34;</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">add-to-list</span> <span style="color:#19177c">&#39;elcord-mode-text-alist</span> <span style="color:#666">&#39;</span>(<span style="color:#19177c">telega-root-mode</span> <span style="color:#666">.</span> <span style="color:#ba2121">&#34;Telega Root&#34;</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">elcord-mode</span>))
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">elcord-mode</span>)
</span></span><span style="display:flex;"><span> (<span style="color:#19177c">my/elcord-symlink</span>))
</span></span></code></pre></div><h4 id="snow">Snow</h4>
<div class="highlight"><pre tabindex="0" style=";-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-emacs-lisp" data-lang="emacs-lisp"><span style="display:flex;"><span>(<span style="color:#008000">use-package</span> <span style="color:#19177c">snow</span>
</span></span><span style="display:flex;"><span> <span style="color:#008000">:straight</span> (<span style="color:#008000">:repo</span> <span style="color:#ba2121">&#34;alphapapa/snow.el&#34;</span> <span style="color:#008000">:host</span> <span style="color:#19177c">github</span>)

View file

@ -5,23 +5,21 @@
<link>https://sqrtminusone.xyz/configs/</link>
<description>Recent content in Configs on SqrtMinusOne</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language><atom:link href="https://sqrtminusone.xyz/configs/index.xml" rel="self" type="application/rss+xml" />
<language>en-us</language>
<atom:link href="https://sqrtminusone.xyz/configs/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Console</title>
<link>https://sqrtminusone.xyz/configs/console/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://sqrtminusone.xyz/configs/console/</guid>
<description>No matter from which side you approach penguins, more always come from behind
A friend of mine Colors Noweb function to get colors.
(let ((color (or (my/color-value name)))) (if (&amp;gt; quote 0) (concat &amp;#34;\&amp;#34;&amp;#34; color &amp;#34;\&amp;#34;&amp;#34;) color)) (let ((val (if (ct-light-p (my/color-value name)) (my/color-value &amp;#39;black) (my/color-value &amp;#39;white)))) (if (eq quote 1) (concat &amp;#34;\&amp;#34;&amp;#34; val &amp;#34;\&amp;#34;&amp;#34;) val)) (setq-local org-confirm-babel-evaluate nil) .profile Environment export QT_QPA_PLATFORMTHEME=&amp;#34;qt5ct&amp;#34; export QT_AUTO_SCREEN_SCALE_FACTOR=0 Set ripgrep config path</description>
</item>
<item>
<title>Desktop</title>
<link>https://sqrtminusone.xyz/configs/desktop/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://sqrtminusone.xyz/configs/desktop/</guid>
<description>My general desktop environment configuration.
Parts prefixed with (OFF) are not used, but kept for historic purposes. For some reason GitHub&amp;rsquo;s org renderer ignores TODO status, hence such a prefix. Round brackets instead of square ones to prevent GitHub&amp;rsquo;s org renderer from screwing up.
@ -29,23 +27,19 @@ References:
A few cases of literate configuration. A few interesting ways in which literate configuration is used in this file. Some remarks Removed features:
Feature Last commit rofi-buku e22476b0cc6315e104e5ce4de5559a61c830c429 Global customization Colors I used to define color codes here (see previous version of the file), now I just get colors from the current Emacs theme.</description>
</item>
<item>
<title>Emacs config</title>
<link>https://sqrtminusone.xyz/configs/emacs/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://sqrtminusone.xyz/configs/emacs/</guid>
<description>One day we won&amp;rsquo;t hate one another, no young boy will march to war and I will clean up my Emacs config. But that day isn&amp;rsquo;t today.
Me, &amp;lt;2021-05-27 Thu 17:35&amp;gt; in commit 93a0573. Adapted from The Dark Element - &amp;ldquo;The Pallbearer Walks Alone&amp;rdquo;. T_T Introduction My configuration of GNU Emacs, an awesome text editor piece of software that can do almost anything.
At the moment of writing this, that &amp;ldquo;almost anything&amp;rdquo; includes:</description>
</item>
<item>
<title>Guix</title>
<link>https://sqrtminusone.xyz/configs/guix/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://sqrtminusone.xyz/configs/guix/</guid>
<description>GNU Guix is (1) a transactional package manager and (2) a GNU/Linux distribution.
My personal selling points are declarative package configuration and transactional upgrades.
@ -54,29 +48,24 @@ Official help System Crafters wiki Pjotr Prins&amp;rsquo; Guix notes Davil Wilso
References:
Guix Profiles in Practice Activate profiles A script to activate guix profiles.</description>
</item>
<item>
<title>Mail</title>
<link>https://sqrtminusone.xyz/configs/mail/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://sqrtminusone.xyz/configs/mail/</guid>
<description>:TOC: :include all :depth 3
My email configration. Currently I use lieer to fetch emails from Gmail, davmail &amp;amp; offlineimap to fetch emails from MS Exchange, notmuch to index, msmtp to send emails. Also using notmuch frontend from Emacs.
My problem with any particular mail setup was that I use Gmail labels quite extensively, and handling these over IMAP is rather awkward. Notmuch seems to be the only software that provides the same first-class support for labels.</description>
</item>
<item>
<title>My dotfiles</title>
<link>https://sqrtminusone.xyz/configs/readme/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://sqrtminusone.xyz/configs/readme/</guid>
<description>These are my GNU/Linux configuration files. View at GitHub.
I use the literate configuration strategy via Emacs&amp;rsquo; Org Mode wherever possible. It has its pros and cons, but I find it pretty nice to keep the configs interweaved with comments in a handful of files.
The files themselves are managed and deployed via yadm, although I use Org Mode for things like config templating.
My current GNU/Linux distribution is GNU Guix.</description>
</item>
</channel>
</rss>

View file

@ -1,6 +1,6 @@
<!DOCTYPE html>
<html lang=""><head>
<meta name="generator" content="Hugo 0.119.0">
<meta name="generator" content="Hugo 0.120.4">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

Binary file not shown.

Before

Width:  |  Height:  |  Size: 120 KiB

After

Width:  |  Height:  |  Size: 120 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 KiB

After

Width:  |  Height:  |  Size: 67 KiB

View file

@ -6,27 +6,24 @@
<description>Recent content in elfeed on SqrtMinusOne</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<lastBuildDate>Fri, 16 Sep 2022 00:00:00 +0000</lastBuildDate><atom:link href="https://sqrtminusone.xyz/tags/elfeed/index.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>Fri, 16 Sep 2022 00:00:00 +0000</lastBuildDate>
<atom:link href="https://sqrtminusone.xyz/tags/elfeed/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Podcast transcripts with elfeed &amp; speech recognition engine</title>
<link>https://sqrtminusone.xyz/posts/2022-09-16-vosk/</link>
<pubDate>Fri, 16 Sep 2022 00:00:00 +0000</pubDate>
<guid>https://sqrtminusone.xyz/posts/2022-09-16-vosk/</guid>
<description>Edit &amp;lt;2022-10-13 Thu&amp;gt;: Just a couple of days after this post, OpenAI released a speech recognition model called Whisper, which is so much better than anything I&amp;rsquo;ve ever seen before. I&amp;rsquo;ve decided to leave this post as it is, but check the Emacs config for the updated version.
In my experience, finding something in a podcast is particularly troublesome. For example, occasionally I want to refer to some line in the podcast to make an org-roam node, e.</description>
</item>
<item>
<title>My EMMS and elfeed setup</title>
<link>https://sqrtminusone.xyz/posts/2021-09-07-emms/</link>
<pubDate>Wed, 08 Sep 2021 00:00:00 +0000</pubDate>
<guid>https://sqrtminusone.xyz/posts/2021-09-07-emms/</guid>
<description>Intro This is the current state of my quest to live in Emacs, at least in part of reading RSS and music.
Even before I lost my mind about customizing obscure keyboard-driven software, I tried Inoreader, self-hosted FreshRSS, and then newsboat from the RSS side and ncmpcpp+MPD from the audio player side. At some point, I got curious about whether I can do the same in Emacs.
The respective emacs packages, elfeed and EMMS, proved somewhat tricky to set up, i.</description>
</item>
</channel>
</rss>

View file

@ -6,111 +6,92 @@
<description>Recent content in emacs on SqrtMinusOne</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<lastBuildDate>Thu, 13 Apr 2023 00:00:00 +0000</lastBuildDate><atom:link href="https://sqrtminusone.xyz/tags/emacs/index.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>Thu, 13 Apr 2023 00:00:00 +0000</lastBuildDate>
<atom:link href="https://sqrtminusone.xyz/tags/emacs/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>916 days of Emacs</title>
<link>https://sqrtminusone.xyz/posts/2023-04-13-emacs/</link>
<pubDate>Thu, 13 Apr 2023 00:00:00 +0000</pubDate>
<guid>https://sqrtminusone.xyz/posts/2023-04-13-emacs/</guid>
<description>Poof I made my free-time disappear
- Ellis Kenyő, on being called an &#34;elisp mage&#34; Little did I know on the fateful day of [2020-10-09 Fri], when I had installed GNU Emacs. I wasn&amp;rsquo;t thinking about the ethical aspects of free software, the aesthetics of Lisp, or these other things with which an occasional layperson might explain how an almost half a century old program can still be in active use.</description>
</item>
<item>
<title>Running Gource with Emacs</title>
<link>https://sqrtminusone.xyz/posts/2023-01-02-gource/</link>
<pubDate>Mon, 02 Jan 2023 00:00:00 +0000</pubDate>
<guid>https://sqrtminusone.xyz/posts/2023-01-02-gource/</guid>
<description>Gource is a program that draws an animated graph of users changing the repository over time.
Although it can work without extra effort (just run gource in a git repo), there are some tweaks that can be done:
Gource supports using custom pictures for users. Gravatar is an obvious place to get these. Occasionally, the same people have different names and/or emails in history.
It may happen when people use forges like GitLab or just have different settings on different machines.</description>
</item>
<item>
<title>Podcast transcripts with elfeed &amp; speech recognition engine</title>
<link>https://sqrtminusone.xyz/posts/2022-09-16-vosk/</link>
<pubDate>Fri, 16 Sep 2022 00:00:00 +0000</pubDate>
<guid>https://sqrtminusone.xyz/posts/2022-09-16-vosk/</guid>
<description>Edit &amp;lt;2022-10-13 Thu&amp;gt;: Just a couple of days after this post, OpenAI released a speech recognition model called Whisper, which is so much better than anything I&amp;rsquo;ve ever seen before. I&amp;rsquo;ve decided to leave this post as it is, but check the Emacs config for the updated version.
In my experience, finding something in a podcast is particularly troublesome. For example, occasionally I want to refer to some line in the podcast to make an org-roam node, e.</description>
</item>
<item>
<title>Extending elfeed with PDF viewer and subtitles fetcher</title>
<link>https://sqrtminusone.xyz/posts/2022-05-09-pdf/</link>
<pubDate>Tue, 10 May 2022 00:00:00 +0000</pubDate>
<guid>https://sqrtminusone.xyz/posts/2022-05-09-pdf/</guid>
<description>Intro elfeed is one of the most popular Emacs packages, and it&amp;rsquo;s also one in which I ended up investing a lot of effort. I wrote about the EMMS integration and even made a custom frontpage to my liking.
However, sites frequently limit the amount of information shipped in the RSS feed. Oftentimes the entry doesn&amp;rsquo;t include the entire content (of which, by the way, this blog was guilty).
Also, there&amp;rsquo;s non-textual content, of which in this post I consider YouTube subscriptions.</description>
</item>
<item>
<title>A few cases of literate configuration</title>
<link>https://sqrtminusone.xyz/posts/2022-02-12-literate/</link>
<pubDate>Sat, 12 Feb 2022 00:00:00 +0000</pubDate>
<guid>https://sqrtminusone.xyz/posts/2022-02-12-literate/</guid>
<description>A post that arose from the discussion of literate configuration on the System Crafters Discord.
I am using the literate configuration strategy (based on Emacs&amp;rsquo; Org Mode) to manage most of my configuration files. A piece of such a configuration can be as simple as an Org file, which is tangled to one or many plain-text configuration files, but it can be more.
In my opinion, a literate configuration can be more straightforward and concise than a &amp;ldquo;normal&amp;rdquo; one, thanks to Org Mode&amp;rsquo;s capabilities of working with source code.</description>
</item>
<item>
<title>Using EXWM and perspective.el on multi-monitor setup</title>
<link>https://sqrtminusone.xyz/posts/2022-01-03-exwm/</link>
<pubDate>Mon, 03 Jan 2022 00:00:00 +0000</pubDate>
<guid>https://sqrtminusone.xyz/posts/2022-01-03-exwm/</guid>
<description>I wrote about Emacs and i3 integration around two months ago. Shortly after however, I decided to give EXWM another try, mainly because my largest reservation - lack of performance - seems to have been resolved by updates to the native compilation since my first attempt. Or I may have lost some sensitivity to that issue. Regardless, the second dive into EXWM thus far feels successful, and I think it&amp;rsquo;s the right time to share some of my thoughts on the subject.</description>
</item>
<item>
<title>Getting a consistent set of keybindings between i3 and Emacs</title>
<link>https://sqrtminusone.xyz/posts/2021-10-04-emacs-i3/</link>
<pubDate>Wed, 06 Oct 2021 00:00:00 +0000</pubDate>
<guid>https://sqrtminusone.xyz/posts/2021-10-04-emacs-i3/</guid>
<description>Intro One advantage of EXWM for an Emacs user is that EXWM gives one set of keybindings to manage both Emacs windows and X windows. In every other WM, like my preferred i3wm, two orthogonal keymaps seem to be necessary. But, as both programs are quite customizable, I want to see whether I can replicate at least some part of the EXWM goodness in i3.
But why not just use EXWM?</description>
</item>
<item>
<title>My EMMS and elfeed setup</title>
<link>https://sqrtminusone.xyz/posts/2021-09-07-emms/</link>
<pubDate>Wed, 08 Sep 2021 00:00:00 +0000</pubDate>
<guid>https://sqrtminusone.xyz/posts/2021-09-07-emms/</guid>
<description>Intro This is the current state of my quest to live in Emacs, at least in part of reading RSS and music.
Even before I lost my mind about customizing obscure keyboard-driven software, I tried Inoreader, self-hosted FreshRSS, and then newsboat from the RSS side and ncmpcpp+MPD from the audio player side. At some point, I got curious about whether I can do the same in Emacs.
The respective emacs packages, elfeed and EMMS, proved somewhat tricky to set up, i.</description>
</item>
<item>
<title>Replacing Jupyter Notebook with Org Mode</title>
<link>https://sqrtminusone.xyz/posts/2021-05-01-org-python/</link>
<pubDate>Sat, 01 May 2021 00:00:00 +0000</pubDate>
<guid>https://sqrtminusone.xyz/posts/2021-05-01-org-python/</guid>
<description>Why? Jupyter Notebook and its successor Jupyter Lab providing an interactive development environment for many programming languages are in lots of ways great pieces of software.
But while I was using the former, and then the latter, I was also an as-full-time-as-one-can-get NeoVim user. &amp;ldquo;As one can get&amp;rdquo; is because, of course, there is no sensible way to extend the NeoVim editing experience to the Jupyter ecosystem.
A possibility for change appeared with my discovery of Emacs not so long ago.</description>
</item>
<item>
<title>Multiple Gmail accounts &amp; labels with Emacs</title>
<link>https://sqrtminusone.xyz/posts/2021-02-27-gmail/</link>
<pubDate>Sat, 27 Feb 2021 00:00:00 +0000</pubDate>
<guid>https://sqrtminusone.xyz/posts/2021-02-27-gmail/</guid>
<description>Intro For quite some time, e-mail seemed like an anomaly in my workflow. I am a long time Gmail user, and my decade-old account has a somewhat formidable quantity of labels and filters. My messages are often assigned multiple labels, and I also like to keep only a bunch of messages in the inbox.
Although, in my opinion, Gmail web UI was and still is leagues ahead of many of its competitors and even allows keyboard-centric workflow, it&amp;rsquo;s awkward to use with a keyboard-driven browser, and for no money on Earth I would enable browser notifications.</description>
</item>
</channel>
</rss>

View file

@ -6,17 +6,16 @@
<description>Recent content in emms on SqrtMinusOne</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<lastBuildDate>Wed, 08 Sep 2021 00:00:00 +0000</lastBuildDate><atom:link href="https://sqrtminusone.xyz/tags/emms/index.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>Wed, 08 Sep 2021 00:00:00 +0000</lastBuildDate>
<atom:link href="https://sqrtminusone.xyz/tags/emms/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>My EMMS and elfeed setup</title>
<link>https://sqrtminusone.xyz/posts/2021-09-07-emms/</link>
<pubDate>Wed, 08 Sep 2021 00:00:00 +0000</pubDate>
<guid>https://sqrtminusone.xyz/posts/2021-09-07-emms/</guid>
<description>Intro This is the current state of my quest to live in Emacs, at least in part of reading RSS and music.
Even before I lost my mind about customizing obscure keyboard-driven software, I tried Inoreader, self-hosted FreshRSS, and then newsboat from the RSS side and ncmpcpp+MPD from the audio player side. At some point, I got curious about whether I can do the same in Emacs.
The respective emacs packages, elfeed and EMMS, proved somewhat tricky to set up, i.</description>
</item>
</channel>
</rss>

View file

@ -6,15 +6,14 @@
<description>Recent content in exwm on SqrtMinusOne</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<lastBuildDate>Mon, 03 Jan 2022 00:00:00 +0000</lastBuildDate><atom:link href="https://sqrtminusone.xyz/tags/exwm/index.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>Mon, 03 Jan 2022 00:00:00 +0000</lastBuildDate>
<atom:link href="https://sqrtminusone.xyz/tags/exwm/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Using EXWM and perspective.el on multi-monitor setup</title>
<link>https://sqrtminusone.xyz/posts/2022-01-03-exwm/</link>
<pubDate>Mon, 03 Jan 2022 00:00:00 +0000</pubDate>
<guid>https://sqrtminusone.xyz/posts/2022-01-03-exwm/</guid>
<description>I wrote about Emacs and i3 integration around two months ago. Shortly after however, I decided to give EXWM another try, mainly because my largest reservation - lack of performance - seems to have been resolved by updates to the native compilation since my first attempt. Or I may have lost some sensitivity to that issue. Regardless, the second dive into EXWM thus far feels successful, and I think it&amp;rsquo;s the right time to share some of my thoughts on the subject.</description>
</item>
</channel>
</rss>

View file

@ -6,16 +6,15 @@
<description>Recent content in i3wm on SqrtMinusOne</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<lastBuildDate>Wed, 06 Oct 2021 00:00:00 +0000</lastBuildDate><atom:link href="https://sqrtminusone.xyz/tags/i3wm/index.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>Wed, 06 Oct 2021 00:00:00 +0000</lastBuildDate>
<atom:link href="https://sqrtminusone.xyz/tags/i3wm/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Getting a consistent set of keybindings between i3 and Emacs</title>
<link>https://sqrtminusone.xyz/posts/2021-10-04-emacs-i3/</link>
<pubDate>Wed, 06 Oct 2021 00:00:00 +0000</pubDate>
<guid>https://sqrtminusone.xyz/posts/2021-10-04-emacs-i3/</guid>
<description>Intro One advantage of EXWM for an Emacs user is that EXWM gives one set of keybindings to manage both Emacs windows and X windows. In every other WM, like my preferred i3wm, two orthogonal keymaps seem to be necessary. But, as both programs are quite customizable, I want to see whether I can replicate at least some part of the EXWM goodness in i3.
But why not just use EXWM?</description>
</item>
</channel>
</rss>

View file

@ -6,78 +6,63 @@
<description>Recent content in Tags on SqrtMinusOne</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<lastBuildDate>Thu, 13 Apr 2023 00:00:00 +0000</lastBuildDate><atom:link href="https://sqrtminusone.xyz/tags/index.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>Thu, 13 Apr 2023 00:00:00 +0000</lastBuildDate>
<atom:link href="https://sqrtminusone.xyz/tags/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>emacs</title>
<link>https://sqrtminusone.xyz/tags/emacs/</link>
<pubDate>Thu, 13 Apr 2023 00:00:00 +0000</pubDate>
<guid>https://sqrtminusone.xyz/tags/emacs/</guid>
<description></description>
</item>
<item>
<title>elfeed</title>
<link>https://sqrtminusone.xyz/tags/elfeed/</link>
<pubDate>Fri, 16 Sep 2022 00:00:00 +0000</pubDate>
<guid>https://sqrtminusone.xyz/tags/elfeed/</guid>
<description></description>
</item>
<item>
<title>org-mode</title>
<link>https://sqrtminusone.xyz/tags/org-mode/</link>
<pubDate>Tue, 10 May 2022 00:00:00 +0000</pubDate>
<guid>https://sqrtminusone.xyz/tags/org-mode/</guid>
<description></description>
</item>
<item>
<title>exwm</title>
<link>https://sqrtminusone.xyz/tags/exwm/</link>
<pubDate>Mon, 03 Jan 2022 00:00:00 +0000</pubDate>
<guid>https://sqrtminusone.xyz/tags/exwm/</guid>
<description></description>
</item>
<item>
<title>i3wm</title>
<link>https://sqrtminusone.xyz/tags/i3wm/</link>
<pubDate>Wed, 06 Oct 2021 00:00:00 +0000</pubDate>
<guid>https://sqrtminusone.xyz/tags/i3wm/</guid>
<description></description>
</item>
<item>
<title>emms</title>
<link>https://sqrtminusone.xyz/tags/emms/</link>
<pubDate>Wed, 08 Sep 2021 00:00:00 +0000</pubDate>
<guid>https://sqrtminusone.xyz/tags/emms/</guid>
<description></description>
</item>
<item>
<title>org</title>
<link>https://sqrtminusone.xyz/tags/org/</link>
<pubDate>Sat, 01 May 2021 00:00:00 +0000</pubDate>
<guid>https://sqrtminusone.xyz/tags/org/</guid>
<description></description>
</item>
<item>
<title>mail</title>
<link>https://sqrtminusone.xyz/tags/mail/</link>
<pubDate>Sat, 27 Feb 2021 00:00:00 +0000</pubDate>
<guid>https://sqrtminusone.xyz/tags/mail/</guid>
<description></description>
</item>
</channel>
</rss>

View file

@ -6,16 +6,15 @@
<description>Recent content in mail on SqrtMinusOne</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<lastBuildDate>Sat, 27 Feb 2021 00:00:00 +0000</lastBuildDate><atom:link href="https://sqrtminusone.xyz/tags/mail/index.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>Sat, 27 Feb 2021 00:00:00 +0000</lastBuildDate>
<atom:link href="https://sqrtminusone.xyz/tags/mail/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Multiple Gmail accounts &amp; labels with Emacs</title>
<link>https://sqrtminusone.xyz/posts/2021-02-27-gmail/</link>
<pubDate>Sat, 27 Feb 2021 00:00:00 +0000</pubDate>
<guid>https://sqrtminusone.xyz/posts/2021-02-27-gmail/</guid>
<description>Intro For quite some time, e-mail seemed like an anomaly in my workflow. I am a long time Gmail user, and my decade-old account has a somewhat formidable quantity of labels and filters. My messages are often assigned multiple labels, and I also like to keep only a bunch of messages in the inbox.
Although, in my opinion, Gmail web UI was and still is leagues ahead of many of its competitors and even allows keyboard-centric workflow, it&amp;rsquo;s awkward to use with a keyboard-driven browser, and for no money on Earth I would enable browser notifications.</description>
</item>
</channel>
</rss>

View file

@ -6,28 +6,25 @@
<description>Recent content in org-mode on SqrtMinusOne</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<lastBuildDate>Tue, 10 May 2022 00:00:00 +0000</lastBuildDate><atom:link href="https://sqrtminusone.xyz/tags/org-mode/index.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>Tue, 10 May 2022 00:00:00 +0000</lastBuildDate>
<atom:link href="https://sqrtminusone.xyz/tags/org-mode/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Extending elfeed with PDF viewer and subtitles fetcher</title>
<link>https://sqrtminusone.xyz/posts/2022-05-09-pdf/</link>
<pubDate>Tue, 10 May 2022 00:00:00 +0000</pubDate>
<guid>https://sqrtminusone.xyz/posts/2022-05-09-pdf/</guid>
<description>Intro elfeed is one of the most popular Emacs packages, and it&amp;rsquo;s also one in which I ended up investing a lot of effort. I wrote about the EMMS integration and even made a custom frontpage to my liking.
However, sites frequently limit the amount of information shipped in the RSS feed. Oftentimes the entry doesn&amp;rsquo;t include the entire content (of which, by the way, this blog was guilty).
Also, there&amp;rsquo;s non-textual content, of which in this post I consider YouTube subscriptions.</description>
</item>
<item>
<title>A few cases of literate configuration</title>
<link>https://sqrtminusone.xyz/posts/2022-02-12-literate/</link>
<pubDate>Sat, 12 Feb 2022 00:00:00 +0000</pubDate>
<guid>https://sqrtminusone.xyz/posts/2022-02-12-literate/</guid>
<description>A post that arose from the discussion of literate configuration on the System Crafters Discord.
I am using the literate configuration strategy (based on Emacs&amp;rsquo; Org Mode) to manage most of my configuration files. A piece of such a configuration can be as simple as an Org file, which is tangled to one or many plain-text configuration files, but it can be more.
In my opinion, a literate configuration can be more straightforward and concise than a &amp;ldquo;normal&amp;rdquo; one, thanks to Org Mode&amp;rsquo;s capabilities of working with source code.</description>
</item>
</channel>
</rss>

View file

@ -6,17 +6,16 @@
<description>Recent content in org on SqrtMinusOne</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<lastBuildDate>Sat, 01 May 2021 00:00:00 +0000</lastBuildDate><atom:link href="https://sqrtminusone.xyz/tags/org/index.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>Sat, 01 May 2021 00:00:00 +0000</lastBuildDate>
<atom:link href="https://sqrtminusone.xyz/tags/org/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Replacing Jupyter Notebook with Org Mode</title>
<link>https://sqrtminusone.xyz/posts/2021-05-01-org-python/</link>
<pubDate>Sat, 01 May 2021 00:00:00 +0000</pubDate>
<guid>https://sqrtminusone.xyz/posts/2021-05-01-org-python/</guid>
<description>Why? Jupyter Notebook and its successor Jupyter Lab providing an interactive development environment for many programming languages are in lots of ways great pieces of software.
But while I was using the former, and then the latter, I was also an as-full-time-as-one-can-get NeoVim user. &amp;ldquo;As one can get&amp;rdquo; is because, of course, there is no sensible way to extend the NeoVim editing experience to the Jupyter ecosystem.
A possibility for change appeared with my discovery of Emacs not so long ago.</description>
</item>
</channel>
</rss>