Don't create language_models.py twice
[cipher-training.git] / slides / index.html
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <title>Index of cipher training</title>
5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
6 <style type="text/css">
7 /* Slideshow styles */
8 body {
9 font-size: 20px;
10 }
11 h1, h2, h3 {
12 font-weight: 400;
13 margin-bottom: 0;
14 }
15 h1 { font-size: 3em; }
16 h2 { font-size: 2em; }
17 h3 { font-size: 1.6em; }
18 a, a > code {
19 text-decoration: none;
20 }
21 code {
22 -moz-border-radius: 5px;
23 -web-border-radius: 5px;
24 background: #e7e8e2;
25 border-radius: 5px;
26 font-size: 16px;
27 }
28 .plaintext {
29 background: #272822;
30 color: #80ff80;
31 text-shadow: 0 0 20px #333;
32 padding: 2px 5px;
33 }
34 .ciphertext {
35 background: #272822;
36 color: #ff6666;
37 text-shadow: 0 0 20px #333;
38 padding: 2px 5px;
39 }
40 .indexlink {
41 position: absolute;
42 bottom: 1em;
43 left: 1em;
44 }
45 .float-right {
46 float: right;
47 }
48 </style>
49 </head>
50 <body>
51 <textarea id="source">
52
53 # Cipher programming training
54
55 * [Aims](aims.html)
56 * Caesar ciphers: [Making](caesar-encipher.html) and [Breaking](caesar-break.html) *(Changing representations, language models, text encodings)*
57 * Affine ciphers: [Making](affine-encipher.html) and [Breaking](affine-break.html) *(Time/space trade-offs, off-by-one issues)*
58 * [Word segmentation](word-segmentation.html) *(Memoisation and complexity)*
59 * Keyword ciphers: [Making](keyword-encipher.html) and [Breaking](keyword-break.html) *(Being Pythonic and parallelism)*
60 * Transposition ciphers: [Making](transposition-encipher.html) and [Breaking](transposition-break.html) *(Equivalence classes)*
61 * Pocket enigma: [Making](pocket-enigma-encipher.html) and [Breaking](pocket-enigma-break.html) *(Object orientation)*
62 * [Alternative plaintext scoring](alternative-plaintext-scoring.html) *(Empirical computing through simulation)*
63 * [Further work](further-work.html)
64
65 </textarea>
66 <script src="http://gnab.github.io/remark/downloads/remark-0.6.0.min.js" type="text/javascript">
67 </script>
68
69 <script type="text/javascript"
70 src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML&delayStartupUntil=configured"></script>
71
72 <script type="text/javascript">
73 var slideshow = remark.create({ ratio: "16:9" });
74
75 // Setup MathJax
76 MathJax.Hub.Config({
77 tex2jax: {
78 skipTags: ['script', 'noscript', 'style', 'textarea', 'pre']
79 }
80 });
81 MathJax.Hub.Queue(function() {
82 $(MathJax.Hub.getAllJax()).map(function(index, elem) {
83 return(elem.SourceElement());
84 }).parent().addClass('has-jax');
85 });
86 MathJax.Hub.Configured();
87 </script>
88 </body>
89 </html>