maruku 0.6.0 → 0.7.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (290) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE.txt +20 -0
  3. data/bin/maruku +153 -152
  4. data/bin/marutex +2 -29
  5. data/data/entities.xml +261 -0
  6. data/docs/markdown_syntax.md +9 -21
  7. data/docs/math.md +14 -18
  8. data/lib/maruku.rb +65 -78
  9. data/lib/maruku/attributes.rb +109 -214
  10. data/lib/maruku/defaults.rb +45 -67
  11. data/lib/maruku/document.rb +44 -0
  12. data/lib/maruku/element.rb +138 -0
  13. data/lib/maruku/errors.rb +80 -0
  14. data/lib/maruku/ext/div.rb +105 -113
  15. data/lib/maruku/ext/fenced_code.rb +97 -0
  16. data/lib/maruku/ext/math.rb +22 -26
  17. data/lib/maruku/ext/math/elements.rb +20 -26
  18. data/lib/maruku/ext/math/mathml_engines/blahtex.rb +92 -104
  19. data/lib/maruku/ext/math/mathml_engines/itex2mml.rb +33 -26
  20. data/lib/maruku/ext/math/mathml_engines/none.rb +11 -19
  21. data/lib/maruku/ext/math/mathml_engines/ritex.rb +2 -4
  22. data/lib/maruku/ext/math/parsing.rb +121 -115
  23. data/lib/maruku/ext/math/to_html.rb +202 -187
  24. data/lib/maruku/ext/math/to_latex.rb +34 -21
  25. data/lib/maruku/helpers.rb +158 -257
  26. data/lib/maruku/html.rb +251 -0
  27. data/lib/maruku/input/charsource.rb +272 -319
  28. data/lib/maruku/input/extensions.rb +62 -63
  29. data/lib/maruku/input/html_helper.rb +233 -189
  30. data/lib/maruku/input/linesource.rb +90 -110
  31. data/lib/maruku/input/mdline.rb +131 -0
  32. data/lib/maruku/input/parse_block.rb +736 -613
  33. data/lib/maruku/input/parse_doc.rb +145 -217
  34. data/lib/maruku/input/parse_span.rb +740 -0
  35. data/lib/maruku/inspect_element.rb +60 -0
  36. data/lib/maruku/maruku.rb +14 -30
  37. data/lib/maruku/output/entity_table.rb +37 -0
  38. data/lib/maruku/output/s5/fancy.rb +462 -462
  39. data/lib/maruku/output/s5/to_s5.rb +115 -135
  40. data/lib/maruku/output/to_html.rb +907 -983
  41. data/lib/maruku/output/to_latex.rb +571 -563
  42. data/lib/maruku/output/to_markdown.rb +207 -162
  43. data/lib/maruku/output/to_s.rb +10 -52
  44. data/lib/maruku/string_utils.rb +129 -179
  45. data/lib/maruku/toc.rb +185 -196
  46. data/lib/maruku/version.rb +33 -38
  47. data/spec/block_docs/abbrev.md +776 -0
  48. data/{tests/unittest → spec/block_docs}/abbreviations.md +11 -20
  49. data/spec/block_docs/abbreviations2.md +27 -0
  50. data/{tests/unittest → spec/block_docs}/alt.md +2 -14
  51. data/{tests/unittest/pending → spec/block_docs}/amps.md +1 -13
  52. data/spec/block_docs/attribute_sanitize.md +22 -0
  53. data/{tests/unittest → spec/block_docs}/attributes/att2.md +0 -12
  54. data/{tests/unittest → spec/block_docs}/attributes/att3.md +2 -14
  55. data/{tests/unittest → spec/block_docs}/attributes/attributes.md +12 -16
  56. data/{tests/unittest → spec/block_docs}/attributes/circular.md +0 -12
  57. data/{tests/unittest → spec/block_docs}/attributes/default.md +1 -13
  58. data/spec/block_docs/atx_headers.md +22 -0
  59. data/spec/block_docs/auto_cdata.md +48 -0
  60. data/spec/block_docs/bad_cites.md +30 -0
  61. data/spec/block_docs/bad_divrefs.md +30 -0
  62. data/{tests/unittest → spec/block_docs}/blank.md +0 -12
  63. data/{tests/unittest → spec/block_docs}/blanks_in_code.md +16 -15
  64. data/spec/block_docs/block_quotes.md +66 -0
  65. data/{tests/unittest/loss.md → spec/block_docs/bug_def.md} +6 -18
  66. data/{tests/unittest → spec/block_docs}/bug_table.md +7 -19
  67. data/spec/block_docs/cites.md +37 -0
  68. data/{tests/unittest → spec/block_docs}/code.md +7 -14
  69. data/{tests/unittest → spec/block_docs}/code2.md +4 -14
  70. data/{tests/unittest → spec/block_docs}/code3.md +12 -16
  71. data/spec/block_docs/code4.md +79 -0
  72. data/{tests/unittest → spec/block_docs}/data_loss.md +2 -14
  73. data/spec/block_docs/div_without_newline.md +16 -0
  74. data/{tests/unittest → spec/block_docs}/divs/div1.md +0 -12
  75. data/{tests/unittest → spec/block_docs}/divs/div2.md +0 -12
  76. data/{tests/unittest → spec/block_docs}/divs/div3_nest.md +3 -15
  77. data/{tests/unittest → spec/block_docs}/easy.md +1 -13
  78. data/spec/block_docs/email.md +29 -0
  79. data/spec/block_docs/empty_cells.md +31 -0
  80. data/{tests/unittest → spec/block_docs}/encoding/iso-8859-1.md +1 -14
  81. data/{tests/unittest → spec/block_docs}/encoding/utf-8.md +0 -12
  82. data/{tests/unittest → spec/block_docs}/entities.md +33 -41
  83. data/{tests/unittest/notyet → spec/block_docs}/escape.md +2 -14
  84. data/{tests/unittest → spec/block_docs}/escaping.md +11 -22
  85. data/{tests/unittest → spec/block_docs}/extra_dl.md +2 -13
  86. data/{tests/unittest → spec/block_docs}/extra_header_id.md +14 -20
  87. data/{tests/unittest → spec/block_docs}/extra_table1.md +9 -21
  88. data/spec/block_docs/fenced_code_blocks.md +58 -0
  89. data/spec/block_docs/fenced_code_blocks_highlighted.md +17 -0
  90. data/{tests/unittest → spec/block_docs}/footnotes.md +12 -24
  91. data/spec/block_docs/footnotes2.md +82 -0
  92. data/spec/block_docs/hard.md +25 -0
  93. data/spec/block_docs/header_after_par.md +62 -0
  94. data/{tests/unittest → spec/block_docs}/headers.md +10 -18
  95. data/{tests/unittest → spec/block_docs}/hex_entities.md +7 -18
  96. data/{tests/unittest → spec/block_docs}/hrule.md +5 -12
  97. data/{tests/unittest → spec/block_docs}/html3.md +1 -13
  98. data/{tests/unittest → spec/block_docs}/html4.md +2 -14
  99. data/{tests/unittest → spec/block_docs}/html5.md +2 -14
  100. data/spec/block_docs/html_block_in_para.md +22 -0
  101. data/spec/block_docs/html_inline.md +25 -0
  102. data/spec/block_docs/html_trailing.md +31 -0
  103. data/spec/block_docs/ie.md +62 -0
  104. data/spec/block_docs/iframe.md +29 -0
  105. data/spec/block_docs/ignore_bad_header.md +9 -0
  106. data/{tests/unittest → spec/block_docs}/images.md +22 -28
  107. data/{tests/unittest → spec/block_docs}/images2.md +7 -17
  108. data/{tests/unittest → spec/block_docs}/inline_html.md +37 -67
  109. data/{tests/unittest → spec/block_docs}/inline_html2.md +1 -13
  110. data/spec/block_docs/inline_html_beginning.md +10 -0
  111. data/spec/block_docs/issue106.md +78 -0
  112. data/spec/block_docs/issue115.md +20 -0
  113. data/spec/block_docs/issue117.md +13 -0
  114. data/spec/block_docs/issue120.md +48 -0
  115. data/spec/block_docs/issue123.md +11 -0
  116. data/spec/block_docs/issue124.md +16 -0
  117. data/spec/block_docs/issue126.md +9 -0
  118. data/spec/block_docs/issue130.md +11 -0
  119. data/spec/block_docs/issue20.md +9 -0
  120. data/spec/block_docs/issue26.md +22 -0
  121. data/spec/block_docs/issue29.md +9 -0
  122. data/spec/block_docs/issue30.md +30 -0
  123. data/spec/block_docs/issue31.md +25 -0
  124. data/spec/block_docs/issue40.md +52 -0
  125. data/spec/block_docs/issue64.md +55 -0
  126. data/spec/block_docs/issue67.md +19 -0
  127. data/spec/block_docs/issue70.md +11 -0
  128. data/spec/block_docs/issue72.md +17 -0
  129. data/spec/block_docs/issue74.md +38 -0
  130. data/spec/block_docs/issue79.md +15 -0
  131. data/spec/block_docs/issue83.md +13 -0
  132. data/spec/block_docs/issue85.md +25 -0
  133. data/spec/block_docs/issue88.md +19 -0
  134. data/spec/block_docs/issue89.md +12 -0
  135. data/spec/block_docs/issue90.md +38 -0
  136. data/{tests/unittest/pending → spec/block_docs}/link.md +21 -18
  137. data/{tests/unittest → spec/block_docs}/links.md +33 -32
  138. data/spec/block_docs/links2.md +21 -0
  139. data/{tests/unittest → spec/block_docs}/list1.md +0 -12
  140. data/{tests/unittest → spec/block_docs}/list12.md +2 -14
  141. data/{tests/unittest → spec/block_docs}/list2.md +2 -14
  142. data/spec/block_docs/list_multipara.md +42 -0
  143. data/{tests/unittest → spec/block_docs}/lists.md +28 -29
  144. data/{tests/unittest → spec/block_docs}/lists10.md +2 -14
  145. data/spec/block_docs/lists11.md +23 -0
  146. data/spec/block_docs/lists12.md +43 -0
  147. data/spec/block_docs/lists13.md +55 -0
  148. data/spec/block_docs/lists14.md +61 -0
  149. data/spec/block_docs/lists15.md +36 -0
  150. data/spec/block_docs/lists6.md +88 -0
  151. data/spec/block_docs/lists7b.md +58 -0
  152. data/spec/block_docs/lists9.md +53 -0
  153. data/{tests/unittest → spec/block_docs}/lists_after_paragraph.md +19 -25
  154. data/spec/block_docs/lists_blank.md +35 -0
  155. data/{tests/unittest/list3.md → spec/block_docs/lists_blockquote_code.md} +2 -14
  156. data/{tests/unittest/list4.md → spec/block_docs/lists_need_blank_line.md} +44 -29
  157. data/spec/block_docs/lists_nested.md +44 -0
  158. data/spec/block_docs/lists_nested_blankline.md +34 -0
  159. data/spec/block_docs/lists_nested_deep.md +43 -0
  160. data/spec/block_docs/lists_ol.md +129 -0
  161. data/spec/block_docs/lists_ol2.md +147 -0
  162. data/spec/block_docs/lists_paraindent.md +42 -0
  163. data/spec/block_docs/lists_tab.md +54 -0
  164. data/spec/block_docs/loss.md +17 -0
  165. data/spec/block_docs/math-blahtex/equations.md +29 -0
  166. data/spec/block_docs/math-blahtex/inline.md +48 -0
  167. data/spec/block_docs/math-blahtex/math2.md +52 -0
  168. data/spec/block_docs/math-blahtex/table.md +25 -0
  169. data/spec/block_docs/math/embedded_invalid_svg.md +108 -0
  170. data/spec/block_docs/math/embedded_svg.md +136 -0
  171. data/spec/block_docs/math/equations.md +49 -0
  172. data/spec/block_docs/math/inline.md +46 -0
  173. data/spec/block_docs/math/math2.md +53 -0
  174. data/{tests/unittest → spec/block_docs}/math/notmath.md +0 -12
  175. data/spec/block_docs/math/raw_mathml.md +87 -0
  176. data/spec/block_docs/math/spaces_after_inline_math.md +17 -0
  177. data/spec/block_docs/math/table.md +25 -0
  178. data/{tests/unittest → spec/block_docs}/math/table2.md +11 -23
  179. data/{tests/unittest → spec/block_docs}/misc_sw.md +184 -121
  180. data/{tests/unittest → spec/block_docs}/olist.md +6 -18
  181. data/{tests/unittest → spec/block_docs}/one.md +0 -12
  182. data/{tests/unittest → spec/block_docs}/paragraph.md +0 -12
  183. data/{tests/unittest → spec/block_docs}/paragraph_rules/dont_merge_ref.md +4 -12
  184. data/{tests/unittest → spec/block_docs}/paragraph_rules/tab_is_blank.md +0 -12
  185. data/{tests/unittest → spec/block_docs}/paragraphs.md +1 -13
  186. data/{tests/unittest → spec/block_docs}/recover/recover_links.md +4 -16
  187. data/{tests/unittest/pending/ref.md → spec/block_docs/ref_with_period.md} +7 -16
  188. data/spec/block_docs/ref_with_title.md +22 -0
  189. data/{tests/unittest → spec/block_docs}/references/long_example.md +16 -23
  190. data/{tests/unittest → spec/block_docs}/references/spaces_and_numbers.md +0 -12
  191. data/{tests/unittest → spec/block_docs}/smartypants.md +24 -31
  192. data/{tests/unittest → spec/block_docs}/syntax_hl.md +13 -17
  193. data/{tests/unittest → spec/block_docs}/table_attributes.md +6 -20
  194. data/spec/block_docs/table_colspan.md +41 -0
  195. data/spec/block_docs/tables.md +47 -0
  196. data/spec/block_docs/tables2.md +74 -0
  197. data/{tests/unittest → spec/block_docs}/test.md +1 -13
  198. data/{tests/unittest/notyet → spec/block_docs}/ticks.md +1 -13
  199. data/spec/block_docs/toc.md +87 -0
  200. data/{tests/unittest/notyet → spec/block_docs}/triggering.md +14 -25
  201. data/{tests/unittest → spec/block_docs}/underscore_in_words.md +0 -12
  202. data/{tests/unittest → spec/block_docs}/wrapping.md +4 -16
  203. data/spec/block_docs/xml.md +33 -0
  204. data/spec/block_docs/xml3.md +24 -0
  205. data/spec/block_docs/xml_comments.md +32 -0
  206. data/{tests/unittest → spec/block_docs}/xml_instruction.md +9 -20
  207. data/spec/block_spec.rb +110 -0
  208. data/spec/cli_spec.rb +8 -0
  209. data/spec/span_spec.rb +263 -0
  210. data/spec/spec_helper.rb +3 -0
  211. data/spec/to_html_utf8_spec.rb +13 -0
  212. metadata +218 -202
  213. data/Rakefile +0 -73
  214. data/bin/marudown +0 -29
  215. data/bin/marutest +0 -345
  216. data/docs/changelog.md +0 -334
  217. data/lib/maruku/errors_management.rb +0 -92
  218. data/lib/maruku/ext/math/latex_fix.rb +0 -12
  219. data/lib/maruku/input/parse_span_better.rb +0 -746
  220. data/lib/maruku/input/rubypants.rb +0 -225
  221. data/lib/maruku/input/type_detection.rb +0 -147
  222. data/lib/maruku/output/to_latex_entities.rb +0 -367
  223. data/lib/maruku/output/to_latex_strings.rb +0 -64
  224. data/lib/maruku/structures.rb +0 -167
  225. data/lib/maruku/structures_inspect.rb +0 -87
  226. data/lib/maruku/structures_iterators.rb +0 -61
  227. data/lib/maruku/tests/benchmark.rb +0 -82
  228. data/lib/maruku/tests/new_parser.rb +0 -373
  229. data/lib/maruku/tests/tests.rb +0 -136
  230. data/lib/maruku/usage/example1.rb +0 -33
  231. data/maruku_gem.rb +0 -33
  232. data/tests/bugs/code_in_links.md +0 -101
  233. data/tests/bugs/complex_escaping.md +0 -38
  234. data/tests/math/syntax.md +0 -46
  235. data/tests/math_usage/document.md +0 -13
  236. data/tests/others/abbreviations.md +0 -11
  237. data/tests/others/blank.md +0 -4
  238. data/tests/others/code.md +0 -5
  239. data/tests/others/code2.md +0 -8
  240. data/tests/others/code3.md +0 -16
  241. data/tests/others/email.md +0 -4
  242. data/tests/others/entities.md +0 -19
  243. data/tests/others/escaping.md +0 -16
  244. data/tests/others/extra_dl.md +0 -101
  245. data/tests/others/extra_header_id.md +0 -13
  246. data/tests/others/extra_table1.md +0 -40
  247. data/tests/others/footnotes.md +0 -17
  248. data/tests/others/headers.md +0 -10
  249. data/tests/others/hrule.md +0 -10
  250. data/tests/others/images.md +0 -20
  251. data/tests/others/inline_html.md +0 -42
  252. data/tests/others/links.md +0 -38
  253. data/tests/others/list1.md +0 -4
  254. data/tests/others/list2.md +0 -5
  255. data/tests/others/list3.md +0 -8
  256. data/tests/others/lists.md +0 -32
  257. data/tests/others/lists_after_paragraph.md +0 -44
  258. data/tests/others/lists_ol.md +0 -39
  259. data/tests/others/misc_sw.md +0 -105
  260. data/tests/others/one.md +0 -1
  261. data/tests/others/paragraphs.md +0 -13
  262. data/tests/others/sss06.md +0 -352
  263. data/tests/others/test.md +0 -4
  264. data/tests/s5/s5profiling.md +0 -48
  265. data/tests/unittest/bug_def.md +0 -28
  266. data/tests/unittest/email.md +0 -32
  267. data/tests/unittest/hang.md +0 -29
  268. data/tests/unittest/html2.md +0 -34
  269. data/tests/unittest/ie.md +0 -61
  270. data/tests/unittest/links2.md +0 -34
  271. data/tests/unittest/lists11.md +0 -28
  272. data/tests/unittest/lists6.md +0 -53
  273. data/tests/unittest/lists9.md +0 -76
  274. data/tests/unittest/lists_ol.md +0 -274
  275. data/tests/unittest/math/equations.md +0 -86
  276. data/tests/unittest/math/inline.md +0 -58
  277. data/tests/unittest/math/math2.md +0 -57
  278. data/tests/unittest/math/table.md +0 -37
  279. data/tests/unittest/notyet/header_after_par.md +0 -70
  280. data/tests/unittest/pending/empty_cells.md +0 -49
  281. data/tests/unittest/red_tests/abbrev.md +0 -1388
  282. data/tests/unittest/red_tests/lists7.md +0 -68
  283. data/tests/unittest/red_tests/lists7b.md +0 -128
  284. data/tests/unittest/red_tests/lists8.md +0 -76
  285. data/tests/unittest/red_tests/xml.md +0 -70
  286. data/tests/unittest/xml2.md +0 -31
  287. data/tests/unittest/xml3.md +0 -38
  288. data/tests/utf8-files/simple.md +0 -1
  289. data/unit_test_block.sh +0 -5
  290. data/unit_test_span.sh +0 -3
