duplicates = multiple editions
A Classical Introduction to Modern Number Theory,Kenneth IrelandMichael Rosen
A Classical Introduction to Modern Number Theory,Kenneth IrelandMichael Rosen
var https = require('https'); | |
var fs = require('fs'); | |
var url = 'https://raw.githubusercontent.com/dconnolly/chromecast-backgrounds/master/backgrounds.json'; | |
Array.prototype.getLast = function() { | |
return this[this.length - 1]; | |
}; | |
function logFail(err){ | |
console.log('Failed!'); |
/* | |
* memoize.js | |
* by @philogb and @addyosmani | |
* further optimizations by @mathias | |
* Released under an MIT license. | |
*/ | |
function memoize( fn ) { | |
return function () { | |
var args = Array.prototype.slice.call(arguments), | |
hash = "", |
Copyright 2012 Shin Suzuki<shinout310@gmail.com> | |
Licensed under the Apache License, Version 2.0 (the "License"); | |
you may not use this file except in compliance with the License. | |
You may obtain a copy of the License at | |
http://www.apache.org/licenses/LICENSE-2.0 | |
Unless required by applicable law or agreed to in writing, software | |
distributed under the License is distributed on an "AS IS" BASIS, |
(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
<!DOCTYPE html> | |
<html> | |
<head> | |
<title>Leaflet.FileLayer Plugin</title> | |
<meta charset="utf-8" /> | |
<link | |
rel="stylesheet" | |
href="http://cdn.leafletjs.com/leaflet-0.7/leaflet.css" | |
/> | |
<link |
/** | |
* Depth-first and Breadth-first graph traversals. | |
* | |
* In this diff we implement non-recursive algorithms for DFS, | |
* and BFS maintaining an explicit stack and a queue. | |
* | |
* by Dmitry Soshnikov <dmitry.soshnikov@gmail.com> | |
* MIT Style license | |
*/ |
var txt = require("fs").readFileSync("app/names.txt", "utf8"); | |
var nicknames = require('./nicknames'); | |
var words = txt.split("\n"); | |
var trie = build(words); | |
optimize(trie); | |
require('fs').writeFileSync('app/trie.js', 'trie = ' + toString(trie)); | |
function tokenize(str) { | |
return str | |
.toLowerCase() |
var mergeSort = function(array) { | |
if (array.length === 1) { | |
return array | |
} else { | |
var split = Math.floor(array.length/2) | |
var left = array.slice(0, split) | |
var right = array.slice(split) | |
left = mergeSort(left) | |
right = mergeSort(right) |
A list of commonly asked questions, design decisions, reasons why Clojure is the way it is as they were answered directly by Rich (even when from many years ago, those answers are pretty much valid today!). Feel free to point friends and colleagues here next time they ask (again). Answers are pasted verbatim (I've made small adjustments for readibility, but never changed a sentence) from mailing lists, articles, chats. The link points back at them.
If you are talking about the aspect of pattern matching that acts as a conditional based upon structure, I'm not a big fan. I feel about them the way I do about switch statements - they're brittle and