... or Why Pipelining Is Not That Easy
Golang Concurrency Patterns for brave and smart.
By @kachayev
| #!/bin/sh | |
| # Alot of these configs have been taken from the various places | |
| # on the web, most from here | |
| # https://github.com/mathiasbynens/dotfiles/blob/master/.osx | |
| # Set the colours you can use | |
| black='\033[0;30m' | |
| white='\033[0;37m' | |
| red='\033[0;31m' | 
| $ curl -O ftp://ftp.gnu.org/gnu/ncurses/ncurses-5.9.tar.gz | |
| $ tar -xzvf ncurses-5.9.tar.gz | |
| $ cd ./ncurses-5.9 | |
| $ ./configure --prefix=/usr/local \ | |
| --without-cxx --without-cxx-binding --without-ada --without-progs --without-curses-h \ | |
| --with-shared --without-debug \ | |
| --enable-widec --enable-const --enable-ext-colors --enable-sigwinch --enable-wgetch-events \ | |
| && make | |
| $ sudo make install | 
| The guide to getting fired: horrendous abuses of GCC. | |
| For fun only: most of what is listed here are undefined with respect to the C standard, hence for obvious reasons they are not portable (sigh of relief comming from audience). | |
| Tested with GCC (and codepad), so use #ifdef __GNUC__ to enclose all of these examples. | |
| 1: Map - Reduce in C ... as Macros ... | |
| #define MAP(fn, ret_type, fst, ...) ({ \ | |
| typeof(fst) from[] = {(fst), __VA_ARGS__ }; \ | |
| ret_type to[sizeof(from)/sizeof(typeof(fst))]; \ | |
| int i, n = sizeof(from)/sizeof(typeof(fst)); \ | 
| // Use Gists to store code you would like to remember later on | |
| console.log(window); // log the "window" object to the console | 
| comma script import ~/lldb/subl.py | |
| comma script add -f subl.subl subl | 
... or Why Pipelining Is Not That Easy
Golang Concurrency Patterns for brave and smart.
By @kachayev
| package main | |
| import( | |
| "fmt" | |
| "reflect" | |
| ) | |
| func main(){ | |
| // iterate through the attributes of a Data Model instance | |
| for name, mtype := range attributes(&Dish{}) { | 
| #!/bin/sh | |
| # copyright 2014 Renato Alves | |
| # distributed under the GPL licence | |
| if [ -z "$TASKDIR" ]; then | |
| #TODO Look for data location in rc:location instead of assuming ~/.taskrc | |
| TASKDIR="$(grep data.location $HOME/.taskrc | cut -d '=' -f 2)" | |
| fi | 
| if test -n $HOME | |
| set -l NIX_LINK $HOME/.nix-profile | |
| if test ! -L $NIX_LINK | |
| echo "creating $NIX_LINK" >&2 | |
| set -l _NIX_DEF_LINK /nix/var/nix/profiles/default | |
| /nix/store/cdybb3hbbxf6k84c165075y7vkv24vm2-coreutils-8.23/bin/ln -s $_NIX_DEF_LINK $NIX_LINK | |
| end | |
| set -x PATH $NIX_LINK/bin $NIX_LINK/sbin $PATH | 
| #this script can never fail | |
| #i use it in the fish_config | |
| #call it with start_agent | |
| setenv SSH_ENV $HOME/.ssh/environment | |
| function ssh_agent_start | |
| if [ -n "$SSH_AGENT_PID" ] | |
| ps -ef | grep $SSH_AGENT_PID | grep ssh-agent > /dev/null |