@@ -1 +0,0 @@
1
- One line
@@ -1,13 +0,0 @@
1
- Paragraph 1
2
-
3
- Paragraph 2
4
-
5
-
6
- Paragraph 3
7
- Paragraph 4
8
- Paragraph Br->
9
- Paragraph 5
10
-
11
-
12
-
13
- Escaping: & { } [ ] !
@@ -1,352 +0,0 @@
1
- Category: sss06
2
- Date: Sep 10 2006
3
- From: "Andrea Censi" <andrea.censi@dis.uniroma1.it>
4
- Subject: A report about Oxford and the 2006 SLAM Summer School
5
- Encoding: BlueCloth FlickrHTML
6
- format: bluecloth>
7
- inMenu: true
8
-
9
- Let me quote the words of a renowned Oxford scholar:
10
-
11
- > "Life is too important to be taken seriously."
12
-
13
- If you do not wholeheartedly agree with this statement,
14
- please stop reading this.
15
-
16
- ----------------------
17
-
18
- I stayed three weeks in Oxford: one week for the SLAM school and,
19
- before that, two weeks for an English course. You might ask: why?
20
- A very good question indeed - "Why I am not on a sunny beach?" -
21
- I kept asking myself as I walked down the misty alleys of the old town,
22
- wearing a scarf on August, 16th, and realizing that - maybe - I would not
23
- need the three pairs of shorts and the swimsuit I had brought.
24
-
25
-
26
- Summary:
27
-
28
- 1. The Queen's English
29
- 2. The Harry Potter experience
30
- 3. Parsnip, Marmite and the tea conspiracy
31
- 4. The Summer School
32
- 5. Minor open issues in SLAM
33
-
34
- > Appendix: How to offend seven nationalities at once
35
-
36
- `I`. The Queen's English
37
- ----------------------
38
-
39
- It turns out that a course of English at an advanced level is mostly
40
- about vocabulary and idioms: by the end of the first week I knew seven
41
- different ways to address a "promiscuous" woman, and I can tell which ones
42
- are applicable to American and which to British English. It remains to be
43
- seen how this will benefit my academic writing.
44
-
45
- It was a lot of fun to learn the differences (or, as the teacher put it,
46
- "to purify my English after years of prolonged unhealthy exposure to American
47
- media"), which are not only linguistic, but above all in attitude and
48
- social norms.
49
- For example, in the US the first question that people ask you is
50
- "What do you do?" (meaning: "How much do you earn?"), while in England such
51
- a question would be felt as unnecessary direct and impolite.
52
- As a rule,
53
- it is compulsory to exchange comments about the weather, and there is a lot
54
- of specialized vocabulary for this; the following table might prove handy
55
- to understand your acquaintance:
56
-
57
- - "It's a lovely day!" = "It doesn't rain"
58
- - "It's a nice day!" = "It doesn't rain heavily"
59
- - "What a wonderful day!"="This morning, at 10:13, I caught a glimpse of the sun"
60
-
61
- (the correct answer to any of these is "isn't it?")
62
-
63
- `II`. The Harry Potter experience
64
- -------------------------
65
-
66
- flickr: http://www.flickr.com/photos/censi/232006603/
67
-
68
- During my three-week stay I tried my best to immerse myself in the English
69
- atmosphere.
70
-
71
- I went to a place called Oxford Story [3], where we paid &pound;7 to go through a
72
- painfully slow indoor ride, sat on a mobile school-desk in the dark for 25
73
- minutes. It is the claustrophobic equivalent of the American Epcot center in
74
- Disney World.
75
-
76
- At Epcot, I learned that the final goal of all the scientific progress in the
77
- last three millennia was to let Walt Disney broadcast Snow White using
78
- Siemens equipment (Siemens sponsored the ride).
79
- In Oxford, I learned that the glorious University is the repository of all
80
- human knowledge, and that the English understatement is a legend. At the end of
81
- the ride, I was amazed that in Italy I had managed to learn to read and write.
82
-
83
- flickr: http://www.flickr.com/photos/censi/232023681/
84
-
85
- Still, one thing the ride did not explain is how the well-educated,
86
- smart elite students of Oxford can possibly find rowing fun --
87
- (probably it IS fun, compared to cricket).
88
-
89
- flickr: http://www.flickr.com/photos/censi/232529032/
90
-
91
- I went to a candle-light baroque concert in the Exeter college chapel.
92
- The ensemble was 75% Asian, all Oxford researchers, and we were given
93
- a twenty minute speech about the effort they put in the historical
94
- research of this obscure composer, that they had a microfilm of the original
95
- manuscript delivered from a German library, that the viola would be played
96
- in the original style, blah blah blah. Only in Oxford!
97
-
98
- flickr: http://www.flickr.com/photos/censi/232031895/
99
-
100
- I read "The Hobbit" (Tolkien was a fellow of Exeter college) - I discovered
101
- that the only two peoples in the known and invented universes to have
102
- the concept of a "second breakfast" are Hobbits and Italians.
103
-
104
-
105
- I watched a performance of MacBeth at an open-air theatre.
106
- I couldn't understand but one sentence, which is worth mentioning:
107
- "Alcohol provokes the desire, but it takes away the performance"
108
-
109
- Regarding alcohol, England is one of the places where you can't drink if you
110
- are under 21 (in Italy, at 18 you have decided to quit).
111
- Young people have their ID checked at the entrance of pubs and in liquor
112
- stores: that's only a minor annoyance, as they just need to wait outside
113
- the store for the first Spanish guy passing by that will buy the wine for them
114
- (and be compensated with just the change - did you keep the penny, Felix?).
115
-
116
- Anyway the guys at the door use the ID checking mostly as a form of flattery:
117
- "You are 32? I thought you were 20!" is probably the best pick-up line that
118
- the English can come up with.
119
-
120
- The other characteristic thing is that in English pubs there is no table
121
- service: you have to walk to the bar and ask by yourself. The first time can
122
- be confusing: and you can spend quite some time waiting at the table whining
123
- about the "poor service".
124
-
125
- `III`. Parsnip, Marmite & the tea conspiracy
126
- ---------------------------------------------
127
-
128
- During the first week I was a guest of a lovely 79-year-old lady.
129
- Working at the University, she made a point of speaking very posh English.
130
- And she made a point of cooking traditional English food.
131
- The typical English dish is some meat with two vegetables aside.
132
- For the vegetables, pick any two in {parsnip, carrot, potato}.
133
-
134
- Don't look in your dictionary for a translation of "parsnip" as probably
135
- there isn't one. The lady would tell me that in the next-to-last century,
136
- this famous professor spent years raising the finest crossbreed of Parsnip as
137
- to finally obtain what is best described as a big white carrot
138
- with no taste whatsoever [4].
139
-
140
- Nevertheless, the many regional variants give spectacular variety to the
141
- English cuisine: the two vegetables can be boiled, fried, baked, microwaved,
142
- or roasted. There exist also exotic twists, in which the vegetables are put
143
- on top of the meat, or underneath, or even inside.
144
- In important occasions, the recipes stay the same but gain a French name.
145
-
146
-
147
- flickr: http://www.flickr.com/photos/censi/232526897/
148
-
149
-
150
- I tried a thing called Marmite, which the teacher sold to me as "the British
151
- answer to Nutella". It has the aspect and consistency of engine grease, and,
152
- as far as I know, also the taste is similar (I've never tasted the grease,
153
- but next time, presented with choice, I'd give it a go).
154
-
155
- The austerity of English food can be explained by the pitiless weather; but
156
- how can you explain Marmite, if not with alimentary masochism?
157
-
158
- But... there's one thing that is much better in England: tea. Wherever I tried
159
- it (at the old lady's, at tearooms, at coffee breaks) it was sooo delicious.
160
- In Italy we don't get the real thing. Why is that? Is this some sort of
161
- conspiracy orchestrated by the Italian coffee producers? And is it the
162
- tea cartello which does not allow good coffee to be imported in England?
163
-
164
- `IV`. The Summer School
165
- ---------------------
166
-
167
- If you go for a career in research, in general you don't get much money,
168
- or fame, and you don't get to rescue the princess either.
169
- The two benefits that you do get are: playing with very expensive toys
170
- and the occasional trip in which you meet all sort of people.
171
-
172
- And when you talk with them, it's sort of strange to realize that your
173
- interlocutor is one of the 5 people - worldwide - that actually care about your
174
- research theme, and yet the things you have in common end there, as he has
175
- different culture, race, religion, and while you two happen to agree that Lie
176
- brackets are an indispensable tool to characterize the propagation of errors
177
- on the Euclidean group, you have very different answers to the important
178
- questions about life, the universe and everything. (In these cases I have
179
- anecdotal proof that it is much better to stick to research talk, and to
180
- avoid at all costs the kind of jokes that you can find in the Appendix).
181
-
182
- Instead, at this particular school, I would say that the European character was
183
- clearly perceived, and I enjoyed it -- but whether England is in Europe is a
184
- delicate matter.
185
-
186
-
187
- Here are some impressions of the people.
188
-
189
- * Juan Domingo Tardos (aka Mingo) is the funniest of the bunch, the man you
190
- want to go partying with.
191
-
192
- He taught us two deep truths about SLAM and life:
193
- 1. The size of your banana matters.
194
- 2. Never under-estimate the size of your lemons.
195
-
196
- I thought: wow, I want to write a paper with "banana" in the title - finally
197
- some inspiration from the school! I already had big projects for Fig. 1,2
198
- and a full-page Fig. 3, but after a little googling I found:
199
- "Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire"[5]
200
- "Dealing with large bananas" [6].
201
- I gave up: I cannot beat this last one. And the existence of [6] proves
202
- once again that SLAM is a solved problem.
203
-
204
- * Paul Newman, the organizer, told us, more than once, that the future of SLAM
205
- is in long term operation if we want the systems to be reliable.
206
- (Personally, I disagree: I think that it is possible to build anything at
207
- the desired level of reliability, given reasonable funding, time, and
208
- an appropriate number of German engineers)
209
-
210
- * One of the lessons learned in the school is that almost everything has
211
- already been done by someone else.
212
- More specifically, most of the things have already been done by
213
- Durrant-Whyte some twenty years ago, when men were men, CS was electrical
214
- engineering, master students knew calculus, and Kalman filters ran
215
- free in the wild lands of Australia.
216
-
217
- * Frank Dellaert is a jolly chap as well, and he does interesting things with
218
- graphs. As he introduced three different formalisms in the first
219
- three slides, I regretted not to have put more CS in my curriculum, then
220
- shut my eyes. Interestingly, at summer schools and conferences, if you close
221
- your eyes people assume that you are very smart and that you are thinking
222
- about some new impressive algorithm -- I was just dreaming of a sunny beach.
223
-
224
- * Henrik Christensen has implemented SLAM on the cleaning robot for $45
225
- in sensors and electronics. It puts things in perspective, especially
226
- if you consider that I paid &pound;16 for a one-hour coach trip from Heathrow
227
- to Oxford.
228
-
229
- * Andy Davison is a wonderful person, he tutored the practicals with
230
- infinite patience. Never did I meet such a knowledgeable, affable,
231
- and humble person. (Probably he is the kind of person that some day will
232
- show up at work with automatic guns)
233
-
234
- * Wolfram Burgard - he wins my "best robot" award for the photo of our
235
- beloved Albert [7].
236
-
237
- * Dieter Fox wins "most nostalgic slide from the 90s": and every time we feel
238
- the same emotion as the first time.
239
-
240
- * Kurt Konolige reminded me why I bought a Mac.
241
-
242
- * Simon Lacroix - Once we sat at the same table during lunch. While he
243
- talked with Dellaert, he would send me alarmed glances, the kind of glances
244
- that you would reserve to a relative returning from death. I wanted
245
- to ask him why, but then I decided I'd better not to (was I so wasted
246
- from the night before?).
247
-
248
- * Simon Julier -- he seems very smart, but he lost me between slide #3 and #4.
249
- I started to be seasick from all those covariance matrices -
250
- so I muttered to my neighbours: "I wonder whether it still holds in
251
- higher-dimensional spaces...", then I closed my eyes and was back again on
252
- the sunny beach.
253
-
254
- * But all in all, the most interesting presentation was the magical show
255
- that Davide Scaramuzza (who at daytime pretends to work at ETHZ) gave to a
256
- selected audience after the banquet ([8]).
257
- It was another confirmation that all the time spent in front of a monitor is,
258
- in fact, wasted, and all of us should have studied card tricks instead:
259
- you have NO IDEA of how a girl's face brightens up and her eyes expand when
260
- she watches a magician.
261
-
262
- `V`. Other minor issues in SLAM
263
- --------------------------------
264
-
265
- We all know that the most important open problem in SLAM is that there are
266
- not enough women doing research in the area and coming at summer schools.
267
- As for the other minor issues, this is the result of asking
268
- "What is the future of SLAM?" to a random sampling of the participants.
269
- (the list does not include answers given after 10:00 PM)
270
-
271
- - For 30% of the respondents, SLAM is a solved problem, and we just need some
272
- German engineers to work out the details of the implementations.
273
- - Long term operation: make filters that reconsider their decisions at a
274
- a later time (so not delaying decisions, but explicitly reconsider).
275
- - Make it robust for real applications: or, your method should work in more
276
- than one experiment and possibly also outside of your lab.
277
- - Put more knowledge in SLAM about the environment. Teach your
278
- filter what is a tree, a road, a mirror so that it can make smarter
279
- decisions.
280
- - Active SLAM and SLAM-guided exploration (once we figure out good acronyms).
281
- - Some boring work is to be done for taking into account linearization errors
282
- in the already existing results about consistency, sparsity, etc.
283
- - "Where can I get some real coffee?" (2 people)
284
- - Methods and representations for real sensor fusion (laser, camera, etc).
285
- - Do robust stuff with a single camera. Omnidirectional cameras are cool.
286
- Mix different techniques at different time-scales: visual odometry between
287
- frames, then stable features, then databases of places to close the loop
288
- (or don't close the loop at all).
289
-
290
- Appendix. How to offend seven nationalities at once
291
- --------------------------------------------------
292
-
293
- In Oxford I learned the ultimate rude stereotypical joke -- I think it's
294
- worth sharing.
295
-
296
- > **Heaven & Hell**
297
- >
298
- > *In Heaven*: the policemen are British, mechanics are German, chefs are French,
299
- > wives are Japanese, neighbours are Dutch, lovers are Italian,
300
- > and the Swiss organize it all.
301
- >
302
- > *In Hell*: the policemen are German, mechanics are French, chefs are British,
303
- > neighbours are Japanese, wives are Dutch, lovers are Swiss,
304
- > and the Italians organize it all.
305
-
306
- For related work, see for example [9], [10].
307
-
308
-
309
- And here's the research version:
310
-
311
- > **The BEST international research project**
312
- >
313
- > - The French do the overall math analysis,
314
- > - a Chinese refines a ten-line proof of the main Theorem,
315
- > - the Germans design the implementation,
316
- > - Japanese undergrads do the actual work,
317
- > - the British write the paper,
318
- > - an American gives the presentation,
319
- > - the Spanish organize the social events,
320
- > - and the Italians organize the banquet.
321
- >
322
- > **The WORST international research project**
323
- >
324
- > - The Germans do the overall math analysis,
325
- > - an American PhD student spends 10 CPU year on his department's 48-node
326
- > cluster and proves with a Monte Carlo simulation in Matlab that
327
- > Theorem 1 indeed holds for some values of the parameters,
328
- > - the French design the implementation,
329
- > - one Spanish undergrad does the actual work,
330
- > - the Italians write the papers,
331
- > - a Chinese gives the presentation,
332
- > - the Japanese organize the social events,
333
- > - and the British organize the banquet.
334
-
335
- `:-)`
336
-
337
- Flickr: <http://www.flickr.com/photos/censi/232003838>
338
-
339
- References
340
- ----------
341
-
342
- \[1\] [http://www.spellingsociety.org/news/media/poems.php](http://www.spellingsociety.org/news/media/poems.php)
343
- \[2\] dde [http://www.flickr.com/photos/censi/236722418/](http://www.flickr.com/photos/censi/236722418/)
344
- \[3\] [http://www.oxfordstory.co.uk](http://www.oxfordstory.co.uk)
345
- \[4\] [http://www.botanical.com/botanical/mgmh/p/parsni12.html](http://www.botanical.com/botanical/mgmh/p/parsni12.html )
346
- \[5\] E. Meijer, M. Fokkinga, R. Paterson. "Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire" (1991)
347
- [http://citeseer.ist.psu.edu/meijer91functional.html](http://citeseer.ist.psu.edu/meijer91functional.html)
348
- \[6\] R. Lammel, J. Visser, J. Kort. "Dealing with large bananas" (2000) <http://citeseer.ist.psu.edu/lammel00dealing.html>
349
- \[7\] [http://www.informatik.uni-freiburg.de/~burgard/](http://citeseer.ist.psu.edu/lammel00dealing.html)
350
- \[8\] [http://asl.epfl.ch/~scaramuz/cabaret/cabaret.wmv](http://asl.epfl.ch/~scaramuz/cabaret/cabaret.wmv)
351
- \[9\] [http://www.anth.uconn.edu/faculty/boster/cultvar/euweb/](http://www.anth.uconn.edu/faculty/boster/cultvar/euweb/)
352
- \[10\] [http://www.infonegocio.com/xeron/bruno/italy.html](http://www.infonegocio.com/xeron/bruno/italy.html)
@@ -1,4 +0,0 @@
1
-
2
- $ python
3
-
4
-
@@ -1,48 +0,0 @@
1
- subtitle: news
2
- author: Andrea Censi
3
- company: Università La Sapienza
4
- css: math.css
5
-
6
- RDK news
7
- ========
8
-
9
- Profiling
10
- ---------------------------------------------------------
11
-
12
- 1. `ragent2` writes profiling information on a pipe.
13
- 2. `rdk-profiler` reads the pipe and creates graphs in HTML+Javascript.
14
- 3. The user reads the data on a browser.
15
-
16
- Things logged
17
- -----------------------------------------------------------
18
-
19
- 17288397 1730000 0 16384 END pantiltClient
20
- 17288439 1730000 0 16384 START pantiltClient
21
- 17288564 1730000 0 16384 LOCK pantiltClient:tilt
22
- 17288622 1730000 0 16384 UNLOCK pantiltClient:tilt
23
-
24
- * `START/END`: how much does it take to ...?
25
-
26
- Footnotes 1/2
27
- ---------------------------------------------------
28
-
29
- You can use footnotes [^1]
30
-
31
- [^1]: And they work.
32
-
33
- Footnotes 2/2
34
- ---------------------------------------------------
35
-
36
- Each footnote on its page [^2]
37
-
38
- [^2]: alone.
39
-
40
- And now: math!
41
- ---------------------------------------------------
42
-
43
- Consider, for example the group $\int_{a}^{b} x^{a} db$ of
44
-
45
- \[ \alpha_{\beta}^{\gamma} \]
46
-
47
- Unfortunately S5 and MathML are mutually exclusive.
48
- See <http://meyerweb.com/eric/thoughts/category/tech/s5/> for explanations.
@@ -1,28 +0,0 @@
1
- Write a comment here
2
- *** Parameters: ***
3
- {} # params
4
- *** Markdown input: ***
5
- [test][]:
6
-
7
- *** Output of inspect ***
8
- md_el(:document,[md_par([md_link(["test"],"test"), ":"])],{},[])
9
- *** Output of to_html ***
10
- <p><span>test</span>:</p>
11
- *** Output of to_latex ***
12
- test:
13
- *** Output of to_md ***
14
- test:
15
- *** Output of to_s ***
16
- test:
17
- *** EOF ***
18
-
19
-
20
-
21
- OK!
22
-
23
-
24
-
25
- *** Output of Markdown.pl ***
26
- (not used anymore)
27
- *** Output of Markdown.pl (parsed) ***
28
- (not used anymore)