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] }; |