summaryrefslogtreecommitdiffhomepage
path: root/src/www/index.gsp
blob: bfb477302cfeecf12d8f230d86bd804f3cf6839c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
html lang="en" {
	head { HEAD }
	body {
		header {
			div .head {
				h1 {-Other Websites}
				INCLUDE(nav.gsp)
			}

			figure .quote {
				blockquote {
					p {=
						The essence of XML is this: the problem it solves it not hard, and
						it does not solve the problem well.
					}
				}
				figcaption {-Phil Wadler}
			}
		}

		main {
			p {=
				On this section of the website you can find links to all sorts of other
				websites I think are somewhat interesting.  Some of these are my own
				sites, and some of them aren’t.  Feel free to explore.
			}

			h3 {-My Websites}
			ul {
				li {
					NEWTAB href="https://archive.thomasvoss.com" {=
						@cite{-archive} — Mario Kart Wii time trials archive
					}
				}
				li {
					NEWTAB href="https://cv.thomasvoss.com" {=
						@cite{-cv} — my résumé/curriculum vitæ
					}
				}
				li {
					NEWTAB href="https://euro.thomasvoss.com" {=
						@cite{-euro} — my euro coin and -banknote collection
					}
				}
				li {
					NEWTAB href="https://git.thomasvoss.com" {=
						@cite{-git} — my git server
					}
				}
				li {
					NEWTAB href="https://paste.thomasvoss.com" {=
						@cite{-paste} — my paste server
					}
				}
				li {
					NEWTAB href="https://retime.mcbe.wtf" {=
						@cite{-retime} — a webtool for retiming speedruns
					}
				}
			}

			h3 {-Not My Websites}
			ul {
				li {
					NEWTAB href="https://classicshorts.com" {=
						@cite{-classicshorts} — a collection of short stories
					}
				}
				li {
					NEWTAB href="https://iannis.io" {=
						@cite{-iannis.io} — blog posts on programming topics
					}
				}
				li {
					NEWTAB href="https://redblobgames.com" {=
						@cite{-redblobgames} — algorithms in the context of video games
					}
				}
				li {
					NEWTAB href="https://tdmm.eu" {=
						@cite{-tdmm} — blog posts on low-level development
					}
				}
				li {
					NEWTAB href="https://bal-e.org/blog" {=
						@cite{-bal-e} — it’s like tdmm.eu I guess
					}
				}
				li {
					NEWTAB href="http://textfiles.com" {=
						@cite{-textfiles} — a collection of thousands of plain-text files
					}
				}
				li {
					NEWTAB href="https://cat-v.org" {=
						@cite{-cat-v} — @q{-The Internet is not for sissies.}
					}
				}
			}

			h3 {-Assorted Links}
			p {-For those unfamiliar with Lisp:}
			ul {
				li {
					NEWTAB href="https://web.archive.org/web/20230619115633/http://lists.warhead.org.uk/pipermail/iwe/2005-July/000130.html" {
						cite {-Why Lisp Macros are Cool}
					}
				}
			}

			p {-Alternative approaches to common problems:}
			ul {
				li {
					NEWTAB href="https://doc.cat-v.org/plan_9/4th_edition/papers/rc" {
						cite {-Rc — The Plan 9 Shell}
					}
				}
				li {
					NEWTAB href="https://doc.cat-v.org/inferno/4th_edition/inferno_shell" {
						cite {-Sh — The Inferno Shell}
					}
				}
				li {
					NEWTAB href="https://doc.cat-v.org/bell_labs/structural_regexps/se.pdf" {
						cite {-Structural Regular Expressions — Rob Pike}
					}
				}
			}

			p {-Interesting talks (these are videos):}
			ul {
				li {
					NEWTAB href="https://www.youtube.com/watch?v=HxaD_trXwRE" {
						cite {-Lexical Scanning in Go — Rob Pike}
					}
				}
			}
		}

		footer { FOOT }
	}
}