maruku 0.2.1 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (181) hide show
  1. data/bin/marutex +1 -1
  2. data/docs/maruku.md +12 -10
  3. data/lib/maruku/parse_block.rb +3 -1
  4. data/lib/maruku/parse_span.rb +57 -23
  5. data/lib/maruku/string_utils.rb +7 -0
  6. data/pkg/maruku-0.2.1/docs/markdown_syntax.md +920 -0
  7. data/pkg/maruku-0.2.1/docs/maruku.md +410 -0
  8. data/pkg/maruku-0.2.1/docs/todo.md +3 -0
  9. data/pkg/maruku-0.2.1/tests/abbreviations.md +11 -0
  10. data/pkg/maruku-0.2.1/tests/blank.md +4 -0
  11. data/pkg/maruku-0.2.1/tests/bugs/code_in_links.md +16 -0
  12. data/pkg/maruku-0.2.1/tests/code.md +5 -0
  13. data/pkg/maruku-0.2.1/tests/code2.md +8 -0
  14. data/pkg/maruku-0.2.1/tests/code3.md +16 -0
  15. data/pkg/maruku-0.2.1/tests/email.md +4 -0
  16. data/pkg/maruku-0.2.1/tests/entities.md +19 -0
  17. data/pkg/maruku-0.2.1/tests/escaping.md +14 -0
  18. data/pkg/maruku-0.2.1/tests/extra_dl.md +101 -0
  19. data/pkg/maruku-0.2.1/tests/extra_header_id.md +13 -0
  20. data/pkg/maruku-0.2.1/tests/extra_table1.md +40 -0
  21. data/pkg/maruku-0.2.1/tests/footnotes.md +17 -0
  22. data/pkg/maruku-0.2.1/tests/headers.md +10 -0
  23. data/pkg/maruku-0.2.1/tests/hrule.md +10 -0
  24. data/pkg/maruku-0.2.1/tests/images.md +20 -0
  25. data/pkg/maruku-0.2.1/tests/inline_html.md +35 -0
  26. data/pkg/maruku-0.2.1/tests/links.md +38 -0
  27. data/pkg/maruku-0.2.1/tests/list1.md +4 -0
  28. data/pkg/maruku-0.2.1/tests/list2.md +5 -0
  29. data/pkg/maruku-0.2.1/tests/list3.md +8 -0
  30. data/pkg/maruku-0.2.1/tests/lists.md +32 -0
  31. data/pkg/maruku-0.2.1/tests/lists_ol.md +39 -0
  32. data/pkg/maruku-0.2.1/tests/misc_sw.md +105 -0
  33. data/pkg/maruku-0.2.1/tests/one.md +1 -0
  34. data/pkg/maruku-0.2.1/tests/paragraphs.md +13 -0
  35. data/pkg/maruku-0.2.1/tests/sss06.md +352 -0
  36. data/pkg/maruku-0.2.1/tests/test.md +4 -0
  37. data/pkg/maruku-0.2.2/docs/markdown_syntax.md +920 -0
  38. data/pkg/maruku-0.2.2/docs/maruku.md +410 -0
  39. data/pkg/maruku-0.2.2/docs/todo.md +3 -0
  40. data/pkg/maruku-0.2.2/pkg/maruku-0.2.1/docs/markdown_syntax.md +920 -0
  41. data/pkg/maruku-0.2.2/pkg/maruku-0.2.1/docs/maruku.md +410 -0
  42. data/pkg/maruku-0.2.2/pkg/maruku-0.2.1/docs/todo.md +3 -0
  43. data/pkg/maruku-0.2.2/pkg/maruku-0.2.1/tests/abbreviations.md +11 -0
  44. data/pkg/maruku-0.2.2/pkg/maruku-0.2.1/tests/blank.md +4 -0
  45. data/pkg/maruku-0.2.2/pkg/maruku-0.2.1/tests/bugs/code_in_links.md +16 -0
  46. data/pkg/maruku-0.2.2/pkg/maruku-0.2.1/tests/code.md +5 -0
  47. data/pkg/maruku-0.2.2/pkg/maruku-0.2.1/tests/code2.md +8 -0
  48. data/pkg/maruku-0.2.2/pkg/maruku-0.2.1/tests/code3.md +16 -0
  49. data/pkg/maruku-0.2.2/pkg/maruku-0.2.1/tests/email.md +4 -0
  50. data/pkg/maruku-0.2.2/pkg/maruku-0.2.1/tests/entities.md +19 -0
  51. data/pkg/maruku-0.2.2/pkg/maruku-0.2.1/tests/escaping.md +14 -0
  52. data/pkg/maruku-0.2.2/pkg/maruku-0.2.1/tests/extra_dl.md +101 -0
  53. data/pkg/maruku-0.2.2/pkg/maruku-0.2.1/tests/extra_header_id.md +13 -0
  54. data/pkg/maruku-0.2.2/pkg/maruku-0.2.1/tests/extra_table1.md +40 -0
  55. data/pkg/maruku-0.2.2/pkg/maruku-0.2.1/tests/footnotes.md +17 -0
  56. data/pkg/maruku-0.2.2/pkg/maruku-0.2.1/tests/headers.md +10 -0
  57. data/pkg/maruku-0.2.2/pkg/maruku-0.2.1/tests/hrule.md +10 -0
  58. data/pkg/maruku-0.2.2/pkg/maruku-0.2.1/tests/images.md +20 -0
  59. data/pkg/maruku-0.2.2/pkg/maruku-0.2.1/tests/inline_html.md +35 -0
  60. data/pkg/maruku-0.2.2/pkg/maruku-0.2.1/tests/links.md +38 -0
  61. data/pkg/maruku-0.2.2/pkg/maruku-0.2.1/tests/list1.md +4 -0
  62. data/pkg/maruku-0.2.2/pkg/maruku-0.2.1/tests/list2.md +5 -0
  63. data/pkg/maruku-0.2.2/pkg/maruku-0.2.1/tests/list3.md +8 -0
  64. data/pkg/maruku-0.2.2/pkg/maruku-0.2.1/tests/lists.md +32 -0
  65. data/pkg/maruku-0.2.2/pkg/maruku-0.2.1/tests/lists_ol.md +39 -0
  66. data/pkg/maruku-0.2.2/pkg/maruku-0.2.1/tests/misc_sw.md +105 -0
  67. data/pkg/maruku-0.2.2/pkg/maruku-0.2.1/tests/one.md +1 -0
  68. data/pkg/maruku-0.2.2/pkg/maruku-0.2.1/tests/paragraphs.md +13 -0
  69. data/pkg/maruku-0.2.2/pkg/maruku-0.2.1/tests/sss06.md +352 -0
  70. data/pkg/maruku-0.2.2/pkg/maruku-0.2.1/tests/test.md +4 -0
  71. data/pkg/maruku-0.2.2/pkg/maruku-0.2.2/docs/markdown_syntax.md +920 -0
  72. data/pkg/maruku-0.2.2/pkg/maruku-0.2.2/docs/maruku.md +410 -0
  73. data/pkg/maruku-0.2.2/pkg/maruku-0.2.2/docs/todo.md +3 -0
  74. data/pkg/maruku-0.2.2/pkg/maruku-0.2.2/pkg/maruku-0.2.1/docs/markdown_syntax.md +920 -0
  75. data/pkg/maruku-0.2.2/pkg/maruku-0.2.2/pkg/maruku-0.2.1/docs/maruku.md +410 -0
  76. data/pkg/maruku-0.2.2/pkg/maruku-0.2.2/pkg/maruku-0.2.1/docs/todo.md +3 -0
  77. data/pkg/maruku-0.2.2/pkg/maruku-0.2.2/pkg/maruku-0.2.1/tests/abbreviations.md +11 -0
  78. data/pkg/maruku-0.2.2/pkg/maruku-0.2.2/pkg/maruku-0.2.1/tests/blank.md +4 -0
  79. data/pkg/maruku-0.2.2/pkg/maruku-0.2.2/pkg/maruku-0.2.1/tests/bugs/code_in_links.md +16 -0
  80. data/pkg/maruku-0.2.2/pkg/maruku-0.2.2/pkg/maruku-0.2.1/tests/code.md +5 -0
  81. data/pkg/maruku-0.2.2/pkg/maruku-0.2.2/pkg/maruku-0.2.1/tests/code2.md +8 -0
  82. data/pkg/maruku-0.2.2/pkg/maruku-0.2.2/pkg/maruku-0.2.1/tests/code3.md +16 -0
  83. data/pkg/maruku-0.2.2/pkg/maruku-0.2.2/pkg/maruku-0.2.1/tests/email.md +4 -0
  84. data/pkg/maruku-0.2.2/pkg/maruku-0.2.2/pkg/maruku-0.2.1/tests/entities.md +19 -0
  85. data/pkg/maruku-0.2.2/pkg/maruku-0.2.2/pkg/maruku-0.2.1/tests/escaping.md +14 -0
  86. data/pkg/maruku-0.2.2/pkg/maruku-0.2.2/pkg/maruku-0.2.1/tests/extra_dl.md +101 -0
  87. data/pkg/maruku-0.2.2/pkg/maruku-0.2.2/pkg/maruku-0.2.1/tests/extra_header_id.md +13 -0
  88. data/pkg/maruku-0.2.2/pkg/maruku-0.2.2/pkg/maruku-0.2.1/tests/extra_table1.md +40 -0
  89. data/pkg/maruku-0.2.2/pkg/maruku-0.2.2/pkg/maruku-0.2.1/tests/footnotes.md +17 -0
  90. data/pkg/maruku-0.2.2/pkg/maruku-0.2.2/pkg/maruku-0.2.1/tests/headers.md +10 -0
  91. data/pkg/maruku-0.2.2/pkg/maruku-0.2.2/pkg/maruku-0.2.1/tests/hrule.md +10 -0
  92. data/pkg/maruku-0.2.2/pkg/maruku-0.2.2/pkg/maruku-0.2.1/tests/images.md +20 -0
  93. data/pkg/maruku-0.2.2/pkg/maruku-0.2.2/pkg/maruku-0.2.1/tests/inline_html.md +35 -0
  94. data/pkg/maruku-0.2.2/pkg/maruku-0.2.2/pkg/maruku-0.2.1/tests/links.md +38 -0
  95. data/pkg/maruku-0.2.2/pkg/maruku-0.2.2/pkg/maruku-0.2.1/tests/list1.md +4 -0
  96. data/pkg/maruku-0.2.2/pkg/maruku-0.2.2/pkg/maruku-0.2.1/tests/list2.md +5 -0
  97. data/pkg/maruku-0.2.2/pkg/maruku-0.2.2/pkg/maruku-0.2.1/tests/list3.md +8 -0
  98. data/pkg/maruku-0.2.2/pkg/maruku-0.2.2/pkg/maruku-0.2.1/tests/lists.md +32 -0
  99. data/pkg/maruku-0.2.2/pkg/maruku-0.2.2/pkg/maruku-0.2.1/tests/lists_ol.md +39 -0
  100. data/pkg/maruku-0.2.2/pkg/maruku-0.2.2/pkg/maruku-0.2.1/tests/misc_sw.md +105 -0
  101. data/pkg/maruku-0.2.2/pkg/maruku-0.2.2/pkg/maruku-0.2.1/tests/one.md +1 -0
  102. data/pkg/maruku-0.2.2/pkg/maruku-0.2.2/pkg/maruku-0.2.1/tests/paragraphs.md +13 -0
  103. data/pkg/maruku-0.2.2/pkg/maruku-0.2.2/pkg/maruku-0.2.1/tests/sss06.md +352 -0
  104. data/pkg/maruku-0.2.2/pkg/maruku-0.2.2/pkg/maruku-0.2.1/tests/test.md +4 -0
  105. data/pkg/maruku-0.2.2/pkg/maruku-0.2.2/tests/abbreviations.md +11 -0
  106. data/pkg/maruku-0.2.2/pkg/maruku-0.2.2/tests/blank.md +4 -0
  107. data/pkg/maruku-0.2.2/pkg/maruku-0.2.2/tests/bugs/code_in_links.md +16 -0
  108. data/pkg/maruku-0.2.2/pkg/maruku-0.2.2/tests/code.md +5 -0
  109. data/pkg/maruku-0.2.2/pkg/maruku-0.2.2/tests/code2.md +8 -0
  110. data/pkg/maruku-0.2.2/pkg/maruku-0.2.2/tests/code3.md +16 -0
  111. data/pkg/maruku-0.2.2/pkg/maruku-0.2.2/tests/email.md +4 -0
  112. data/pkg/maruku-0.2.2/pkg/maruku-0.2.2/tests/entities.md +19 -0
  113. data/pkg/maruku-0.2.2/pkg/maruku-0.2.2/tests/escaping.md +14 -0
  114. data/pkg/maruku-0.2.2/pkg/maruku-0.2.2/tests/extra_dl.md +101 -0
  115. data/pkg/maruku-0.2.2/pkg/maruku-0.2.2/tests/extra_header_id.md +13 -0
  116. data/pkg/maruku-0.2.2/pkg/maruku-0.2.2/tests/extra_table1.md +40 -0
  117. data/pkg/maruku-0.2.2/pkg/maruku-0.2.2/tests/footnotes.md +17 -0
  118. data/pkg/maruku-0.2.2/pkg/maruku-0.2.2/tests/headers.md +10 -0
  119. data/pkg/maruku-0.2.2/pkg/maruku-0.2.2/tests/hrule.md +10 -0
  120. data/pkg/maruku-0.2.2/pkg/maruku-0.2.2/tests/images.md +20 -0
  121. data/pkg/maruku-0.2.2/pkg/maruku-0.2.2/tests/inline_html.md +35 -0
  122. data/pkg/maruku-0.2.2/pkg/maruku-0.2.2/tests/links.md +38 -0
  123. data/pkg/maruku-0.2.2/pkg/maruku-0.2.2/tests/list1.md +4 -0
  124. data/pkg/maruku-0.2.2/pkg/maruku-0.2.2/tests/list2.md +5 -0
  125. data/pkg/maruku-0.2.2/pkg/maruku-0.2.2/tests/list3.md +8 -0
  126. data/pkg/maruku-0.2.2/pkg/maruku-0.2.2/tests/lists.md +32 -0
  127. data/pkg/maruku-0.2.2/pkg/maruku-0.2.2/tests/lists_ol.md +39 -0
  128. data/pkg/maruku-0.2.2/pkg/maruku-0.2.2/tests/misc_sw.md +105 -0
  129. data/pkg/maruku-0.2.2/pkg/maruku-0.2.2/tests/one.md +1 -0
  130. data/pkg/maruku-0.2.2/pkg/maruku-0.2.2/tests/paragraphs.md +13 -0
  131. data/pkg/maruku-0.2.2/pkg/maruku-0.2.2/tests/sss06.md +352 -0
  132. data/pkg/maruku-0.2.2/pkg/maruku-0.2.2/tests/test.md +4 -0
  133. data/pkg/maruku-0.2.2/tests/abbreviations.md +11 -0
  134. data/pkg/maruku-0.2.2/tests/blank.md +4 -0
  135. data/pkg/maruku-0.2.2/tests/bugs/code_in_links.md +16 -0
  136. data/pkg/maruku-0.2.2/tests/code.md +5 -0
  137. data/pkg/maruku-0.2.2/tests/code2.md +8 -0
  138. data/pkg/maruku-0.2.2/tests/code3.md +16 -0
  139. data/pkg/maruku-0.2.2/tests/email.md +4 -0
  140. data/pkg/maruku-0.2.2/tests/entities.md +19 -0
  141. data/pkg/maruku-0.2.2/tests/escaping.md +14 -0
  142. data/pkg/maruku-0.2.2/tests/extra_dl.md +101 -0
  143. data/pkg/maruku-0.2.2/tests/extra_header_id.md +13 -0
  144. data/pkg/maruku-0.2.2/tests/extra_table1.md +40 -0
  145. data/pkg/maruku-0.2.2/tests/footnotes.md +17 -0
  146. data/pkg/maruku-0.2.2/tests/headers.md +10 -0
  147. data/pkg/maruku-0.2.2/tests/hrule.md +10 -0
  148. data/pkg/maruku-0.2.2/tests/images.md +20 -0
  149. data/pkg/maruku-0.2.2/tests/inline_html.md +35 -0
  150. data/pkg/maruku-0.2.2/tests/links.md +38 -0
  151. data/pkg/maruku-0.2.2/tests/list1.md +4 -0
  152. data/pkg/maruku-0.2.2/tests/list2.md +5 -0
  153. data/pkg/maruku-0.2.2/tests/list3.md +8 -0
  154. data/pkg/maruku-0.2.2/tests/lists.md +32 -0
  155. data/pkg/maruku-0.2.2/tests/lists_ol.md +39 -0
  156. data/pkg/maruku-0.2.2/tests/misc_sw.md +105 -0
  157. data/pkg/maruku-0.2.2/tests/one.md +1 -0
  158. data/pkg/maruku-0.2.2/tests/paragraphs.md +13 -0
  159. data/pkg/maruku-0.2.2/tests/sss06.md +352 -0
  160. data/pkg/maruku-0.2.2/tests/test.md +4 -0
  161. data/tests/bugs/code_in_links.md +16 -0
  162. metadata +158 -21
  163. data/docs/Makefile +0 -25
  164. data/docs/char_codes.xml +0 -884
  165. data/docs/color-package-demo.aux +0 -1
  166. data/docs/color-package-demo.log +0 -127
  167. data/docs/color-package-demo.tex +0 -149
  168. data/docs/index.html +0 -76
  169. data/docs/markdown_syntax.aux +0 -13
  170. data/docs/markdown_syntax.html +0 -266
  171. data/docs/markdown_syntax.log +0 -287
  172. data/docs/markdown_syntax.out +0 -0
  173. data/docs/markdown_syntax.pdf +0 -0
  174. data/docs/markdown_syntax.tex +0 -1202
  175. data/docs/maruku.aux +0 -13
  176. data/docs/maruku.html +0 -76
  177. data/docs/maruku.log +0 -270
  178. data/docs/maruku.out +0 -0
  179. data/docs/maruku.pdf +0 -0
  180. data/docs/maruku.tex +0 -563
  181. data/docs/style.css +0 -65
