View from grasshopper inside a cluster showing a small domain (expected_z_delta) View from grasshopper outside a cluster showing a large domain (expected_z_delta)

🤯

So I'm hacking on Mahjongg VGA by Ron Balewski.
Like you do.

Title screen for MAH JONGG VGA version 3.1, Copyright 1988-91 Ron Balewski

how do they even find these games?

What’s going on at MAX IV?

I was curious to see what issues would be labeled “trivial” in the NixOS/nixpkgs tracker and found one where a user couldn’t fetch rev “V 1.9.1” (with a space) from Bitbucket. The repo with this rev has moved, so I couldn’t reproduce… github.com/NixOS/nix…

The hardest working font in Manhattan - Marcin Wichary.

I had my suspicions of its origins but it turned out to be more interesting than I thought.

Tests with micropub from orgmode

First create the JSON payload following the Micropub spec. This function expects an org-roam note, i.e. one file per node.

I use ox-pandoc to create my html but it could probably be done using the built in html export.

(defun org-to-micropub-json ()
  "Convert the current org buffer to a JSON payload for Micropub."
  (interactive)
  (let* ((org-pandoc-options '((standalone . nil))) ; Set standalone to nil
                           (result (org-pandoc-export-to-html5 nil nil t))
                           (output-file (nth 3 result))
                (html (with-temp-buffer (insert-file-contents output-file)
                                        (prog1 (buffer-string) (delete-file output-file))))
         (category (org-entry-get-multivalued-property (point-min) "MP-CATEGORY"))
         (published (org-entry-get (point-min) "CAPTURED"))
         (payload `((type . ("h-entry"))
                 (properties
                  (content ((html . ,html)))
                  (published . ,(list (org-timestamp-to-iso published)))
                  (category . ,category)))))
         (json-encode payload)))

Since I’m doing this in an orgmode file I can run the blocks and I get the output generated in a box below.

It looks like this since I’m only defining a function:

#+RESULTS:
: org-to-micropub-json

HTTP request

To send the POST request I used request.

(require 'request)

(defun post-to-micropub (json-payload auth-token)
  "Send a JSON payload to the Micropub endpoint with an authorization token."
  (request
    "https://micro.blog/micropub"
    :type "POST"
    :headers `(("Content-Type" . "application/json")
               ("Authorization" . ,(concat "Bearer " auth-token)))
    :data (json-encode json-payload)
    :parser 'json-read
    :success (cl-function
              (lambda (&key data &allow-other-keys)
                (message "Posted successfully: %S" data)))
    :error (cl-function
            (lambda (&key error-thrown &allow-other-keys&rest _)
              (message "Error: %S" error-thrown)))))

Again, I only get the name of the function returned.

Running it

(post-to-micropub (org-to-micropub-json)
        (with-temp-buffer
        (insert-file-contents "~/.config/sops-nix/secrets/microblog_mp/emacs")
        (buffer-string)))

This one has more output, this is just a snippet:

#+RESULTS:
: #s(request-response nil nil nil nil nil "https://micro.blog/micropub" nil (:type "POST" :headers (("Content-Type" . "application/json) [...]

I’ll tweak this a bit more, and experiment with sending markdown instead of HTML. It would be great to store the URL to the posted note in the properties drawer, that way further updates could be done again from the buffer.

Nice to be able to publish from my editor >:).

If an AI application delivers some profound public good, or even if it might, it’s probably okay that its value is rooted in this unprecedented operationalization of the commons.

If an AI application simply replicates Everything, it’s probably not okay.

Is it Okay - Robin Sloan via lobste.rs

Nuanced and balanced argument, but as lobste.rs user minimax writes:

The simple question, “is it OK”, is much too broad, which is why the author ends up with both Yes and No. Better ask when and why are specific instantiations of the scrape-and-trellis pipeline and specific applications of its products morally justifiable, or not.

New year same cats!

Two cats, one relaxed, one worried, in apartment hallway. Disco lightening.

Finn ett kattorsakat fel

Boys be ambitious

nite

gacha life

rensar ut bilder

blandat vackert

Hus

Sanrio

Linimo maglev

När påsen blev sorterad