As configured in my dotfiles.
start new:
tmux
start new with session name:
| extern mod extra; | |
| use extra::json::*; | |
| /* | |
| * This function manages to do absolutely no copying, which is pretty cool. | |
| * | |
| * "What are all those `'r`s?" you ask. Well, they're liftime parameters. They | |
| * indicate how long something lasts (before it's freed). They can't change how | |
| * long something lives for, they only allow you to tell the compiler stuff it |
| #include <iostream> | |
| #include <map> | |
| using namespace std; | |
| class BaseClass{ | |
| public: | |
| virtual int funk() { | |
| return 0; | |
| } |
| 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 |
As configured in my dotfiles.
start new:
tmux
start new with session name:
| #!/usr/bin/env bash | |
| dir=$(dirname $0) | |
| gconfdir=/apps/gnome-terminal/profiles | |
| echo # This makes the prompts easier to follow (as do other random echos below) | |
| ######################## | |
| ### Select a profile ### | |
| ######################## |
| #include "EventDispatcher.h" | |
| void EventDispatcher::addListener( Listener *l ) | |
| { | |
| mListeners.push_back(l); | |
| } | |
| void EventDispatcher::removeListener( Listener *l ) | |
| { | |
| mListeners.erase( std::remove( mListeners.begin(), mListeners.end(), l ), mListeners.end() ); |