-
Ethiopia from roughly "burnt face land" in Greek
- respected as devout early Christians (but not Catholic)
-
slaves originally from Caucasus
-
diplomats from Morocco, etc.
-
used darkness of material color (bronze, wood?)
-
painted over Medici child
-
New York Chamber of Commerce portraits of old white men (Washington, Edison, Carnegie) on walls in high density (like original Barnes)
-
Claude Monet - london fog - trying to capture atmosphere: http://www.princetonartmuseum.org/collections/objects/32454
Recently an mdworker process was pegging my CPU and cooking my lap.
From its man page description: "mdworker is the metadata server worker process. It is used by mds to scan and index files as a volume is mounted or a file changes."
What's mds? "mds is the metadata server. It serves all clients of the metadata APIs, including Spotlight."
mdfind uses the builtin metadata index and can be a faster alternative to recursive grep or find and an easy way to search all the files on a mac (assuming the index is up to date):
$ find . -name '*.js'
Vega provides a layer on top of d3.js for describing visualizations with a JSON spec.
It makes it easier to try new visualizations like a chloropleth map or small multiples, frees co-workers from needing to see terrible things I've done with d3 and JS, and provides a canvas renderer for easy backwards compatibility on legacy browsers (note: canvas is the default; to use SVG if it's available do something like: chart({ ..., renderer: (Modernizr.svg ? 'svg' : 'canvas') })).
A couple things caught me off-guard:
-
The tutorial covers the visualization spec. Getting started directions are on the runtime wiki page. I missed the part where it said "Runtime - Deploying and using the browser-based Vega runtime."
-
Axes labels are a separate text mark?
var A = function () {
console.log('calling A with this:', this);
this.name = 'A';
return new this;
};
var B = function () {
console.log('calling B with this:', this);
this.name = 'B';
};| <!DOCTYPE html> | |
| <html> | |
| <head> | |
| <meta charset="utf-8" /> | |
| </head> | |
| <body> | |
| <script> | |
| var source = new EventSource('/events'); | |
| source.onmessage = function(e) { | |
| document.body.innerHTML += e.data + '<br>'; |
| // Boxed JS number with valueOf method can mask its value. | |
| > three = new Number(3); // Box 3 as a Number object | |
| Number {} | |
| > three.valueOf = function () { return 1; }; | |
| function () { return 1; } | |
| > 2 + three | |
| 3 | |
| > 2 + 3 | |
| 5 | |
| > 2 + +three.toString() |
| var swap = function (list, i, j) { | |
| // swap items at i-th and j-th entries of list | |
| // console.log(swap(items, 0, 2)); == [3, 2, 1, 4, 5] | |
| var tmp = list[i]; | |
| list[i] = list[j]; | |
| list[j] = tmp; | |
| return list; | |
| }; | |
| var randomInt = function(max) { |
| include gmsl-1.1.2/gmsl | |
| # ^ Thank you Mr. Make | |
| three := $(call int_encode,3) | |
| five := $(call int_encode,5) | |
| start := $(call int_encode,1) | |
| stop := $(call int_encode,100) | |
| // http://www.jasondavies.com/factorisation-diagrams/ | |
| var primeFactors = function (n) { | |
| var factors = [], | |
| f; | |
| while (n > 1) { | |
| factors.push(f = factor(n)); | |
| n /= f; | |
| } | |
| return factors; |