Repos / hi.imnhan.com / 204421cb6b
commit 204421cb6bf61bfa77e06e42124ae65b79251b5b
Author: Nhân <hi@imnhan.com>
Date:   Wed Sep 6 12:41:05 2023 +0700

    remove outdated notes, update ideas.dj

diff --git a/_s4g/manifest b/_s4g/manifest
index c742133..e04eba1 100644
--- a/_s4g/manifest
+++ b/_s4g/manifest
@@ -18,7 +18,6 @@ movie-streaming/gflick/index.html
 movie-streaming/index.html
 movie-streaming/put.io/index.html
 node-webkit/index.html
-notes.html
 pathogen-vs-vundle/index.html
 petition-fraud/index.html
 pippable-webapp/index.html
@@ -59,5 +58,4 @@ stepmania-pad/index.html
 tmux-italics/index.html
 ubuntu-programs/index.html
 vim-open-link/index.html
-virtualenvwrapper/index.html
-yaks.html
\ No newline at end of file
+virtualenvwrapper/index.html
\ No newline at end of file
diff --git a/ideas.dj b/ideas.dj
index 5e51328..61e101b 100644
--- a/ideas.dj
+++ b/ideas.dj
@@ -2,24 +2,27 @@ Title: Potential project ideas
 ShowInFeed: false
 ---
 
-## Self hosted RSS reader in D
+## Self hosted RSS reader in pure Go
 
 - Single executable, web based
-- SQLite3
-- Either use adamdruppe's rss.d or wrap libmrss
+- bbolt
 - Bonus: e-ink friendly display
 - Bonus: netsurf friendly
 
-## Desktop GUI blogging CMS using tkinter
+## Desktop GUI blogging CMS using Tcl/Tk + Go backend
 
 - Native win/mac look-and-feel, acceptable on linux (`clam` looks alright)
-- Split screen: one with markdown/bbcode source and one with rendered preview
+- SQLite as application file format
+- WYSIWYG à la ProseMirror, exportable to djot/markdown.
 - Sane embedded image/video/etc. file management via GUI
+
   + Bonus: 1-click preprocessing: strip EXIF, losslessly optimize image
+
 - *No embedded browser*
 - Is static site generator, but supports 1-click deployment to neocities,
   github/gitlab/sourcehut pages etc.
-- Human-friend distribution e.g. nuitka, pyoxidizer (pyinstaller is pretty meh)
+- Human-friendly distribution.
+  Ideally only two binaries: main proram and tclsh/wish executable.
 - Bonus: pluggable templates
 
 ## Discord bot that launches CSGO/etc. server on demand
diff --git a/ideas.html b/ideas.html
index 69054ea..a583170 100644
--- a/ideas.html
+++ b/ideas.html
@@ -34,17 +34,14 @@
 
 <h1>Potential project ideas</h1>
 
-<section id="Self-hosted-RSS-reader-in-D">
-<h2>Self hosted RSS reader in D<a href="#Self-hosted-RSS-reader-in-D" class="heading-link">#</a></h2>
+<section id="Self-hosted-RSS-reader-in-pure-Go">
+<h2>Self hosted RSS reader in pure Go<a href="#Self-hosted-RSS-reader-in-pure-Go" class="heading-link">#</a></h2>
 <ul>
 <li>
 Single executable, web based
 </li>
 <li>
-SQLite3
-</li>
-<li>
-Either use adamdruppe’s rss.d or wrap libmrss
+bbolt
 </li>
 <li>
 Bonus: e-ink friendly display
@@ -54,18 +51,25 @@ <h2>Self hosted RSS reader in D<a href="#Self-hosted-RSS-reader-in-D" class="hea
 </li>
 </ul>
 </section>
-<section id="Desktop-GUI-blogging-CMS-using-tkinter">
-<h2>Desktop GUI blogging CMS using tkinter<a href="#Desktop-GUI-blogging-CMS-using-tkinter" class="heading-link">#</a></h2>
+<section id="Desktop-GUI-blogging-CMS-using-Tcl-Tk-Go-backend">
+<h2>Desktop GUI blogging CMS using Tcl/Tk + Go backend<a href="#Desktop-GUI-blogging-CMS-using-Tcl-Tk-Go-backend" class="heading-link">#</a></h2>
 <ul>
 <li>
 Native win/mac look-and-feel, acceptable on linux (<code>clam</code> looks alright)
 </li>
 <li>
-Split screen: one with markdown/bbcode source and one with rendered preview
+SQLite as application file format
+</li>
+<li>
+WYSIWYG à la ProseMirror, exportable to djot/markdown.
 </li>
 <li>
 Sane embedded image/video/etc. file management via GUI
-+ Bonus: 1-click preprocessing: strip EXIF, losslessly optimize image
+<ul>
+<li>
+Bonus: 1-click preprocessing: strip EXIF, losslessly optimize image
+</li>
+</ul>
 </li>
 <li>
 <strong>No embedded browser</strong>
@@ -75,7 +79,8 @@ <h2>Desktop GUI blogging CMS using tkinter<a href="#Desktop-GUI-blogging-CMS-usi
 github/gitlab/sourcehut pages etc.
 </li>
 <li>
