diff options
| -rw-r--r-- | content/posts/personal-pastebin.md | 19 | ||||
| -rw-r--r-- | content/posts/pinenote.md | 19 | ||||
| -rw-r--r-- | src/operationnull/pages.scm | 2 | ||||
| -rw-r--r-- | src/operationnull/site.scm | 16 | ||||
| -rw-r--r-- | src/operationnull/theme.scm | 4 |
5 files changed, 55 insertions, 5 deletions
diff --git a/content/posts/personal-pastebin.md b/content/posts/personal-pastebin.md new file mode 100644 index 0000000..0b978df --- /dev/null +++ b/content/posts/personal-pastebin.md @@ -0,0 +1,19 @@ +title: Personal Filesharing +date: 2025-02-17 00:00 +tags: site +summary: browsers do display all files after all +--- + +I previously used pastebin/filesharing sites to send code and images over IRC. However, I no longer do; after piecing together my own. + +The code to run the pastebin is small; it would be even smaller if I were more practiced in shell scripting: + +One script on my laptop accepts a file name and an optional time specifier in hours. It generates a new file name with a few random characters piped out of `/dev/urandom`, concatenates it with a dash - character, and a unix timestamp representing `CURR_DATE + USER_SPECIFIED_HOURS`. It then uses `scp` to copy the given file to a public-facing directory on the remote server with the generated name (the directory listing itself cannot be viewed in a browser, though, since the pasted files are meant to be relatively hidden). + +The second script on the remote server simply scans the directory every hour for files that are expired (based on the file name) and removes them. + +Of course, hosting your own pastebin is a relatively common idea if you have a webserver and the need, (I even found some tools which set up an entire netcat server if you need a full web service). However, I myself had not yet seen anyone use filenames to get almost all of the functionality of file-hosting sites like 0x0.st. I reused the idea from Protesilaos Stavrou's Emacs 'denote' package, which also showcases the power and simplicity of embedding metadata in file names; since it remains very accessible to filtering with standard CLI tools. + +I like being able to upload my files and share them from a space I still control. I only remembered to finish writing about this idea since it already had appreciated benefits in unexpected places; allowing me to share my University work through a link to my own site, rather than the suggested use of services such as google drive. + +Sometimes it's easy to forget that browsers can play raw video or display pdfs when directed to a video file. diff --git a/content/posts/pinenote.md b/content/posts/pinenote.md new file mode 100644 index 0000000..1800e7b --- /dev/null +++ b/content/posts/pinenote.md @@ -0,0 +1,19 @@ +title: Pinenote +date: 2026-01-14 01:55 +tags: questionable purchases, linux, reading, writing +summary: expensive but maybe worth it +--- + +I bought an experimental eink tablet for almost $500, because I like to read a lot. + +Maybe the smugness is over the top, given the second clause doesn't succeed in following from the first. Paper and books are cheap, and reading epubs is a simple enough task on any device. But the Pinenote solves a specific problem I have more elegantly than I think any other device could, in a way that makes me curious what else I can use it to solve. + +To get closer to the point, I've purchased a fair share of physical books off of sites like thriftbooks or biblio. While I like Emacs, I only want to use it when I need to be at the computer. Times where this is not the case is almost never. Pleasure reading is one of my few hobbies that does not require a computer, but only if I own a physical copy of the text I want to read, which again is almost never, especially because I'm reading at any time is done on a whim; I don't have a backlog to borrow or purchase. + +It may be wrong to consider using the Pinenote a 'break' from computers, but eink feels extremely low tech. It looks like paper, gives off as much light as paper, and requires as much power as a piece of paper to keep the display on (each would-be-pixel stores a state similar to NAND flash when a charge is applied). In the pinenote's case, it almost feels like paper. I only wish it turned like paper. + +Most importantly, the distractions of a laptop or phone are not there; eink isn't nearly fast enough for watching videos, it doesn't display color, and the frontlight eats through enough battery I am motivated to leave it off in favor of an external light. I didn't expect this kind of boon, but have even started using the device to hand write out the plot of my fiction rather than typing. Most of my usage has been limited to koreader and xournalpp. In this case, Emacs as a writing environment fails to provide the most important thing: a distraction free environment. + +In just a few days, I'm already appreciative the screen of an eink is never blank even when off; it gives the impression the device is always ready and waiting for me to use it (I make a point to leave the device 'suspended' on my desk with whatever I was doing still perfectly visible). + +Of course; one of the main benefits is that the Pinenote is a full GNU/Linux device, which is without many restrictions and familiar enough. I'm excited to try running GNU Guix on it (I have no experience with troubleshooting or developing for ARM yet) and seeing if it can be used as a input device or drawing tablet on my laptop. I am in no rush though, for now I'm satisfied with the preinstalled software suite and much anticipated reading. diff --git a/src/operationnull/pages.scm b/src/operationnull/pages.scm index 53eb660..945e97f 100644 --- a/src/operationnull/pages.scm +++ b/src/operationnull/pages.scm @@ -69,7 +69,7 @@ "Power metal. This song mostly got me into the metal genre along with Powerwolf, but I don't like the latter as much anymore. I do love the wolf theme, along with Catamenia." (li "Suldusk - Solus Ipse") "This song fits in a weird genre; pagan metal or folk. The deliberate mix of clean and growling vocals is beautiful, as sparing as they are. Wonderful atmosphere." - (li "The Ritual Aura - Keeing III: Dreamer's End") + (li "The Ritual Aura - Keening III: Dreamer's End") "Death metal. Might give myself whiplash, and guitar may be as edgy as the lyrics, but it tends to be very poetic. May be a reference to Elder Scrolls Morrowind, which I haven't played but should." (li "TOOL - Rosetta Stoned") "Rock; about psychedeilc visions of alien contact and supposed purpose. Storytelling is worth the 10+ minute length.")))) diff --git a/src/operationnull/site.scm b/src/operationnull/site.scm index 05bb048..80f6447 100644 --- a/src/operationnull/site.scm +++ b/src/operationnull/site.scm @@ -1,15 +1,19 @@ (define-module (operationnull site) #:use-module (haunt builder assets) + #:use-module (haunt builder atom) + #:use-module (haunt builder blog) #:use-module (haunt html) #:use-module (haunt post) #:use-module (haunt reader) - #:use-module (haunt reader skribe) + #:use-module (haunt reader commonmark) #:use-module (haunt site) #:use-module (operationnull pages) #:use-module (operationnull static) #:use-module (operationnull theme) #:export (main-site)) +(define %blog-collection + `(("Recent Posts" "/posts/index.html" ,posts/reverse-chronological))) (define main-site (site #:title "operationnull" @@ -18,10 +22,16 @@ #:build-directory "target" #:default-metadata '((author . "bdunahu")) - #:readers (list skribe-reader) + #:readers (list commonmark-reader) #:builders (list (static-page index-content "index.html" "home") (static-page contact-content "/contact.html" "contact") (static-page e404 "/404.html" "404 Error") (static-page gold-content "/gold.html" "Shape God") (static-page music-content "/music.html" "music I like") - (static-directory "content/assets" "assets")))) + (static-directory "content/assets" "assets") + (blog #:theme main-theme + #:prefix "/posts/" + #:collections %blog-collection) + (atom-feeds-by-tag) + (atom-feed #:file-name "atom.xml" + #:subtitle "Recent Posts")))) diff --git a/src/operationnull/theme.scm b/src/operationnull/theme.scm index 88e04c0..a899575 100644 --- a/src/operationnull/theme.scm +++ b/src/operationnull/theme.scm @@ -53,6 +53,8 @@ "porphyrion")) (li (a (@ (href "https://git.operationnull.com/")) "git")) + (li (a (@ (href "/posts/")) + "blog")) (li (a (@ (href "/contact.html")) "contact")) (li (a (@ (href "/")) @@ -63,7 +65,7 @@ (script (@ (id "umaring_js") (src "https://umaring.mkr.cx/ring.js?id=bdunahu"))) (div (@ (id "umaring"))) - "Copyright © 2025 bdunahu" + "Copyright © 2024-2026 bdunahu" (br) "Site content available under the " ,%cc-by-sa-link " license " (a (@ (href "https://git.operationnull.com/operationnull.git/")) |
