This commit is contained in:
@@ -1,3 +0,0 @@
|
||||
# [wedding<sub>moc</sub>](id:c1de3972-e932-48fd-8065-3d89dad58007)
|
||||
|
||||
# [workflow-moc](id:8CE93986-280B-45BD-9DF2-5D06586DDDE7)
|
||||
@@ -1,7 +0,0 @@
|
||||
What are the use cases of the macbook and the pc:
|
||||
|
||||
# Macbook
|
||||
|
||||
##
|
||||
|
||||
# PC
|
||||
@@ -1,9 +0,0 @@
|
||||
In this commonplace, I will collect technical notes and insights that I find useful. This is a work in progress, and I will update it as I learn new things.
|
||||
|
||||
# Articles:
|
||||
|
||||
- <https://forge.medium.com/a-simple-tool-for-personal-growth-dc1e822aa229>
|
||||
|
||||
# Github:
|
||||
|
||||
- <https://github.com/XEphem/XEphem?tab=readme-ov-file>
|
||||
@@ -1,9 +0,0 @@
|
||||
# [Downdetector and the real cost of no upstream dependencies](https://blog.pragmaticengineer.com/downdetector-and-the-real-cost-of-no-upstream-dependencies/)
|
||||
|
||||
# [Loneliness Isn’t Just Something We Endure](https://coffeeandjunk.substack.com/p/loneliness)
|
||||
|
||||
# [What are dormant volcanoes good for? Copper mining](https://bigthink.com/technology-innovation/dormant-volcanoes-copper-mining)
|
||||
|
||||
# [Where Have All the Geniuses Gone?](https://coffeeandjunk.substack.com/p/genius)
|
||||
|
||||
# [Not Everything Has to Be Timeless](https://coffeeandjunk.substack.com/p/forever)
|
||||
@@ -1 +0,0 @@
|
||||
- <https://github.com/codecrafters-io/build-your-own-x>
|
||||
8
Technical/AdventureOS/AdventureOS.md
Executable file
8
Technical/AdventureOS/AdventureOS.md
Executable file
@@ -0,0 +1,8 @@
|
||||
---
|
||||
note type:
|
||||
- moc
|
||||
date: 2026-07-03
|
||||
done:
|
||||
link: https://gitea.zainezq.com/zaine/adventure
|
||||
---
|
||||
[[SQL Diagram (ERD)]]
|
||||
BIN
Technical/AdventureOS/Attachments/postgres - adventureos - public.png
Executable file
BIN
Technical/AdventureOS/Attachments/postgres - adventureos - public.png
Executable file
Binary file not shown.
|
After Width: | Height: | Size: 636 KiB |
8
Technical/AdventureOS/SQL Diagram (ERD).md
Executable file
8
Technical/AdventureOS/SQL Diagram (ERD).md
Executable file
@@ -0,0 +1,8 @@
|
||||
---
|
||||
note type:
|
||||
- sql
|
||||
- database
|
||||
date: 2026-07-03
|
||||
done: true
|
||||
---
|
||||
![[postgres - adventureos - public.png]]
|
||||
13
Technical/Android app.md → Technical/Coding/Android app.md
Normal file → Executable file
13
Technical/Android app.md → Technical/Coding/Android app.md
Normal file → Executable file
@@ -1,7 +1,16 @@
|
||||
---
|
||||
note type:
|
||||
- note
|
||||
- technical
|
||||
date: 2026-06-17
|
||||
done: true
|
||||
---
|
||||
## Running:
|
||||
|
||||
``./gradlew :app:installDebug
|
||||
`./gradlew :app:installDebug
|
||||
`./gradlew :app:assembleDebug
|
||||
`
|
||||
|
||||
## Reverse
|
||||
`adb reverse tcp:9010 tcp:9010`
|
||||
- Without adb reverse: emulator usually uses http://10.0.2.2:9010/
|
||||
- With adb reverse: emulator uses http://127.0.0.1:9010/
|
||||
6
Technical/20251214210526-useful_c_imports.md → Technical/Coding/C imports.md
Normal file → Executable file
6
Technical/20251214210526-useful_c_imports.md → Technical/Coding/C imports.md
Normal file → Executable file
@@ -1 +1,7 @@
|
||||
---
|
||||
note type:
|
||||
- note
|
||||
date: 2026-06-17
|
||||
done: true
|
||||
---
|
||||
- SDL2 [See this](https://wiki.libsdl.org/SDL2/FrontPage)
|
||||
8
Technical/20250402185735-java_moc.md → Technical/Coding/Java MOC.md
Normal file → Executable file
8
Technical/20250402185735-java_moc.md → Technical/Coding/Java MOC.md
Normal file → Executable file
@@ -1,3 +1,9 @@
|
||||
---
|
||||
note type:
|
||||
- moc
|
||||
date: 2026-06-17
|
||||
done: false
|
||||
---
|
||||
Use this node for pom.xml: [maven-pom-file](id:bcd41e87-120c-455c-8898-996ddaa41f75)
|
||||
|
||||
Tests: [java-junit-testing](id:7b8de14c-a73e-4c92-a403-a9a1c419c0b3)
|
||||
Tests: [[Junit Testing]]
|
||||
6
Technical/20250723190656-java_junit_testing.md → Technical/Coding/Junit Testing.md
Normal file → Executable file
6
Technical/20250723190656-java_junit_testing.md → Technical/Coding/Junit Testing.md
Normal file → Executable file
@@ -1 +1,7 @@
|
||||
---
|
||||
note type:
|
||||
- note
|
||||
date: 2026-06-17
|
||||
done: true
|
||||
---
|
||||
<https://www.geeksforgeeks.org/software-testing/introduction-to-junit-5/>
|
||||
180
Technical/Coding/zainezq upgrade.md
Executable file
180
Technical/Coding/zainezq upgrade.md
Executable file
@@ -0,0 +1,180 @@
|
||||
|
||||
# • Technical Onboarding Report
|
||||
|
||||
Project Summary
|
||||
|
||||
This repo is the source for https://zainezq.com, described in README.md:3 as a personal/familial hub. It is primarily a static site generated from Org-mode files using
|
||||
Emacs org-publish, with supporting Emacs Lisp, CSS, browser JavaScript, Python search-index generation, and Gitea Actions deployment.
|
||||
|
||||
The main entry point is build-site.el:1. The documented local build command is:
|
||||
|
||||
emacs -Q --script build-site.el
|
||||
|
||||
That is also wrapped by make build in Makefile:13.
|
||||
|
||||
Architecture
|
||||
|
||||
The architecture is a static publishing pipeline:
|
||||
|
||||
1. Source content lives mostly in .org files under blogs/, posts/, home/, books/, play/, and tags/.
|
||||
2. build-site.el:555 defines multiple org-publish projects.
|
||||
3. Local Lisp modules in lisp/ provide sitemap, tag, sidenote, and recently-updated behavior.
|
||||
4. Assets from assets/ are copied into output/assets/.
|
||||
5. search-index-json.py:57 scans generated HTML in output/ and writes output/test.json.
|
||||
6. Browser search uses lunr.js plus assets/scripts/search.js:1.
|
||||
7. CI runs the build through Gitea Actions in .gitea/workflows/build.yml:47.
|
||||
|
||||
The site has several generated artifacts: output/, .org-timestamps/, tag pages, sitemap pages, recently-updated.org, assets/content/comment-pages.json, and output/
|
||||
test.json.
|
||||
|
||||
Repo Structure
|
||||
|
||||
Observed top-level areas:
|
||||
|
||||
- blogs/: dated blog content, arranged by year and month, for example blogs/2026/05-may/....
|
||||
- posts/: longer-form posts, currently mostly under posts/career/.
|
||||
- home/: homepage-adjacent pages and guides.
|
||||
- play/: interactive/playful pages with dedicated JavaScript and CSS.
|
||||
- books/: book notes.
|
||||
- lima/: Markdown/Org content handled by a special publisher.
|
||||
- assets/: static CSS, JS, images, icons, fonts, sketchnotes, and content JSON.
|
||||
- lisp/: custom Emacs Lisp build helpers.
|
||||
- tags/: generated or semi-generated tag pages.
|
||||
- output/: generated site output; ignored by Git.
|
||||
- .gitea/workflows/: CI workflow.
|
||||
- build-site-tests.el: ERT tests for some build helpers.
|
||||
|
||||
I counted roughly 165 .org files, 16 browser JS files, 11 CSS files, 6 Emacs Lisp files, and 5 Markdown files outside generated/vendor directories.
|
||||
|
||||
Build And Publishing
|
||||
|
||||
build-site.el:24 establishes z/site-root as the canonical root and build-site.el:41 sets z/output-root, overrideable with SITE_OUTPUT_DIR.
|
||||
|
||||
The publishing projects are explicit in build-site.el:555:
|
||||
|
||||
- org-main: root .org content and main sitemap.
|
||||
- org-assets: static assets.
|
||||
- org-categories-sitemap: category page generation from home/.
|
||||
- org-posts: posts.
|
||||
- org-blogs: blogs, with grouped sitemap.
|
||||
- org-books: book notes.
|
||||
- org-career: career subsection sitemap.
|
||||
- wip-pages: work-in-progress listing.
|
||||
- org-tags: tag pages.
|
||||
- org-lima: Markdown/Org Lima content.
|
||||
|
||||
The build includes cache safety logic. build-site.el:713 documents that output/ and .org-timestamps/ must be wiped together. build-site.el:738 checks output integrity and
|
||||
forces republish if key outputs are missing.
|
||||
|
||||
make currently runs set-perms clean-output build search clean-venv via Makefile:11. This depends on an absolute external permissions script at Makefile:7, which makes a
|
||||
fresh developer setup less portable.
|
||||
|
||||
Dependencies
|
||||
|
||||
Clear dependencies from the repo:
|
||||
|
||||
- Emacs with Org export support.
|
||||
- Emacs package htmlize, bootstrapped from MELPA/ELPA in build-site.el:116.
|
||||
- Python packages: beautifulsoup4, lxml, legacy-cgi in requirements.txt:1.
|
||||
- Browser libraries vendored under assets/scripts/, including lunr.js, mermaid.min.js, svg-pan-zoom.min.js, and bigger-picture.min.js.
|
||||
- pandoc is required for Lima Markdown publishing in build-site.el:512.
|
||||
- inotifywait is required by watcher.sh:13.
|
||||
- PowerShell is required by the Gitea build monitor in .gitea/workflows/build.yml:60.
|
||||
- A separate authoring service is referenced at /home/zaine/master-folder/org-platform/authoring-service in README.md:9 and Makefile:9.
|
||||
|
||||
Missing: there is no lockfile for Python, no pinned Emacs package version except the currently present .packages cache, and no documented system package install list.
|
||||
|
||||
Data Flow
|
||||
|
||||
Content metadata drives behavior. The repo uses Org keywords such as #+TITLE, #+DATE, #+FILETAGS, #+COMMENTS, #+SLUG, #+HIDDEN_PAGE, #+WIP, and #+NO_SIDENOTES.
|
||||
|
||||
Examples:
|
||||
|
||||
- Comments are enabled when #+COMMENTS: t is present, handled by build-site.el:309.
|
||||
- Comment slugs come from #+SLUG, falling back to filename in build-site.el:320.
|
||||
- Hidden pages are omitted from sitemaps using #+HIDDEN_PAGE: t in lisp/sitemaps.el:29.
|
||||
- #+NO_SIDENOTES and some tags affect body classes through lisp/sidenotes.el:11.
|
||||
- Tag pages are generated from FILETAGS/TAGS in lisp/tags.el:39.
|
||||
- Recently updated content uses #+DATE or file modification time in lisp/recently-updated.el:47.
|
||||
|
||||
Client-side comments call /api/comments/... in assets/scripts/comments.js:92. I could not determine the comments backend from this repo; only the frontend and generated
|
||||
comment-page manifest are present.
|
||||
|
||||
Coding Standards And Conventions
|
||||
|
||||
Clear conventions:
|
||||
|
||||
- Emacs Lisp functions use a z/ prefix.
|
||||
- Build script sections are heavily commented and organized.
|
||||
- Org metadata is the main content contract.
|
||||
- Generated pages are regular Org files in some cases, for example tag pages and recently-updated.org.
|
||||
- Browser JS is plain JavaScript, no bundler, no module system.
|
||||
- CSS is split by concern: style.css, comments.css, kanban.css, play.css, wird-tracker.css, etc.
|
||||
- Generated output and local build caches are ignored in .gitignore:1.
|
||||
|
||||
Missing or unclear:
|
||||
|
||||
- No formatter or linter config for Emacs Lisp, Python, JS, CSS, or Org.
|
||||
- No documented code style beyond existing patterns.
|
||||
- Vendored minified JS dependencies are not documented with source/version/license.
|
||||
- There are Syncthing conflict files in tags/, which suggests generated/source ownership is not fully clean.
|
||||
|
||||
Testing
|
||||
|
||||
There is an ERT test file, build-site-tests.el:1, covering comments helpers, Lima sitemap formatting, attachment copying, and body class behavior.
|
||||
|
||||
Important finding: tests currently document known bugs. For example build-site-tests.el:112 says non-HTML backend handling returns nil because when has no else branch, and
|
||||
build-site-tests.el:248 documents the same issue for body-class filtering.
|
||||
|
||||
make test does not run these local ERT tests. It delegates to the external authoring-service repo via Makefile:25. I found only Python bytecode under tests/__pycache__,
|
||||
not source tests in this repo.
|
||||
|
||||
I did not run the test suite because the available test command points outside the repository, and loading build-site.el can generate files as part of its top-level
|
||||
execution.
|
||||
|
||||
Developer Workflow
|
||||
|
||||
Documented workflow:
|
||||
|
||||
- Build site: make build or emacs -Q --script build-site.el.
|
||||
- Full build: make, which also sets permissions, cleans output, builds, generates search, and removes .venv.
|
||||
- Generate search: make search.
|
||||
- Start authoring UI: make author, delegated to the external authoring-service.
|
||||
- CI: Gitea Actions runs SITE_CLEAN=1 make and then a PowerShell monitor.
|
||||
|
||||
The workflow is practical for the original machine, but not yet portable for a new developer because multiple paths are absolute and outside this repo.
|
||||
|
||||
Maintainability Assessment
|
||||
|
||||
Strong points:
|
||||
|
||||
- The core build pipeline is centralized in build-site.el.
|
||||
- Local Emacs Lisp helpers are split by domain.
|
||||
- Metadata-driven behavior is understandable once keywords are known.
|
||||
- Build logging and cache integrity handling are thoughtful.
|
||||
- The repo has a README with the high-level build model and authoring-service notes.
|
||||
|
||||
Risks and gaps:
|
||||
|
||||
- build-site.el performs package install, generation, config, and publish execution at top level, making it hard to load safely in tests.
|
||||
- make test does not test this repo’s local ERT tests.
|
||||
- Absolute paths tie the repo to one machine and user.
|
||||
- Some generated files appear committed or source-adjacent, especially tags/*.org, recently-updated.org, and list pages.
|
||||
- Python dependencies are unpinned.
|
||||
- The comment API backend and authoring service are outside the repo, but the static site depends on their contracts.
|
||||
- Search output is named test.json, which is unclear for production behavior.
|
||||
- The working tree was already dirty: gitea-build-monitor.log and posts/posts-list.org were modified.
|
||||
|
||||
Prioritised Recommendations
|
||||
|
||||
1. Make local onboarding reproducible: document required system packages, Emacs version, Python version, pandoc, inotifywait, PowerShell, and expected external services.
|
||||
2. Remove or parameterize absolute paths in Makefile, CI, watcher.sh, and deployment scripts. Use env vars with documented defaults.
|
||||
3. Split build-site.el into loadable definitions and an explicit main entry point so tests can load functions without generating files or publishing.
|
||||
4. Wire local ERT tests into make test, and keep the external authoring-service tests under a separate target such as make test-author.
|
||||
5. Fix the documented non-HTML backend bugs in z/org-html-insert-comments-into-body and z/org-html-add-body-classes, then flip the tests.
|
||||
6. Clarify generated-file ownership: decide which .org files are hand-authored versus generated, remove sync-conflict files, and add generation notes or ignores where appropriate.
|
||||
7. Rename output/test.json and related references to a production name such as search-index.json.
|
||||
8. Pin Python dependencies and document vendored JS library versions/licenses.
|
||||
9. Document the comment API contract and authoring-service contract, since frontend code depends on /api/comments and the README points to an external repo.
|
||||
10. Add lightweight lint/format checks for Emacs Lisp, Python, and browser JS once the build/test workflow is stable.
|
||||
|
||||
9
Technical/20251101123637-backlog.md → Technical/Digital Backlog.md
Normal file → Executable file
9
Technical/20251101123637-backlog.md → Technical/Digital Backlog.md
Normal file → Executable file
@@ -1,4 +1,11 @@
|
||||
****This backlog serves as a repository for ideas, tasks, and projects that are not currently being worked on but may be of interest in the future. It is a place to capture and organise thoughts, plans, and potential initiatives that can be revisited when the time is right. They are not limited to this website or the Org Web.****
|
||||
---
|
||||
note type:
|
||||
- technical
|
||||
- note
|
||||
date: 2026-07-08
|
||||
done:
|
||||
---
|
||||
**This backlog serves as a repository for ideas, tasks, and projects that are not currently being worked on but may be of interest in the future. It is a place to capture and organise thoughts, plans, and potential initiatives that can be revisited when the time is right. They are not limited to this website or the Org Web.**
|
||||
|
||||
# Ideas
|
||||
|
||||
0
Technical/Emacs/Elisp.md
Normal file → Executable file
0
Technical/Emacs/Elisp.md
Normal file → Executable file
0
Technical/Emacs/Emacs Calendar.md
Normal file → Executable file
0
Technical/Emacs/Emacs Calendar.md
Normal file → Executable file
0
Technical/Emacs/Emacs Config.md
Normal file → Executable file
0
Technical/Emacs/Emacs Config.md
Normal file → Executable file
0
Technical/Emacs/Emacs MOC.md
Normal file → Executable file
0
Technical/Emacs/Emacs MOC.md
Normal file → Executable file
0
Technical/Emacs/Evil Mode.md
Normal file → Executable file
0
Technical/Emacs/Evil Mode.md
Normal file → Executable file
0
Technical/Emacs/GTD.md
Normal file → Executable file
0
Technical/Emacs/GTD.md
Normal file → Executable file
0
Technical/Emacs/Keybindings Emacs.md
Normal file → Executable file
0
Technical/Emacs/Keybindings Emacs.md
Normal file → Executable file
0
Technical/Emacs/Magit.md
Normal file → Executable file
0
Technical/Emacs/Magit.md
Normal file → Executable file
0
Technical/Emacs/Org Noter.md
Normal file → Executable file
0
Technical/Emacs/Org Noter.md
Normal file → Executable file
0
Technical/Emacs/Org Publish.md
Normal file → Executable file
0
Technical/Emacs/Org Publish.md
Normal file → Executable file
0
Technical/Emacs/Org Roam.md
Normal file → Executable file
0
Technical/Emacs/Org Roam.md
Normal file → Executable file
0
Technical/Linux/Arch Linux.md
Normal file → Executable file
0
Technical/Linux/Arch Linux.md
Normal file → Executable file
0
Technical/Linux/GPG Encryption.md
Normal file → Executable file
0
Technical/Linux/GPG Encryption.md
Normal file → Executable file
0
Technical/Linux/Keyboard.md
Normal file → Executable file
0
Technical/Linux/Keyboard.md
Normal file → Executable file
0
Technical/Linux/Linux MOC.md
Normal file → Executable file
0
Technical/Linux/Linux MOC.md
Normal file → Executable file
0
Technical/Linux/Systemd Services.md
Normal file → Executable file
0
Technical/Linux/Systemd Services.md
Normal file → Executable file
0
Technical/Linux/Wacom.md
Normal file → Executable file
0
Technical/Linux/Wacom.md
Normal file → Executable file
0
Technical/Linux/i3 WM.md
Normal file → Executable file
0
Technical/Linux/i3 WM.md
Normal file → Executable file
8
Technical/Server/Actual (finance).md
Normal file → Executable file
8
Technical/Server/Actual (finance).md
Normal file → Executable file
@@ -1,3 +1,11 @@
|
||||
---
|
||||
note type:
|
||||
- note
|
||||
- server
|
||||
date: 2026-07-08
|
||||
done: true
|
||||
---
|
||||
|
||||
# Notes:
|
||||
|
||||
- \<2026-04-01 Wed\>: There is one transaction waiting to show on the statement for \<2026-03-31 Tue\>. Will need to redo March full. \[ \]
|
||||
|
||||
0
Technical/Server/Cloudflare.md
Normal file → Executable file
0
Technical/Server/Cloudflare.md
Normal file → Executable file
0
Technical/Server/Gitea.md
Normal file → Executable file
0
Technical/Server/Gitea.md
Normal file → Executable file
0
Technical/Server/Nextcloud.md
Normal file → Executable file
0
Technical/Server/Nextcloud.md
Normal file → Executable file
0
Technical/Server/Old NGINX Code.md
Normal file → Executable file
0
Technical/Server/Old NGINX Code.md
Normal file → Executable file
0
Technical/Server/Old Nextcloud.md
Normal file → Executable file
0
Technical/Server/Old Nextcloud.md
Normal file → Executable file
18
Technical/Server/RClone.md
Executable file
18
Technical/Server/RClone.md
Executable file
@@ -0,0 +1,18 @@
|
||||
---
|
||||
note type:
|
||||
- note
|
||||
- technical
|
||||
- server
|
||||
date: 2026-07-08
|
||||
done: true
|
||||
---
|
||||
# Config rclone
|
||||
[gdrive-naats]
|
||||
scope = drive
|
||||
root_folder_id = 1hPWQhbN6IzTHXsoWXNUfEJcJvsqNuKO3
|
||||
token = {"access_token":"ya29.a0AT3oNZ-q7U13IU0crYaDheKuUeBQdfZL3YCmZ2jjlEylXO1wazaZizHtHFwR5DYBpIA5fm1h1QKYFUPBjQ9H797CnReawHbv4Q2xjf6aqunNpfh1YOelUVCnBHbMAh7LFRF45R9jzvtIq8eVFs-B121RiMZuWGieSwEE5VikA_HEDFLJ_UCmpYVxIdhP0MSVNfSX2XcaCgYKAbMSARESFQHGX2MiJDojeLl-WI4BgR47k9WrRA0206","token_type":"Bearer","refresh_token":"1//03hFnXjchDjE5CgYIARAAGAMSNwF-L9IrISKDqOpd45XqBjWX_ULW8EPKP80itw48S1bJVyXa3nGS2TgBCTwbiNOaYwbzzgqaRTM","expiry":"2026-07-06T17:03:13.815812029+01:00"}
|
||||
--------------------
|
||||
y) Yes this is OK (default)
|
||||
e) Edit this remote
|
||||
d) Delete this remote
|
||||
y/e/d>
|
||||
0
Technical/Server/Server Backend.md
Normal file → Executable file
0
Technical/Server/Server Backend.md
Normal file → Executable file
4
Technical/Server/Server MOC.md
Normal file → Executable file
4
Technical/Server/Server MOC.md
Normal file → Executable file
@@ -19,4 +19,6 @@ done: true
|
||||
|
||||
- [[Cloudflare]]
|
||||
|
||||
- [[Gitea]]
|
||||
- [[Gitea]]
|
||||
|
||||
- [[RClone]]
|
||||
0
Technical/Server/Vaultwarden.md
Normal file → Executable file
0
Technical/Server/Vaultwarden.md
Normal file → Executable file
5
Technical/Technical MOC.md
Normal file → Executable file
5
Technical/Technical MOC.md
Normal file → Executable file
@@ -7,6 +7,10 @@ done: true
|
||||
---
|
||||
In this file I want to include technical information (things related to programming, coding and networking etc):
|
||||
|
||||
- [[Linux MOC]]
|
||||
- [[Emacs MOC]]
|
||||
- [[Server MOC]]
|
||||
|
||||
- [Programming Projects](id:d63abaad-15e8-45d8-aafb-c634164ec0c0)
|
||||
|
||||
- [AOC Notes](id:e7f2302b-16eb-476d-a7b9-be12f077819d)
|
||||
@@ -15,7 +19,6 @@ In this file I want to include technical information (things related to programm
|
||||
|
||||
- [Github Notes](id:ee6047b0-c878-4ec8-a1cf-9daf5c8f5b8e)
|
||||
|
||||
- [Linux MOC](id:bdb493df-db92-4c93-9558-0b10fdff3048)
|
||||
|
||||
- [Database MOC](id:e448cd99-afee-4702-947f-644bb34dc1aa)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user