happy hacking emily lisp server
Battle station and other interesting things and technology from my friend Emily.
So on the workstation (left) I run Firefox and terminal and stuff - this is the machine that has all my monitors and keyboards plugged into. On the server (right) I run my Emacs server. I then forward X over ssh to run Emacs on my machine with all the screens. This way Firefox doesn't take up cpu and ram and I can restart it is something goes funky without losing my Emacs sessions. And finally I have the UCS supercomputer that I use tramp with to remotely edit files on.
So I interact with Emacs on one machine, run it on a seperate one, and edit files on a third
Happy Hacking Keyboard with Custom Firmware
I've programmed the hhkb with my own keyboard layout that I've been evolving over the past few years. And on the filco I have it send f13-f24 keys.. I have 3 screens, and 3 desktops on each consisting of emacs, Firefox and terminal. So I have a 3x3 section dedicated to switching monitor focus and changing the desktop. So pressing '1' will switch to Emacs running on my left monitor. I then have keys for full screen, kill etc...
Note that she is using a modified version of Colemak MOD DH layout , with a custom added middle column. [see Ergonomic Keyboard Layouts]
Emily Keyboard Layout History
Hasu Controller for HHKB
Hasu USB to USB Converter
This allows you to program any USB device.
hasu USB to USB converter https://www.1upkeyboards.com/shop/controllers/usb-to-usb-converter/
96 CPU Core Server
Steel Bank Common Lisp in Emacs
The line at upper right half is her emacs mode line. and she has interesting clock system:
in my mode-line i have:
- file save status
- buffer name
- place in file%
- (line and character number)
- standard time
- [EmilyStandardTime but compressed to base 36]
- EmilyStandardTime visual representation
Compiler Dragon Book
Emily Heximal Watch
She likes 6 based numbering system, and uses that as her clock. She programed her watch to use 6 based numbering system.
** time system (Emily Standard Time) base 6 standard: day -> 24d hours -> 60d minutes -> 60d seconds EST: day -> 100 pent -> 100 tri -> 100 mon pent =~= hour tri =~= minute mon =~= second *** divisibility 24d -> 60d -> 60d is uneven 100 -> 100 -> 100 is consistent therefor 44 pent = 4400 tri = 440000 mon *** covert/compare 1 pent = 40d minutes 1 tri = 1.(1)d minutes 1 mon = 1.85d seconds *** segments inital digit of time = segment of day 0 = sleep 1 = free 2 = work 3 = work 4 = free 5 = sleep
* senary : nd = decimal . n = senary . 10d = 14 ; a base 6 number system I use for personal calculations and timekeeping ** number system 0 1 2 3 4 5 10 11 12 13 14 15 20... *** divisibility decimal: 2 5 10 senary: 2 3 6 *** fraction table senary is more often simpler | fraction | decimal | senary | |----------+-------------+--------| | 1/2 | 0.5d | 0.3 | | 1/3 | 0.(3)d | 0.2 | | 1/4 | 0.25d | 0.13 | | 1/5 | 0.2d | 0.(1) | | 1/6 | 0.1(6)d | 0.1 | | 1/7 | 0.1(42857)d | 0.(05) | | 1/8 | 0.125d | 0.043 | | 1/9 | 0.(1)d | 0.04 | | 1/10 | 0.1d | 0.0(3) | | | | | *** nomenclature - base numbers are the same with 0 = nil 0 = nil 1 = one 2 = two 3 = three 4 = four 5 = five - place names are based on the initial sylable of the polygon shapes nxn = mon nxnn = di nxnnn = tri nxnnnn = tet nxnnnnn = pent nxnnnnnn = hex nxnnnnnnn = hept nxnnnnnnnn = oct nxnNNNNNNNN = NON NXNNNNNNNNNN = DEC NXNNNNNNNNNNN = HEN NXNNNNNNNNNNNN = DODE NXNNNNNNNNNNNNN = TRID ... 12 = ONE MON TWO 123 = ONE DI TWO MON THREE 1234 = ONE TRI TWO TRI THREE MON FOUR 12345 = ONE QUAD TWO TRI THREE DI FOUR MON FIVE *** DI-COMPRESSION 2 SENARY CHARS -> 1 DI-CHAR 012345 +------ 00|012345 10|6789AB 20|CDEFGH 30|IJKLMN 40|OPQRST 50|UVWXYZ 34 = m
Here's the full org file, including emacs lisp code emily_heximal_watch_notes_3j5bv.org
Emily also devised her own writing system, called emscript.
Font for emscript: emscript-mid-regular.otf
* EmScript - an efficient, regular writing system ** Design goals: - efficient to read - continuous forward hand movement - this means no loops that require the hand to swap direction of movement - will ensure the fastest transfer from mind to paper - simple, regular shapes - all shapes are based off a pattern to create a simple set of glyphs that can be easily constructed and read - efficient to write - simple, regular shapes - all of the shapes can be interperated by pattern recognition such that a word becomes its shape instead of its collection of characters ** Glyph structure: each glyph consists of 2 (or 3 for some cases) straight lines arranged aligning to a 3x3 grid. Imagine you have a 3x3 grid, this will have 3 colulmns of 3 dots each each glph is a line connecting a dot in the first column, to a dot in the second, to a dot in the third these dots are not actually written or draw, but are still connected like so: #+BEGIN_SRC text . . . .\._. . . . #+END_SRC the glyph are always drawn from left to right, with the hand constantly moving and the fingers creating the dips and rises Due to this structure there are therefor 3x3x3=27 different and distinct 2-line glyphs, here are some examples: #+BEGIN_SRC text . . . .\._. . . . ._. . . .\. . . . . . . . . /. .__./ . #+END_SRC (note the larger spacing for the last example is just to enable it to be shown with text, they are all the same size) in addition to this set of 2-line glyphs, there is also a collection of 3-line glyphs These 3 line glyphs are similar, but they have a vertical line down the middle, connecting all 3 dots in the second colulmn This means that there are only 18 combinations, as the second column has to start at either the top and end at the bottom, or vice versa for example: #+BEGIN_SRC text ._. . . | . . |/. . . . ./| . . |_. . . . . |\ . .__| \. #+END_SRC Due to being in sets of 3, these 3-line glyph varients are considered usefull for numbers, especially due to their construction they can mathematically represent the value This works best for number systems that have a base of a multiple of 3, such as base 6 ** Writing EmScript is written over the lines on a page as they server a useful guide as to where the dots are located any line starting from the line will be from the middle dot any line starting from below them line will be from the bottom dot any line starting from above the line will be from the top dot this allows for some inaccuracy as the height of the upper dots do not need to match, they just need to be above the line additionally, two consecutive characters that have a common ending and starting point are written in a continuous stroke with the pen staying on the paper ** mapping to english To map EmScript to english there is a 1-to-1 mapping from english letters to EmScript glyphs punctuation remains english however as there is no support for them in EmScript Capital letters are just written in bold by pressing the pen down harder The challenge in mapping these glyphs to english characters arises in creating a mapping that has the most flow that is to say that common digrams of the english language should use glyphs that can written continiously thereis the first glyph ends where the first begins to create this mapping I wrote a program in lisp that I let run for a week on my server to find the optimal mapping The final result was then verified by consecutive runs with 90% of the total runs performed finding the same, best result the remtaining 10% could only find a worse scoring mapping This mapping can be seen in the image The numbers are fitted mathematically with their glyph you can think of the first line starting on the multiple of 3 and the third line starting on the multiple of 1 these values are 0 at the top and 2 at the bottom so, for example - the number 5 consits of 1 lot of 3 and 2 lots of 1's so it starts on the middle in the first line and ends on the bottom of the second line like so: #+BEGIN_SRC text 2 . . . 2 1 ./| . 1 0 . |_. 0 3's 1'2 #+END_SRC