Skip to content

Instantly share code, notes, and snippets.

2025-12-31

  • Writer Ted Chiang on AI and grappling with big ideas - Avery Keatley, Scott Detrow, Patrick Jarenwattananon
  • ChatGPT Is a Blurry JPEG of the Web - Ted Chiang - version archived elsewhere as original is paywalled

    In 2013, workers at a German construction company noticed something odd about their Xerox photocopier: when they made a copy of the floor plan of a house, the copy differed from the original in a subtle but significant way. In the original floor plan, each of the house’s three rooms was accompanied by a rectangle specifying its area: the rooms were 14.13, 21.11, and 17.42 square metres, respectively. However, in the photocopy, all three

@sogaiu
sogaiu / notes.md
Created March 12, 2026 10:56
macro hygiene stuff
(defmacro each-reverse [identifier list & body]
  (with-syms [$i $list]
    ~(let [,$list ,list]
      (var ,$i (,dec (,length ,$list)))
      (while (>= ,$i 0)
        (def ,identifier (in ,$list ,$i))
        ,;body
        (-- ,$i)))))
@sogaiu
sogaiu / notes.md
Last active March 11, 2026 10:28
build static janet via qemu + alpine

steps

@sogaiu
sogaiu / gist:0b75094eb94a7e640dc6f46978fa8777
Last active March 9, 2026 13:11
passphrase via terminal for gnupg
# create file
$ echo hello > fun.txt
# symmetric encryption
$ gpg --verbose --verbose --pinentry-mode loopback --symmetric fun.txt
gpg: enabled compatibility flags:
gpg: using cipher AES256.CFB
gpg: writing to 'fun.txt.gpg'
# decryption
$ janet
Janet 1.41.3-dev-8f446736 linux/x64/gcc - '(doc)' for help
repl:1:> (tabseq [i :in [:a :b]] i i)
@{:a :a :b :b}
repl:2:> (defn loop [&] nil)
<function loop>
repl:3:> (tabseq [i :in [:a :b]] i i)
repl:3:9: compile error: unknown symbol i
# reference: https://ianthehenry.com/posts/janet-game/the-problem-with-macros/
@sogaiu
sogaiu / kiczales-oopsla94-black-boxes-reuse.md
Created March 5, 2026 04:10 — forked from msgodf/kiczales-oopsla94-black-boxes-reuse.md
Gregor Kiczales "Why are black boxes so hard to reuse?"

This talk was given by Gregor Kiczales of Xerox PARC at OOPSLA ’94, 10/26/94. © 1994, University Video Communications. A transcript, with point- and-click retrieval of the slides, is available at http:/www.xerox.com/PARC/spl/eca/oi/gregor-invite/gregor- transcript.html

Why are black boxes so hard to reuse?

I think our field will go through a revolution. We will fundamentally change the way we think about and use abstraction in the engineering of software.

The goal of this talk is to summarize the need for and the basic nature of this abstraction framework.

The change is not new problems or new systems, but a new way of thinking about existing problems and existing systems.

@sogaiu
sogaiu / notes.md
Last active March 1, 2026 09:28
icloud notes