明日の下書き
- 高円寺.dev #3 用の資料 https://koenji.connpass.com/event/160886/
- フロントエンド専門じゃない人向けの、フロントエンドの最先端〜やや未来の話です
- このレイヤーでは Node.js を使うべき/使うと強いという部分がありますが、他言語を否定しているわけではありません。むしろ他言語でこのアーキテクチャを模倣してほしいという話です。
明日の下書き
define perl_stack | |
set $end=my_perl->Icurstackinfo->si_cxix | |
set $i=0 | |
while ($i<$end) | |
printf "%d:%s\n", my_perl->Icurstackinfo->si_cxstack[$i].cx_u.cx_blk.blku_oldcop->cop_line, my_perl->Icurstackinfo->si_cxstack[$i].cx_u.cx_blk.blku_oldcop->cop_file | |
set $i=$i+1 | |
end | |
printf "%d:%s\n",my_perl->Icurcop->cop_line, my_perl->Icurcop->cop_file | |
end |
;;[sketch] tools to write transpilers from sexpr to Blub languages. | |
;;For when you are in the direst situation. | |
;; copyleft Minori Yamashita | |
(defpackage :ult | |
(:use :cl)) | |
(in-package :ult) | |
(defpackage :ult-symspace) |
import assert from "assert"; | |
import searchPath, { Point } from "./searchPath.ts"; | |
import range from "lodash/range"; | |
type Hitmap = { | |
sizeX: number; | |
sizeY: number; | |
map: number[]; | |
}; |
//※要:graphviz | |
//$ dot -Tpng mmt_graph.dot -o mmt_graph.png | |
// #ref: https://twitter.com/tacmasi/status/1131576218304753664 | |
digraph mmt { | |
graph[label = "国債発行による政府調達時の金融資産・負債の発生, 実物資産(製品)の移動\n参考: L.Randall Wray(2015) 'Modern Money Theory, 2nd edition',pp.95-96. 作成:tacmasi", | |
rankdir = TB, | |
labelloc = b, | |
bgcolor = "#343434", | |
fontsize = 12, | |
fontcolor = white, |
HotOS 2019 で Microsoft Research からの論文である.Unixの代表的なシステムコールであるfork()についての問題点を挙げている.
fork()は最も基本的なシステムコールといっても良く,新しいプロセスを作るときに使われる.今回の論文の主張はfork()は1970年代のマシンではハックと呼べるものだったが,現代では過去の負債となっているというものでおり,カーネルから完全に取り除くべきであるというものである.ただし,ここでいうカーネルとはLinuxカーネルのことを直接指しているのではなく,著者の先行研究でのOSの実装のことを指している.
面白いのは,fork()は研究者にとっては研究を阻害するといったことや,教育者は歴史としては教えるべきだが最初に教わるべきプロセス作成の仕組みとしてはふさわしくないといった中々過激なことを言っているところである.
現代的なコンピュータシステムにおける問題点として次のようなことが挙げられている.
#!/bin/bash | |
set -eu | |
mkdir -p $HOME/.config $HOME/.npm | |
docker run \ | |
-it --rm \ | |
--tmpfs "/tmp" \ | |
-v "$PWD:$PWD" \ | |
-v "$HOME/.config:$HOME/.config" \ |
emacs --batch --eval "(require 'package)" \ | |
--eval "(add-to-list 'package-archives '(\"melpa\" . \"https://melpa.org/packages/\") t)" \ | |
--eval "(package-refresh-contents)" \ | |
--eval "(package-initialize)" \ | |
--eval "(package-install 'flymake-python-pyflakes))" \ | |
--eval "(package-install 'guru-mode))" \ | |
--eval "(package-install 'helm))" |