| function match(straw, needle, key = identity) { | |
| let penalty = 0; | |
| let start = 0; | |
| let chars = []; | |
| let text = key(straw); | |
| for (char of needle) { | |
| let pos = text.substr(start).search(char); | |
| if (pos < 0) { | |
| return false, chars]; | |
| } else { |
| RE: WHEN WILL WEB BROWSERS BE COMPLETE? | |
| 2020-10-31 02:46PM | |
| A follow-up. | |
| There has been some great conversation around the opinion piece. Having read all | |
| 200+ comments on YCombinator and Gist GitHub, I think it's most productive to | |
| respond to them all in this follow-up piece. | |
| The piece will be structured by looking at what I think are the most relevant | |
| critiques and comments, followed by adding context to others' comments, and |
| # My ISP-provided fiber optical modem broadcasts a line of a poem every ten seconds. Here's the tcpdump of the complete poem. | |
| # The optical modem is made by Shanghai Nokia-Bell Co.,Ltd and its model number is G-140W-UD. It's provided by my ISP, China Unicom in Shenzhen. | |
| $ tcpdump -i vlan10 ether proto 0x8300 | |
| 15:59:00.720301 00:00:00:00:00:12 (oui Ethernet) > Broadcast, ethertype Unknown (0x8300), length 72: | |
| 0x0000: 0000 0000 e4ea 8386 d93c 5468 6520 6461 .........<The.da | |
| 0x0010: 7920 4920 6c6f 7374 206d 7920 7665 7279 y.I.lost.my.very | |
| 0x0020: 2066 6972 7374 2074 6f6f 7468 2c00 0000 .first.tooth,... | |
| 0x0030: 0000 0000 0000 0000 0000 .......... | |
| 15:59:10.740778 00:00:00:00:00:12 (oui Ethernet) > Broadcast, ethertype Unknown (0x8300), length 72: |
| // simplified version of emacsclient.c from | |
| // https://github.com/emacs-mirror/emacs/blob/master/lib-src/emacsclient.c | |
| #include <config.h> | |
| #include "syswait.h" | |
| #include <arpa/inet.h> | |
| #include <fcntl.h> | |
| #include <netinet/in.h> |
Hello Friends,
This elf begging to climb onto the web for Christmas began as a personal email, a review of Paul Graham's little Lisp Bel. He sprouted arms, legs, and in gingerstyle ran away. Arms for symbols, legs for conses: these primitives are the mark a Lisp — even more so than the parenthesis. What do we get when we remove these foundation stones: naming and pairing?
No pairs. No cons. No structure. Unordered. Chaos. Eve, a beautifully incomplete aspect oriented triple store. No need for legs when you can effortlessly transport to your destination. Lazy. Pure. Here and now, a retrospective.
No symbols. No names. No variables. Combinators. Forth. No need for arms when you can effortlessly push and pop your stack. No words. A world without words. Virtual worlds. Virtual reality. Space. Time. Motion. Action. Kinetic Programming, a proposal.
I apologize in advance. Checking my pocketwatch, I see I haven't t
| # if not running interactively, don't do anything | |
| case $- in | |
| *i*) ;; | |
| *) return;; | |
| esac | |
| HISTCONTROL=ignoreboth # don't put duplicate lines or lines starting with space in the history. | |
| export LESSHISTFILE=/dev/null # disable less's history feature | |
| HISTSIZE=-1 # unlimited number of history items | |
| HISTFILESIZE=-1 # unlimited history file size |
| ; file: /home/fouric/other-code/quicklisp/dists/quicklisp/software/cl-sdl2-20200218-git/src/sdl2.lisp | |
| ; in: DEFUN INIT | |
| ; (SETF SDL2::*LISP-MESSAGE-EVENT* (SDL2-FFI.FUNCTIONS:SDL-REGISTER-EVENTS 1) | |
| ; (PLUS-C:C-REF SDL2::*WAKEUP-EVENT* SDL2-FFI:SDL-EVENT :TYPE) | |
| ; SDL2::*LISP-MESSAGE-EVENT*) | |
| ; --> PROGN | |
| ; ==> | |
| ; (SETF (PLUS-C:C-REF SDL2::*WAKEUP-EVENT* SDL2-FFI:SDL-EVENT :TYPE) | |
| ; SDL2::*LISP-MESSAGE-EVENT*) | |
| ; |
| 1271e1aaf0b53d8c0314f7884ed9f5534c1b4bcf hate-racism.png | |
| f61489bdef4edf76b9048e9ea6dee3e4 hate-racism.png |
| module j1(input sys_clk_i, | |
| input sys_rst_i, | |
| input [15:0] io_din, | |
| output io_rd, | |
| output io_wr, | |
| output [15:0] io_addr, | |
| output [15:0] io_dout); | |
| wire [15:0] instruction; | |
| wire [15:0] immediate = { 1'b0, instruction[14:0] }; |
