Skip to content

Instantly share code, notes, and snippets.

just a couple of hints as you are learning the language
I do very little with apply. If necessary to process a matrix in row form, as this seems to be doing, I would define a function that did the row transformation, then apply it once.
sort takes the very useful additional parameter index=T, which will return the sorted order, obviating the need to do separate ranking.
For really sophisticated searching of sorted things, there is findInterval, which does binary search. It took me a while to find it in R. But it's incredibly nice. Here's an example of using sort (with i=T), and findInterval together.
# si.sample() :
# put a arbitrarily sampled sequence of events into a regularly sampled line,
// how can we do a tree in Rust, where each node
// tells its children to update, and in turn, the
// child may update the parent?
//
// The following example illustrates the technique. Notice how we
// can't let the children have full backpointers to
// parent nodes, and instead have to have them point
// back to parent.data. Otherwise the two paths
// (parent) and (parent->child) overlap, and modifying
// parent could unsafely clobber (parent->child) use.
// Package xorshift implements a 64-bit version of Marsaglia's xorshift PRNG as
// described in http://www.jstatsoft.org/v08/i14/paper.
// The generator has a period of 2^64-1 and passes most of the tests in the
// dieharder test suit.
package xorshift
// *Xor64Source implements the rand.Source interface from math/rand.
type Xor64Source uint64
// seed0 is used as default seed to initialize the generator.
@glycerine
glycerine / main.go
Last active August 29, 2015 14:12 — forked from wolfeidau/main.go
package main
//
// Starting point is from http://gcmurphy.wordpress.com/2012/11/30/using-epoll-in-go/
//
import (
"fmt"
"os"
"syscall"
@glycerine
glycerine / sshd.go
Last active August 29, 2015 14:15 — forked from jpillora/sshd.go
// A small SSH daemon providing bash sessions
//
// Server:
// cd my/new/dir/
// #generate server keypair
// ssh-keygen -t rsa
// go get -v .
// go run sshd.go
//
// Client:
package main
// simple example to show how to process one message at a time with nsq using the go-nsq client library.
// see config stuff in var below to play around with different scenarios.
import (
"log"
"os"
"os/signal"
"strconv"
@glycerine
glycerine / diskchecker.pl
Created November 2, 2015 18:34 — forked from bradfitz/diskchecker.pl
diskchecker.pl
#!/usr/bin/perl
#
# Brad's el-ghetto do-our-storage-stacks-lie?-script
#
sub usage {
die <<'END';
Usage: diskchecker.pl -s <server[:port]> verify <file>
diskchecker.pl -s <server[:port]> create <file> <size_in_MB>
diskchecker.pl -l [port]
@glycerine
glycerine / bash transcript
Created January 13, 2017 03:32
build attempt beta-20170112 cockroachdb
This file has been truncated, but you can view the full file.
~/go/src/github.com/cockroachdb/cockroach (master) $ git checkout beta-20170112
Note: checking out 'beta-20170112'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:
@glycerine
glycerine / ns-inet.sh
Created April 17, 2017 07:07 — forked from dpino/ns-inet.sh
Setup a network namespace with Internet access
#!/usr/bin/env bash
set -x
NS="ns1"
VETH="veth1"
VPEER="vpeer1"
VETH_ADDR="10.200.1.1"
VPEER_ADDR="10.200.1.2"
@glycerine
glycerine / ProFi.lua
Created January 13, 2018 22:00 — forked from perky/ProFi.lua
ProFi, a simple lua profiler that works with LuaJIT and prints a pretty report file in columns.
--[[
ProFi v1.3, by Luke Perkin 2012. MIT Licence http://www.opensource.org/licenses/mit-license.php.
Example:
ProFi = require 'ProFi'
ProFi:start()
some_function()
another_function()
coroutine.resume( some_coroutine )
ProFi:stop()