-Human-friend distribution e.g. nuitka, pyoxidizer (pyinstaller is pretty meh)
+Human-friendly distribution.
+Ideally only two binaries: main proram and tclsh/wish executable.
 </li>
 <li>
 Bonus: pluggable templates
diff --git a/notes.dj b/notes.dj
deleted file mode 100644
index 949e839..0000000
--- a/notes.dj
+++ /dev/null
@@ -1,28 +0,0 @@
-Title: Random notes
-ShowInFeed: false
----
-
-In which I jot down scattered tidbits on various topics.
-
-## SRE
-
-There's a good [checklist](http://rachelbythebay.com/w/2019/07/21/reliability/)
-on Rachel By The Bay, the gist is:
-
-- Rollbacks should work. On every deployment.
-- A to AB to B (a.k.a. make before break):
-
-    - v2 code/data should not break v1 code/data
-
-- Strict(er than JSON) schema-ing when you fling data across places
-
-    - Protobuf, etc.
-    - You should only _begin_ to consider JSON if you need to talk to browsers
-
-- Please fix 500s.
-
-    - Also you should only get 400s when talking to external things out of your control
-
-Her [follow-up](http://rachelbythebay.com/w/2019/10/05/nxdomain/) is a nice
-scary story too. Also reminder that "infra-as-code" abstractions isn't an
-excuse _not_ to learn the underlying infra properly.
diff --git a/notes.html b/notes.html
deleted file mode 100644
index 88d341d..0000000
--- a/notes.html
+++ /dev/null
@@ -1,88 +0,0 @@
-<!DOCTYPE html>
-<html>
-
-<head>
-  <meta charset="utf-8" />
-  <title>Random notes | Hi, I&#39;m Nhân</title>
-  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-  <link rel="alternate" type="application/atom+xml" title="Atom feed" href="/feed.xml">
-  <link rel="stylesheet" href="/_s4g/theme/fonts.css">
-  <link rel="stylesheet" href="/_s4g/theme/base.css">
-
-  <meta property="og:title" content="Random notes" />
-  <meta name="twitter:title" content="Random notes" />
-  <meta name="twitter:card" content="summary" /><meta property="og:image" content="https://hi.imnhan.com/about/keyboard-warrior.jpg" />
-    <meta name="twitter:image" content="https://hi.imnhan.com/about/keyboard-warrior.jpg" /><meta name="twitter:site" content="@nhanb" />
-</head>
-
-<body>
-
-<link rel="stylesheet" href="/_s4g/theme/navbar.css">
-<nav>
-  <a href="/" >Home</a>
-  <a href="/about/" >About</a>
-  <a href="/projects/" >Projects</a>
-  <a href="https://cv.imnhan.com" target="_blank">CV</a>
-
-  <a class="feed-link" href="/feed.xml" title="Actually Atom">RSS</a>
-
-</nav>
-<hr class="nav-hr">
-
-
-<main>
-
-<h1>Random notes</h1>
-
-<p>In which I jot down scattered tidbits on various topics.</p>
-<section id="SRE">
-<h2>SRE<a href="#SRE" class="heading-link">#</a></h2>
-<p>There’s a good <a href="http://rachelbythebay.com/w/2019/07/21/reliability/">checklist</a>
-on Rachel By The Bay, the gist is:</p>
-<ul>
-<li>
-Rollbacks should work. On every deployment.
-</li>
-<li>
-A to AB to B (a.k.a. make before break):
-<ul>
-<li>
-v2 code/data should not break v1 code/data
-</li>
-</ul>
-</li>
-<li>
-Strict(er than JSON) schema-ing when you fling data across places
-<ul>
-<li>
-Protobuf, etc.
-</li>
-<li>
-You should only <em>begin</em> to consider JSON if you need to talk to browsers
-</li>
-</ul>
-</li>
-<li>
-Please fix 500s.
-<ul>
-<li>
-Also you should only get 400s when talking to external things out of your control
-</li>
-</ul>
-</li>
-</ul>
-<p>Her <a href="http://rachelbythebay.com/w/2019/10/05/nxdomain/">follow-up</a> is a nice
-scary story too. Also reminder that “infra-as-code” abstractions isn’t an
-excuse <em>not</em> to learn the underlying infra properly.</p>
-</section>
-
-</main>
-
-<footer>
-© 2013–2023 Bùi Thành Nhân<br>
-Made with <a href="https://github.com/nhanb/s4g">s4g</a> and probably too much <a href="https://www.instagram.com/cheese.coffee/" target="_blank">cà&nbsp;phê&nbsp;sữa&nbsp;đá</a>
-</footer>
-
-</body>
-
-</html>
diff --git a/yaks.dj b/yaks.dj
deleted file mode 100644
index da5b9b1..0000000
--- a/yaks.dj
+++ /dev/null
@@ -1,39 +0,0 @@
-Title: Yak shaving
-ShowInFeed: false
----
-
-Basically my TODOs, in pursuit of the ever-pervasive _pleasant workflow_.
-
-## Replacing tmux with kitty
-
-All blockers seem to have been addressed now?
-
-- [tmuxp replacement](https://sw.kovidgoyal.net/kitty/index.html#startup-sessions)
-- [seamless navigation alongside vimsplit](https://github.com/knubie/vim-kitty-navigator)
-
-
-## Interesting tools
-
-- [pyinfra](https://pointlessramblings.com/posts/why-you-should-try-pyinfra/):
-
-    + faster than ansible, from my anecdotal experience
-    + python, not yaml
-    + truly agentless (doesn't even require python)
-
-- [doit](https://pydoit.org/): I just want a cross-platform `make`.
-
-
-## Home server
-
-Specs:
-
-- Thinkpad T430 whose screen just broke
-- Accessible via Tailscale
-- Debian 10 installed on main SSD
-- 2x1TB Seagate HDDs, LUKS encrypted, running a RAID1 btrfs pool.
-
-Services:
-
-- Syncthing
-- Some RSS reader
-- Some bookmarking system that does full text search.
diff --git a/yaks.html b/yaks.html
deleted file mode 100644
index c187d25..0000000
--- a/yaks.html
+++ /dev/null
@@ -1,112 +0,0 @@
-<!DOCTYPE html>
-<html>
-
-<head>
-  <meta charset="utf-8" />
-  <title>Yak shaving | Hi, I&#39;m Nhân</title>
-  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-  <link rel="alternate" type="application/atom+xml" title="Atom feed" href="/feed.xml">
-  <link rel="stylesheet" href="/_s4g/theme/fonts.css">
-  <link rel="stylesheet" href="/_s4g/theme/base.css">
-
-  <meta property="og:title" content="Yak shaving" />
-  <meta name="twitter:title" content="Yak shaving" />
-  <meta name="twitter:card" content="summary" /><meta property="og:image" content="https://hi.imnhan.com/about/keyboard-warrior.jpg" />
-    <meta name="twitter:image" content="https://hi.imnhan.com/about/keyboard-warrior.jpg" /><meta name="twitter:site" content="@nhanb" />
-</head>
-
-<body>
-
-<link rel="stylesheet" href="/_s4g/theme/navbar.css">
-<nav>
-  <a href="/" >Home</a>
-  <a href="/about/" >About</a>
-  <a href="/projects/" >Projects</a>
-  <a href="https://cv.imnhan.com" target="_blank">CV</a>
-
-  <a class="feed-link" href="/feed.xml" title="Actually Atom">RSS</a>
-
-</nav>
-<hr class="nav-hr">
-
-
-<main>
-
-<h1>Yak shaving</h1>
-
-<p>Basically my TODOs, in pursuit of the ever-pervasive <em>pleasant workflow</em>.</p>
-<section id="Replacing-tmux-with-kitty">
-<h2>Replacing tmux with kitty<a href="#Replacing-tmux-with-kitty" class="heading-link">#</a></h2>
-<p>All blockers seem to have been addressed now?</p>
-<ul>
-<li>
-<a href="https://sw.kovidgoyal.net/kitty/index.html#startup-sessions">tmuxp replacement</a>
-</li>
-<li>
-<a href="https://github.com/knubie/vim-kitty-navigator">seamless navigation alongside vimsplit</a>
-</li>
-</ul>
-</section>
-<section id="Interesting-tools">
-<h2>Interesting tools<a href="#Interesting-tools" class="heading-link">#</a></h2>
-<ul>
-<li>
-<a href="https://pointlessramblings.com/posts/why-you-should-try-pyinfra/">pyinfra</a>:
-<ul>
-<li>
-faster than ansible, from my anecdotal experience
-</li>
-<li>
-python, not yaml
-</li>
-<li>
-truly agentless (doesn’t even require python)
-</li>
-</ul>
-</li>
-<li>
-<a href="https://pydoit.org/">doit</a>: I just want a cross-platform <code>make</code>.
-</li>
-</ul>
-</section>
-<section id="Home-server">
-<h2>Home server<a href="#Home-server" class="heading-link">#</a></h2>
-<p>Specs:</p>
-<ul>
-<li>
-Thinkpad T430 whose screen just broke
-</li>
-<li>
-Accessible via Tailscale
-</li>
-<li>
-Debian 10 installed on main SSD
-</li>
-<li>
-2x1TB Seagate HDDs, LUKS encrypted, running a RAID1 btrfs pool.
-</li>
-</ul>
-<p>Services:</p>
-<ul>
-<li>
-Syncthing
-</li>
-<li>
-Some RSS reader
-</li>
-<li>
-Some bookmarking system that does full text search.
-</li>
-</ul>
-</section>
-
-</main>
-
-<footer>
-© 2013–2023 Bùi Thành Nhân<br>
-Made with <a href="https://github.com/nhanb/s4g">s4g</a> and probably too much <a href="https://www.instagram.com/cheese.coffee/" target="_blank">cà&nbsp;phê&nbsp;sữa&nbsp;đá</a>
-</footer>
-
-</body>
-
-</html>