╭
𝟘𝟟·
I've updated my thoughts about Stephen Miller's recent CNN interview because my memory wasn't as precise as I'd like. Here, from the CNN subtitles, is a bit of what
┊
Miller tells interviewer Jake Tapper: “We live in a world -- the real world, Jake -- that is governed by strength, that is governed by force, that is governed by
𝕁
┊
power. These are the iron laws of the world that have existed since the beginning of time.” The logic is clear enough: strength enables the use of force, granting the
𝕒
┊
power to govern. Even the right to govern in peace is backed by the the capacity to escalate force to violence. What societies call ‘law’ is an agreement between the
𝕟
┊
strong to defer violence until weakness sets in on one side. Government, the enemy of the people, corrals citizens with violent threats and deeds - it is the apex
𝕦
┊
terrorist organization. What follows for our society? Rights are ensured only by an armed citezenry ready to inflict violence that results in significant pain to the
𝕒
┊
government. Schools and homes exist in the same world; are the threats and acts of playground bullies and domestic abusers the way to pick our leaders or make
𝕣
┊
decisions in families?
𝕪
┊
┊
𝟘𝟝·
puzzles I started on a formulation of Slitherlink rules in ⟪Sapphire⟫. Connectivity, as a pairwise relation could be easily satisfied by being true for any vertices
┊
that are connected to anything. I ended up defining a distance function with a special value (rather than a distinct relation) for ‘not connected’. In the next day or
╰
two, I'll see how ⟪Silver⟫ does trying to find a satisfying model (aka solution).
╭
𝟛𝟘·
coding I've been bogged down by my bootstrapping shenanigans. I finally decided to re-execl the current build when cyclic dependencies could change generated code.
┊
Because I'm building my tools in place, I use a “revert-bootstraps” routine often to deal with all-to-frequent breakage.
┊
┊
𝟚𝟠·
coding More language infrastructure progress - I've got code generating from the ⟪Violet⟫ language layer that bridges between ⟪Cobalt⟫ (aka C) and ⟪Midnight⟫ (aka
┊
Python). I generate code that uses Python's ‘ctypes’ module to call C from Python, making it easy to mix and match implementations.
┊
┊
𝟚𝟞·
coding I took a small step toward sensible language handling by generating a full parse tree for a small input file. Starting life as a no-op, my evolving ‘zypp’
┊
preprocessor converts ⟪Midnight⟫ and ⟪Cobalt⟫ to Python and C, respectively, in an entirely ad-hoc fashion. At least I know I can create an inviting bug hotel.
┊
Eventually, each language layer I use will share a unified parser, but different intermediate code generators which will perform first level semantic checks. The
┊
intermiedate language will support high level primitives that can be lowered to target subsets which can be used to emit code. My ⟪Sapphire⟫ project has a good deal
┊
of infrastructure to cope with.
┊
┊
𝟚𝟝·
piward I finished implementing SDL ‘framebuffer’ objects which display a screen sized OpenGL texture. Framebuffer support is primarily for debugging, but also can be
┊
used with small ‘gadget’ displays, like Pimoroni's Display Hat Mini, ePaper displays, also available from Pimoroni or from Waveshare, which I used to prototype a
┊
Raspberry Pi based e-Reader.
┊
𝔻
┊
𝟚𝟜·
I finally got around to watching Jordan Peele's documentary "Get Out" the other night. I have to say, the re-enactments were grisly, but well done.
𝕖
┊
𝕔
┊
𝟚𝟛·
logic I've added support for the Cartesian Product, represented by ‘×’ in Unicode (U+D7). What I call “tuple constrained quantification” (∀⟨x y⟩∈Z×Z) is accepted in
𝕖
┊
⟪Sapphire⟫ as well as set exponentiation by an integer (Z^4 ▷ Z×Z×Z×Z) ({1⋯3}^3 ▷ {1⋯3}×{1⋯3}×{1⋯3}). Finite expressions can be evaluated in calculator fashion (⟨1 2
𝕞
┊
3⟩∈{1⋯3}^3 ▷ ✔) (∀⟨a b⟩∈{1⋯3}^2 a>3 ⇒ a+b>4 ▷ ✔) and can also be symbolically manipulated by ⟪Ag⟫, aka “The Silver Solver”. I've updated my Sudoku rules to use these
𝕓
┊
new features
𝕖
┊
𝕣
┊
𝟚𝟚·
coding I'm using ‘⊙‘ for dot product and ‘⊗’ for cross product. My preprocessor translates these from binary operators into calls to ‘dot’ and ‘cross’, which are
┊
native in GLSL and implemented in Python to work on number sequences of equal length (dot) or only 3-tuples of numbers (cross).
┊
┊
𝟚𝟚·
coding While I use Unicode extensively and appreciate its near universal adoption and support, I object to any description of it as a "character set". It is a partial
┊
encoding for semantically based typesetting of all human-readable text that includes representations for historic character sets. Ideally, a "character set" provides
┊
an abstract, finite set of symbols for computation and a visual representation that allows human beings to readily identify symbols in a sequence - a simple alphabet.
┊
If we remove codepoints that are control values (modifiers and typesetting indicators) and, for groups of characters which are (subjectively) visually similar,
┊
discard all but one, we are left with a workable character set. But it's a major bonus if human beings can naturally associate meaning with sequences to form a human
┊
readable language. This character set requires knowledge of every alphabet included in Unicode and fluency in at least one language that uses each alphabet. I encode
┊
formal languages and strings using my own (still evolving) ”Zy Logical Character Set" or "Zylch" (the "zy" is vestigial, but still makes for entertaining acronyms).
┊
It's a single byte encoding starting with the digits 0⋯9, followed by the 26 uppercase then 26 lowercase letters of English. Then a bunch of symbols that change from
┊
week to week...
┊
┊
𝟚𝟙·
coding I updated my color text routines that I use in all my Python tools to proceess faster when read into Emacs. One day, I may create an IDE for my ‘neo-retro’
┊
logic-puzzle computing environment, but Emacs is still the best tool for me.
┊
╰
𝟘𝟞·
logic I now have a somewhat general "pigeonhole solver" ...