# links

## 1 Programming

### 1.1 Languages

**Scheme**: Schemers.org, Scheme reports, Scheme working groups, GNU Guile, Chicken Scheme, Racket**Haskell**: Ninety-Nine Haskell Problems, Hoogle, Learn You a Haskell for Great Good!, Real World Haskell, State of the Haskell ecosystem**Agda**: Agda tutorials**Idris**: Idris Documentation, Some Idris lectures- kitten

### 1.2 Functional programming

- Lambda the Ultimate - a lot of news, links, and reviews sometimes
- The Comonad.Reader

### 1.3 Blogs and homepages

- John McCarthy's Home Page
- Andrew S. Tanenbaum
- call-with-current-musing
- John Cowan's Home Page and his blog
- synthcode: some software (including chibi scheme and irregex), a blog, and some more materials
- Xah Code - a lot of information about Emacs, keyboards, and other stuff
- Wisdom and Wonder
- λ Tony's blog λ
- Things that amuse me
- oxij
- puffnfresh blog
- Conor McBride's site
- raichoo : λΠ-punk
- David Christiansen blog
- Existential Type
- tailcalled
- Hackery, Math & Design
- Christian Neukirchen's web site, including blog and nice links/feeds collection
- Chris Done's Homepage
- The Wisdom of James Mickens
- DataGenetics Blog
- mjg59's journal
- Conal Elliott's homepage
- Thomas E. Dickey's software development projects (xterm, lynx, autoconf, terminfo, ncruses, tin, and others).
- catern's blog
- Tim Berners-Lee's website, his blog, "Design Issues".

### 1.4 Other

#### 1.4.1 Collections

#### 1.4.2 Programming exercises

- exercism.io
- Timus Online Judge
- VerifyThis, "A collection of verification benchmarks"
- Project Euler
- Logitext "is an educational proof assistant for first-order classical logic using the sequent calculus"

#### 1.4.3 Publications

- CSAIL Publications - a lot of AI-related publications
- Fentic Publications - some SDN-related publications

#### 1.4.4 Misc

- Perlis Languages
- OpenTheory Project
- Esolang, the esoteric programming languages wiki

## 2 Entertainment

### 2.1 Comics

- XKCD:
*A webcomic of romance, sarcasm, math, and language.* - Existential comics:
*A philosophy comic about the inevitable anguish of living a brief life in an absurd world. Also jokes.* - Invisible Bread: there's an invisible bread in the lower-right corner.
- Saturday Morning Breakfast Cereal

### 2.2 Videos

- They're Made Out of Meat: a short video by this short story
- Adulting
- I did it!

### 2.3 Other

### 2.4 Games

## 3 Books

Probably I'll try to backup all this and replace it with links to files later.

### 3.1 Technical

It's not easy to list all the nice books, or even to decide which books to list, but here are some.

- Programming Languages: Application and Interpretation: nice and relatively short/simple introductory book about interpreters (including typing), a video linked from its introduction is nice also.
- The Unix-Haters Handbook: funny and interesting book, as far as I can tell after reading first 70 pages.
- Type Theory and Functional Programming - it has explicit enough title, the book is nice.
- Types and Programming Languages - the same topic.
- Software Foundations: similar subject, with exercises and examples in Coq. Works fine as reader's first book on topic of formal theorem proving.
- SICP - this one is quite popular, but will link it from here anyway.
- Dragon Book - widely known also, but linking too; this (the "Red" one), together with SICP, made me look at programming from a [one more] different side.
- The HoTT Book + prerequisites and helpful materials:
- Topology by Munkres
- Algebraic Topology by Hatcher
- Higher Inductive Types: a tour of the menagerie
- CW complexes
- CW Defn and Examples
- Wikipedia and SO are helpful, too

- Conceptual Mathematics: A First Introduction to Categories
- Andrew S. Tanenbaum's books: pretty lengthy, but very readable, and can be used as references.
- Lang's books for algebra, though they are not that easy to read.

