Allen Wirfs-Brock said "ES6 is the twitter friendly abbreviation for ECMAScript 2015" and Alex Sexton provided a rationalization.
library(magrittr) | |
write.table(iris, file="iris.txt", sep="\t", row.names=FALSE, quote=FALSE) | |
plines <- function(cmd) readLines(pipe(cmd)) | |
ptabs <- function(cmd) read.delim(pipe(cmd)) | |
# just as a trivial example, process some shuffled lines using GNU shuf, sort, | |
# etc. (we could do this in R, but this is to simulate command line operations) |
define run_fastqc | |
$$(addsuffix .ok,$(1)) : $(1) | |
mkdir -p $$(dir $$@) && \ | |
unzip -p $$< $$(addsuffix .tmp_fastqc/fastqc_data.txt,$$(notdir $$<)) |\ | |
grep ">>" | grep -v ">>END_MODULE" | cut -c 3- |\ | |
awk -F ' ' 'BEGIN{N=0;} {if(($$$$1=="Basic Statistics" || $$$$1=="Per base sequence quality" || $$$$1=="Per base N content") && $$$$2=="pass" ) N++;} END { if(N>2) {print "__PASS__"}}' |\ | |
grep __PASS__ && echo "FASTQC ok for $$<" > $$@ | |
- dat data model
- commit graph (mutable)
- Merkle DAG
- integrity check a root hash, and know all children are ok too (efficient!)
- deduplication of common children
- can content address all the nodes in the datastructure
- can reveal single path from node to a root (with adjacent hashes) and prove object must be in dag
- operation database (mutable)
- protobufs in leveldb
- commit graph (mutable)
- prototbufs support efficient encodings and backwards compat
NOTE: a more up-to-date version of this can be found on my blog
A few days ago, version 1.9 of the Nix package manager was released. From the release notes:
nix-shell can now be used as a #!-interpreter. This allows you to write scripts that dynamically fetch their own dependencies.
// the two testing modules I like | |
var test = require('tape') | |
var spawn = require('tape-spawn') | |
var execspawn = require('npm-execspawn') // can spawn from require() scope, check it out! | |
// put this in outer scope so we can kill the local server at the end | |
var server | |
test('start test server', function (t) { |
advert said: "Titus will talk about the pros and cons of graduate school, how to choose if graduate school is a good fit for you, and tips for applying to graduate school"
see also:
https://www.netjeff.com/humor/item.cgi?file=GradSchoolOrHell
--
Grad school is very dependent on advisor, dept; talk to current grad students beforehand!
The Jupyter and IPython projects have been around more than 10 years and a lot has changed over the years in terms of frontend development: V8, Node, npm, transpilers, JS Compilers, competing module loading systems, auto-updating browsers, new frameworks, and many other bits. They've all come and made front end development much better. At the same time, they've bred complexity in choice and decisions. Some of the biggest warts have been the document
API for the DOM, how we work on it, the tendency to get addicted to the ease of jQuery, and the resulting jQuery soup that gets created. Large projects have to make a choice on how they're going to package and ship components of their overall application.
There was a time at which I was comfortable in CoffeeScript. Now that I've read JavaScript the Good Parts, Node.js the Right Way, read and written [more](https://github.com/nteract/jupyter-sideca
// install node 4.2.2 | |
function foo () { | |
console.log('----------------------------') | |
foo() | |
} | |
foo() |