As configured in my dotfiles.
start new:
tmux
start new with session name:
As configured in my dotfiles.
start new:
tmux
start new with session name:
Latency Comparison Numbers (~2012) | |
---------------------------------- | |
L1 cache reference 0.5 ns | |
Branch mispredict 5 ns | |
L2 cache reference 7 ns 14x L1 cache | |
Mutex lock/unlock 25 ns | |
Main memory reference 100 ns 20x L2 cache, 200x L1 cache | |
Compress 1K bytes with Zippy 3,000 ns 3 us | |
Send 1K bytes over 1 Gbps network 10,000 ns 10 us | |
Read 4K randomly from SSD* 150,000 ns 150 us ~1GB/sec SSD |
/usr/bin/plutil -convert xml1 -o - ~/Library/Safari/Bookmarks.plist | grep -E -o '<string>http[s]{0,1}://.*</string>' | grep -v icloud | sed -E 's/<\/{0,1}string>//g' |
This document was originally written several years ago. At the time I was working as an execution core verification engineer at Arm. The following points are coloured heavily by working in and around the execution cores of various processors. Apply a pinch of salt; points contain varying degrees of opinion.
It is still my opinion that RISC-V could be much better designed; though I will also say that if I was building a 32 or 64-bit CPU today I'd likely implement the architecture to benefit from the existing tooling.
Mostly based upon the RISC-V ISA spec v2.0. Some updates have been made for v2.2
The RISC-V ISA has pursued minimalism to a fault. There is a large emphasis on minimizing instruction count, normalizing encoding, etc. This pursuit of minimalism has resulted in false orthogonalities (such as reusing the same instruction for branches, calls and returns) and a requirement for superfluous instructions which impacts code density both in terms of size and
{{ if in .Params "small"}} | |
<iframe src="https://open.spotify.com/embed/track/{{ .Get 0 }}" width="300" height="80" frameborder="0" allowtransparency="true" allow="encrypted-media"></iframe> | |
{{ else }} | |
<iframe src="https://open.spotify.com/embed/track/{{ .Get 0 }}" width="300" height="380" frameborder="0" allowtransparency="true" allow="encrypted-media"></iframe> | |
{{ end }} | |
# Security enhancements and custom Nginx server header | |
# | |
# Requirements: | |
# $ apt install nginx vim | |
# $ apt install libnginx-mod-http-headers-more-filter | |
# $ vim /etc/nginx/sites-enabled/default | |
# | |
# Further reading http://docs.hardentheworld.org/Applications/Nginx/ | |
# | |
server { |
Game | Wayland | Engine | Info |
---|---|---|---|
Aragami | no | Unity | SDL2: crash |
Baba Is You | no | Multimedia Fusion 2 | SDL2: crash |
Bastion | yes* | FNA-XNA | SDL2 preload mouse KO, xbox pad OK |
BattleBlock Theater® | no | - | SDL2: crash |
Besiege | no | Unity | SDL2 : no effect |
BioShock Infinite | yes* | Unreal Engine 3 | SDL2 preload |
BIT.TRIP Presents... Runner2: Future Legend of Rhythm Alien | no | - | SDL2: crash |
Black Mesa | yes* | Source | SDL2 preload |
╔════════════════════════════════════════════════════════════════════════════╗ | |
║ Sessions ║ | |
╚════════════════════════════════════════════════════════════════════════════╝ | |
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ | |
┃ $ tmux ┃ ┃ $ tmux ls ┃ | |
┃ $ tmux new ┃ ┃ $ tmux list-sessions ┃ | |
┃ $ tmux new-session ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ | |
┃ : new ┃ [Ctrl] + [b] [s] | |
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ Show all sessions | |
Start a new session |
#!/usr/bin/python | |
''' | |
* setup displays first, e.g. with wdisplay | |
* run after setting up your displays `python sway_workspaces.py save <profilename>` | |
* repeat for every display setup | |
* setup kanshi and make it run `python sway_workspaces.py load <profilename>` | |
Multiple windows of an application/class aren't handled. No idea how to do so. | |
Had to alter the default tree, so the outputs are not the ports. |