## 4 Articles

Links to articles are dying surprisingly fast, I should fix them somehow.

### 4.1 Programming-related

#### 4.1.1 Parsing/printing

#### 4.1.2 DTLC

- Simpler, Easier!
- Pi-Forall + corresponding lectures
- ΠΣ: Dependent Types without the Sugar
- nano-Agda
- A tutorial implementation of a dependently typed lambda calculus
- How to implement dependent type theory I

#### 4.1.3 GADTs, (Co)inductive types, CciC

- Co-Logic Programming: Extending Logic Programming with Coinduction
- Coinductive Logic Programming and its Applications
- The Algebra of Data, and the Calculus of Mutation
- CPDT chapters: Inductive Types, Coinductive
- Termination Checking Nested Inductive and Coinductive Types
- Wellfounded Recursion with Copatterns
- MiniAgda: Integrating Sized and Dependent Types
- A predicative analysis of structural recursion
- Termination Checking Nested Inductive and Coinductive Types
- Pattern matching without K
- Elimination with a Motive

#### 4.1.4 Functional programming

#### 4.1.5 Programming with dependent types

#### 4.1.6 Session types

It's useful to read about π-calculus (FAQ on π-Calculus) before reading about session types. λ-calculus knowledge is assumed, as pretty much in any other linked article here, and general familiarity type theories. Materials are ordered by complexity, from basic introduction to more advanced ones.

#### 4.1.7 Unsorted

trx : Regular-tree expressions, now in Scheme:

Regular-tree expressions are to semi-structured data, such as XML and Lisp s-expressions, what standard regular expressions are to strings

- What Every Computer Scientist Should Know About Floating-Point Arithmetic; And there's also a nice wiki article: it's always better to know and remember such little things.
- Church, "A set of postulates for the foundation of logic", Annals of Mathematics, Series 2, 33:346–366 (1932)
- F. Cardone and J. R. Hindley, History of Lambda-Calculus and Combinatory logic (2006)

### 4.2 Unix-related

### 4.3 Graphics and typography

- On the typography of flight-deck documentation (NASA contractor report # 177605)
- Color Graphics, also by NASA, and includes topics like legibility

### 4.4 Non-technical

### 4.5 Other

- Music theory for nerds
- The Long, Painful History of Time
- Why Adventure Games Suck
- Creating an Autonomous System for Fun and Profit
- Anonymity and privacy on the network
- On the Phenomenon of Bullshit Jobs: A Work Rant and the rise of the pointless job by David Graeber.
- A History of Computation, Logic and Algebra

## 5 Other

### 5.1 Food

- Soylent
- The Flavor Connection
- Supercook - a fine recipe search
- openrecipes - a food recipes database
- SimplyRecipes - some recipes, too
- How to choose wine: infographic

### 5.2 Emergency exit

- lostallhope.com - a good site with statistics, method descriptions and references
- The Peaceful Pill Handbook
- Final Exit - reference, various materials
- Dignitas - assisted suicide services for terminally ill
- How to kill a human being (a BBC documentary film)
- Suicide methods, a Wikipedia article
- A protocol for dying

### 5.3 Misc

- info.cern.ch – "home of the first website"
- Lojban
- Lamdu
- Lincos
- SDF Public Access UNIX System
- tilde.club
- Dedoimedo: "A place to learn a lot about a lot!" (software, in particular)
- Schneier on Security
- Off-the-Record Messaging
- StanfordUniversity on youtube, and Robert Sapolsky lectures in particular – quite interesting, as pop-sci.
- Theorem of the Day
- Privacy tools
- h-node: FLOSS-friendly hardware database
- POSIX.1-2008
- How the Great Firewall of China is Blocking Tor
- Xiph.Org Foundation + Streaming directory
- Gmane
- OpenCircuits wiki
- SL4 mailing list
- Charlie's Diary