summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHaoran S. Diao (刁浩然) <0@hairydiode.xyz>2023-06-30 09:15:30 -0700
committerHaoran S. Diao (刁浩然) <0@hairydiode.xyz>2023-06-30 09:15:30 -0700
commite69e265f78025b80f4dc33409aa851a351ebe3bb (patch)
tree643420f3156a761bddbddaa3f0a38b4a2d5678ab
parentf511ce8ec7309fd75d574b820d08518c90ab3c4a (diff)
Jankime update, unihome prelim
-rw-r--r--cont/jankime.html9
-rw-r--r--cont/unihome.html150
-rw-r--r--jankime.html9
-rw-r--r--unihome.html175
4 files changed, 339 insertions, 4 deletions
diff --git a/cont/jankime.html b/cont/jankime.html
index 4d9623f..64a6d0d 100644
--- a/cont/jankime.html
+++ b/cont/jankime.html
@@ -5,6 +5,11 @@
[SETTITLE]Janky IME
[SETDATE]6-29-2023
UPDATE: This IME is now tmux based, old xdotool version is still <a href="https://hairydiode.xyz/cgit/dotfiles.git/tree/scripts/ims">here</a>
+
+UPDATE2: I have created the most cursed thing in existance. Full unicode display
+and input support in the linux console using only bash/busybox and tmux.
+See <a href="https://hairydiode.xyz/unihome/">we have unicode at home</a>
+
A new python version came out, so of course that means every python package on
my rolling-release system has broken. This includes ibus, which I need for my
input method. I'm currently running some web-crawling scripts that I don't want
@@ -76,10 +81,10 @@ The Implementation:
from line seperated to space seperated was done for free. However this
makes the code less portable
- <a href="https://hairydiode.xyz/cgit/dotfiles.git/tree/scripts/ims">CODE:</a>
+ <a href="https://hairydiode.xyz/cgit/dotfiles.git/tree/scripts/imt">CODE:</a>
char=$(echo $opt | awk "{print \$1}")
...
- xdotool type --window "$1" "$char"
+ tmux send-key -t "!" "$char"
Downsides/The Future:
This works in the linux console but obviously the linux console has
diff --git a/cont/unihome.html b/cont/unihome.html
new file mode 100644
index 0000000..953f0dd
--- /dev/null
+++ b/cont/unihome.html
@@ -0,0 +1,150 @@
+<!--
+123456789-223456789-323456789-423456789-523456789-623456789-723456789-8234567890
+一二三四-->[TITLE] [DATE]
+--------------------------------------------------------------------------------
+[SETTITLE]We Have Unicode at Home
+[SETDATE]6-30-2023
+Preface
+ it's just uses more memory, handwriting in the 70s, arabic/farsi
+ terminals, historically never existed an ascii only time. telegram codes
+busybox
+ bash
+ sed
+ awk
+ grep
+ bc
+ iconv
+ xxd
+ read
+ sort
+ uniq
+ cat
+tmux
+kbd
+ console-braille
+zpix bdf
+ 30M
+zpix ttf
+ 4.5MiB
+jizji
+ 1.3M
+misaki
+ 747K
+Google
+ 2.7 MB
+LinBiolinumTI.pfb
+ 860KiB
+HanaMinA
+ 22M,30M
+unifont
+ 11.7MiB
+Latex 2.9GiB
+cm-super
+ 57.8MiB
+ just european languages + cyrillic
+cbfonts
+ 70.6MiB
+ensembl human genome
+ 4.5GiB
+Rant
+ Aesthetics vs. Function
+ cool-retro-term, pixel fonts, monospace of chinese vs english
+
+
+
+ The text confusion
+ In the beginning there was not the command line. There was wall
+ paintings bone etc
+
+ Inefficiency
+ The only first class data types on a computer are int,
+ uint, and float. Why is there not universal way to
+ display/store them on posix systems, 256 combos per byte,
+ only 9 used, less than 5% efficiency
+
+ HTML v. inefficient, easy to grep kinda
+ Json, v. inefficient
+
+ Data confusion
+ IME
+ table takes in keypresses, spits out unicode character
+ keypresses should be own type, but is ascii,
+ what happens when different keyboard layout?
+
+ What happens if typing russiand and want to use
+ vim or press C-c?
+
+ Big table, very simple datatype, not first class
+
+ Tree/files, super simple datatype, not first
+ class, file argument woes
+
+ Display:
+ simply doing an OR required like 3 processes
+ because every program required different text
+ representation of the same data, even though
+ first class data type
+
+ no language has first class lexer, closest is
+ awk
+
+ bdf file ridiculously inefficient, keywords too
+ long, actual data is 2x by hexadec
+ representation
+
+ bdf file is just a big table w/ 2d array as
+ output , very simple data type, have to do 1000
+ conversions for input (decimal codepoint vs
+ 32bit vs utf-8), and output (2d array of bits vs
+ hex representation of the same)
+
+ Big table no way to sort to make more efficient
+
+ Representation
+ Forced to represent all out data so that the lowest
+ common denominator teletype in 1970s new jersey can
+ print it if we were to send it directly over serial
+ not just a bash issue: JSON, HTML, PDB, even
+ PDF/postscript
+ Ascii isn't event text, can't write accents or
+ directiona quotes or nn or even a bar over a letter.
+ Flipside, nobody who doesn't use posix knows or cares
+ what ~ and | are.
+
+ Regex, same basic thing, 30 different variants, because
+ forced to represent as text with no specialized symbols
+
+ same with code, every language has its own way of
+ representing a code block, none of which are
+ particularly legible
+
+ if should be one key press and one byte
+
+ In-band vs out of band
+ no universal way to embed data, json has directional
+ brackets, backslash hell is the norm, completely
+ avoidable, but the text obsession means type info is
+ ignored
+ guis
+ all based off of one dumb xerox experiment
+ all have same issues
+ lossy data display
+ no interop of actual data
+ no open loop input
+ no way to store input as its own data/scripting
+
+ in memory data:
+ no interop, spend all your time using framework
+ libraries to convert data around. It's not just
+ a bash issue
+
+ weird selection of first class data types, why
+ is text 1st class and not a mesh or a linked
+ list?
+Rant
+ In the beginning, there was not a command line. In the beginning, there
+ was iron oxide pigment on torch lit cave walls, then there were stylus
+ indentations on clay, patterns carved on turtle shell, knots
+ tied in string, grooves cut in vinyl, and finally discrete states stored
+ in a great multitude of mechanisms. The universal datatype is not text,
+ it is uint_256, IEEE floating points.
diff --git a/jankime.html b/jankime.html
index 2abddec..3344c4a 100644
--- a/jankime.html
+++ b/jankime.html
@@ -21,6 +21,11 @@
一二三四-->Janky IME 6-29-2023
--------------------------------------------------------------------------------
UPDATE: This IME is now tmux based, old xdotool version is still <a href="https://hairydiode.xyz/cgit/dotfiles.git/tree/scripts/ims">here</a>
+
+UPDATE2: I have created the most cursed thing in existance. Full unicode display
+and input support in the linux console using only bash/busybox and tmux.
+See <a href="https://hairydiode.xyz/unihome/">we have unicode at home</a>
+
A new python version came out, so of course that means every python package on
my rolling-release system has broken. This includes ibus, which I need for my
input method. I'm currently running some web-crawling scripts that I don't want
@@ -92,10 +97,10 @@ The Implementation:
from line seperated to space seperated was done for free. However this
makes the code less portable
- <a href="https://hairydiode.xyz/cgit/dotfiles.git/tree/scripts/ims">CODE:</a>
+ <a href="https://hairydiode.xyz/cgit/dotfiles.git/tree/scripts/imt">CODE:</a>
char=$(echo $opt | awk "{print \$1}")
...
- xdotool type --window "$1" "$char"
+ tmux send-key -t "!" "$char"
Downsides/The Future:
This works in the linux console but obviously the linux console has
diff --git a/unihome.html b/unihome.html
new file mode 100644
index 0000000..c9744b3
--- /dev/null
+++ b/unihome.html
@@ -0,0 +1,175 @@
+<!DOCTYPE html>
+<head>
+<title>We Have Unicode at Home</title>
+<meta charset="utf-8"/>
+<link rel="stylesheet" href="https://hairydiode.xyz/style.css"/>
+<link rel="icon" type="image/png" href="https://hairydiode.xyz/img/fav/logo.png"/>
+</head>
+<body>
+<div class="content">
+<pre>
+<!--
+123456789-223456789-323456789-423456789-523456789-623456789-723456789-8234567890
+一二三四
+-->--------------------------------------------------------------------------------
+
+<a href="https://hairydiode.xyz">>HairyDiode</a>
+
+--------------------------------------------------------------------------------
+<!--
+123456789-223456789-323456789-423456789-523456789-623456789-723456789-8234567890
+一二三四-->We Have Unicode at Home 6-30-2023
+--------------------------------------------------------------------------------
+Preface
+ it's just uses more memory, handwriting in the 70s, arabic/farsi
+ terminals, historically never existed an ascii only time. telegram codes
+busybox
+ bash
+ sed
+ awk
+ grep
+ bc
+ iconv
+ xxd
+ read
+ sort
+ uniq
+ cat
+tmux
+kbd
+ console-braille
+zpix bdf
+ 30M
+zpix ttf
+ 4.5MiB
+jizji
+ 1.3M
+misaki
+ 747K
+Google
+ 2.7 MB
+LinBiolinumTI.pfb
+ 860KiB
+HanaMinA
+ 22M,30M
+unifont
+ 11.7MiB
+Latex 2.9GiB
+cm-super
+ 57.8MiB
+ just european languages + cyrillic
+cbfonts
+ 70.6MiB
+ensembl human genome
+ 4.5GiB
+Rant
+ Aesthetics vs. Function
+ cool-retro-term, pixel fonts, monospace of chinese vs english
+
+
+
+ The text confusion
+ In the beginning there was not the command line. There was wall
+ paintings bone etc
+
+ Inefficiency
+ The only first class data types on a computer are int,
+ uint, and float. Why is there not universal way to
+ display/store them on posix systems, 256 combos per byte,
+ only 9 used, less than 5% efficiency
+
+ HTML v. inefficient, easy to grep kinda
+ Json, v. inefficient
+
+ Data confusion
+ IME
+ table takes in keypresses, spits out unicode character
+ keypresses should be own type, but is ascii,
+ what happens when different keyboard layout?
+
+ What happens if typing russiand and want to use
+ vim or press C-c?
+
+ Big table, very simple datatype, not first class
+
+ Tree/files, super simple datatype, not first
+ class, file argument woes
+
+ Display:
+ simply doing an OR required like 3 processes
+ because every program required different text
+ representation of the same data, even though
+ first class data type
+
+ no language has first class lexer, closest is
+ awk
+
+ bdf file ridiculously inefficient, keywords too
+ long, actual data is 2x by hexadec
+ representation
+
+ bdf file is just a big table w/ 2d array as
+ output , very simple data type, have to do 1000
+ conversions for input (decimal codepoint vs
+ 32bit vs utf-8), and output (2d array of bits vs
+ hex representation of the same)
+
+ Big table no way to sort to make more efficient
+
+ Representation
+ Forced to represent all out data so that the lowest
+ common denominator teletype in 1970s new jersey can
+ print it if we were to send it directly over serial
+ not just a bash issue: JSON, HTML, PDB, even
+ PDF/postscript
+ Ascii isn't event text, can't write accents or
+ directiona quotes or nn or even a bar over a letter.
+ Flipside, nobody who doesn't use posix knows or cares
+ what ~ and | are.
+
+ Regex, same basic thing, 30 different variants, because
+ forced to represent as text with no specialized symbols
+
+ same with code, every language has its own way of
+ representing a code block, none of which are
+ particularly legible
+
+ if should be one key press and one byte
+
+ In-band vs out of band
+ no universal way to embed data, json has directional
+ brackets, backslash hell is the norm, completely
+ avoidable, but the text obsession means type info is
+ ignored
+ guis
+ all based off of one dumb xerox experiment
+ all have same issues
+ lossy data display
+ no interop of actual data
+ no open loop input
+ no way to store input as its own data/scripting
+
+ in memory data:
+ no interop, spend all your time using framework
+ libraries to convert data around. It's not just
+ a bash issue
+
+ weird selection of first class data types, why
+ is text 1st class and not a mesh or a linked
+ list?
+Rant
+ In the beginning, there was not a command line. In the beginning, there
+ was iron oxide pigment on torch lit cave walls, then there were stylus
+ indentations on clay, patterns carved on turtle shell, knots
+ tied in string, grooves cut in vinyl, and finally discrete states stored
+ in a great multitude of mechanisms. The universal datatype is not text,
+ it is uint_256, IEEE floating points.
+</pre>
+</div>
+<br>
+<br>
+</body>
+<!--
+if you're digging in the src you might be interested in how this site works
+here: https://hairydiode.xyz/meta2
+-->