start new:
tmux
start new with session name:
tmux new -s myname
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 |
#!/bin/bash | |
# bash generate random alphanumeric string | |
# | |
# bash generate random 32 character alphanumeric string (upper and lowercase) and | |
NEW_UUID=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1) | |
# bash generate random 32 character alphanumeric string (lowercase only) | |
cat /dev/urandom | tr -dc 'a-z0-9' | fold -w 32 | head -n 1 |
I found understanding Rust types really confusing, so I wrote up a small tutorial for myself in an attempt to understand some of them. This is by no means exhaustive. There is a types section in the manual, but it has nowhere near enough examples.
I'm not talking about managed pointers (@
) at all. A lot of the difficulty with Rust types is that the language is constantly changing, so this will likely be out of date soon.
First, a few preliminaries: it's easier to play with types if you have a REPL and can interactively check the types of objects. This isn't really possible in Rust, but there are workarounds.
THIS GIST WAS MOVED TO TERMSTANDARD/COLORS
REPOSITORY.
PLEASE ASK YOUR QUESTIONS OR ADD ANY SUGGESTIONS AS A REPOSITORY ISSUES OR PULL REQUESTS INSTEAD!
If you are familiar with Java's generics, and are coming to Rust, you might be lead to assume that its generics are working the same way.
However, due to the different type systems, and different implementation details, there are quite a few differences between generic code in both languages.
This document tries to give a short summary about those differences:
# From http://stackoverflow.com/questions/16296753/can-you-run-gui-apps-in-a-docker | |
# | |
# Firefox over VNC | |
# | |
# VERSION 0.1 | |
# DOCKER-VERSION 0.2 | |
from ubuntu:12.04 | |
# make sure the package repository is up to date | |
run echo "deb http://archive.ubuntu.com/ubuntu precise main universe" > /etc/apt/sources.list |
# Hello, and welcome to makefile basics. | |
# | |
# You will learn why `make` is so great, and why, despite its "weird" syntax, | |
# it is actually a highly expressive, efficient, and powerful way to build | |
# programs. | |
# | |
# Once you're done here, go to | |
# http://www.gnu.org/software/make/manual/make.html | |
# to learn SOOOO much more. |
# This grub.cfg file was created by Jamie Kurtz | |
# Detailed instructions for use will soon be found here: http://www.jamiekurtz.com | |
# Simplified instructions below | |
# Sample grub entries... https://wiki.archlinux.org/index.php/Multiboot_USB_drive | |
# Inspiration from here: http://www.pendrivelinux.com/boot-multiple-iso-from-usb-via-grub2-using-linux/ | |
# Simplified instructions... | |
# Make sure grub, grub-efi, and xorriso packages are installed and up-to-date | |
# In your terminal go to directory where want to create the USB image contents | |
# Run the following to create the necessary folder structure: |
Emacs packages, features, files, layers, extensions, auto-loading, require
,
provide
, use-package
… All these terms getting you confused? Let’s clear up
a few things.
Emacs files contains code that can be evaluated. When evaluated, the functions, macros and modes defined in that file become available to the current Emacs session. Henceforth, this will be termed as loading a file.
One major problem is to ensure that all the correct files are loaded, and in the