... 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 |