About
-About
+TODO
diff --git a/output/blogs/2025/08/spending-the-whole-day-on-this-website.html b/output/blogs/2025/08/spending-the-whole-day-on-this-website.html index 19e4077..7eed2c2 100644 --- a/output/blogs/2025/08/spending-the-whole-day-on-this-website.html +++ b/output/blogs/2025/08/spending-the-whole-day-on-this-website.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - +09-08-2025: Website Changes
- + -What was worked on
-What was worked on
+I saw a few websites that used marginal notes on the right side of the screen like this one, 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.
diff --git a/output/blogs/2025/08/wacom-with-arch.html b/output/blogs/2025/08/wacom-with-arch.html index 13c8a60..7028957 100644 --- a/output/blogs/2025/08/wacom-with-arch.html +++ b/output/blogs/2025/08/wacom-with-arch.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - +Wacom With Arch
- + -Setting up Wacom Tablet in Arch Hyprland
-Setting up Wacom Tablet in Arch Hyprland
+I purchased a One by Wacom tablet almost 2 years ago now and it works flawlessly in both Windows and MacOS and even in most Linux distros with some configuration.
diff --git a/output/blogs/2025/08/weekly-review-week-ending-august-10-2025.html b/output/blogs/2025/08/weekly-review-week-ending-august-10-2025.html index 6227de4..ee0f97a 100644 --- a/output/blogs/2025/08/weekly-review-week-ending-august-10-2025.html +++ b/output/blogs/2025/08/weekly-review-week-ending-august-10-2025.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - +Weekly review: Week ending August 10, 2025
- +Table of Contents
-
-
- Reviewing the week -
- Next week +
- Reviewing the week +
- Next week
-
-
- TODO Read as much of Clean Code as possible -
- TODO Finish another (misc) book -
- TODO Write more (metric unspecified, need to experiment to see what works best) -
- TODO Start the book Dose Effect -
- TODO More leetcode problems to solve (again, metric unspecified) -
- TODO Touch typing: daily practice +
- TODO Read as much of Clean Code as possible +
- TODO Finish another (misc) book +
- TODO Write more (metric unspecified, need to experiment to see what works best) +
- TODO Start the book Dose Effect +
- TODO More leetcode problems to solve (again, metric unspecified) +
- TODO Touch typing: daily practice
Reviewing the week
-Reviewing the week
+
Mostly continuing reading from the book clean code, also setup the ankii cards and this website. The amount of leetcode problems I solved could improve however.
Next week
-Next week
+TODO Read as much of Clean Code as possible
+TODO Read as much of Clean Code as possible
TODO Finish another (misc) book
+TODO Finish another (misc) book
TODO Write more (metric unspecified, need to experiment to see what works best)
+TODO Write more (metric unspecified, need to experiment to see what works best)
TODO Start the book Dose Effect
+TODO Start the book Dose Effect
TODO More leetcode problems to solve (again, metric unspecified)
+TODO More leetcode problems to solve (again, metric unspecified)
TODO Touch typing: daily practice
+TODO Touch typing: daily practice
What Do I Want To Do With Emacs
- +I first started using Emacs (and Linux for that matter) since around the end of 2023, and it's been well over a year of trial and error with this text editor. At first I was using this for all sorts of things such as: @@ -240,7 +240,7 @@ After some thinking I narrowed it down and collated it in the following diagram:
-
Zettelkasten Method
- + -The Zettelkasten Method
-The Zettelkasten Method
+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 second brain, where you can jot down ideas and information whilst simultaneously being able to connect them together.
@@ -241,7 +241,7 @@ There are many personal knowledge management systems' (PKMS) out there that allo -
Blogs Introduction
- + -Introduction
-Introduction
+In this section you will find posts that are not as structured as the ones found in here. Mainly these will deal with findings, research, assorted writings and random bits and blobs.
diff --git a/output/blogs/blogs-list.html b/output/blogs/blogs-list.html index c75d178..b37eece 100644 --- a/output/blogs/blogs-list.html +++ b/output/blogs/blogs-list.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - +Blogs List
See the categories: Categories
-Blogs:
-Blogs:
+-
-
- Weekly review: Week ending August 10, 2025 2025-08-10 weekly-review -
- 09-08-2025: Website Changes 2025-08-09 emacs website -
- Wacom With Arch 2025-08-08 insights -
- What Do I Want To Do With Emacs 2025-08-08 emacs review -
- Zettelkasten Method 2025-08-07 education -
- Blogs Introduction 2025-08-06 introduction +
- Weekly review: Week ending August 10, 2025 10-08-2025 00:00 weekly-review +
- 09-08-2025: Website Changes 09-08-2025 00:00 emacs website +
- Wacom With Arch 08-08-2025 00:00 insights +
- What Do I Want To Do With Emacs 08-08-2025 00:00 emacs review +
- Zettelkasten Method 07-08-2025 00:00 education +
- Blogs Introduction 06-08-2025 00:00 introduction
Categories (Includes both blogs and posts)
-Categories (Includes both blogs and posts)
+-
+
- books (2)
- education (1)
- emacs (2)
- insights (1)
- introduction (2) +
- notes (2)
- review (1)
- website (1)
- weekly-review (1) diff --git a/output/contact.html b/output/contact.html index 38465cc..1c95568 100644 --- a/output/contact.html +++ b/output/contact.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - +
Contact
-Contact Using the Following:
-Contact Using the Following:
+> LinkedIn: LinkedIn
diff --git a/output/index.html b/output/index.html index e4e517d..10c54b2 100644 --- a/output/index.html +++ b/output/index.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - +Table of Contents
Welcome! π±
-Welcome! π±
+
This is a website built using Emacs Org-mode and published using org-publish. 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
How to publish web pages using org-publish
-How to publish web pages using org-publish
+
This website is heavily inspired by some people who have decided to use org-publish as a way to convert org files into html. 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.
org-publish wha
#+TITLE: Website Name
#+OPTIONS: toc:nil num:nil
-#+HTML_HEAD: <link rel="stylesheet" href="style.css">
* Welcome!
@@ -342,9 +341,9 @@ And there we go! The files are now being hosted on http://localhost:8000/<
Contact
-Contact
+Feel free to reach out on GitHub: https://github.com/zainezq
diff --git a/output/posts.html b/output/posts.html index a4b80e4..9e9bcaf 100644 --- a/output/posts.html +++ b/output/posts.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - +Posts
-Links
-Links
+Posts Introduction intro
+Posts Introduction intro
Zettelkasten Method education
-Zettelkasten Method education
+diff --git a/output/posts/clean-code/clean-code-chapter-1.html b/output/posts/clean-code/clean-code-chapter-1.html new file mode 100644 index 0000000..3d04d84 --- /dev/null +++ b/output/posts/clean-code/clean-code-chapter-1.html @@ -0,0 +1,258 @@ + + + + + + + +
Clean Code: Chapter 1 Notes
+ + +Table of Contents
++Link to Chapter 2 +
+Chapter 1: Clean Code
++Referenced Items: +
+-
+
- Implementation Patterns, Kent Beck, Addison-Wesley, 2007. +
- Literate Programming, Donald E. Knuth, Center for the Study of Language and Information, Leland Stanford Junior University, 1992. +
+Principles mentioned: +Single Responsibility Principle (SRP), the Open Closed Principle (OCP), and the Dependency Inversion Principle (DIP) +
+Clean Code: Chapter 2 Notes
+ + +Table of Contents
+-
+
- Chapter 2: Meaningful Names
+
-
+
- Use intention revealing names: +
- Avoid disinformation +
- Make Meaningful Distinctions +
- Use Pronouncable Names +
- Use Searchable Names +
- Avoid Encodings +
- Avoid Mental Mappings +
- Class Names +
- Method Names +
- Don't be cute/Don't use puns +
- Pick one word per concept +
- Solution Domain Names and Problem Domain Names +
- Add Meaningful Context +
- Don't add gratuitous context +
+
+Link to Chapter 1 +
+Chapter 2: Meaningful Names
+Use intention revealing names:
+
+Names should reveal intent, there is no revelation in naming an integer d, intending it stands for days. Instead, you should use the following names:
+
int elapsedTimeInDays; +int daysSinceCreation; +int daysSinceModification; +int fileAgeInDays; ++
Avoid disinformation
+
+Don't postfix the word 'list' to the name 'accounts' unless it's actually a list. This is because the reader will assume the data type of accountsList is indeed a list, instead choose a name like accountsGroup.
+
Make Meaningful Distinctions
++While it is possible to name by being disinformative, it is also possible to name being non informative. Consider: +
+ ++public static void copyChars(char a1[], char a2[]) { + for (int i = 0; i < a1.length; i++) { + a2[i] = a1[i]; + } +} + ++
+What on earth does a[1] and a[2] even stand for? We are better off using names like source and destination (due to the function's intent of copying the array).
+
+Furthermore, noise words are redundant. We should never use the word variable when naming a variable, or table when naming a table.
+
Use Pronouncable Names
+
+This is quite straightforward. Do not use a name like genymdhms to refer to generation date, year, month, day, hour, minute,
+and second. Instead use generationTimeStamp.
+
Use Searchable Names
++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: +
+ ++The length of a name should correspond to the size of its scope +
+Avoid Encodings
+
+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: PhoneNumber phoneString; we can see the reader being misled into thinking the phone number is a String.
+
Avoid Mental Mappings
++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. +
+Class Names
++
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
Method Names
++Methods should have verb or verb phrase names. +
+Don't be cute/Don't use puns
++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. +
+-
+
- Example:
HandGrenadeinstead ofDeleteItems
+ - Example:
whack()instead ofkill()
+
Pick one word per concept
++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. +
+Solution Domain Names and Problem Domain Names
++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. +
+ ++However when it is not possible to use solution domain names (in other words, when there is no "programmer-eese" then use the name from the problem domain. The other programmers can ask the domain expert for clarification. If the code is more to do with the problem domain concepts, then the names should be drawn from them. +
+Add Meaningful Context
++Enclose names with well-named classes, functions, or namespaces. When all else fails, then prefix with something that provides more context. +
+Don't add gratuitous context
++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'. +
+Posts Introduction
- + -Introduction
-Introduction
+
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 posts is to develop the skill of being able to deliver habitual high quality explanations as well as reinforcing the topic(s) learnt.
Posts List
See the categories: Categories
-Posts:
-Posts:
+-
-
- Posts Introduction 2025-08-06 introduction +
- Clean Code: Chapter 2 Notes 10-08-2025 20:00 books notes +
- Clean Code: Chapter 1 Notes 10-08-2025 19:45 books notes +
- Posts Introduction 06-08-2025 00:00 introduction
Setup
-Introduction
-Introduction
++Last updated: +
+
This page will highlight the build-script.el used to generate this website. This entire website is generated through org files using the command:
build-script.el used to generate this
The script
-The script
+
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 org-publish-project-alist which handles nearly all of the project generation instructions.
Publish Script
-Publish Script
+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:
@@ -607,16 +660,8 @@ As the project is hosted on Github, I have created a small script that is able t set -e # Define paths -ORG_PROJECT_NAME="website" -ORG_OUTPUT_DIR="$HOME/master-folder/org_files/org_web/output" +ORG_OUTPUT_DIR="$HOME/master-folder/org_files/org_web/output" -# commands used prior to having the `build-script.el` -# echo "Running org-publish..." -# emacs --batch \ -# --eval "(require 'org)" \ -# --eval "(require 'ox-publish)" \ -# --eval "(org-publish \"$ORG_PROJECT_NAME\" t)" - cd "$ORG_OUTPUT_DIR" echo "HTML published to: $ORG_OUTPUT_DIR" diff --git a/output/sitemap.html b/output/sitemap.html index 8d0da6e..8d21de5 100644 --- a/output/sitemap.html +++ b/output/sitemap.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - +Sitemap
@@ -217,13 +217,18 @@- Posts Introduction
- Posts List +
- clean-code +
-
@@ -232,9 +237,11 @@
-
-
- Tag: emacs
- Tag: education +
- Tag: notes +
- Tag: books
- Tag: introduction +
- Tag: emacs
- Tag: website
- Tag: review
- Tag: insights diff --git a/output/tags/books.html b/output/tags/books.html new file mode 100644 index 0000000..68ea91a --- /dev/null +++ b/output/tags/books.html @@ -0,0 +1,236 @@ + + + + + + + +
Posts tagged books
+ +Posts tagged education
-Posts tagged education
+Posts tagged emacs
-Posts tagged emacs
+- 09-08-2025: Website Changes
- What Do I Want To Do With Emacs diff --git a/output/tags/insights.html b/output/tags/insights.html index 31107ae..8d55d08 100644 --- a/output/tags/insights.html +++ b/output/tags/insights.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - +
Posts tagged insights
-Posts tagged insights
+Posts tagged introduction
-Posts tagged introduction
+- Blogs Introduction
- Posts Introduction diff --git a/output/tags/notes.html b/output/tags/notes.html new file mode 100644 index 0000000..1d7a8ce --- /dev/null +++ b/output/tags/notes.html @@ -0,0 +1,236 @@ + + + + + + + +