- The best tutorials are in the introductory books. See below.
- Getting Started with Clojure - A detailed tutorial on getting a modern (as of Jan 2013) Clojure workflow going.
- Emacs Live is a nice development environment based on Emacs.
- Understanding The Clojure Development Ecosystem
- Clojure Docs Site is a community-driven doc site with good tutorials, and reference material going somewhat deeper than individual API docs.
- Functional Programming for the Rest of Us is a classic introduction to functional thinking
- [A comprehensive article on namespaces and different ways of requiring them](http://blog.8thlight.com/colin-jones/2010/12/05/clojure-libs-and-namespaces-require-use-import-and-ns.
(defn- debounce-future | |
"Returns future that invokes f once wait-until derefs to a timestamp in the past." | |
[f wait wait-until] | |
(future | |
(loop [wait wait] | |
(Thread/sleep wait) | |
(let [new-wait (- @wait-until (System/currentTimeMillis))] | |
(if (pos? new-wait) | |
(recur new-wait) | |
(f)))))) |
mkvirtualenv datascience | |
sudo apt-get install python-scipy libblas-dev liblapack-dev gfortran | |
sudo apt-get install libffi-dev # for cryptography from scrapy | |
sudo apt-get install libxslt-dev # for libxml from scrapy | |
export BLAS=/usr/lib/libblas.so | |
export LAPACK=/usr/lib/liblapack.so | |
pip install numpy | |
pip install scipy | |
pip install scikit-learn | |
pip install pandas |
# -*- coding: utf-8 -*- | |
''' | |
功能: | |
从zonefile文件导入域名到Dnspod | |
requirements: | |
dnspython==1.10.0 | |
requests==1.0.4 | |
''' |
WARNING: This gist was created in 2013 and targets the legacy GOPATH mode. If you're reading this in 2021 or later, you're likely better served by reading https://tip.golang.org/cmd/go/#hdr-Configuration_for_downloading_non_public_code and https://golang.org/ref/mod#private-modules.
$ ssh -A vm
$ git config --global url."git@github.com:".insteadOf "https://github.com/"
$ cat ~/.gitconfig
[url "git@github.com:"]
insteadOf = https://github.com/
$ go get github.com/private/repo && echo Success!
Success!
(def ptrn | |
{ | |
:a {:pattern #"a(?!b)" | |
:purpose "Only allow a if it is not preceded by a 'b' (negative lookahead)" | |
:samples ["acdefg" ; ok | |
"abcdef" ; nil | |
]} | |
:b {:pattern #"(?i)(<title.*?>)(.+?)(</title>)" |
Simply put, destructuring in Clojure is a way extract values from a datastructure and bind them to symbols, without having to explicitly traverse the datstructure. It allows for elegant and concise Clojure code.
import logging | |
import threading | |
import os | |
import subprocess | |
logging.basicConfig(format='%(levelname)s:%(message)s', level=logging.INFO) | |
class LogPipe(threading.Thread): |
This is a plain-text version of Bret Victor’s reading list. It was requested by hf on Hacker News.
Highly recommended things!
This is my five-star list. These are my favorite things in all the world.
A few of these works have had an extraordinary effect on my life or way of thinking. They get a sixth star. ★