Auto-publish on Tue 12 Aug 18:31:05 BST 2025
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2025-08-11 Mon 18:40 -->
|
||||
<!-- 2025-08-12 Tue 18:30 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>About Page</title>
|
||||
@@ -217,9 +217,9 @@
|
||||
<div id="updated">Updated: 2025-08-08 Fri 23:07</div>
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
<div id="outline-container-org35a553a" class="outline-2">
|
||||
<h2 id="org35a553a">About</h2>
|
||||
<div class="outline-text-2" id="text-org35a553a">
|
||||
<div id="outline-container-org4a6e58c" class="outline-2">
|
||||
<h2 id="org4a6e58c">About</h2>
|
||||
<div class="outline-text-2" id="text-org4a6e58c">
|
||||
<p>
|
||||
TODO
|
||||
</p>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2025-08-11 Mon 18:40 -->
|
||||
<!-- 2025-08-12 Tue 18:30 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Hilbert's Hotel</title>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2025-08-11 Mon 18:40 -->
|
||||
<!-- 2025-08-12 Tue 18:30 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>09-08-2025: Website Changes</title>
|
||||
@@ -220,9 +220,9 @@
|
||||
<h1 class="title">09-08-2025: Website Changes</h1>
|
||||
<div class="filetags"><a href="/categories.html"> <span class="post-tag">emacs</span> </a> <a href="/categories.html"> <span class="post-tag">website</span> </a></div>
|
||||
|
||||
<div id="outline-container-org02ec70d" class="outline-2">
|
||||
<h2 id="org02ec70d">What was worked on</h2>
|
||||
<div class="outline-text-2" id="text-org02ec70d">
|
||||
<div id="outline-container-org77b8690" class="outline-2">
|
||||
<h2 id="org77b8690">What was worked on</h2>
|
||||
<div class="outline-text-2" id="text-org77b8690">
|
||||
<p>
|
||||
I saw a few websites that used marginal notes on the right side of the screen like <a href="https://ogbe.net/blog/emacs_org_static_site">this one</a>, so I decided to try and implement this feature in this wesbite. In my mind I thought of using an external pre-configured CSS that I can just insert and ta-da it would work.
|
||||
</p>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2025-08-11 Mon 18:40 -->
|
||||
<!-- 2025-08-12 Tue 18:30 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Wacom With Arch</title>
|
||||
@@ -220,9 +220,9 @@
|
||||
<h1 class="title">Wacom With Arch</h1>
|
||||
<div class="filetags"><a href="/categories.html"> <span class="post-tag">insights</span> </a></div>
|
||||
|
||||
<div id="outline-container-org955e135" class="outline-2">
|
||||
<h2 id="org955e135">Setting up Wacom Tablet in Arch Hyprland</h2>
|
||||
<div class="outline-text-2" id="text-org955e135">
|
||||
<div id="outline-container-orge6a6875" class="outline-2">
|
||||
<h2 id="orge6a6875">Setting up Wacom Tablet in Arch Hyprland</h2>
|
||||
<div class="outline-text-2" id="text-orge6a6875">
|
||||
<p>
|
||||
I purchased a <a href="https://www.wacom.com/en-gb/products/one-by-wacom">One by Wacom</a> tablet almost 2 years ago now and it works flawlessly in both Windows and MacOS and even in most Linux distros with some configuration.
|
||||
</p>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2025-08-11 Mon 18:40 -->
|
||||
<!-- 2025-08-12 Tue 18:30 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Weekly review: Week ending August 10, 2025</title>
|
||||
@@ -224,23 +224,23 @@
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents" role="doc-toc">
|
||||
<ul>
|
||||
<li><a href="#org240c340">Reviewing the week</a></li>
|
||||
<li><a href="#orgb9f567e">Next week</a>
|
||||
<li><a href="#org00d40fb">Reviewing the week</a></li>
|
||||
<li><a href="#org2ca4ba1">Next week</a>
|
||||
<ul>
|
||||
<li><a href="#org72e334b"><span class="todo TODO">TODO</span> Read as much of Clean Code as possible</a></li>
|
||||
<li><a href="#orgee8269c"><span class="todo TODO">TODO</span> Finish another (misc) book</a></li>
|
||||
<li><a href="#orgcd2abe9"><span class="todo TODO">TODO</span> Write more (metric unspecified, need to experiment to see what works best)</a></li>
|
||||
<li><a href="#orgdb04a9c"><span class="todo TODO">TODO</span> Start the book Dose Effect</a></li>
|
||||
<li><a href="#orga2ec9e9"><span class="todo TODO">TODO</span> More leetcode problems to solve (again, metric unspecified)</a></li>
|
||||
<li><a href="#org8e1fb29"><span class="todo TODO">TODO</span> Touch typing: daily practice</a></li>
|
||||
<li><a href="#org0152cae"><span class="todo TODO">TODO</span> Read as much of Clean Code as possible</a></li>
|
||||
<li><a href="#orgc8475cc"><span class="todo TODO">TODO</span> Finish another (misc) book</a></li>
|
||||
<li><a href="#org6d71a27"><span class="todo TODO">TODO</span> Write more (metric unspecified, need to experiment to see what works best)</a></li>
|
||||
<li><a href="#org2d2c7ff"><span class="todo TODO">TODO</span> Start the book Dose Effect</a></li>
|
||||
<li><a href="#org24f4894"><span class="todo TODO">TODO</span> More leetcode problems to solve (again, metric unspecified)</a></li>
|
||||
<li><a href="#orgee695d3"><span class="todo TODO">TODO</span> Touch typing: daily practice</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org240c340" class="outline-2">
|
||||
<h2 id="org240c340">Reviewing the week</h2>
|
||||
<div class="outline-text-2" id="text-org240c340">
|
||||
<div id="outline-container-org00d40fb" class="outline-2">
|
||||
<h2 id="org00d40fb">Reviewing the week</h2>
|
||||
<div class="outline-text-2" id="text-org00d40fb">
|
||||
<p>
|
||||
Mostly continuing reading from the book <code>clean code</code>, also setup the ankii cards and this website. The amount of leetcode problems I solved could improve however.
|
||||
</p>
|
||||
@@ -254,27 +254,27 @@ I'm thinking of using time-blocks to represent the hours I spent doing each thin
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgb9f567e" class="outline-2">
|
||||
<h2 id="orgb9f567e">Next week</h2>
|
||||
<div class="outline-text-2" id="text-orgb9f567e">
|
||||
<div id="outline-container-org2ca4ba1" class="outline-2">
|
||||
<h2 id="org2ca4ba1">Next week</h2>
|
||||
<div class="outline-text-2" id="text-org2ca4ba1">
|
||||
</div>
|
||||
<div id="outline-container-org72e334b" class="outline-3">
|
||||
<h3 id="org72e334b"><span class="todo TODO">TODO</span> Read as much of Clean Code as possible</h3>
|
||||
<div id="outline-container-org0152cae" class="outline-3">
|
||||
<h3 id="org0152cae"><span class="todo TODO">TODO</span> Read as much of Clean Code as possible</h3>
|
||||
</div>
|
||||
<div id="outline-container-orgee8269c" class="outline-3">
|
||||
<h3 id="orgee8269c"><span class="todo TODO">TODO</span> Finish another (misc) book</h3>
|
||||
<div id="outline-container-orgc8475cc" class="outline-3">
|
||||
<h3 id="orgc8475cc"><span class="todo TODO">TODO</span> Finish another (misc) book</h3>
|
||||
</div>
|
||||
<div id="outline-container-orgcd2abe9" class="outline-3">
|
||||
<h3 id="orgcd2abe9"><span class="todo TODO">TODO</span> Write more (metric unspecified, need to experiment to see what works best)</h3>
|
||||
<div id="outline-container-org6d71a27" class="outline-3">
|
||||
<h3 id="org6d71a27"><span class="todo TODO">TODO</span> Write more (metric unspecified, need to experiment to see what works best)</h3>
|
||||
</div>
|
||||
<div id="outline-container-orgdb04a9c" class="outline-3">
|
||||
<h3 id="orgdb04a9c"><span class="todo TODO">TODO</span> Start the book Dose Effect</h3>
|
||||
<div id="outline-container-org2d2c7ff" class="outline-3">
|
||||
<h3 id="org2d2c7ff"><span class="todo TODO">TODO</span> Start the book Dose Effect</h3>
|
||||
</div>
|
||||
<div id="outline-container-orga2ec9e9" class="outline-3">
|
||||
<h3 id="orga2ec9e9"><span class="todo TODO">TODO</span> More leetcode problems to solve (again, metric unspecified)</h3>
|
||||
<div id="outline-container-org24f4894" class="outline-3">
|
||||
<h3 id="org24f4894"><span class="todo TODO">TODO</span> More leetcode problems to solve (again, metric unspecified)</h3>
|
||||
</div>
|
||||
<div id="outline-container-org8e1fb29" class="outline-3">
|
||||
<h3 id="org8e1fb29"><span class="todo TODO">TODO</span> Touch typing: daily practice</h3>
|
||||
<div id="outline-container-orgee695d3" class="outline-3">
|
||||
<h3 id="orgee695d3"><span class="todo TODO">TODO</span> Touch typing: daily practice</h3>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2025-08-11 Mon 18:40 -->
|
||||
<!-- 2025-08-12 Tue 18:30 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>What Do I Want To Do With Emacs</title>
|
||||
@@ -245,7 +245,7 @@ After some thinking I narrowed it down and collated it in the following diagram:
|
||||
</p>
|
||||
|
||||
|
||||
<div id="org321e097" class="figure">
|
||||
<div id="org8d06427" class="figure">
|
||||
<p><img src="../../../assets/sketchnotes/2025-08-08-emacs.svg" alt="2025-08-08-emacs.svg" class="org-svg" />
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2025-08-11 Mon 18:40 -->
|
||||
<!-- 2025-08-12 Tue 18:30 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Zettelkasten Method</title>
|
||||
@@ -220,9 +220,9 @@
|
||||
<h1 class="title">Zettelkasten Method</h1>
|
||||
<div class="filetags"><a href="/categories.html"> <span class="post-tag">education</span> </a></div>
|
||||
|
||||
<div id="outline-container-orgdd21ec7" class="outline-2">
|
||||
<h2 id="orgdd21ec7">The Zettelkasten Method</h2>
|
||||
<div class="outline-text-2" id="text-orgdd21ec7">
|
||||
<div id="outline-container-org20d3f33" class="outline-2">
|
||||
<h2 id="org20d3f33">The Zettelkasten Method</h2>
|
||||
<div class="outline-text-2" id="text-org20d3f33">
|
||||
<p>
|
||||
This Zettelkasten method is growing in popularity for taking notes. Ever felt as though there's too much pieces of information but you don't know how to deal with it? This method solves exactly that problem and more. Think of it as forming a <i>second brain</i>, where you can jot down ideas and information whilst simultaneously being able to connect them together.
|
||||
</p>
|
||||
@@ -246,7 +246,7 @@ There are many personal knowledge management systems' (PKMS) out there that allo
|
||||
</p>
|
||||
|
||||
|
||||
<div id="org870e069" class="figure">
|
||||
<div id="orgb6b787f" class="figure">
|
||||
<p><img src="../../../assets/images/org-roam-ui-graph.png" alt="org-roam-ui-graph.png" />
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2025-08-11 Mon 18:40 -->
|
||||
<!-- 2025-08-12 Tue 18:30 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Blogs Introduction</title>
|
||||
@@ -220,9 +220,9 @@
|
||||
<h1 class="title">Blogs Introduction</h1>
|
||||
<div class="filetags"><a href="/categories.html"> <span class="post-tag">introduction</span> </a></div>
|
||||
|
||||
<div id="outline-container-org61fd827" class="outline-2">
|
||||
<h2 id="org61fd827">Introduction</h2>
|
||||
<div class="outline-text-2" id="text-org61fd827">
|
||||
<div id="outline-container-org06d7a17" class="outline-2">
|
||||
<h2 id="org06d7a17">Introduction</h2>
|
||||
<div class="outline-text-2" id="text-org06d7a17">
|
||||
<p>
|
||||
In this section you will find posts that are not as <i>structured</i> as the ones found in <a href="../posts/posts-list.html">here</a>. Mainly these will deal with findings, research, assorted writings and random bits and blobs.
|
||||
</p>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2025-08-11 Mon 18:40 -->
|
||||
<!-- 2025-08-12 Tue 18:30 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Blogs List</title>
|
||||
@@ -214,16 +214,16 @@
|
||||
</nav>
|
||||
<button class="theme-toggle" id="theme-toggle" type="button" aria-label="Toggle dark mode">🌗 Theme</button>
|
||||
</div>
|
||||
<div id="updated">Updated: 2025-08-11 Mon 18:40</div>
|
||||
<div id="updated">Updated: 2025-08-12 Tue 18:30</div>
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
<h1 class="title">Blogs List</h1>
|
||||
<p>
|
||||
See the categories: <a href="../categories.html">Categories</a>
|
||||
</p>
|
||||
<div id="outline-container-org8e2a465" class="outline-2">
|
||||
<h2 id="org8e2a465">Blogs:</h2>
|
||||
<div class="outline-text-2" id="text-org8e2a465">
|
||||
<div id="outline-container-org03b2433" class="outline-2">
|
||||
<h2 id="org03b2433">Blogs:</h2>
|
||||
<div class="outline-text-2" id="text-org03b2433">
|
||||
<ul class="org-ul">
|
||||
<li><a href="2025/08/hilberts.hotel.html">Hilbert's Hotel</a> <span class="post-date">11-08-2025 18:39</span> <a href="/tags/maths.html"> <span class="post-tag">maths</span> </a> <a href="/tags/insights.html"> <span class="post-tag">insights</span> </a></li>
|
||||
<li><a href="2025/08/weekly-review-week-ending-august-10-2025.html">Weekly review: Week ending August 10, 2025</a> <span class="post-date">10-08-2025 00:00</span> <a href="/tags/weekly-review.html"> <span class="post-tag">weekly-review</span> </a></li>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2025-08-11 Mon 18:40 -->
|
||||
<!-- 2025-08-12 Tue 18:30 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Categories</title>
|
||||
@@ -214,20 +214,20 @@
|
||||
</nav>
|
||||
<button class="theme-toggle" id="theme-toggle" type="button" aria-label="Toggle dark mode">🌗 Theme</button>
|
||||
</div>
|
||||
<div id="updated">Updated: 2025-08-11 Mon 18:40</div>
|
||||
<div id="updated">Updated: 2025-08-12 Tue 18:30</div>
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
<div id="outline-container-org475b272" class="outline-2">
|
||||
<h2 id="org475b272">Categories (Includes both blogs and posts)</h2>
|
||||
<div class="outline-text-2" id="text-org475b272">
|
||||
<div id="outline-container-org8a996ef" class="outline-2">
|
||||
<h2 id="org8a996ef">Categories (Includes both blogs and posts)</h2>
|
||||
<div class="outline-text-2" id="text-org8a996ef">
|
||||
<ul class="org-ul">
|
||||
<li><a href="tags/books.html"><span class="post-tag">books</span></a> (2)</li>
|
||||
<li><a href="tags/books.html"><span class="post-tag">books</span></a> (3)</li>
|
||||
<li><a href="tags/education.html"><span class="post-tag">education</span></a> (1)</li>
|
||||
<li><a href="tags/emacs.html"><span class="post-tag">emacs</span></a> (2)</li>
|
||||
<li><a href="tags/insights.html"><span class="post-tag">insights</span></a> (2)</li>
|
||||
<li><a href="tags/introduction.html"><span class="post-tag">introduction</span></a> (2)</li>
|
||||
<li><a href="tags/maths.html"><span class="post-tag">maths</span></a> (1)</li>
|
||||
<li><a href="tags/notes.html"><span class="post-tag">notes</span></a> (2)</li>
|
||||
<li><a href="tags/notes.html"><span class="post-tag">notes</span></a> (3)</li>
|
||||
<li><a href="tags/review.html"><span class="post-tag">review</span></a> (1)</li>
|
||||
<li><a href="tags/website.html"><span class="post-tag">website</span></a> (1)</li>
|
||||
<li><a href="tags/weekly-review.html"><span class="post-tag">weekly-review</span></a> (1)</li>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2025-08-11 Mon 18:40 -->
|
||||
<!-- 2025-08-12 Tue 18:30 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Contact</title>
|
||||
@@ -218,9 +218,9 @@
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
<h1 class="title">Contact</h1>
|
||||
<div id="outline-container-orgfec1091" class="outline-2">
|
||||
<h2 id="orgfec1091">Contact Using the Following:</h2>
|
||||
<div class="outline-text-2" id="text-orgfec1091">
|
||||
<div id="outline-container-org52a7efb" class="outline-2">
|
||||
<h2 id="org52a7efb">Contact Using the Following:</h2>
|
||||
<div class="outline-text-2" id="text-org52a7efb">
|
||||
<p>
|
||||
> LinkedIn: <b><a href="https://www.linkedin.com/in/zaine-ul-abideen-qayyum-801a53247/">LinkedIn</a></b>
|
||||
</p>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2025-08-11 Mon 18:40 -->
|
||||
<!-- 2025-08-12 Tue 18:30 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Home Page</title>
|
||||
@@ -221,15 +221,15 @@
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents" role="doc-toc">
|
||||
<ul>
|
||||
<li><a href="#org165aa2d">Welcome! 🌱</a></li>
|
||||
<li><a href="#org3b10ce6">How to publish web pages using <code>org-publish</code></a></li>
|
||||
<li><a href="#org40de7da">Contact</a></li>
|
||||
<li><a href="#orga6ecf15">Welcome! 🌱</a></li>
|
||||
<li><a href="#org3b72a9c">How to publish web pages using <code>org-publish</code></a></li>
|
||||
<li><a href="#org3bf62f9">Contact</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org165aa2d" class="outline-2">
|
||||
<h2 id="org165aa2d">Welcome! 🌱</h2>
|
||||
<div class="outline-text-2" id="text-org165aa2d">
|
||||
<div id="outline-container-orga6ecf15" class="outline-2">
|
||||
<h2 id="orga6ecf15">Welcome! 🌱</h2>
|
||||
<div class="outline-text-2" id="text-orga6ecf15">
|
||||
<p>
|
||||
This is a website built using Emacs Org-mode and published using <code>org-publish</code>. <label for="sn1" class="margin-toggle sidenote-number"></label><input type="checkbox" id="sn1" class="margin-toggle"/><span class="sidenote"> The very first iteration of this website used the Angular framework, only after a while I realised (as every Emacs lover does) that I want to make this an Emacs-centric project</span>
|
||||
</p>
|
||||
@@ -247,9 +247,9 @@ Feel free to explore:
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org3b10ce6" class="outline-2">
|
||||
<h2 id="org3b10ce6">How to publish web pages using <code>org-publish</code></h2>
|
||||
<div class="outline-text-2" id="text-org3b10ce6">
|
||||
<div id="outline-container-org3b72a9c" class="outline-2">
|
||||
<h2 id="org3b72a9c">How to publish web pages using <code>org-publish</code></h2>
|
||||
<div class="outline-text-2" id="text-org3b72a9c">
|
||||
<p>
|
||||
This website is heavily inspired by some people who have decided to use <code>org-publish</code> as a way to convert <code>org</code> files into <code>html</code>. I came across a few that took the plunge and decided to migrate from platforms like Wordpress and instead opted for a more transparent, text-based workflow.
|
||||
</p>
|
||||
@@ -346,9 +346,9 @@ And there we go! The files are now being hosted on <code>http://localhost:8000/<
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org40de7da" class="outline-2">
|
||||
<h2 id="org40de7da">Contact</h2>
|
||||
<div class="outline-text-2" id="text-org40de7da">
|
||||
<div id="outline-container-org3bf62f9" class="outline-2">
|
||||
<h2 id="org3bf62f9">Contact</h2>
|
||||
<div class="outline-text-2" id="text-org3bf62f9">
|
||||
<p>
|
||||
Feel free to reach out on GitHub: <a href="https://github.com/zainezq">https://github.com/zainezq</a>
|
||||
</p>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2025-08-11 Mon 18:40 -->
|
||||
<!-- 2025-08-12 Tue 18:30 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Posts</title>
|
||||
@@ -218,18 +218,18 @@
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
<h1 class="title">Posts</h1>
|
||||
<div id="outline-container-org6dd0cfd" class="outline-2">
|
||||
<h2 id="org6dd0cfd">Links</h2>
|
||||
<div class="outline-text-2" id="text-org6dd0cfd">
|
||||
<div id="outline-container-org4a6994a" class="outline-2">
|
||||
<h2 id="org4a6994a">Links</h2>
|
||||
<div class="outline-text-2" id="text-org4a6994a">
|
||||
</div>
|
||||
<div id="outline-container-orgae8d97c" class="outline-4">
|
||||
<h4 id="orgae8d97c"><a href="posts/posts-intro.html">Posts Introduction</a>   <span class="tag"><span class="intro">intro</span></span></h4>
|
||||
<div id="outline-container-org80c28ec" class="outline-4">
|
||||
<h4 id="org80c28ec"><a href="posts/posts-intro.html">Posts Introduction</a>   <span class="tag"><span class="intro">intro</span></span></h4>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orga54aff5" class="outline-4">
|
||||
<h4 id="orga54aff5"><a href="posts/zettelkasten.html">Zettelkasten Method</a>   <span class="tag"><span class="education">education</span></span></h4>
|
||||
<div class="outline-text-4" id="text-orga54aff5">
|
||||
<div id="outline-container-orgb698432" class="outline-4">
|
||||
<h4 id="orgb698432"><a href="posts/zettelkasten.html">Zettelkasten Method</a>   <span class="tag"><span class="education">education</span></span></h4>
|
||||
<div class="outline-text-4" id="text-orgb698432">
|
||||
<p>
|
||||
<span class="timestamp-wrapper"><span class="timestamp"><2025-08-06 Wed></span></span>
|
||||
</p>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2025-08-11 Mon 18:40 -->
|
||||
<!-- 2025-08-12 Tue 18:30 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Clean Code: Chapter 1 Notes</title>
|
||||
@@ -224,16 +224,16 @@
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents" role="doc-toc">
|
||||
<ul>
|
||||
<li><a href="#orge23713a">Chapter 1: Clean Code</a></li>
|
||||
<li><a href="#orge25c66b">Chapter 1: Clean Code</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<p>
|
||||
Link to <a href="clean-code-chapter-2.html">Chapter 2</a>
|
||||
</p>
|
||||
<div id="outline-container-orge23713a" class="outline-2">
|
||||
<h2 id="orge23713a">Chapter 1: Clean Code</h2>
|
||||
<div class="outline-text-2" id="text-orge23713a">
|
||||
<div id="outline-container-orge25c66b" class="outline-2">
|
||||
<h2 id="orge25c66b">Chapter 1: Clean Code</h2>
|
||||
<div class="outline-text-2" id="text-orge25c66b">
|
||||
<p>
|
||||
Referenced Items:
|
||||
</p>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2025-08-11 Mon 18:40 -->
|
||||
<!-- 2025-08-12 Tue 18:30 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Clean Code: Chapter 2 Notes</title>
|
||||
@@ -214,7 +214,7 @@
|
||||
</nav>
|
||||
<button class="theme-toggle" id="theme-toggle" type="button" aria-label="Toggle dark mode">🌗 Theme</button>
|
||||
</div>
|
||||
<div id="updated">Updated: 2025-08-10 Sun 20:36</div>
|
||||
<div id="updated">Updated: 2025-08-12 Tue 18:29</div>
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
<h1 class="title">Clean Code: Chapter 2 Notes</h1>
|
||||
@@ -224,22 +224,22 @@
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents" role="doc-toc">
|
||||
<ul>
|
||||
<li><a href="#orgb686bd7">Chapter 2: Meaningful Names</a>
|
||||
<li><a href="#org021a281">Chapter 2: Meaningful Names</a>
|
||||
<ul>
|
||||
<li><a href="#org1b69c97">Use intention revealing names:</a></li>
|
||||
<li><a href="#org6d2fa23">Avoid disinformation</a></li>
|
||||
<li><a href="#orga928fc1">Make Meaningful Distinctions</a></li>
|
||||
<li><a href="#orga58d228">Use Pronouncable Names</a></li>
|
||||
<li><a href="#org8389eee">Use Searchable Names</a></li>
|
||||
<li><a href="#org7db8231">Avoid Encodings</a></li>
|
||||
<li><a href="#org3808e9b">Avoid Mental Mappings</a></li>
|
||||
<li><a href="#org505eeb0">Class Names</a></li>
|
||||
<li><a href="#org0e4f11d">Method Names</a></li>
|
||||
<li><a href="#orgf289be2">Don't be cute/Don't use puns</a></li>
|
||||
<li><a href="#org7235596">Pick one word per concept</a></li>
|
||||
<li><a href="#orgd8c6d85">Solution Domain Names and Problem Domain Names</a></li>
|
||||
<li><a href="#orgc2adbc1">Add Meaningful Context</a></li>
|
||||
<li><a href="#orgac0d077">Don't add gratuitous context</a></li>
|
||||
<li><a href="#org85d6a4a">Use intention revealing names:</a></li>
|
||||
<li><a href="#orgc41c638">Avoid disinformation</a></li>
|
||||
<li><a href="#org4196cda">Make Meaningful Distinctions</a></li>
|
||||
<li><a href="#orgdb5c8fa">Use Pronouncable Names</a></li>
|
||||
<li><a href="#org26d17fc">Use Searchable Names</a></li>
|
||||
<li><a href="#org1c87b64">Avoid Encodings</a></li>
|
||||
<li><a href="#org8ed5ecb">Avoid Mental Mappings</a></li>
|
||||
<li><a href="#org8da37d1">Class Names</a></li>
|
||||
<li><a href="#orgdce71ab">Method Names</a></li>
|
||||
<li><a href="#org80c107e">Don't be cute/Don't use puns</a></li>
|
||||
<li><a href="#org0b17f83">Pick one word per concept</a></li>
|
||||
<li><a href="#orgceffef6">Solution Domain Names and Problem Domain Names</a></li>
|
||||
<li><a href="#orge48e060">Add Meaningful Context</a></li>
|
||||
<li><a href="#org70ac44c">Don't add gratuitous context</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@@ -247,14 +247,15 @@
|
||||
</div>
|
||||
<p>
|
||||
Link to <a href="clean-code-chapter-1.html">Chapter 1</a>
|
||||
Link to <a href="clean-code-chapter-3.html">Chapter 3</a>
|
||||
</p>
|
||||
<div id="outline-container-orgb686bd7" class="outline-2">
|
||||
<h2 id="orgb686bd7">Chapter 2: Meaningful Names</h2>
|
||||
<div class="outline-text-2" id="text-orgb686bd7">
|
||||
<div id="outline-container-org021a281" class="outline-2">
|
||||
<h2 id="org021a281">Chapter 2: Meaningful Names</h2>
|
||||
<div class="outline-text-2" id="text-org021a281">
|
||||
</div>
|
||||
<div id="outline-container-org1b69c97" class="outline-3">
|
||||
<h3 id="org1b69c97">Use intention revealing names:</h3>
|
||||
<div class="outline-text-3" id="text-org1b69c97">
|
||||
<div id="outline-container-org85d6a4a" class="outline-3">
|
||||
<h3 id="org85d6a4a">Use intention revealing names:</h3>
|
||||
<div class="outline-text-3" id="text-org85d6a4a">
|
||||
<p>
|
||||
Names should reveal intent, there is no revelation in naming an integer <code>d</code>, intending it stands for days. Instead, you should use the following names:
|
||||
</p>
|
||||
@@ -267,17 +268,17 @@ Names should reveal intent, there is no revelation in naming an integer <code>d<
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org6d2fa23" class="outline-3">
|
||||
<h3 id="org6d2fa23">Avoid disinformation</h3>
|
||||
<div class="outline-text-3" id="text-org6d2fa23">
|
||||
<div id="outline-container-orgc41c638" class="outline-3">
|
||||
<h3 id="orgc41c638">Avoid disinformation</h3>
|
||||
<div class="outline-text-3" id="text-orgc41c638">
|
||||
<p>
|
||||
Don't postfix the word 'list' to the name 'accounts' unless it's actually a list. This is because the reader will <i>assume</i> the data type of accountsList is indeed a list, instead choose a name like <code>accountsGroup</code>.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orga928fc1" class="outline-3">
|
||||
<h3 id="orga928fc1">Make Meaningful Distinctions</h3>
|
||||
<div class="outline-text-3" id="text-orga928fc1">
|
||||
<div id="outline-container-org4196cda" class="outline-3">
|
||||
<h3 id="org4196cda">Make Meaningful Distinctions</h3>
|
||||
<div class="outline-text-3" id="text-org4196cda">
|
||||
<p>
|
||||
While it is possible to name by being disinformative, it is also possible to name being non informative. Consider:
|
||||
</p>
|
||||
@@ -302,18 +303,18 @@ Furthermore, noise words are redundant. We should never use the word <code>varia
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orga58d228" class="outline-3">
|
||||
<h3 id="orga58d228">Use Pronouncable Names</h3>
|
||||
<div class="outline-text-3" id="text-orga58d228">
|
||||
<div id="outline-container-orgdb5c8fa" class="outline-3">
|
||||
<h3 id="orgdb5c8fa">Use Pronouncable Names</h3>
|
||||
<div class="outline-text-3" id="text-orgdb5c8fa">
|
||||
<p>
|
||||
This is quite straightforward. Do not use a name like <code>genymdhms</code> to refer to generation date, year, month, day, hour, minute,
|
||||
and second. Instead use <code>generationTimeStamp</code>.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org8389eee" class="outline-3">
|
||||
<h3 id="org8389eee">Use Searchable Names</h3>
|
||||
<div class="outline-text-3" id="text-org8389eee">
|
||||
<div id="outline-container-org26d17fc" class="outline-3">
|
||||
<h3 id="org26d17fc">Use Searchable Names</h3>
|
||||
<div class="outline-text-3" id="text-org26d17fc">
|
||||
<p>
|
||||
In modern IDE's, it is still quite difficult to search for single-lettered variables. The writer states a personal preference of using single-letter names only as local variables and inside short methods. The following principle is given:
|
||||
</p>
|
||||
@@ -323,42 +324,42 @@ In modern IDE's, it is still quite difficult to search for single-lettered varia
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org7db8231" class="outline-3">
|
||||
<h3 id="org7db8231">Avoid Encodings</h3>
|
||||
<div class="outline-text-3" id="text-org7db8231">
|
||||
<div id="outline-container-org1c87b64" class="outline-3">
|
||||
<h3 id="org1c87b64">Avoid Encodings</h3>
|
||||
<div class="outline-text-3" id="text-org1c87b64">
|
||||
<p>
|
||||
Don't prefix variables with letters like m_ as was done in the past. Do not type encode as well, an example of this is: <code>PhoneNumber phoneString;</code> we can see the reader being misled into thinking the phone number is a String.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org3808e9b" class="outline-3">
|
||||
<h3 id="org3808e9b">Avoid Mental Mappings</h3>
|
||||
<div class="outline-text-3" id="text-org3808e9b">
|
||||
<div id="outline-container-org8ed5ecb" class="outline-3">
|
||||
<h3 id="org8ed5ecb">Avoid Mental Mappings</h3>
|
||||
<div class="outline-text-3" id="text-org8ed5ecb">
|
||||
<p>
|
||||
Clarity is king, don't use a name for a variable that only you know what it stands for. For example: using the letter r as the lower-cased version of the url with the host and scheme
|
||||
removed. That's being smart, not professional.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org505eeb0" class="outline-3">
|
||||
<h3 id="org505eeb0">Class Names</h3>
|
||||
<div class="outline-text-3" id="text-org505eeb0">
|
||||
<div id="outline-container-org8da37d1" class="outline-3">
|
||||
<h3 id="org8da37d1">Class Names</h3>
|
||||
<div class="outline-text-3" id="text-org8da37d1">
|
||||
<p>
|
||||
<div class="epigraph"><blockquote>Classes and objects should have noun or noun phrase names like Customer, WikiPage, Account, and AddressParser. Avoid words like Manager, Processor, Data, or Info in the name of a class. A class name should not be a verb</blockquote></div>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org0e4f11d" class="outline-3">
|
||||
<h3 id="org0e4f11d">Method Names</h3>
|
||||
<div class="outline-text-3" id="text-org0e4f11d">
|
||||
<div id="outline-container-orgdce71ab" class="outline-3">
|
||||
<h3 id="orgdce71ab">Method Names</h3>
|
||||
<div class="outline-text-3" id="text-orgdce71ab">
|
||||
<p>
|
||||
Methods should have verb or verb phrase names.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgf289be2" class="outline-3">
|
||||
<h3 id="orgf289be2">Don't be cute/Don't use puns</h3>
|
||||
<div class="outline-text-3" id="text-orgf289be2">
|
||||
<div id="outline-container-org80c107e" class="outline-3">
|
||||
<h3 id="org80c107e">Don't be cute/Don't use puns</h3>
|
||||
<div class="outline-text-3" id="text-org80c107e">
|
||||
<p>
|
||||
Do not use names that are only understandable to people whom you share jokes etc with. Furthermore, do not use colloquialism and slang in names.
|
||||
</p>
|
||||
@@ -368,17 +369,17 @@ Do not use names that are only understandable to people whom you share jokes etc
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org7235596" class="outline-3">
|
||||
<h3 id="org7235596">Pick one word per concept</h3>
|
||||
<div class="outline-text-3" id="text-org7235596">
|
||||
<div id="outline-container-org0b17f83" class="outline-3">
|
||||
<h3 id="org0b17f83">Pick one word per concept</h3>
|
||||
<div class="outline-text-3" id="text-org0b17f83">
|
||||
<p>
|
||||
If you have multiple choices for naming a concept, use one and stick with it. For instance if your options are fetch, get and retrieve, use one and stick with it throughout.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgd8c6d85" class="outline-3">
|
||||
<h3 id="orgd8c6d85">Solution Domain Names and Problem Domain Names</h3>
|
||||
<div class="outline-text-3" id="text-orgd8c6d85">
|
||||
<div id="outline-container-orgceffef6" class="outline-3">
|
||||
<h3 id="orgceffef6">Solution Domain Names and Problem Domain Names</h3>
|
||||
<div class="outline-text-3" id="text-orgceffef6">
|
||||
<p>
|
||||
Where possible use solution domain names, as the people that are going to be reading the code are programmers. Therefore, do not shy away from using CS terms, algorithm names, math names and so forth.
|
||||
</p>
|
||||
@@ -388,17 +389,17 @@ However when it is not possible to use solution domain names (in other words, wh
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgc2adbc1" class="outline-3">
|
||||
<h3 id="orgc2adbc1">Add Meaningful Context</h3>
|
||||
<div class="outline-text-3" id="text-orgc2adbc1">
|
||||
<div id="outline-container-orge48e060" class="outline-3">
|
||||
<h3 id="orge48e060">Add Meaningful Context</h3>
|
||||
<div class="outline-text-3" id="text-orge48e060">
|
||||
<p>
|
||||
Enclose names with well-named classes, functions, or namespaces. When all else fails, then prefix with something that provides more context.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgac0d077" class="outline-3">
|
||||
<h3 id="orgac0d077">Don't add gratuitous context</h3>
|
||||
<div class="outline-text-3" id="text-orgac0d077">
|
||||
<div id="outline-container-org70ac44c" class="outline-3">
|
||||
<h3 id="org70ac44c">Don't add gratuitous context</h3>
|
||||
<div class="outline-text-3" id="text-org70ac44c">
|
||||
<p>
|
||||
Shorter names are better than longer ones, generally. This is so long as the context and intent is clear. Don't add redundant or irrelevant additions to the name in the for the sake of 'context'.
|
||||
</p>
|
||||
|
||||
493
output/posts/clean-code/clean-code-chapter-3.html
Normal file
493
output/posts/clean-code/clean-code-chapter-3.html
Normal file
@@ -0,0 +1,493 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2025-08-12 Tue 18:30 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Clean Code: Chapter 3 Notes</title>
|
||||
<meta name="generator" content="Org Mode" />
|
||||
<style type="text/css">
|
||||
#content { max-width: 60em; margin: auto; }
|
||||
.title { text-align: center;
|
||||
margin-bottom: .2em; }
|
||||
.subtitle { text-align: center;
|
||||
font-size: medium;
|
||||
font-weight: bold;
|
||||
margin-top:0; }
|
||||
.todo { font-family: monospace; color: red; }
|
||||
.done { font-family: monospace; color: green; }
|
||||
.priority { font-family: monospace; color: orange; }
|
||||
.tag { background-color: #eee; font-family: monospace;
|
||||
padding: 2px; font-size: 80%; font-weight: normal; }
|
||||
.timestamp { color: #bebebe; }
|
||||
.timestamp-kwd { color: #5f9ea0; }
|
||||
.org-right { margin-left: auto; margin-right: 0px; text-align: right; }
|
||||
.org-left { margin-left: 0px; margin-right: auto; text-align: left; }
|
||||
.org-center { margin-left: auto; margin-right: auto; text-align: center; }
|
||||
.underline { text-decoration: underline; }
|
||||
#postamble p, #preamble p { font-size: 90%; margin: .2em; }
|
||||
p.verse { margin-left: 3%; }
|
||||
pre {
|
||||
border: 1px solid #e6e6e6;
|
||||
border-radius: 3px;
|
||||
background-color: #f2f2f2;
|
||||
padding: 8pt;
|
||||
font-family: monospace;
|
||||
overflow: auto;
|
||||
margin: 1.2em;
|
||||
}
|
||||
pre.src {
|
||||
position: relative;
|
||||
overflow: auto;
|
||||
}
|
||||
pre.src:before {
|
||||
display: none;
|
||||
position: absolute;
|
||||
top: -8px;
|
||||
right: 12px;
|
||||
padding: 3px;
|
||||
color: #555;
|
||||
background-color: #f2f2f299;
|
||||
}
|
||||
pre.src:hover:before { display: inline; margin-top: 14px;}
|
||||
/* Languages per Org manual */
|
||||
pre.src-asymptote:before { content: 'Asymptote'; }
|
||||
pre.src-awk:before { content: 'Awk'; }
|
||||
pre.src-authinfo::before { content: 'Authinfo'; }
|
||||
pre.src-C:before { content: 'C'; }
|
||||
/* pre.src-C++ doesn't work in CSS */
|
||||
pre.src-clojure:before { content: 'Clojure'; }
|
||||
pre.src-css:before { content: 'CSS'; }
|
||||
pre.src-D:before { content: 'D'; }
|
||||
pre.src-ditaa:before { content: 'ditaa'; }
|
||||
pre.src-dot:before { content: 'Graphviz'; }
|
||||
pre.src-calc:before { content: 'Emacs Calc'; }
|
||||
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
|
||||
pre.src-fortran:before { content: 'Fortran'; }
|
||||
pre.src-gnuplot:before { content: 'gnuplot'; }
|
||||
pre.src-haskell:before { content: 'Haskell'; }
|
||||
pre.src-hledger:before { content: 'hledger'; }
|
||||
pre.src-java:before { content: 'Java'; }
|
||||
pre.src-js:before { content: 'Javascript'; }
|
||||
pre.src-latex:before { content: 'LaTeX'; }
|
||||
pre.src-ledger:before { content: 'Ledger'; }
|
||||
pre.src-lisp:before { content: 'Lisp'; }
|
||||
pre.src-lilypond:before { content: 'Lilypond'; }
|
||||
pre.src-lua:before { content: 'Lua'; }
|
||||
pre.src-matlab:before { content: 'MATLAB'; }
|
||||
pre.src-mscgen:before { content: 'Mscgen'; }
|
||||
pre.src-ocaml:before { content: 'Objective Caml'; }
|
||||
pre.src-octave:before { content: 'Octave'; }
|
||||
pre.src-org:before { content: 'Org mode'; }
|
||||
pre.src-oz:before { content: 'OZ'; }
|
||||
pre.src-plantuml:before { content: 'Plantuml'; }
|
||||
pre.src-processing:before { content: 'Processing.js'; }
|
||||
pre.src-python:before { content: 'Python'; }
|
||||
pre.src-R:before { content: 'R'; }
|
||||
pre.src-ruby:before { content: 'Ruby'; }
|
||||
pre.src-sass:before { content: 'Sass'; }
|
||||
pre.src-scheme:before { content: 'Scheme'; }
|
||||
pre.src-screen:before { content: 'Gnu Screen'; }
|
||||
pre.src-sed:before { content: 'Sed'; }
|
||||
pre.src-sh:before { content: 'shell'; }
|
||||
pre.src-sql:before { content: 'SQL'; }
|
||||
pre.src-sqlite:before { content: 'SQLite'; }
|
||||
/* additional languages in org.el's org-babel-load-languages alist */
|
||||
pre.src-forth:before { content: 'Forth'; }
|
||||
pre.src-io:before { content: 'IO'; }
|
||||
pre.src-J:before { content: 'J'; }
|
||||
pre.src-makefile:before { content: 'Makefile'; }
|
||||
pre.src-maxima:before { content: 'Maxima'; }
|
||||
pre.src-perl:before { content: 'Perl'; }
|
||||
pre.src-picolisp:before { content: 'Pico Lisp'; }
|
||||
pre.src-scala:before { content: 'Scala'; }
|
||||
pre.src-shell:before { content: 'Shell Script'; }
|
||||
pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
|
||||
/* additional language identifiers per "defun org-babel-execute"
|
||||
in ob-*.el */
|
||||
pre.src-cpp:before { content: 'C++'; }
|
||||
pre.src-abc:before { content: 'ABC'; }
|
||||
pre.src-coq:before { content: 'Coq'; }
|
||||
pre.src-groovy:before { content: 'Groovy'; }
|
||||
/* additional language identifiers from org-babel-shell-names in
|
||||
ob-shell.el: ob-shell is the only babel language using a lambda to put
|
||||
the execution function name together. */
|
||||
pre.src-bash:before { content: 'bash'; }
|
||||
pre.src-csh:before { content: 'csh'; }
|
||||
pre.src-ash:before { content: 'ash'; }
|
||||
pre.src-dash:before { content: 'dash'; }
|
||||
pre.src-ksh:before { content: 'ksh'; }
|
||||
pre.src-mksh:before { content: 'mksh'; }
|
||||
pre.src-posh:before { content: 'posh'; }
|
||||
/* Additional Emacs modes also supported by the LaTeX listings package */
|
||||
pre.src-ada:before { content: 'Ada'; }
|
||||
pre.src-asm:before { content: 'Assembler'; }
|
||||
pre.src-caml:before { content: 'Caml'; }
|
||||
pre.src-delphi:before { content: 'Delphi'; }
|
||||
pre.src-html:before { content: 'HTML'; }
|
||||
pre.src-idl:before { content: 'IDL'; }
|
||||
pre.src-mercury:before { content: 'Mercury'; }
|
||||
pre.src-metapost:before { content: 'MetaPost'; }
|
||||
pre.src-modula-2:before { content: 'Modula-2'; }
|
||||
pre.src-pascal:before { content: 'Pascal'; }
|
||||
pre.src-ps:before { content: 'PostScript'; }
|
||||
pre.src-prolog:before { content: 'Prolog'; }
|
||||
pre.src-simula:before { content: 'Simula'; }
|
||||
pre.src-tcl:before { content: 'tcl'; }
|
||||
pre.src-tex:before { content: 'TeX'; }
|
||||
pre.src-plain-tex:before { content: 'Plain TeX'; }
|
||||
pre.src-verilog:before { content: 'Verilog'; }
|
||||
pre.src-vhdl:before { content: 'VHDL'; }
|
||||
pre.src-xml:before { content: 'XML'; }
|
||||
pre.src-nxml:before { content: 'XML'; }
|
||||
/* add a generic configuration mode; LaTeX export needs an additional
|
||||
(add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
|
||||
pre.src-conf:before { content: 'Configuration File'; }
|
||||
|
||||
table { border-collapse:collapse; }
|
||||
caption.t-above { caption-side: top; }
|
||||
caption.t-bottom { caption-side: bottom; }
|
||||
td, th { vertical-align:top; }
|
||||
th.org-right { text-align: center; }
|
||||
th.org-left { text-align: center; }
|
||||
th.org-center { text-align: center; }
|
||||
td.org-right { text-align: right; }
|
||||
td.org-left { text-align: left; }
|
||||
td.org-center { text-align: center; }
|
||||
dt { font-weight: bold; }
|
||||
.footpara { display: inline; }
|
||||
.footdef { margin-bottom: 1em; }
|
||||
.figure { padding: 1em; }
|
||||
.figure p { text-align: center; }
|
||||
.equation-container {
|
||||
display: table;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
}
|
||||
.equation {
|
||||
vertical-align: middle;
|
||||
}
|
||||
.equation-label {
|
||||
display: table-cell;
|
||||
text-align: right;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.inlinetask {
|
||||
padding: 10px;
|
||||
border: 2px solid gray;
|
||||
margin: 10px;
|
||||
background: #ffffcc;
|
||||
}
|
||||
#org-div-home-and-up
|
||||
{ text-align: right; font-size: 70%; white-space: nowrap; }
|
||||
textarea { overflow-x: auto; }
|
||||
.linenr { font-size: smaller }
|
||||
.code-highlighted { background-color: #ffff00; }
|
||||
.org-info-js_info-navigation { border-style: none; }
|
||||
#org-info-js_console-label
|
||||
{ font-size: 10px; font-weight: bold; white-space: nowrap; }
|
||||
.org-info-js_search-highlight
|
||||
{ background-color: #ffff00; color: #000000; font-weight: bold; }
|
||||
.org-svg { }
|
||||
</style>
|
||||
|
||||
<link rel="stylesheet" href="/assets/styles/style.css" />
|
||||
<link rel="stylesheet" href="/assets/styles/bigger-picture.min.css" />
|
||||
|
||||
<script src="/assets/scripts/script.js" defer></script>
|
||||
<script src="/assets/scripts/bigger-picture.min.js" defer></script>
|
||||
<script src="/assets/scripts/svg-pan-zoom.min.js" defer></script>
|
||||
<script src="/assets/scripts/gallery-init.js" defer></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="preamble" class="status">
|
||||
|
||||
<div class="banner-header">
|
||||
<a href="/"> <img src="/assets/images/gr.png" alt="Site Logo" class="banner-logo" /> </a>
|
||||
<nav>
|
||||
<a href="/">Home | </a>
|
||||
<a href="/posts/posts-list.html">Posts | </a>
|
||||
<a href="/blogs/blogs-list.html">Blogs | </a>
|
||||
<a href="/contact.html">Contact</a>
|
||||
</nav>
|
||||
<button class="theme-toggle" id="theme-toggle" type="button" aria-label="Toggle dark mode">🌗 Theme</button>
|
||||
</div>
|
||||
<div id="updated">Updated: 2025-08-12 Tue 18:30</div>
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
<h1 class="title">Clean Code: Chapter 3 Notes</h1>
|
||||
<div class="filetags"><a href="/categories.html"> <span class="post-tag">books</span> </a> <a href="/categories.html"> <span class="post-tag">notes</span> </a></div>
|
||||
|
||||
<div id="table-of-contents" role="doc-toc">
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents" role="doc-toc">
|
||||
<ul>
|
||||
<li><a href="#orgcc7c0df">Chapter 3: Functions</a>
|
||||
<ul>
|
||||
<li><a href="#orgb1c33f6">Functions should be small</a></li>
|
||||
<li><a href="#orgeb7fdc2">Do One Thing & One Level of Abstraction</a></li>
|
||||
<li><a href="#orgae64f24">Switch Statements</a></li>
|
||||
<li><a href="#org1e917e3">Use Descriptive Names</a></li>
|
||||
<li><a href="#orgb286a39">Function Arguments</a></li>
|
||||
<li><a href="#org451c921">Have No Side Effects</a></li>
|
||||
<li><a href="#orgb9a0da6">Error Handling</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<p>
|
||||
Link to <a href="clean-code-chapter-2.html">Chapter 2</a>
|
||||
</p>
|
||||
<div id="outline-container-orgcc7c0df" class="outline-2">
|
||||
<h2 id="orgcc7c0df">Chapter 3: Functions</h2>
|
||||
<div class="outline-text-2" id="text-orgcc7c0df">
|
||||
</div>
|
||||
<div id="outline-container-orgb1c33f6" class="outline-3">
|
||||
<h3 id="orgb1c33f6">Functions should be small</h3>
|
||||
<div class="outline-text-3" id="text-orgb1c33f6">
|
||||
<p>
|
||||
Functions should be extremely short—ideally just a few lines, so they remain easy to understand and maintain.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Avoid deeply nested blocks; keep indentation shallow (1–2 levels), often replacing blocks with descriptive function calls.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
A small function tells a concise, self-contained story, making it easier for readers to follow the program’s intent.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The smaller the function, the more descriptive and accurate its name can be, improving self-documentation.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Large functions hide complexity and mix abstraction levels, making errors and duplication more likely.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgeb7fdc2" class="outline-3">
|
||||
<h3 id="orgeb7fdc2">Do One Thing & One Level of Abstraction</h3>
|
||||
<div class="outline-text-3" id="text-orgeb7fdc2">
|
||||
<p>
|
||||
A function should do exactly one conceptual task, and all its statements should exist at the same abstraction level.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Mixing details (like string concatenation) with high-level actions (like rendering a page) causes confusion.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The Stepdown Rule: organise functions so they read like a top down narrative, each calling the next abstraction level.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
If you can extract a subfunction with a name that isn’t a restatement, the original function is doing too much.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Functions that “do one thing” cannot be logically split into sections such as “initialize,” “process,” “finalize.”
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgae64f24" class="outline-3">
|
||||
<h3 id="orgae64f24">Switch Statements</h3>
|
||||
<div class="outline-text-3" id="text-orgae64f24">
|
||||
<p>
|
||||
Switch statements naturally violate “do one thing” by handling multiple cases; they also grow in size over time.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
They break the Single Responsibility Principle (multiple reasons to change) and Open-Closed Principle (must change for new cases).
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Preferred approach: hide switch statements inside a factory and dispatch behavior polymorphically through an interface.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Allow only one visible switch in your system, used solely for object creation, then encapsulate it.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
This removes duplication and keeps high-level code unaware of concrete type distinctions.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Example:
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-java"><span class="org-keyword">public</span> <span class="org-keyword">abstract</span> <span class="org-keyword">class</span> <span class="org-type">Employee</span> {
|
||||
<span class="org-keyword">public</span> <span class="org-keyword">abstract</span> <span class="org-type">boolean</span> <span class="org-function-name">isPayday</span>();
|
||||
<span class="org-keyword">public</span> <span class="org-keyword">abstract</span> <span class="org-type">Money</span> <span class="org-function-name">calculatePay</span>();
|
||||
<span class="org-keyword">public</span> <span class="org-keyword">abstract</span> <span class="org-type">void</span> <span class="org-function-name">deliverPay</span>(<span class="org-type">Money</span> <span class="org-variable-name">pay</span>);
|
||||
}
|
||||
-----------------
|
||||
<span class="org-keyword">public</span> <span class="org-keyword">interface</span> EmployeeFactory {
|
||||
<span class="org-keyword">public</span> <span class="org-type">Employee</span> <span class="org-function-name">makeEmployee</span>(<span class="org-type">EmployeeRecord</span> <span class="org-variable-name">r</span>) <span class="org-keyword">throws</span> <span class="org-type">InvalidEmployeeType</span>;
|
||||
}
|
||||
-----------------
|
||||
<span class="org-keyword">public</span> <span class="org-keyword">class</span> EmployeeFactoryImpl <span class="org-keyword">implements</span> <span class="org-type">EmployeeFactory</span> {
|
||||
<span class="org-keyword">public</span> <span class="org-type">Employee</span> <span class="org-function-name">makeEmployee</span>(<span class="org-type">EmployeeRecord</span> <span class="org-variable-name">r</span>) <span class="org-keyword">throws</span> <span class="org-type">InvalidEmployeeType</span> {
|
||||
<span class="org-keyword">switch</span> (r.type) {
|
||||
<span class="org-keyword">case</span> COMMISSIONED:
|
||||
<span class="org-keyword">return</span> <span class="org-keyword">new</span> <span class="org-type">CommissionedEmployee</span>(r) ;
|
||||
<span class="org-keyword">case</span> HOURLY:
|
||||
<span class="org-keyword">return</span> <span class="org-keyword">new</span> <span class="org-type">HourlyEmployee</span>(r);
|
||||
<span class="org-keyword">case</span> SALARIED:
|
||||
<span class="org-keyword">return</span> <span class="org-keyword">new</span> <span class="org-type">SalariedEmploye</span>(r);
|
||||
<span class="org-keyword">default</span>:
|
||||
<span class="org-keyword">throw</span> <span class="org-keyword">new</span> <span class="org-type">InvalidEmployeeType</span>(r.type);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org1e917e3" class="outline-3">
|
||||
<h3 id="org1e917e3">Use Descriptive Names</h3>
|
||||
<div class="outline-text-3" id="text-org1e917e3">
|
||||
<p>
|
||||
A function’s name should clearly state its purpose. Long, descriptive names beat short, cryptic ones.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Consistent naming patterns (shared verbs/nouns) help code read like a coherent story and aid predictability.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Descriptive names reduce the need for comments and improve comprehension without external documentation.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Renaming functions can reveal design improvements, so try multiple options until the best emerges.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
IDE refactoring tools make renaming safe, encouraging experimentation.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgb286a39" class="outline-3">
|
||||
<h3 id="orgb286a39">Function Arguments</h3>
|
||||
<div class="outline-text-3" id="text-orgb286a39">
|
||||
<p>
|
||||
<div class="epigraph"><blockquote>The ideal number of arguments for a function is zero (niladic). Next comes one (monadic), followed closely by two (dyadic). Three arguments (triadic) should be avoided where possible. More than three (polyadic) requires very special justification—and then shouldn’t be used anyway.</blockquote></div>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Fewer arguments = better; aim for 0–2, avoid more than 3 unless absolutely necessary.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Flag arguments (booleans) are a red flag—they imply the function does multiple things.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Group related parameters into objects (e.g., <code>Point</code> for <code>x</code> and <code>y</code>) to reduce argument count and improve clarity.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Output arguments are confusing—prefer returning values or mutating the owning object’s state.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Match function/argument names in verb–noun or keyword style (e.g., <code>writeField(name)</code>, <code>assertExpectedEqualsActual</code>).
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org451c921" class="outline-3">
|
||||
<h3 id="org451c921">Have No Side Effects</h3>
|
||||
<div class="outline-text-3" id="text-org451c921">
|
||||
<p>
|
||||
A function should do only what its name promises. Hidden state changes are misleading and dangerous.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Side effects create temporal coupling, meaning the function must be called in a certain sequence to be safe.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
If unavoidable, make side effects explicit in the name (e.g., <code>checkPasswordAndInitializeSession</code>).
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Clear separation of command and query functions avoids ambiguity in meaning and intent.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Functions that modify state and return information often cause confusion and should be split.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgb9a0da6" class="outline-3">
|
||||
<h3 id="orgb9a0da6">Error Handling</h3>
|
||||
<div class="outline-text-3" id="text-orgb9a0da6">
|
||||
<p>
|
||||
Error handling is a single responsibility—separate it from normal logic to keep both paths clear.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Prefer exceptions over error codes to avoid cluttering the happy path and to reduce dependency magnets.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Extract try/catch bodies into their own functions for cleaner structure.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
See below:
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-java">
|
||||
<span class="org-keyword">public</span> <span class="org-type">void</span> <span class="org-function-name">delete</span>(<span class="org-type">Page</span> <span class="org-variable-name">page</span>) {
|
||||
<span class="org-keyword">try</span> {
|
||||
deletePageAndAllReferences(page);
|
||||
}
|
||||
<span class="org-keyword">catch</span> (Exception e) {
|
||||
logError(e);
|
||||
}
|
||||
}
|
||||
|
||||
<span class="org-keyword">private</span> <span class="org-type">void</span> <span class="org-function-name">deletePageAndAllReferences</span>(<span class="org-type">Page</span> <span class="org-variable-name">page</span>) <span class="org-keyword">throws</span> <span class="org-type">Exception</span> {
|
||||
deletePage(page);
|
||||
registry.deleteReference(page.name);
|
||||
configKeys.deleteKey(page.name.makeKey());
|
||||
}
|
||||
<span class="org-keyword">private</span> <span class="org-type">void</span> <span class="org-function-name">logError</span>(<span class="org-type">Exception</span> <span class="org-variable-name">e</span>) {
|
||||
logger.log(e.getMessage());
|
||||
}
|
||||
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
Keep functions small enough that occasional multiple return or break statements are acceptable.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Avoid duplication in error handling, and follow the DRY principle to ensure changes occur in one place.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<footer>
|
||||
<div class="copyright-container">
|
||||
<div class="copyright">
|
||||
Copyright © 2022-2025 Zaine Qayyum. All rights reserved unless otherwise noted.</div></div>
|
||||
<div class="generated">
|
||||
Created with <a href="https://www.gnu.org/software/emacs/">Emacs</a> 30.1 (<a href="https://orgmode.org">Org</a> mode 9.7.11) on <a href="https://www.archlinux.org/">Arch</a> <a href="https://www.gnu.org">GNU</a>/<a href="https://www.kernel.org/">Linux</a>
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2025-08-11 Mon 18:40 -->
|
||||
<!-- 2025-08-12 Tue 18:30 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Posts Introduction</title>
|
||||
@@ -220,9 +220,9 @@
|
||||
<h1 class="title">Posts Introduction</h1>
|
||||
<div class="filetags"><a href="/categories.html"> <span class="post-tag">introduction</span> </a></div>
|
||||
|
||||
<div id="outline-container-orgbfdc0e5" class="outline-2">
|
||||
<h2 id="orgbfdc0e5">Introduction</h2>
|
||||
<div class="outline-text-2" id="text-orgbfdc0e5">
|
||||
<div id="outline-container-orgf487257" class="outline-2">
|
||||
<h2 id="orgf487257">Introduction</h2>
|
||||
<div class="outline-text-2" id="text-orgf487257">
|
||||
<p>
|
||||
In this section you will find posts related to both technical and non-technical topics. As Einstein said: “If you can’t explain it simply you don’t understand it well enough”, thus the goal with these <code>posts</code> is to develop the skill of being able to deliver habitual high quality explanations as well as reinforcing the topic(s) learnt.
|
||||
</p>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2025-08-11 Mon 18:40 -->
|
||||
<!-- 2025-08-12 Tue 18:30 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Posts List</title>
|
||||
@@ -214,17 +214,18 @@
|
||||
</nav>
|
||||
<button class="theme-toggle" id="theme-toggle" type="button" aria-label="Toggle dark mode">🌗 Theme</button>
|
||||
</div>
|
||||
<div id="updated">Updated: 2025-08-11 Mon 18:40</div>
|
||||
<div id="updated">Updated: 2025-08-12 Tue 18:30</div>
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
<h1 class="title">Posts List</h1>
|
||||
<p>
|
||||
See the categories: <a href="../categories.html">Categories</a>
|
||||
</p>
|
||||
<div id="outline-container-orgf2d0d1a" class="outline-2">
|
||||
<h2 id="orgf2d0d1a">Posts:</h2>
|
||||
<div class="outline-text-2" id="text-orgf2d0d1a">
|
||||
<div id="outline-container-org41e9a60" class="outline-2">
|
||||
<h2 id="org41e9a60">Posts:</h2>
|
||||
<div class="outline-text-2" id="text-org41e9a60">
|
||||
<ul class="org-ul">
|
||||
<li><a href="clean-code/clean-code-chapter-3.html">Clean Code: Chapter 3 Notes</a> <span class="post-date">12-08-2025 18:30</span> <a href="/tags/books.html"> <span class="post-tag">books</span> </a> <a href="/tags/notes.html"> <span class="post-tag">notes</span> </a></li>
|
||||
<li><a href="clean-code/clean-code-chapter-2.html">Clean Code: Chapter 2 Notes</a> <span class="post-date">10-08-2025 20:00</span> <a href="/tags/books.html"> <span class="post-tag">books</span> </a> <a href="/tags/notes.html"> <span class="post-tag">notes</span> </a></li>
|
||||
<li><a href="clean-code/clean-code-chapter-1.html">Clean Code: Chapter 1 Notes</a> <span class="post-date">10-08-2025 19:45</span> <a href="/tags/books.html"> <span class="post-tag">books</span> </a> <a href="/tags/notes.html"> <span class="post-tag">notes</span> </a></li>
|
||||
<li><a href="posts-intro.html">Posts Introduction</a> <span class="post-date">06-08-2025 00:00</span> <a href="/tags/introduction.html"> <span class="post-tag">introduction</span> </a></li>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2025-08-11 Mon 18:40 -->
|
||||
<!-- 2025-08-12 Tue 18:30 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Setup</title>
|
||||
@@ -218,9 +218,9 @@
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
<h1 class="title">Setup</h1>
|
||||
<div id="outline-container-orgb69c4d5" class="outline-2">
|
||||
<h2 id="orgb69c4d5">Introduction</h2>
|
||||
<div class="outline-text-2" id="text-orgb69c4d5">
|
||||
<div id="outline-container-orgd6ba880" class="outline-2">
|
||||
<h2 id="orgd6ba880">Introduction</h2>
|
||||
<div class="outline-text-2" id="text-orgd6ba880">
|
||||
<p>
|
||||
<i>Last updated: <span class="timestamp-wrapper"><span class="timestamp"><2025-08-10 Sun 20:42></span></span></i>
|
||||
</p>
|
||||
@@ -235,9 +235,9 @@ This page will highlight the <code>build-script.el</code> used to generate this
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org0d67d6c" class="outline-2">
|
||||
<h2 id="org0d67d6c">The script</h2>
|
||||
<div class="outline-text-2" id="text-org0d67d6c">
|
||||
<div id="outline-container-org8fd4e2f" class="outline-2">
|
||||
<h2 id="org8fd4e2f">The script</h2>
|
||||
<div class="outline-text-2" id="text-org8fd4e2f">
|
||||
<p>
|
||||
The script is as follows, at the start I have some metadata relating to the file, followed by package management,then the declaration of variables/functions and finally the <code>org-publish-project-alist</code> which handles nearly all of the project generation instructions.
|
||||
</p>
|
||||
@@ -650,9 +650,9 @@ Created with %c on <a href=\"https://www.archlinux.org/\">Arch</a> &
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org9db7667" class="outline-2">
|
||||
<h2 id="org9db7667">Publish Script</h2>
|
||||
<div class="outline-text-2" id="text-org9db7667">
|
||||
<div id="outline-container-org8d32c06" class="outline-2">
|
||||
<h2 id="org8d32c06">Publish Script</h2>
|
||||
<div class="outline-text-2" id="text-org8d32c06">
|
||||
<p>
|
||||
As the project is hosted on Github, I have created a small script that is able to push changes to the remote repository, which Cloudflare will automatically detect and rebuild the website:
|
||||
</p>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2025-08-11 Mon 18:40 -->
|
||||
<!-- 2025-08-12 Tue 18:30 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Sitemap</title>
|
||||
@@ -214,7 +214,7 @@
|
||||
</nav>
|
||||
<button class="theme-toggle" id="theme-toggle" type="button" aria-label="Toggle dark mode">🌗 Theme</button>
|
||||
</div>
|
||||
<div id="updated">Updated: 2025-08-11 Mon 18:40</div>
|
||||
<div id="updated">Updated: 2025-08-12 Tue 18:30</div>
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
<h1 class="title">Sitemap</h1>
|
||||
@@ -233,6 +233,7 @@
|
||||
<ul class="org-ul">
|
||||
<li><a href="posts/clean-code/clean-code-chapter-1.html">Clean Code: Chapter 1 Notes</a></li>
|
||||
<li><a href="posts/clean-code/clean-code-chapter-2.html">Clean Code: Chapter 2 Notes</a></li>
|
||||
<li><a href="posts/clean-code/clean-code-chapter-3.html">Clean Code: Chapter 3 Notes</a></li>
|
||||
</ul></li>
|
||||
</ul></li>
|
||||
<li>blogs
|
||||
@@ -242,15 +243,15 @@
|
||||
</ul></li>
|
||||
<li>tags
|
||||
<ul class="org-ul">
|
||||
<li><a href="tags/emacs.html">Tag: emacs</a></li>
|
||||
<li><a href="tags/education.html">Tag: education</a></li>
|
||||
<li><a href="tags/notes.html">Tag: notes</a></li>
|
||||
<li><a href="tags/books.html">Tag: books</a></li>
|
||||
<li><a href="tags/introduction.html">Tag: introduction</a></li>
|
||||
<li><a href="tags/emacs.html">Tag: emacs</a></li>
|
||||
<li><a href="tags/website.html">Tag: website</a></li>
|
||||
<li><a href="tags/review.html">Tag: review</a></li>
|
||||
<li><a href="tags/maths.html">Tag: maths</a></li>
|
||||
<li><a href="tags/insights.html">Tag: insights</a></li>
|
||||
<li><a href="tags/website.html">Tag: website</a></li>
|
||||
<li><a href="tags/weekly-review.html">Tag: weekly-review</a></li>
|
||||
</ul></li>
|
||||
</ul>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2025-08-11 Mon 18:40 -->
|
||||
<!-- 2025-08-12 Tue 18:30 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Tag: books</title>
|
||||
@@ -214,13 +214,14 @@
|
||||
</nav>
|
||||
<button class="theme-toggle" id="theme-toggle" type="button" aria-label="Toggle dark mode">🌗 Theme</button>
|
||||
</div>
|
||||
<div id="updated">Updated: 2025-08-11 Mon 18:40</div>
|
||||
<div id="updated">Updated: 2025-08-12 Tue 18:30</div>
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
<div id="outline-container-orged97865" class="outline-2">
|
||||
<h2 id="orged97865">Posts tagged books</h2>
|
||||
<div class="outline-text-2" id="text-orged97865">
|
||||
<div id="outline-container-org76053c3" class="outline-2">
|
||||
<h2 id="org76053c3">Posts tagged books</h2>
|
||||
<div class="outline-text-2" id="text-org76053c3">
|
||||
<ul class="org-ul">
|
||||
<li><a href="../posts/clean-code/clean-code-chapter-3.html">Clean Code: Chapter 3 Notes</a></li>
|
||||
<li><a href="../posts/clean-code/clean-code-chapter-2.html">Clean Code: Chapter 2 Notes</a></li>
|
||||
<li><a href="../posts/clean-code/clean-code-chapter-1.html">Clean Code: Chapter 1 Notes</a></li>
|
||||
</ul>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2025-08-11 Mon 18:40 -->
|
||||
<!-- 2025-08-12 Tue 18:30 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Tag: education</title>
|
||||
@@ -214,12 +214,12 @@
|
||||
</nav>
|
||||
<button class="theme-toggle" id="theme-toggle" type="button" aria-label="Toggle dark mode">🌗 Theme</button>
|
||||
</div>
|
||||
<div id="updated">Updated: 2025-08-11 Mon 18:40</div>
|
||||
<div id="updated">Updated: 2025-08-12 Tue 18:30</div>
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
<div id="outline-container-org453f634" class="outline-2">
|
||||
<h2 id="org453f634">Posts tagged education</h2>
|
||||
<div class="outline-text-2" id="text-org453f634">
|
||||
<div id="outline-container-orgb53b108" class="outline-2">
|
||||
<h2 id="orgb53b108">Posts tagged education</h2>
|
||||
<div class="outline-text-2" id="text-orgb53b108">
|
||||
<ul class="org-ul">
|
||||
<li><a href="../blogs/2025/08/zettelkasten.html">Zettelkasten Method</a></li>
|
||||
</ul>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2025-08-11 Mon 18:40 -->
|
||||
<!-- 2025-08-12 Tue 18:30 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Tag: emacs</title>
|
||||
@@ -214,12 +214,12 @@
|
||||
</nav>
|
||||
<button class="theme-toggle" id="theme-toggle" type="button" aria-label="Toggle dark mode">🌗 Theme</button>
|
||||
</div>
|
||||
<div id="updated">Updated: 2025-08-11 Mon 18:40</div>
|
||||
<div id="updated">Updated: 2025-08-12 Tue 18:30</div>
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
<div id="outline-container-orgd9049d6" class="outline-2">
|
||||
<h2 id="orgd9049d6">Posts tagged emacs</h2>
|
||||
<div class="outline-text-2" id="text-orgd9049d6">
|
||||
<div id="outline-container-org344384d" class="outline-2">
|
||||
<h2 id="org344384d">Posts tagged emacs</h2>
|
||||
<div class="outline-text-2" id="text-org344384d">
|
||||
<ul class="org-ul">
|
||||
<li><a href="../blogs/2025/08/spending-the-whole-day-on-this-website.html">09-08-2025: Website Changes</a></li>
|
||||
<li><a href="../blogs/2025/08/what-do-i-want-to-do-with-emacs.html">What Do I Want To Do With Emacs</a></li>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2025-08-11 Mon 18:40 -->
|
||||
<!-- 2025-08-12 Tue 18:30 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Tag: insights</title>
|
||||
@@ -214,12 +214,12 @@
|
||||
</nav>
|
||||
<button class="theme-toggle" id="theme-toggle" type="button" aria-label="Toggle dark mode">🌗 Theme</button>
|
||||
</div>
|
||||
<div id="updated">Updated: 2025-08-11 Mon 18:40</div>
|
||||
<div id="updated">Updated: 2025-08-12 Tue 18:30</div>
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
<div id="outline-container-org0f6a59b" class="outline-2">
|
||||
<h2 id="org0f6a59b">Posts tagged insights</h2>
|
||||
<div class="outline-text-2" id="text-org0f6a59b">
|
||||
<div id="outline-container-orgbe91ee9" class="outline-2">
|
||||
<h2 id="orgbe91ee9">Posts tagged insights</h2>
|
||||
<div class="outline-text-2" id="text-orgbe91ee9">
|
||||
<ul class="org-ul">
|
||||
<li><a href="../blogs/2025/08/hilberts.hotel.html">Hilbert's Hotel</a></li>
|
||||
<li><a href="../blogs/2025/08/wacom-with-arch.html">Wacom With Arch</a></li>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2025-08-11 Mon 18:40 -->
|
||||
<!-- 2025-08-12 Tue 18:30 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Tag: introduction</title>
|
||||
@@ -214,12 +214,12 @@
|
||||
</nav>
|
||||
<button class="theme-toggle" id="theme-toggle" type="button" aria-label="Toggle dark mode">🌗 Theme</button>
|
||||
</div>
|
||||
<div id="updated">Updated: 2025-08-11 Mon 18:40</div>
|
||||
<div id="updated">Updated: 2025-08-12 Tue 18:30</div>
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
<div id="outline-container-org7a6a362" class="outline-2">
|
||||
<h2 id="org7a6a362">Posts tagged introduction</h2>
|
||||
<div class="outline-text-2" id="text-org7a6a362">
|
||||
<div id="outline-container-orge8652d2" class="outline-2">
|
||||
<h2 id="orge8652d2">Posts tagged introduction</h2>
|
||||
<div class="outline-text-2" id="text-orge8652d2">
|
||||
<ul class="org-ul">
|
||||
<li><a href="../blogs/blogs-intro.html">Blogs Introduction</a></li>
|
||||
<li><a href="../posts/posts-intro.html">Posts Introduction</a></li>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2025-08-11 Mon 18:40 -->
|
||||
<!-- 2025-08-12 Tue 18:30 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Tag: maths</title>
|
||||
@@ -214,12 +214,12 @@
|
||||
</nav>
|
||||
<button class="theme-toggle" id="theme-toggle" type="button" aria-label="Toggle dark mode">🌗 Theme</button>
|
||||
</div>
|
||||
<div id="updated">Updated: 2025-08-11 Mon 18:40</div>
|
||||
<div id="updated">Updated: 2025-08-12 Tue 18:30</div>
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
<div id="outline-container-orgbb60dc9" class="outline-2">
|
||||
<h2 id="orgbb60dc9">Posts tagged maths</h2>
|
||||
<div class="outline-text-2" id="text-orgbb60dc9">
|
||||
<div id="outline-container-orge69579a" class="outline-2">
|
||||
<h2 id="orge69579a">Posts tagged maths</h2>
|
||||
<div class="outline-text-2" id="text-orge69579a">
|
||||
<ul class="org-ul">
|
||||
<li><a href="../blogs/2025/08/hilberts.hotel.html">Hilbert's Hotel</a></li>
|
||||
</ul>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2025-08-11 Mon 18:40 -->
|
||||
<!-- 2025-08-12 Tue 18:30 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Tag: notes</title>
|
||||
@@ -214,13 +214,14 @@
|
||||
</nav>
|
||||
<button class="theme-toggle" id="theme-toggle" type="button" aria-label="Toggle dark mode">🌗 Theme</button>
|
||||
</div>
|
||||
<div id="updated">Updated: 2025-08-11 Mon 18:40</div>
|
||||
<div id="updated">Updated: 2025-08-12 Tue 18:30</div>
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
<div id="outline-container-org002e62f" class="outline-2">
|
||||
<h2 id="org002e62f">Posts tagged notes</h2>
|
||||
<div class="outline-text-2" id="text-org002e62f">
|
||||
<div id="outline-container-orgfc3ba2a" class="outline-2">
|
||||
<h2 id="orgfc3ba2a">Posts tagged notes</h2>
|
||||
<div class="outline-text-2" id="text-orgfc3ba2a">
|
||||
<ul class="org-ul">
|
||||
<li><a href="../posts/clean-code/clean-code-chapter-3.html">Clean Code: Chapter 3 Notes</a></li>
|
||||
<li><a href="../posts/clean-code/clean-code-chapter-2.html">Clean Code: Chapter 2 Notes</a></li>
|
||||
<li><a href="../posts/clean-code/clean-code-chapter-1.html">Clean Code: Chapter 1 Notes</a></li>
|
||||
</ul>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2025-08-11 Mon 18:40 -->
|
||||
<!-- 2025-08-12 Tue 18:30 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Tag: review</title>
|
||||
@@ -214,12 +214,12 @@
|
||||
</nav>
|
||||
<button class="theme-toggle" id="theme-toggle" type="button" aria-label="Toggle dark mode">🌗 Theme</button>
|
||||
</div>
|
||||
<div id="updated">Updated: 2025-08-11 Mon 18:40</div>
|
||||
<div id="updated">Updated: 2025-08-12 Tue 18:30</div>
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
<div id="outline-container-org364a7e8" class="outline-2">
|
||||
<h2 id="org364a7e8">Posts tagged review</h2>
|
||||
<div class="outline-text-2" id="text-org364a7e8">
|
||||
<div id="outline-container-org8527494" class="outline-2">
|
||||
<h2 id="org8527494">Posts tagged review</h2>
|
||||
<div class="outline-text-2" id="text-org8527494">
|
||||
<ul class="org-ul">
|
||||
<li><a href="../blogs/2025/08/what-do-i-want-to-do-with-emacs.html">What Do I Want To Do With Emacs</a></li>
|
||||
</ul>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2025-08-11 Mon 18:40 -->
|
||||
<!-- 2025-08-12 Tue 18:30 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Tag: website</title>
|
||||
@@ -214,12 +214,12 @@
|
||||
</nav>
|
||||
<button class="theme-toggle" id="theme-toggle" type="button" aria-label="Toggle dark mode">🌗 Theme</button>
|
||||
</div>
|
||||
<div id="updated">Updated: 2025-08-11 Mon 18:40</div>
|
||||
<div id="updated">Updated: 2025-08-12 Tue 18:30</div>
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
<div id="outline-container-orgb620d6e" class="outline-2">
|
||||
<h2 id="orgb620d6e">Posts tagged website</h2>
|
||||
<div class="outline-text-2" id="text-orgb620d6e">
|
||||
<div id="outline-container-org19764bd" class="outline-2">
|
||||
<h2 id="org19764bd">Posts tagged website</h2>
|
||||
<div class="outline-text-2" id="text-org19764bd">
|
||||
<ul class="org-ul">
|
||||
<li><a href="../blogs/2025/08/spending-the-whole-day-on-this-website.html">09-08-2025: Website Changes</a></li>
|
||||
</ul>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2025-08-11 Mon 18:40 -->
|
||||
<!-- 2025-08-12 Tue 18:30 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Tag: weekly-review</title>
|
||||
@@ -214,12 +214,12 @@
|
||||
</nav>
|
||||
<button class="theme-toggle" id="theme-toggle" type="button" aria-label="Toggle dark mode">🌗 Theme</button>
|
||||
</div>
|
||||
<div id="updated">Updated: 2025-08-11 Mon 18:40</div>
|
||||
<div id="updated">Updated: 2025-08-12 Tue 18:30</div>
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
<div id="outline-container-org52e7de4" class="outline-2">
|
||||
<h2 id="org52e7de4">Posts tagged weekly-review</h2>
|
||||
<div class="outline-text-2" id="text-org52e7de4">
|
||||
<div id="outline-container-org883ce8a" class="outline-2">
|
||||
<h2 id="org883ce8a">Posts tagged weekly-review</h2>
|
||||
<div class="outline-text-2" id="text-org883ce8a">
|
||||
<ul class="org-ul">
|
||||
<li><a href="../blogs/2025/08/weekly-review-week-ending-august-10-2025.html">Weekly review: Week ending August 10, 2025</a></li>
|
||||
</ul>
|
||||
|
||||
Reference in New Issue
Block a user