@@ -0,0 +1,39 @@
1
+ 1. Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
2
+ Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi,
3
+ viverra nec, fringilla in, laoreet vitae, risus.
4
+ 2. Donec sit amet nisl. Aliquam semper ipsum sit amet velit.
5
+ Suspendisse id sem consectetuer libero luctus adipiscing.
6
+ 3. Donec sit amet nisl. Aliquam semper ipsum sit amet velit.
7
+ Suspendisse id sem consectetuer libero luctus adipiscing.
8
+ 3. Donec sit amet nisl. Aliquam semper ipsum sit amet velit.
9
+ Suspendisse id sem consectetuer libero luctus adipiscing.
10
+ 4. Donec sit amet nisl. Aliquam semper ipsum sit amet velit.
11
+ Suspendisse id sem consectetuer libero luctus adipiscing.
12
+
13
+ Ancora
14
+
15
+ 1. This is a list item with two paragraphs. Lorem ipsum dolor
16
+ sit amet, consectetuer adipiscing elit. Aliquam hendrerit
17
+ mi posuere lectus.
18
+
19
+ ATTENZIONE!
20
+
21
+ - Uno
22
+ - Due
23
+ 1. tre
24
+ 1. tre
25
+ 1. tre
26
+ - Due
27
+
28
+ 2. Suspendisse id sem consectetuer libero luctus adipiscing.
29
+
30
+
31
+ Ancora
32
+
33
+ * This is a list item with two paragraphs.
34
+
35
+ This is the second paragraph in the list item. You're
36
+ only required to indent the first line. Lorem ipsum dolor
37
+ sit amet, consectetuer adipiscing elit.
38
+
39
+ * Another item in the same list.
@@ -0,0 +1,105 @@
1
+ Subject: Software not painful to use
2
+ Subject_short: painless software
3
+ Topic: /misc/coolsw
4
+ Archive: no
5
+ Date: Nov 20 2006
6
+ Order: -9.5
7
+ inMenu: true
8
+
9
+
10
+ ### General ###
11
+
12
+ * *Operating System* : [Mac OS X][switch]: heaven, after the purgatory of Linux
13
+ and the hell of Windows.
14
+ * *Browser*: [Firefox][firefox]. On a Mac, [Camino][camino].
15
+ * *Email*: [GMail][gmail], "search, don't sort" really works.
16
+ * *Text Editor*: [TextMate][textmate], you have to buy it, but it's worth every
17
+ penny. There are rumours that it's been converting (recovering) Emacs
18
+ users (addicts). Unfortunately, it's Mac only. An alternative is
19
+ [jedit][jedit] (GPL, Java).
20
+
21
+ ### Development ###
22
+
23
+ * *Build system*: [cmake][cmake], throw the [autotools][autotools] away.
24
+ * *Source code control system*: ditch CVS for [subversion][subversion].
25
+ * *Project management*: [Trac][trac] tracks everything.
26
+ * *Scripting language*: [Ruby][ruby] is Japanese pragmatism (and has a [poignant][poignant] guide).
27
+ Python, you say? Python is too academic and snob:
28
+
29
+ $ python
30
+ Python 2.4.1 (\#1, Jun 4 2005, 00:54:33)
31
+ Type "help", "copyright", "credits" or "license" for more information.
32
+ >>> exit
33
+ 'Use Ctrl-D (i.e. EOF) to exit.'
34
+ >>> quit
35
+ 'Use Ctrl-D (i.e. EOF) to exit.'
36
+
37
+ * *Java IDE*: [JBuilder][jbuilder] is great software and has a free version (IMHO better than Eclipse). Java
38
+ is not a pain anymore since it gained [generics][java-generics] and got opensourced.
39
+ * *Mark-up language*: HTML is so 2001, why don't you take at look at [Markdown][markdown]? [Look at the source of this page](data/misc_markdown.png).
40
+ * *C++ libraries*:
41
+ * [QT][qt] for GUIs.
42
+ * [GSL][gsl] for math.
43
+ * [Magick++][magick] for manipulating images.
44
+ * [Cairo][cairo] for creating PDFs.
45
+ * [Boost][boost] for just about everything else.
46
+
47
+
48
+ ### Research ###
49
+
50
+ * *Writing papers*: [LaTeX][latex]
51
+ * *Writing papers & enjoying the process*: [LyX][lyx]
52
+ * *Handsome figures in your papers*: [xfig][xfig] or, better, [jfig][jfig].
53
+ * *The occasional presentation with many graphical content*:
54
+ [OpenOffice Impress][impress] (using the [OOOlatex plugin][ooolatex]);
55
+ the alternative is PowerPoint with the [TexPoint][texpoint] plugin.
56
+ * *Managing BibTeX*: [jabref][jabref]: multi-platform, for all your bibtex needs.
57
+ * *IEEExplore and BibTeX*: convert citations using [BibConverter][bibconverter].
58
+
59
+ ### Cool websites ###
60
+
61
+ * *Best site in the wwworld*: [Wikipedia][wikipedia]
62
+ * [Mutopia][mutopia] for sheet music; [the Gutenberg Project][gutenberg] for books; [LiberLiber][liberliber] for books in italian.
63
+ * *Blogs*: [Bloglines][bloglines]
64
+ * *Sharing photos*: [flickr][flickr] exposes an API you can use.
65
+
66
+
67
+ [firefox]: http://getfirefox.com/
68
+ [gmail]: http://gmail.com/
69
+ [bloglines]: http://bloglines.com/
70
+ [wikipedia]: http://en.wikipedia.org/
71
+ [ruby]: http://www.ruby-lang.org/
72
+ [poignant]: http://poignantguide.net/ruby/
73
+ [webgen]: http://webgen.rubyforge.org/
74
+ [markdown]: http://daringfireball.net/projects/markdown/
75
+ [latex]: http://en.wikipedia.org/wiki/LaTeX
76
+ [lyx]: http://www.lyx.org
77
+ [impress]: http://www.openoffice.org/product/impress.html
78
+ [ooolatex]: http://ooolatex.sourceforge.net/
79
+ [texpoint]: http://texpoint.necula.org/
80
+ [jabref]: http://jabref.sourceforge.net/
81
+ [camino]: http://www.caminobrowser.org/
82
+ [switch]: http://www.apple.com/getamac/
83
+ [textmate]: http://www.apple.com/getamac/
84
+ [cmake]: http://www.cmake.org/
85
+ [xfig]: http://www.xfig.org/
86
+ [jfig]: http://tams-www.informatik.uni-hamburg.de/applets/jfig/
87
+ [subversion]: http://subversion.tigris.org
88
+ [jbuilder]: http://www.borland.com/us/products/jbuilder/index.html
89
+ [flickr]: http://www.flickr.com/
90
+ [myflickr]: http://www.flickr.com/photos/censi
91
+ [bibconverter]: http://www.bibconverter.net/ieeexplore/
92
+ [autotools]: http://sources.redhat.com/autobook/
93
+ [jedit]: http://www.jedit.org/
94
+ [qt]: http://www.trolltech.no/
95
+ [gsl]: http://www.gnu.org/software/gsl/
96
+ [magick]: http://www.imagemagick.org/Magick++/
97
+ [cairo]: http://cairographics.org/
98
+ [boost]: http://www.boost.org/
99
+ [markdown]: http://en.wikipedia.org/wiki/Markdown
100
+ [trac]: http://trac.edgewall.org/
101
+ [mutopia]: http://www.mutopiaproject.org/
102
+ [liberliber]: http://www.liberliber.it/
103
+ [gutenberg]: http://www.gutenberg.org/
104
+ [java-generics]: http://java.sun.com/j2se/1.5.0/docs/guide/language/generics.html
105
+
@@ -0,0 +1 @@
1
+ One line
@@ -0,0 +1,13 @@
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: & { } [ ] !
@@ -0,0 +1,352 @@
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)