maruku 0.3.0 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- data/bin/{maruku0.3 → marudown} +6 -14
- data/bin/maruku +1 -1
- data/bin/marutest +37 -9
- data/docs/TOFIX.html +22 -0
- data/docs/TOFIX.md +3 -0
- data/docs/changelog-0.2.13.html +30 -0
- data/docs/changelog-0.2.13.md +6 -0
- data/docs/changelog-0.3.html +19 -5
- data/docs/faq.html +51 -40
- data/docs/faq.md +3 -3
- data/docs/hidden_o_n_squared.md +10 -0
- data/docs/index.html +84 -396
- data/docs/markdown_syntax.html +139 -330
- data/docs/markdown_syntax.md +80 -93
- data/docs/maruku.html +84 -396
- data/docs/maruku.md +88 -158
- data/docs/proposal.html +13 -106
- data/docs/proposal.md +3 -3
- data/docs/todo.html +38 -28
- data/lib/maruku.rb +77 -11
- data/lib/maruku/attributes.rb +186 -0
- data/lib/maruku/defaults.rb +40 -0
- data/lib/maruku/errors_management.rb +55 -39
- data/lib/maruku/helpers.rb +156 -72
- data/lib/maruku/input/charsource.rb +319 -0
- data/lib/maruku/{html_helper.rb → input/html_helper.rb} +30 -9
- data/lib/maruku/input/linesource.rb +111 -0
- data/lib/maruku/input/parse_block.rb +562 -0
- data/lib/maruku/{parse_doc.rb → input/parse_doc.rb} +60 -28
- data/lib/maruku/{parse_span_better.rb → input/parse_span_better.rb} +226 -256
- data/lib/maruku/input/type_detection.rb +137 -0
- data/lib/maruku/maruku.rb +33 -0
- data/lib/maruku/{to_html.rb → output/to_html.rb} +151 -132
- data/lib/maruku/{to_latex.rb → output/to_latex.rb} +31 -35
- data/lib/maruku/{to_latex_entities.rb → output/to_latex_entities.rb} +25 -3
- data/lib/maruku/output/to_latex_strings.rb +64 -0
- data/lib/maruku/output/to_markdown.rb +164 -0
- data/lib/maruku/{to_s.rb → output/to_s.rb} +6 -0
- data/lib/maruku/string_utils.rb +12 -181
- data/lib/maruku/structures.rb +91 -67
- data/lib/maruku/structures_inspect.rb +78 -0
- data/lib/maruku/structures_iterators.rb +24 -2
- data/lib/maruku/tests/benchmark.rb +41 -9
- data/lib/maruku/tests/new_parser.rb +317 -286
- data/lib/maruku/tests/tests.rb +20 -0
- data/lib/maruku/toc.rb +64 -64
- data/lib/maruku/usage/example1.rb +33 -0
- data/lib/maruku/version.rb +8 -2
- data/tests/unittest/abbreviations.md +27 -16
- data/tests/unittest/attributes/attributes.md +89 -0
- data/tests/unittest/attributes/circular.md +51 -0
- data/tests/unittest/attributes/default.md +47 -0
- data/tests/unittest/blank.md +10 -6
- data/tests/unittest/blanks_in_code.md +26 -26
- data/tests/unittest/code.md +9 -9
- data/tests/unittest/code2.md +12 -13
- data/tests/unittest/code3.md +34 -34
- data/tests/unittest/easy.md +9 -7
- data/tests/unittest/email.md +9 -7
- data/tests/unittest/encoding/iso-8859-1.md +41 -4
- data/tests/unittest/encoding/utf-8.md +6 -5
- data/tests/unittest/entities.md +52 -80
- data/tests/unittest/escaping.md +47 -35
- data/tests/unittest/extra_dl.md +19 -29
- data/tests/unittest/extra_header_id.md +31 -24
- data/tests/unittest/extra_table1.md +14 -32
- data/tests/unittest/footnotes.md +58 -42
- data/tests/unittest/headers.md +11 -11
- data/tests/unittest/hrule.md +14 -24
- data/tests/unittest/images.md +41 -26
- data/tests/unittest/inline_html.md +104 -56
- data/tests/unittest/inline_html2.md +38 -0
- data/tests/unittest/links.md +74 -33
- data/tests/unittest/list1.md +18 -15
- data/tests/unittest/list2.md +31 -13
- data/tests/unittest/list3.md +29 -28
- data/tests/unittest/list4.md +103 -12
- data/tests/unittest/lists.md +86 -53
- data/tests/unittest/lists6.md +53 -0
- data/tests/unittest/lists7.md +31 -0
- data/tests/unittest/lists_after_paragraph.md +105 -71
- data/tests/unittest/lists_ol.md +149 -73
- data/tests/unittest/misc_sw.md +366 -326
- data/tests/unittest/notyet/escape.md +10 -10
- data/tests/unittest/notyet/header_after_par.md +20 -14
- data/tests/unittest/notyet/ticks.md +8 -35
- data/tests/unittest/notyet/triggering.md +72 -45
- data/tests/unittest/olist.md +78 -0
- data/tests/unittest/one.md +5 -3
- data/tests/unittest/paragraph.md +5 -3
- data/tests/unittest/paragraph_rules/dont_merge_ref.md +15 -9
- data/tests/unittest/paragraph_rules/tab_is_blank.md +9 -5
- data/tests/unittest/paragraphs.md +21 -26
- data/tests/unittest/recover/recover_links.md +6 -5
- data/tests/unittest/references/long_example.md +39 -30
- data/tests/unittest/references/spaces_and_numbers.md +2 -2
- data/tests/unittest/syntax_hl.md +33 -31
- data/tests/unittest/test.md +4 -6
- data/tests/unittest/wrapping.md +43 -26
- metadata +160 -139
- data/docs/markdown_extra2.html +0 -87
- data/docs/markdown_extra2.md +0 -83
- data/docs/markdown_syntax_2.html +0 -152
- data/lib/maruku/parse_block.rb +0 -564
- data/lib/maruku/parse_span.rb +0 -451
- data/lib/maruku/to_latex_strings.rb +0 -59
- data/lib/maruku/to_markdown.rb +0 -110
- data/lib/test.rb +0 -29
data/tests/unittest/lists_ol.md
CHANGED
@@ -46,48 +46,55 @@ md_el(:document,[
|
|
46
46
|
md_el(:ol,[
|
47
47
|
md_el(:li_span,[
|
48
48
|
"Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus."
|
49
|
-
]
|
50
|
-
|
49
|
+
],{:want_my_paragraph=>false},[]),
|
50
|
+
md_el(:li_span,[
|
51
51
|
"Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing."
|
52
|
-
]
|
53
|
-
|
52
|
+
],{:want_my_paragraph=>false},[]),
|
53
|
+
md_el(:li_span,[
|
54
54
|
"Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing"
|
55
|
-
]
|
56
|
-
|
55
|
+
],{:want_my_paragraph=>false},[]),
|
56
|
+
md_el(:li_span,[
|
57
57
|
"Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing"
|
58
|
-
]
|
59
|
-
|
58
|
+
],{:want_my_paragraph=>false},[]),
|
59
|
+
md_el(:li_span,[
|
60
60
|
"Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing."
|
61
|
-
]
|
62
|
-
]
|
63
|
-
|
64
|
-
|
61
|
+
],{:want_my_paragraph=>false},[])
|
62
|
+
],{},[]),
|
63
|
+
md_par(["Ancora"]),
|
64
|
+
md_el(:ol,[
|
65
65
|
md_el(:li,[
|
66
66
|
md_par([
|
67
67
|
"This is a list item with two paragraphs. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus."
|
68
68
|
]),
|
69
|
-
|
70
|
-
|
71
|
-
md_el(:
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
69
|
+
md_par(["ATTENZIONE!"]),
|
70
|
+
md_el(:ul,[
|
71
|
+
md_el(:li,[md_par(["Uno"])],{:want_my_paragraph=>false},[]),
|
72
|
+
md_el(:li,[
|
73
|
+
md_par(["Due"]),
|
74
|
+
md_el(:ol,[
|
75
|
+
md_el(:li_span,["tre"],{:want_my_paragraph=>false},[]),
|
76
|
+
md_el(:li_span,["tre"],{:want_my_paragraph=>false},[]),
|
77
|
+
md_el(:li_span,["tre"],{:want_my_paragraph=>false},[])
|
78
|
+
],{},[])
|
79
|
+
],{:want_my_paragraph=>true},[]),
|
80
|
+
md_el(:li,[md_par(["Due"])],{:want_my_paragraph=>false},[])
|
81
|
+
],{},[])
|
82
|
+
],{:want_my_paragraph=>true},[]),
|
83
|
+
md_el(:li,[
|
77
84
|
md_par(["Suspendisse id sem consectetuer libero luctus adipiscing."])
|
78
|
-
]
|
79
|
-
]
|
80
|
-
|
81
|
-
|
85
|
+
],{:want_my_paragraph=>false},[])
|
86
|
+
],{},[]),
|
87
|
+
md_par(["Ancora"]),
|
88
|
+
md_el(:ul,[
|
82
89
|
md_el(:li,[
|
83
90
|
md_par(["This is a list item with two paragraphs."]),
|
84
|
-
|
91
|
+
md_par([
|
85
92
|
"This is the second paragraph in the list item. You're only required to indent the first line. Lorem ipsum dolo sit amet, consectetuer adipiscing elit"
|
86
93
|
])
|
87
|
-
]
|
88
|
-
|
89
|
-
]
|
90
|
-
]
|
94
|
+
],{:want_my_paragraph=>true},[]),
|
95
|
+
md_el(:li,[md_par(["Another item in the same list."])],{:want_my_paragraph=>false},[])
|
96
|
+
],{},[])
|
97
|
+
],{},[])
|
91
98
|
*** Output of to_html ***
|
92
99
|
|
93
100
|
<ol>
|
@@ -111,11 +118,25 @@ md_el(:document,[
|
|
111
118
|
<p>ATTENZIONE!</p>
|
112
119
|
|
113
120
|
<ul>
|
114
|
-
<li>
|
121
|
+
<li>
|
122
|
+
<p>Uno</p>
|
123
|
+
</li>
|
115
124
|
|
116
|
-
<li>
|
125
|
+
<li>
|
126
|
+
<p>Due</p>
|
117
127
|
|
118
|
-
<
|
128
|
+
<ol>
|
129
|
+
<li>tre</li>
|
130
|
+
|
131
|
+
<li>tre</li>
|
132
|
+
|
133
|
+
<li>tre</li>
|
134
|
+
</ol>
|
135
|
+
</li>
|
136
|
+
|
137
|
+
<li>
|
138
|
+
<p>Due</p>
|
139
|
+
</li>
|
119
140
|
</ul>
|
120
141
|
</li>
|
121
142
|
|
@@ -156,9 +177,21 @@ ATTENZIONE!
|
|
156
177
|
|
157
178
|
\begin{itemize}%
|
158
179
|
\item Uno
|
159
|
-
|
180
|
+
|
181
|
+
|
182
|
+
\item Due
|
183
|
+
|
184
|
+
\begin{enumerate}%
|
185
|
+
\item tre
|
186
|
+
\item tre
|
187
|
+
\item tre
|
188
|
+
|
189
|
+
\end{enumerate}
|
190
|
+
|
160
191
|
\item Due
|
161
192
|
|
193
|
+
|
194
|
+
|
162
195
|
\end{itemize}
|
163
196
|
|
164
197
|
\item Suspendisse id sem consectetuer libero luctus adipiscing.
|
@@ -180,10 +213,56 @@ This is the second paragraph in the list item. You're only required to indent th
|
|
180
213
|
|
181
214
|
\end{itemize}
|
182
215
|
|
216
|
+
*** Output of to_md ***
|
217
|
+
1. Lorem ipsum dolor sit amet,
|
218
|
+
consectetuer adipiscing elit.
|
219
|
+
Aliquam hendrerit mi posuere
|
220
|
+
lectus. Vestibulum enim wisi,
|
221
|
+
viverra nec, fringilla in, laoreet
|
222
|
+
vitae, risus.
|
223
|
+
2. Donec sit amet nisl. Aliquam semper
|
224
|
+
ipsum sit amet velit. Suspendisse
|
225
|
+
id sem consectetuer libero luctus
|
226
|
+
adipiscing.
|
227
|
+
3. Donec sit amet nisl. Aliquam semper
|
228
|
+
ipsum sit amet velit. Suspendisse
|
229
|
+
id sem consectetuer libero luctus
|
230
|
+
adipiscing
|
231
|
+
4. Donec sit amet nisl. Aliquam semper
|
232
|
+
ipsum sit amet velit. Suspendisse
|
233
|
+
id sem consectetuer libero luctus
|
234
|
+
adipiscing
|
235
|
+
5. Donec sit amet nisl. Aliquam semper
|
236
|
+
ipsum sit amet velit. Suspendisse
|
237
|
+
id sem consectetuer libero luctus
|
238
|
+
adipiscing.
|
239
|
+
|
240
|
+
Ancora
|
241
|
+
|
242
|
+
1.
|
243
|
+
This is a list item with two paragraphs. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.
|
244
|
+
ATTENZIONE!
|
245
|
+
Uno
|
246
|
+
|
247
|
+
Due
|
248
|
+
|
249
|
+
1. tre
|
250
|
+
2. tre
|
251
|
+
3. tre
|
252
|
+
|
253
|
+
Due
|
254
|
+
2.
|
255
|
+
Suspendisse id sem consectetuer libero luctus adipiscing.
|
256
|
+
|
257
|
+
Ancora
|
258
|
+
|
259
|
+
-This is a list item with two paragraphs.
|
260
|
+
This is the second paragraph in the list item. You're only required to indent the first line. Lorem ipsum dolo sit amet, consectetuer adipiscing elit
|
261
|
+
-nother item in the same list.
|
262
|
+
|
263
|
+
|
183
264
|
*** Output of to_s ***
|
184
|
-
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing.Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscingDonec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscingDonec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing.AncoraThis is a list item with two paragraphs. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.ATTENZIONE!
|
185
|
-
*** Output of to_s ***
|
186
|
-
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing.Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscingDonec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscingDonec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing.AncoraThis is a list item with two paragraphs. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.ATTENZIONE!UnoDue 1. tre 1. tre 1. treDueSuspendisse id sem consectetuer libero luctus adipiscing.AncoraThis is a list item with two paragraphs.This is the second paragraph in the list item. You're only required to indent the first line. Lorem ipsum dolo sit amet, consectetuer adipiscing elitAnother item in the same list.
|
265
|
+
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing.Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscingDonec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscingDonec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing.AncoraThis is a list item with two paragraphs. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.ATTENZIONE!UnoDuetretretreDueSuspendisse id sem consectetuer libero luctus adipiscing.AncoraThis is a list item with two paragraphs.This is the second paragraph in the list item. You're only required to indent the first line. Lorem ipsum dolo sit amet, consectetuer adipiscing elitAnother item in the same list.
|
187
266
|
*** EOF ***
|
188
267
|
|
189
268
|
|
@@ -252,72 +331,69 @@ viverra nec, fringilla in, laoreet vitae, risus.
|
|
252
331
|
<ol>
|
253
332
|
<li>Donec sit amet nisl. Aliquam semper ipsum sit amet velit.
|
254
333
|
Suspendisse id sem consectetuer libero luctus adipiscing.</li
|
255
|
-
|
334
|
+
>
|
256
335
|
</ol
|
257
|
-
|
258
|
-
|
336
|
+
></li
|
337
|
+
>
|
259
338
|
<li>Donec sit amet nisl. Aliquam semper ipsum sit amet velit.
|
260
339
|
Suspendisse id sem consectetuer libero luctus adipiscing.
|
261
340
|
<ol>
|
262
341
|
<li>Donec sit amet nisl. Aliquam semper ipsum sit amet velit.
|
263
342
|
Suspendisse id sem consectetuer libero luctus adipiscing.</li
|
264
|
-
|
343
|
+
>
|
265
344
|
<li>Donec sit amet nisl. Aliquam semper ipsum sit amet velit.
|
266
345
|
Suspendisse id sem consectetuer libero luctus adipiscing.</li
|
267
|
-
|
346
|
+
>
|
268
347
|
</ol
|
269
|
-
|
270
|
-
|
348
|
+
></li
|
349
|
+
>
|
271
350
|
</ol
|
272
|
-
|
273
|
-
|
351
|
+
><p>Ancora</p
|
352
|
+
><ol>
|
274
353
|
<li
|
275
|
-
|
354
|
+
><p>This is a list item with two paragraphs. Lorem ipsum dolor
|
276
355
|
sit amet, consectetuer adipiscing elit. Aliquam hendrerit
|
277
356
|
mi posuere lectus.</p
|
278
|
-
|
279
|
-
|
357
|
+
>
|
280
358
|
<p>ATTENZIONE!</p
|
281
|
-
|
282
|
-
|
359
|
+
>
|
283
360
|
<ul>
|
284
361
|
<li>Uno</li
|
285
|
-
|
362
|
+
>
|
286
363
|
<li>Due
|
287
364
|
<ol>
|
288
365
|
<li>tre</li
|
289
|
-
|
366
|
+
>
|
290
367
|
<li>tre</li
|
291
|
-
|
368
|
+
>
|
292
369
|
<li>tre</li
|
293
|
-
|
370
|
+
>
|
294
371
|
</ol
|
295
|
-
|
296
|
-
|
372
|
+
></li
|
373
|
+
>
|
297
374
|
<li>Due</li
|
298
|
-
|
375
|
+
>
|
299
376
|
</ul
|
300
|
-
|
301
|
-
|
377
|
+
></li
|
378
|
+
>
|
302
379
|
<li
|
303
|
-
|
304
|
-
|
305
|
-
|
380
|
+
><p>Suspendisse id sem consectetuer libero luctus adipiscing.</p
|
381
|
+
></li
|
382
|
+
>
|
306
383
|
</ol
|
307
|
-
|
308
|
-
|
384
|
+
><p>Ancora</p
|
385
|
+
><ul>
|
309
386
|
<li
|
310
|
-
|
311
|
-
|
312
|
-
|
387
|
+
><p>This is a list item with two paragraphs.</p
|
388
|
+
>
|
313
389
|
<p>This is the second paragraph in the list item. You're
|
314
390
|
only required to indent the first line. Lorem ipsum dolor
|
315
391
|
sit amet, consectetuer adipiscing elit.</p
|
316
|
-
|
317
|
-
|
392
|
+
></li
|
393
|
+
>
|
318
394
|
<li
|
319
|
-
|
320
|
-
|
321
|
-
|
395
|
+
><p>Another item in the same list.</p
|
396
|
+
></li
|
397
|
+
>
|
322
398
|
</ul
|
323
|
-
|
399
|
+
>
|
data/tests/unittest/misc_sw.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Write a comment abouth the test here.
|
2
2
|
*** Parameters: ***
|
3
|
-
{:
|
3
|
+
{:order=>"-9.5", :subject_short=>"painless software", :date=>"Nov 20 2006", :topic=>"/misc/coolsw", :archive=>false, :subject=>"Software not painful to use", :inmenu=>true}
|
4
4
|
*** Markdown input: ***
|
5
5
|
Subject: Software not painful to use
|
6
6
|
Subject_short: painless software
|
@@ -110,216 +110,214 @@ inMenu: true
|
|
110
110
|
|
111
111
|
*** Output of inspect ***
|
112
112
|
md_el(:document,[
|
113
|
-
md_el(:header,["General"]
|
114
|
-
|
113
|
+
md_el(:header,["General"],{:level=>3},[]),
|
114
|
+
md_el(:ul,[
|
115
115
|
md_el(:li_span,[
|
116
116
|
md_em(["Operating System"]),
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
]
|
121
|
-
|
117
|
+
" : ",
|
118
|
+
md_link(["Mac OS X"],"switch"),
|
119
|
+
": heaven, after the purgatory of Linux and the hell of Windows."
|
120
|
+
],{:want_my_paragraph=>false},[]),
|
121
|
+
md_el(:li_span,[
|
122
122
|
md_em(["Browser"]),
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
]
|
129
|
-
|
123
|
+
": ",
|
124
|
+
md_link(["Firefox"],"firefox"),
|
125
|
+
". On a Mac, ",
|
126
|
+
md_link(["Camino"],"camino"),
|
127
|
+
"."
|
128
|
+
],{:want_my_paragraph=>false},[]),
|
129
|
+
md_el(:li_span,[
|
130
130
|
md_em(["Email"]),
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
]
|
135
|
-
|
131
|
+
": ",
|
132
|
+
md_link(["GMail"],"gmail"),
|
133
|
+
", \"search, don't sort\" really works."
|
134
|
+
],{:want_my_paragraph=>false},[]),
|
135
|
+
md_el(:li_span,[
|
136
136
|
md_em(["Text Editor"]),
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
]
|
143
|
-
]
|
144
|
-
|
145
|
-
|
137
|
+
": ",
|
138
|
+
md_link(["TextMate"],"textmate"),
|
139
|
+
", you have to buy it, but it's worth every penny. There are rumours that it's been converting (recovering) Emacs users (addicts). Unfortunately, it's Mac only. An alternative is ",
|
140
|
+
md_link(["jedit"],"jedit"),
|
141
|
+
" (GPL, Java)."
|
142
|
+
],{:want_my_paragraph=>false},[])
|
143
|
+
],{},[]),
|
144
|
+
md_el(:header,["Development"],{:level=>3},[]),
|
145
|
+
md_el(:ul,[
|
146
146
|
md_el(:li,[
|
147
147
|
md_par([
|
148
148
|
md_em(["Build system"]),
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
149
|
+
": ",
|
150
|
+
md_link(["cmake"],"cmake"),
|
151
|
+
", throw the ",
|
152
|
+
md_link(["autotools"],"autotools"),
|
153
|
+
" away."
|
154
154
|
])
|
155
|
-
]
|
156
|
-
|
155
|
+
],{:want_my_paragraph=>false},[]),
|
156
|
+
md_el(:li,[
|
157
157
|
md_par([
|
158
158
|
md_em(["Source code control system"]),
|
159
|
-
|
160
|
-
|
161
|
-
|
159
|
+
": ditch CVS for ",
|
160
|
+
md_link(["subversion"],"subversion"),
|
161
|
+
"."
|
162
162
|
])
|
163
|
-
]
|
164
|
-
|
163
|
+
],{:want_my_paragraph=>false},[]),
|
164
|
+
md_el(:li,[
|
165
165
|
md_par([
|
166
166
|
md_em(["Project management"]),
|
167
|
-
|
168
|
-
|
169
|
-
|
167
|
+
": ",
|
168
|
+
md_link(["Trac"],"trac"),
|
169
|
+
" tracks everything."
|
170
170
|
])
|
171
|
-
]
|
172
|
-
|
171
|
+
],{:want_my_paragraph=>false},[]),
|
172
|
+
md_el(:li,[
|
173
173
|
md_par([
|
174
174
|
md_em(["Scripting language"]),
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
175
|
+
": ",
|
176
|
+
md_link(["Ruby"],"ruby"),
|
177
|
+
" is Japanese pragmatism (and has a ",
|
178
|
+
md_link(["poignant"],"poignant"),
|
179
|
+
" guide). Python, you say? Python is too academic and snob:"
|
180
180
|
]),
|
181
|
-
|
182
|
-
]
|
183
|
-
|
181
|
+
md_el(:code,[],{:raw_code=>"$ python \nPython 2.4.1 (\\#1, Jun 4 2005, 00:54:33) \nType \"help\", \"copyright\", \"credits\" or \"license\" for more information.\n>>> exit\n'Use Ctrl-D (i.e. EOF) to exit.'\n>>> quit\n'Use Ctrl-D (i.e. EOF) to exit.'"},[])
|
182
|
+
],{:want_my_paragraph=>true},[]),
|
183
|
+
md_el(:li,[
|
184
184
|
md_par([
|
185
185
|
md_em(["Java IDE"]),
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
186
|
+
": ",
|
187
|
+
md_link(["JBuilder"],"jbuilder"),
|
188
|
+
" is great software and has a free version (IMHO better than Eclipse). Java is not a pain anymore since it gained ",
|
189
|
+
md_link(["generics"],"java-generics"),
|
190
|
+
" and got opensourced."
|
191
191
|
])
|
192
|
-
]
|
193
|
-
|
192
|
+
],{:want_my_paragraph=>false},[]),
|
193
|
+
md_el(:li,[
|
194
194
|
md_par([
|
195
195
|
md_em(["Mark-up language"]),
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
196
|
+
": HTML is so 2001, why don't you take at look at ",
|
197
|
+
md_link(["Markdown"],"markdown"),
|
198
|
+
"? ",
|
199
|
+
md_im_link(["Look at the source of this page"], "data/misc_markdown.png", nil),
|
200
|
+
"."
|
201
201
|
])
|
202
|
-
]
|
203
|
-
|
202
|
+
],{:want_my_paragraph=>false},[]),
|
203
|
+
md_el(:li,[
|
204
204
|
md_par([
|
205
|
-
md_em(["C"]),
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
md_link(["Boost"],"boost"),
|
218
|
-
" for just about everything else."
|
205
|
+
md_em(["C++ libraries"]),
|
206
|
+
": * ",
|
207
|
+
md_link(["QT"],"qt"),
|
208
|
+
" for GUIs. * ",
|
209
|
+
md_link(["GSL"],"gsl"),
|
210
|
+
" for math. * ",
|
211
|
+
md_link(["Magick++"],"magick"),
|
212
|
+
" for manipulating images. * ",
|
213
|
+
md_link(["Cairo"],"cairo"),
|
214
|
+
" for creating PDFs. * ",
|
215
|
+
md_link(["Boost"],"boost"),
|
216
|
+
" for just about everything else."
|
219
217
|
])
|
220
|
-
]
|
221
|
-
]
|
222
|
-
|
223
|
-
|
224
|
-
md_el(:li_span,[md_em(["Writing papers"]), ": ", md_link(["LaTeX"],"latex")]
|
225
|
-
|
218
|
+
],{:want_my_paragraph=>false},[])
|
219
|
+
],{},[]),
|
220
|
+
md_el(:header,["Research"],{:level=>3},[]),
|
221
|
+
md_el(:ul,[
|
222
|
+
md_el(:li_span,[md_em(["Writing papers"]), ": ", md_link(["LaTeX"],"latex")],{:want_my_paragraph=>false},[]),
|
223
|
+
md_el(:li_span,[
|
226
224
|
md_em(["Writing papers & enjoying the process"]),
|
227
|
-
|
228
|
-
|
229
|
-
]
|
230
|
-
|
225
|
+
": ",
|
226
|
+
md_link(["LyX"],"lyx")
|
227
|
+
],{:want_my_paragraph=>false},[]),
|
228
|
+
md_el(:li_span,[
|
231
229
|
md_em(["Handsome figures in your papers"]),
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
]
|
238
|
-
|
230
|
+
": ",
|
231
|
+
md_link(["xfig"],"xfig"),
|
232
|
+
" or, better, ",
|
233
|
+
md_link(["jfig"],"jfig"),
|
234
|
+
"."
|
235
|
+
],{:want_my_paragraph=>false},[]),
|
236
|
+
md_el(:li_span,[
|
239
237
|
md_em(["The occasional presentation with many graphical content"]),
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
]
|
248
|
-
|
238
|
+
": ",
|
239
|
+
md_link(["OpenOffice Impress"],"impress"),
|
240
|
+
" (using the ",
|
241
|
+
md_link(["OOOlatex plugin"],"ooolatex"),
|
242
|
+
"); the alternative is PowerPoint with the ",
|
243
|
+
md_link(["TexPoint"],"texpoint"),
|
244
|
+
" plugin."
|
245
|
+
],{:want_my_paragraph=>false},[]),
|
246
|
+
md_el(:li_span,[
|
249
247
|
md_em(["Managing BibTeX"]),
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
]
|
254
|
-
|
248
|
+
": ",
|
249
|
+
md_link(["jabref"],"jabref"),
|
250
|
+
": multi-platform, for all your bibtex needs."
|
251
|
+
],{:want_my_paragraph=>false},[]),
|
252
|
+
md_el(:li_span,[
|
255
253
|
md_em(["IEEExplore and BibTeX"]),
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
]
|
260
|
-
]
|
261
|
-
|
262
|
-
|
254
|
+
": convert citations using ",
|
255
|
+
md_link(["BibConverter"],"bibconverter"),
|
256
|
+
"."
|
257
|
+
],{:want_my_paragraph=>false},[])
|
258
|
+
],{},[]),
|
259
|
+
md_el(:header,["Cool websites"],{:level=>3},[]),
|
260
|
+
md_el(:ul,[
|
263
261
|
md_el(:li_span,[
|
264
262
|
md_em(["Best site in the wwworld"]),
|
265
|
-
|
266
|
-
|
267
|
-
]
|
268
|
-
|
263
|
+
": ",
|
264
|
+
md_link(["Wikipedia"],"wikipedia")
|
265
|
+
],{:want_my_paragraph=>false},[]),
|
266
|
+
md_el(:li_span,[
|
269
267
|
md_link(["Mutopia"],"mutopia"),
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
]
|
276
|
-
|
277
|
-
|
268
|
+
" for sheet music; ",
|
269
|
+
md_link(["the Gutenberg Project"],"gutenberg"),
|
270
|
+
" for books; ",
|
271
|
+
md_link(["LiberLiber"],"liberliber"),
|
272
|
+
" for books in italian."
|
273
|
+
],{:want_my_paragraph=>false},[]),
|
274
|
+
md_el(:li_span,[md_em(["Blogs"]), ": ", md_link(["Bloglines"],"bloglines")],{:want_my_paragraph=>false},[]),
|
275
|
+
md_el(:li_span,[
|
278
276
|
md_em(["Sharing photos"]),
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
]
|
283
|
-
]
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
|
291
|
-
|
292
|
-
|
293
|
-
|
294
|
-
|
295
|
-
|
296
|
-
|
297
|
-
|
298
|
-
|
299
|
-
|
300
|
-
|
301
|
-
|
302
|
-
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
]
|
277
|
+
": ",
|
278
|
+
md_link(["flickr"],"flickr"),
|
279
|
+
" exposes an API you can use."
|
280
|
+
],{:want_my_paragraph=>false},[])
|
281
|
+
],{},[]),
|
282
|
+
md_ref_def("firefox", "http://getfirefox.com/", {:title=>nil}),
|
283
|
+
md_ref_def("gmail", "http://gmail.com/", {:title=>nil}),
|
284
|
+
md_ref_def("bloglines", "http://bloglines.com/", {:title=>nil}),
|
285
|
+
md_ref_def("wikipedia", "http://en.wikipedia.org/", {:title=>nil}),
|
286
|
+
md_ref_def("ruby", "http://www.ruby-lang.org/", {:title=>nil}),
|
287
|
+
md_ref_def("poignant", "http://poignantguide.net/ruby/", {:title=>nil}),
|
288
|
+
md_ref_def("webgen", "http://webgen.rubyforge.org/", {:title=>nil}),
|
289
|
+
md_ref_def("markdown", "http://daringfireball.net/projects/markdown/", {:title=>nil}),
|
290
|
+
md_ref_def("latex", "http://en.wikipedia.org/wiki/LaTeX", {:title=>nil}),
|
291
|
+
md_ref_def("lyx", "http://www.lyx.org", {:title=>nil}),
|
292
|
+
md_ref_def("impress", "http://www.openoffice.org/product/impress.html", {:title=>nil}),
|
293
|
+
md_ref_def("ooolatex", "http://ooolatex.sourceforge.net/", {:title=>nil}),
|
294
|
+
md_ref_def("texpoint", "http://texpoint.necula.org/", {:title=>nil}),
|
295
|
+
md_ref_def("jabref", "http://jabref.sourceforge.net/", {:title=>nil}),
|
296
|
+
md_ref_def("camino", "http://www.caminobrowser.org/", {:title=>nil}),
|
297
|
+
md_ref_def("switch", "http://www.apple.com/getamac/", {:title=>nil}),
|
298
|
+
md_ref_def("textmate", "http://www.apple.com/getamac/", {:title=>nil}),
|
299
|
+
md_ref_def("cmake", "http://www.cmake.org/", {:title=>nil}),
|
300
|
+
md_ref_def("xfig", "http://www.xfig.org/", {:title=>nil}),
|
301
|
+
md_ref_def("jfig", "http://tams-www.informatik.uni-hamburg.de/applets/jfig/", {:title=>nil}),
|
302
|
+
md_ref_def("subversion", "http://subversion.tigris.org", {:title=>nil}),
|
303
|
+
md_ref_def("jbuilder", "http://www.borland.com/us/products/jbuilder/index.html", {:title=>nil}),
|
304
|
+
md_ref_def("flickr", "http://www.flickr.com/", {:title=>nil}),
|
305
|
+
md_ref_def("myflickr", "http://www.flickr.com/photos/censi", {:title=>nil}),
|
306
|
+
md_ref_def("bibconverter", "http://www.bibconverter.net/ieeexplore/", {:title=>nil}),
|
307
|
+
md_ref_def("autotools", "http://sources.redhat.com/autobook/", {:title=>nil}),
|
308
|
+
md_ref_def("jedit", "http://www.jedit.org/", {:title=>nil}),
|
309
|
+
md_ref_def("qt", "http://www.trolltech.no/", {:title=>nil}),
|
310
|
+
md_ref_def("gsl", "http://www.gnu.org/software/gsl/", {:title=>nil}),
|
311
|
+
md_ref_def("magick", "http://www.imagemagick.org/Magick++/", {:title=>nil}),
|
312
|
+
md_ref_def("cairo", "http://cairographics.org/", {:title=>nil}),
|
313
|
+
md_ref_def("boost", "http://www.boost.org/", {:title=>nil}),
|
314
|
+
md_ref_def("markdown", "http://en.wikipedia.org/wiki/Markdown", {:title=>nil}),
|
315
|
+
md_ref_def("trac", "http://trac.edgewall.org/", {:title=>nil}),
|
316
|
+
md_ref_def("mutopia", "http://www.mutopiaproject.org/", {:title=>nil}),
|
317
|
+
md_ref_def("liberliber", "http://www.liberliber.it/", {:title=>nil}),
|
318
|
+
md_ref_def("gutenberg", "http://www.gutenberg.org/", {:title=>nil}),
|
319
|
+
md_ref_def("java-generics", "http://java.sun.com/j2se/1.5.0/docs/guide/language/generics.html", {:title=>nil})
|
320
|
+
],{},[])
|
323
321
|
*** Output of to_html ***
|
324
322
|
|
325
323
|
<h3 id='general'>General</h3>
|
@@ -351,15 +349,13 @@ md_el(:document,[
|
|
351
349
|
|
352
350
|
<li>
|
353
351
|
<p><em>Scripting language</em>: <a href='http://www.ruby-lang.org/'>Ruby</a> is Japanese pragmatism (and has a <a href='http://poignantguide.net/ruby/'>poignant</a> guide). Python, you say? Python is too academic and snob:</p>
|
354
|
-
|
355
352
|
<pre><code>$ python
|
356
353
|
Python 2.4.1 (\#1, Jun 4 2005, 00:54:33)
|
357
354
|
Type "help", "copyright", "credits" or "license" for more information.
|
358
355
|
>>> exit
|
359
356
|
'Use Ctrl-D (i.e. EOF) to exit.'
|
360
357
|
>>> quit
|
361
|
-
'Use Ctrl-D (i.e. EOF) to exit.'</code></pre>
|
362
|
-
</li>
|
358
|
+
'Use Ctrl-D (i.e. EOF) to exit.'</code></pre></li>
|
363
359
|
|
364
360
|
<li>
|
365
361
|
<p><em>Java IDE</em>: <a href='http://www.borland.com/us/products/jbuilder/index.html'>JBuilder</a> is great software and has a free version (IMHO better than Eclipse). Java is not a pain anymore since it gained <a href='http://java.sun.com/j2se/1.5.0/docs/guide/language/generics.html'>generics</a> and got opensourced.</p>
|
@@ -370,7 +366,7 @@ Type "help", "copyright", "credits" or "licen
|
|
370
366
|
</li>
|
371
367
|
|
372
368
|
<li>
|
373
|
-
<p><em>C
|
369
|
+
<p><em>C++ libraries</em>: * <a href='http://www.trolltech.no/'>QT</a> for GUIs. * <a href='http://www.gnu.org/software/gsl/'>GSL</a> for math. * <a href='http://www.imagemagick.org/Magick++/'>Magick++</a> for manipulating images. * <a href='http://cairographics.org/'>Cairo</a> for creating PDFs. * <a href='http://www.boost.org/'>Boost</a> for just about everything else.</p>
|
374
370
|
</li>
|
375
371
|
</ul>
|
376
372
|
|
@@ -437,10 +433,10 @@ Type "help", "copyright", "credits" or "license" for more information.
|
|
437
433
|
\item {\em Java IDE}: \href{http://www.borland.com/us/products/jbuilder/index.html}{JBuilder} is great software and has a free version (IMHO better than Eclipse). Java is not a pain anymore since it gained \href{http://java.sun.com/j2se/1.5.0/docs/guide/language/generics.html}{generics} and got opensourced.
|
438
434
|
|
439
435
|
|
440
|
-
\item {\em Mark-up language}: HTML is so 2001, why don't you take at look at \href{http://en.wikipedia.org/wiki/Markdown}{Markdown}?
|
436
|
+
\item {\em Mark-up language}: HTML is so 2001, why don't you take at look at \href{http://en.wikipedia.org/wiki/Markdown}{Markdown}? .
|
441
437
|
|
442
438
|
|
443
|
-
\item {\em C
|
439
|
+
\item {\em C++ libraries}: * \href{http://www.trolltech.no/}{QT} for GUIs. * \href{http://www.gnu.org/software/gsl/}{GSL} for math. * \href{http://www.imagemagick.org/Magick++/}{Magick++} for manipulating images. * \href{http://cairographics.org/}{Cairo} for creating PDFs. * \href{http://www.boost.org/}{Boost} for just about everything else.
|
444
440
|
|
445
441
|
|
446
442
|
|
@@ -466,10 +462,56 @@ Type "help", "copyright", "credits" or "license" for more information.
|
|
466
462
|
|
467
463
|
\end{itemize}
|
468
464
|
|
465
|
+
*** Output of to_md ***
|
466
|
+
General-perating System: Mac OS X: heaven,
|
467
|
+
after the purgatory of Linux and
|
468
|
+
the hell of Windows.
|
469
|
+
-rowser: Firefox. On a Mac, Camino.
|
470
|
+
-mail: GMail, "search, don't sort"
|
471
|
+
really works.
|
472
|
+
-ext Editor: TextMate, you have to
|
473
|
+
buy it, but it's worth every penny.
|
474
|
+
There are rumours that it's been
|
475
|
+
converting (recovering) Emacs users
|
476
|
+
(addicts). Unfortunately, it's Mac
|
477
|
+
only. An alternative is jedit(GPL,
|
478
|
+
Java).
|
479
|
+
|
480
|
+
Development-Build system: cmake, throw the autotools away.
|
481
|
+
-Source code control system: ditch CVS for subversion.
|
482
|
+
-Project management: Trac tracks everything.
|
483
|
+
-Scripting language: Ruby is Japanese pragmatism (and has a poignant guide). Python, you say? Python is too academic and snob:
|
484
|
+
-Java IDE: JBuilder is great software and has a free version (IMHO better than Eclipse). Java is not a pain anymore since it gained generics and got opensourced.
|
485
|
+
-Mark-up language: HTML is so 2001, why don't you take at look at Markdown? Look at the source of this page.
|
486
|
+
-C++ libraries: * QT for GUIs. * GSL for math. * Magick++ for manipulating images. * Cairo for creating PDFs. * Boost for just about everything else.
|
487
|
+
|
488
|
+
Research-riting papers: LaTeX
|
489
|
+
-Writing papers & enjoying the process
|
490
|
+
: LyX
|
491
|
+
-andsome figures in your papers:
|
492
|
+
xfigor, better, jfig.
|
493
|
+
-The occasional presentation with many graphical content
|
494
|
+
: OpenOffice Impress(using the
|
495
|
+
OOOlatex plugin); the alternative
|
496
|
+
is PowerPoint with the TexPoint
|
497
|
+
plugin.
|
498
|
+
-anaging BibTeX: jabref:
|
499
|
+
multi-platform, for all your bibtex
|
500
|
+
needs.
|
501
|
+
-EEExplore and BibTeX: convert
|
502
|
+
citations using BibConverter.
|
503
|
+
|
504
|
+
Cool websites-est site in the wwworld: Wikipedia
|
505
|
+
-utopiafor sheet music;
|
506
|
+
the Gutenberg Projectfor books;
|
507
|
+
LiberLiberfor books in italian.
|
508
|
+
-logs: Bloglines
|
509
|
+
-haring photos: flickrexposes an
|
510
|
+
API you can use.
|
511
|
+
|
512
|
+
|
469
513
|
*** Output of to_s ***
|
470
|
-
GeneralOperating System : Mac OS X: heaven, after the purgatory of Linux and the hell of Windows.Browser: Firefox. On a Mac, Camino.Email: GMail, "search, don't sort" really works.Text Editor: TextMate, you have to buy it, but it's worth every penny. There are rumours that it's been converting (recovering) Emacs users (addicts). Unfortunately, it's Mac only. An alternative is jedit (GPL, Java).DevelopmentBuild system: cmake, throw the autotools away.Source code control system: ditch CVS for subversion.Project management: Trac tracks everything.Scripting language: Ruby is Japanese pragmatism (and has a poignant guide). Python, you say? Python is too academic and snob:Java IDE: JBuilder is great software and has a free version (IMHO better than Eclipse). Java is not a pain anymore since it gained generics and got opensourced.Mark-up language: HTML is so 2001, why don't you take at look at Markdown? Look at the source of this page.C
|
471
|
-
*** Output of to_s ***
|
472
|
-
GeneralOperating System : Mac OS X: heaven, after the purgatory of Linux and the hell of Windows.Browser: Firefox. On a Mac, Camino.Email: GMail, "search, don't sort" really works.Text Editor: TextMate, you have to buy it, but it's worth every penny. There are rumours that it's been converting (recovering) Emacs users (addicts). Unfortunately, it's Mac only. An alternative is jedit (GPL, Java).DevelopmentBuild system: cmake, throw the autotools away.Source code control system: ditch CVS for subversion.Project management: Trac tracks everything.Scripting language: Ruby is Japanese pragmatism (and has a poignant guide). Python, you say? Python is too academic and snob:Java IDE: JBuilder is great software and has a free version (IMHO better than Eclipse). Java is not a pain anymore since it gained generics and got opensourced.Mark-up language: HTML is so 2001, why don't you take at look at Markdown? Look at the source of this page.C+ libraries: QT for GUIs. * GSL for math. * Magick++ for manipulating images. * Cairo for creating PDFs. * Boost for just about everything else.ResearchWriting papers: LaTeXWriting papers & enjoying the process: LyXHandsome figures in your papers: xfig or, better, jfig.The occasional presentation with many graphical content: OpenOffice Impress (using the OOOlatex plugin); the alternative is PowerPoint with the TexPoint plugin.Managing BibTeX: jabref: multi-platform, for all your bibtex needs.IEEExplore and BibTeX: convert citations using BibConverter.Cool websitesBest site in the wwworld: WikipediaMutopia for sheet music; the Gutenberg Project for books; LiberLiber for books in italian.Blogs: BloglinesSharing photos: flickr exposes an API you can use.
|
514
|
+
GeneralOperating System : Mac OS X: heaven, after the purgatory of Linux and the hell of Windows.Browser: Firefox. On a Mac, Camino.Email: GMail, "search, don't sort" really works.Text Editor: TextMate, you have to buy it, but it's worth every penny. There are rumours that it's been converting (recovering) Emacs users (addicts). Unfortunately, it's Mac only. An alternative is jedit (GPL, Java).DevelopmentBuild system: cmake, throw the autotools away.Source code control system: ditch CVS for subversion.Project management: Trac tracks everything.Scripting language: Ruby is Japanese pragmatism (and has a poignant guide). Python, you say? Python is too academic and snob:Java IDE: JBuilder is great software and has a free version (IMHO better than Eclipse). Java is not a pain anymore since it gained generics and got opensourced.Mark-up language: HTML is so 2001, why don't you take at look at Markdown? Look at the source of this page.C++ libraries: * QT for GUIs. * GSL for math. * Magick++ for manipulating images. * Cairo for creating PDFs. * Boost for just about everything else.ResearchWriting papers: LaTeXWriting papers & enjoying the process: LyXHandsome figures in your papers: xfig or, better, jfig.The occasional presentation with many graphical content: OpenOffice Impress (using the OOOlatex plugin); the alternative is PowerPoint with the TexPoint plugin.Managing BibTeX: jabref: multi-platform, for all your bibtex needs.IEEExplore and BibTeX: convert citations using BibConverter.Cool websitesBest site in the wwworld: WikipediaMutopia for sheet music; the Gutenberg Project for books; LiberLiber for books in italian.Blogs: BloglinesSharing photos: flickr exposes an API you can use.
|
473
515
|
*** EOF ***
|
474
516
|
|
475
517
|
|
@@ -566,186 +608,184 @@ Archive: no
|
|
566
608
|
Date: Nov 20 2006
|
567
609
|
Order: -9.5
|
568
610
|
inMenu: true</p
|
569
|
-
|
570
|
-
|
611
|
+
><h3>General</h3
|
612
|
+
><ul>
|
571
613
|
<li
|
572
|
-
|
573
|
-
|
574
|
-
|
614
|
+
><em>Operating System</em
|
615
|
+
> : <a href='http://www.apple.com/getamac/'>Mac OS X</a
|
616
|
+
>: heaven, after the purgatory of Linux
|
575
617
|
and the hell of Windows.</li
|
576
|
-
|
618
|
+
>
|
577
619
|
<li
|
578
|
-
|
579
|
-
|
580
|
-
|
581
|
-
|
582
|
-
|
620
|
+
><em>Browser</em
|
621
|
+
>: <a href='http://getfirefox.com/'>Firefox</a
|
622
|
+
>. On a Mac, <a href='http://www.caminobrowser.org/'>Camino</a
|
623
|
+
>.</li
|
624
|
+
>
|
583
625
|
<li
|
584
|
-
|
585
|
-
|
586
|
-
|
587
|
-
|
626
|
+
><em>Email</em
|
627
|
+
>: <a href='http://gmail.com/'>GMail</a
|
628
|
+
>, "search, don't sort" really works.</li
|
629
|
+
>
|
588
630
|
<li
|
589
|
-
|
590
|
-
|
591
|
-
|
631
|
+
><em>Text Editor</em
|
632
|
+
>: <a href='http://www.apple.com/getamac/'>TextMate</a
|
633
|
+
>, you have to buy it, but it's worth every
|
592
634
|
penny. There are rumours that it's been converting (recovering) Emacs
|
593
635
|
users (addicts). Unfortunately, it's Mac only. An alternative is
|
594
636
|
<a href='http://www.jedit.org/'>jedit</a
|
595
|
-
|
596
|
-
|
637
|
+
> (GPL, Java).</li
|
638
|
+
>
|
597
639
|
</ul
|
598
|
-
|
599
|
-
|
640
|
+
><h3>Development</h3
|
641
|
+
><ul>
|
600
642
|
<li
|
601
|
-
|
602
|
-
|
603
|
-
|
604
|
-
|
605
|
-
|
643
|
+
><em>Build system</em
|
644
|
+
>: <a href='http://www.cmake.org/'>cmake</a
|
645
|
+
>, throw the <a href='http://sources.redhat.com/autobook/'>autotools</a
|
646
|
+
> away.</li
|
647
|
+
>
|
606
648
|
<li
|
607
|
-
|
608
|
-
|
609
|
-
|
610
|
-
|
649
|
+
><em>Source code control system</em
|
650
|
+
>: ditch CVS for <a href='http://subversion.tigris.org'>subversion</a
|
651
|
+
>.</li
|
652
|
+
>
|
611
653
|
<li
|
612
|
-
|
613
|
-
|
614
|
-
|
615
|
-
|
654
|
+
><em>Project management</em
|
655
|
+
>: <a href='http://trac.edgewall.org/'>Trac</a
|
656
|
+
> tracks everything.</li
|
657
|
+
>
|
616
658
|
<li
|
617
|
-
|
618
|
-
|
619
|
-
|
620
|
-
|
621
|
-
|
659
|
+
><p
|
660
|
+
><em>Scripting language</em
|
661
|
+
>: <a href='http://www.ruby-lang.org/'>Ruby</a
|
662
|
+
> is Japanese pragmatism (and has a <a href='http://poignantguide.net/ruby/'>poignant</a
|
663
|
+
> guide).
|
622
664
|
Python, you say? Python is too academic and snob:</p
|
623
|
-
|
624
|
-
|
625
|
-
|
626
|
-
|
627
|
-
|
628
|
-
|
629
|
-
>
|
630
|
-
|
665
|
+
>
|
666
|
+
<p>$ python <br
|
667
|
+
/>
|
668
|
+
Python 2.4.1 (#1, Jun 4 2005, 00:54:33)
|
669
|
+
Type "help", "copyright", "credits" or "license" for more information.</p
|
670
|
+
>
|
631
671
|
<blockquote>
|
632
|
-
|
633
|
-
|
634
|
-
|
635
|
-
|
636
|
-
|
637
|
-
|
638
|
-
|
639
|
-
|
640
|
-
|
641
|
-
|
642
|
-
|
672
|
+
<blockquote>
|
673
|
+
<blockquote>
|
674
|
+
<p>exit
|
675
|
+
'Use Ctrl-D (i.e. EOF) to exit.'
|
676
|
+
quit
|
677
|
+
'Use Ctrl-D (i.e. EOF) to exit.'</p
|
678
|
+
>
|
679
|
+
</blockquote
|
680
|
+
>
|
681
|
+
</blockquote
|
682
|
+
>
|
643
683
|
</blockquote
|
644
|
-
|
645
|
-
|
684
|
+
></li
|
685
|
+
>
|
646
686
|
<li
|
647
|
-
|
648
|
-
|
649
|
-
|
650
|
-
|
687
|
+
><p
|
688
|
+
><em>Java IDE</em
|
689
|
+
>: <a href='http://www.borland.com/us/products/jbuilder/index.html'>JBuilder</a
|
690
|
+
> is great software and has a free version (IMHO better than Eclipse). Java
|
651
691
|
is not a pain anymore since it gained <a href='http://java.sun.com/j2se/1.5.0/docs/guide/language/generics.html'>generics</a
|
652
|
-
|
653
|
-
|
654
|
-
|
692
|
+
> and got opensourced.</p
|
693
|
+
></li
|
694
|
+
>
|
655
695
|
<li
|
656
|
-
|
657
|
-
|
658
|
-
|
659
|
-
|
660
|
-
|
696
|
+
><em>Mark-up language</em
|
697
|
+
>: HTML is so 2001, why don't you take at look at <a href='http://en.wikipedia.org/wiki/Markdown'>Markdown</a
|
698
|
+
>? <a href='data/misc_markdown.png'>Look at the source of this page</a
|
699
|
+
>.</li
|
700
|
+
>
|
661
701
|
<li
|
662
|
-
|
663
|
-
|
702
|
+
><em>C++ libraries</em
|
703
|
+
>:
|
664
704
|
<ul>
|
665
705
|
<li
|
666
|
-
|
667
|
-
|
668
|
-
|
706
|
+
><a href='http://www.trolltech.no/'>QT</a
|
707
|
+
> for GUIs.</li
|
708
|
+
>
|
669
709
|
<li
|
670
|
-
|
671
|
-
|
672
|
-
|
710
|
+
><a href='http://www.gnu.org/software/gsl/'>GSL</a
|
711
|
+
> for math.</li
|
712
|
+
>
|
673
713
|
<li
|
674
|
-
|
675
|
-
|
676
|
-
|
714
|
+
><a href='http://www.imagemagick.org/Magick++/'>Magick++</a
|
715
|
+
> for manipulating images.</li
|
716
|
+
>
|
677
717
|
<li
|
678
|
-
|
679
|
-
|
680
|
-
|
718
|
+
><a href='http://cairographics.org/'>Cairo</a
|
719
|
+
> for creating PDFs.</li
|
720
|
+
>
|
681
721
|
<li
|
682
|
-
|
683
|
-
|
684
|
-
|
722
|
+
><a href='http://www.boost.org/'>Boost</a
|
723
|
+
> for just about everything else.</li
|
724
|
+
>
|
685
725
|
</ul
|
686
|
-
|
687
|
-
|
726
|
+
></li
|
727
|
+
>
|
688
728
|
</ul
|
689
|
-
|
690
|
-
|
729
|
+
><h3>Research</h3
|
730
|
+
><ul>
|
691
731
|
<li
|
692
|
-
|
693
|
-
|
694
|
-
|
695
|
-
|
732
|
+
><em>Writing papers</em
|
733
|
+
>: <a href='http://en.wikipedia.org/wiki/LaTeX'>LaTeX</a
|
734
|
+
></li
|
735
|
+
>
|
696
736
|
<li
|
697
|
-
|
698
|
-
|
699
|
-
|
700
|
-
|
737
|
+
><em>Writing papers & enjoying the process</em
|
738
|
+
>: <a href='http://www.lyx.org'>LyX</a
|
739
|
+
></li
|
740
|
+
>
|
701
741
|
<li
|
702
|
-
|
703
|
-
|
704
|
-
|
705
|
-
|
706
|
-
|
742
|
+
><em>Handsome figures in your papers</em
|
743
|
+
>: <a href='http://www.xfig.org/'>xfig</a
|
744
|
+
> or, better, <a href='http://tams-www.informatik.uni-hamburg.de/applets/jfig/'>jfig</a
|
745
|
+
>.</li
|
746
|
+
>
|
707
747
|
<li
|
708
|
-
|
709
|
-
|
748
|
+
><em>The occasional presentation with many graphical content</em
|
749
|
+
>:
|
710
750
|
<a href='http://www.openoffice.org/product/impress.html'>OpenOffice Impress</a
|
711
|
-
|
712
|
-
|
751
|
+
> (using the <a href='http://ooolatex.sourceforge.net/'>OOOlatex plugin</a
|
752
|
+
>);
|
713
753
|
the alternative is PowerPoint with the <a href='http://texpoint.necula.org/'>TexPoint</a
|
714
|
-
|
715
|
-
|
754
|
+
> plugin.</li
|
755
|
+
>
|
716
756
|
<li
|
717
|
-
|
718
|
-
|
719
|
-
|
720
|
-
|
757
|
+
><em>Managing BibTeX</em
|
758
|
+
>: <a href='http://jabref.sourceforge.net/'>jabref</a
|
759
|
+
>: multi-platform, for all your bibtex needs.</li
|
760
|
+
>
|
721
761
|
<li
|
722
|
-
|
723
|
-
|
724
|
-
|
725
|
-
|
762
|
+
><em>IEEExplore and BibTeX</em
|
763
|
+
>: convert citations using <a href='http://www.bibconverter.net/ieeexplore/'>BibConverter</a
|
764
|
+
>.</li
|
765
|
+
>
|
726
766
|
</ul
|
727
|
-
|
728
|
-
|
767
|
+
><h3>Cool websites</h3
|
768
|
+
><ul>
|
729
769
|
<li
|
730
|
-
|
731
|
-
|
732
|
-
|
733
|
-
|
770
|
+
><em>Best site in the wwworld</em
|
771
|
+
>: <a href='http://en.wikipedia.org/'>Wikipedia</a
|
772
|
+
></li
|
773
|
+
>
|
734
774
|
<li
|
735
|
-
|
736
|
-
|
737
|
-
|
738
|
-
|
739
|
-
|
775
|
+
><a href='http://www.mutopiaproject.org/'>Mutopia</a
|
776
|
+
> for sheet music; <a href='http://www.gutenberg.org/'>the Gutenberg Project</a
|
777
|
+
> for books; <a href='http://www.liberliber.it/'>LiberLiber</a
|
778
|
+
> for books in italian.</li
|
779
|
+
>
|
740
780
|
<li
|
741
|
-
|
742
|
-
|
743
|
-
|
744
|
-
|
781
|
+
><em>Blogs</em
|
782
|
+
>: <a href='http://bloglines.com/'>Bloglines</a
|
783
|
+
></li
|
784
|
+
>
|
745
785
|
<li
|
746
|
-
|
747
|
-
|
748
|
-
|
749
|
-
|
786
|
+
><em>Sharing photos</em
|
787
|
+
>: <a href='http://www.flickr.com/'>flickr</a
|
788
|
+
> exposes an API you can use.</li
|
789
|
+
>
|
750
790
|
</ul
|
751
|
-
|
791
|
+
>
|