Conceptualized by Alistair Cockburn. Also known as "Ports and Adapters".
In a nutshell:
Application Driver -> Primary Adapter -> Primary Port -> Use Case -> Secondary Port -> Secondary Adapter -> External System/Side Effect
fook$^[a-f]*$(...).*\1^(.(?!(ll|ss|mm|rr|tt|ff|cc|bb)))*$|^n|ef^(.)[^p].*\1$^(?!(..+)\1+$)(.)(.\1){3}^[^o].....?$(^39|^44)|(^([0369]|([147][0369]*[258])|(([258]|[147][0369]*[147])([0369]*|[258][0369]*[147])([147]|[258][0369]*[258])))*$)| package main | |
| import ( | |
| "fmt" | |
| "log" | |
| "net" | |
| "net/mail" | |
| "net/smtp" | |
| "crypto/tls" | |
| ) |
| package main | |
| import ( | |
| "encoding/base64" | |
| "fmt" | |
| "log" | |
| "net" | |
| "net/mail" | |
| "net/smtp" | |
| "strings" |
| #!/usr/bin/python3 | |
| ####################################################### | |
| # Python rsync Backup script | |
| # Sebastian Kraft, 24.06.2013 | |
| # | |
| ####################################################### | |
| #----------------------------------------------------- | |
| # Config |
This is a full set of key bindings (as of Vimium v1.45); covering all Vimium functionality. I have tried to map all Vimium functionality to comparable Emacs functionality (whenever possible). In cases where there is no equivalent, those commands are prefixed by <c-g> (indicating <c-g>oogle Chrome; and because <c-g> does not conflict with other Emacs shortcuts at all).
Commented Shortcuts: There are a few Emacs-style shortcuts that are simply not possible in Vimium. All of my shortcuts (including those which were not possible; i.e. where I used a decent alternative) have been commented below. This should help to clarify my rationale.
_Compatibility: All of these shortcuts were tested on Mac OS X (Mavericks). Please note that all of my shortcuts operate under the assumption that your Emacs Meta key is the β₯ Alt/Option key. This really was my only choice, because the β key is already used in Chrome for shortcuts that c
| $ sapi/cli/php Zend/bench.php | |
| ------------------------ | |
| Total 0.497 | |
| $ sapi/cli/php -dextension_dir=`pwd`/modules -dzend_extension=opcache.so Zend/bench.php | |
| ------------------------ | |
| Total 0.488 | |
| $ sapi/cli/php -dextension_dir=`pwd`/modules -dzend_extension=opcache.so -dopcache.enable_cli=1 -dopcache.file_update_protection=0 -dopcache.jit_buffer_size=1M Zend/bench.php | |
| ------------------------ |
This post also appears on lisper.in.
Reader macros are perhaps not as famous as ordinary macros. While macros are a great way to create your own DSL, reader macros provide even greater flexibility by allowing you to create entirely new syntax on top of Lisp.
Paul Graham explains them very well in [On Lisp][] (Chapter 17, Read-Macros):
The three big moments in a Lisp expression's life are read-time, compile-time, and runtime. Functions are in control at runtime. Macros give us a chance to perform transformations on programs at compile-time. ...read-macros... do their work at read-time.
This post also appears on lisper.in.
Reader macros are perhaps not as famous as ordinary macros. While macros are a great way to create your own DSL, reader macros provide even greater flexibility by allowing you to create entirely new syntax on top of Lisp.
Paul Graham explains them very well in [On Lisp][] (Chapter 17, Read-Macros):
The three big moments in a Lisp expression's life are read-time, compile-time, and runtime. Functions are in control at runtime. Macros give us a chance to perform transformations on programs at compile-time. ...read-macros... do their work at read-time.
| $ uname -a | |
| Linux laptop 3.10.0-123.13.2.el7.x86_64 #1 SMP Fri Dec 12 19:51:03 EST 2014 x86_64 x86_64 x86_64 GNU/Linux | |
| $ rustc -Vv | |
| rustc 1.0.0-alpha (44a287e6e 2015-01-08 17:03:40 -0800) | |
| binary: rustc | |
| commit-hash: 44a287e6eb22ec3c2a687fc156813577464017f7 | |
| commit-date: 2015-01-08 17:03:40 -0800 | |
| host: x86_64-unknown-linux-gnu | |
| release: 1.0.0-alpha | |
| $ cat hello.rs |