newish musings
blog logic puzzles piward coding
β•­ 𝟘𝟞· logic I now have a somewhat general "pigeonhole solver" which, given a set of equations of the form x_iΒ¬=x_j and for each x_i, one equation of the form x_i∈{c_j
β”Š c_(j+1) c_(j+2) ... c_(j+k)}. This can directly be solved with a search, but I've been trying to avoid that in my pretense toward symbolic manipulation. In the end,
β”Š I'm not sure my approach is all that different than a search - if I can write my approach up in a sensible form, I'll post a doc someplace and hope to learn more.
β”Š
β”Š πŸšπŸ™Β· 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.
𝕖 β”Š
𝕔 β”Š 𝟚𝟚· 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'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).