forked from lalluviamola/web-blog
-
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathredirects.json
528 lines (528 loc) · 55.4 KB
/
redirects.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
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
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
{
"/index.html": ["/", 302],
"/blog": ["/", 302],
"/blog/": ["/", 302],
"/cheatsheets/": ["https://www.referenceguide.dev/", 302],
"/kb/serialization-in-c#.html": ["/article/Serialization-in-C.html", 302],
"/extremeoptimizations": ["/extremeoptimizations/index.html", 302],
"/extremeoptimizations/": ["/extremeoptimizations/index.html", 302],
"/feed/rss2/atom.xml": ["/atom.xml", 302],
"/feed/rss2/": ["/atom.xml", 302],
"/feed/rss2": ["/atom.xml", 302],
"/feed/": ["/atom.xml", 302],
"/feed": ["/atom.xml", 302],
"/feeds": ["/atom.xml", 302],
"/rss": ["/atom.xml", 302],
"/tools/generate-unique-id": ["/tools/generate-unique-id.html", 200],
"/feedburner.xml": ["/atom.xml", 302],
"/articles/cocoa-objectivec-reference.html": ["/articles/cocoa-reference.html", 302],
"/forum_sumatra": ["https://forum.sumatrapdfreader.org/", 302],
"/google6dba371684d43cd6.html": ["/static/google6dba371684d43cd6.html", 302],
"/software": ["/software/", 302],
"/software/15minutes/index.html": ["/software/15minutes.html", 302],
"/software/15minutes/": ["/software/15minutes.html", 302],
"/software/fofou": ["/software/fofou/index.html", 302],
"/software/dbhero": ["/software/dbhero/index.html", 302],
"/software/documentalist": ["/software/documentalist/like-dash-for-windows.html", 302],
"/software/documentalist/": ["/software/documentalist/like-dash-for-windows.html", 302],
"/software/documentalist/index.html": ["/software/documentalist/like-dash-for-windows.html", 302],
"/software/patheditor": ["/software/patheditor/for-windows.html", 302],
"/software/patheditor/": ["/software/patheditor/for-windows.html", 302],
"/software/scdiff/": ["/software/scdiff.html", 302],
"/software/scdiff/index.html": ["/software/scdiff.html", 302],
"/software/sumatrapdf/news.html": ["https://www.sumatrapdfreader.org/docs/Version-history", 302],
"/software/sumatrapdf/develop.html": ["https://www.sumatrapdfreader.org/docs/Contribute-to-SumatraPDF", 302],
"/software/sumatrapdf/translations.html": ["https://www.sumatrapdfreader.org/docs/How-to-contribute-translation", 302],
"/free-pdf-reader.html": ["https://www.sumatrapdfreader.org/free-pdf-reader", 302],
"/software/volante": ["/software/volante/database.html", 302],
"/software/volante/": ["/software/volante/database.html", 302],
"/software/volante/index.html": ["/software/volante/database.html", 302],
"/software/fotofi": ["/software/fotofi/free-stock-photos.html", 302],
"/software/fotofi/": ["/software/fotofi/free-stock-photos.html", 302],
"/software/fotofi/index.html": ["/software/fotofi/free-stock-photos.html", 302],
"/software/fast-file-finder-for-windows": ["/software/fast-file-finder-for-windows/", 302],
"/software/fast-file-finder-for-windows/index.html": ["/software/fast-file-finder-for-windows/", 302],
"/static/software.html": ["/software/index.html", 302],
"/static/krzysztof.html": ["/resume.html", 302],
"/static/resume.html": ["/resume.html", 302],
"/articles/": ["/documents.html", 302],
"/articles/index.html": ["/documents.html", 302],
"/static/documents.html": ["/documents.html", 302],
"/software/index.html": ["/software/", 302],
"/blog/2002/07/07/laws-of-marketing-7-ladder.html": ["/article/9h/laws-of-marketing-7-ladder.html", 302],
"/blog/2002/10/06/high-level-not-so-good.html": ["/article/145/high-level-languages-not-so-great.html", 302],
"/blog/2003/06/05/given-enough-eyeballs-make-all-bugs-shallow.html": ["/article/19k/given-enough-eyeballs-make-all-bugs-shallow.html", 302],
"/article/uISV-stories.html": ["/article/1zre/uisv-stories.html", 302],
"/kb/basics-of-writing-dos-.bat-batch-files.html": ["/article/8d/basics-of-writing-dos-.bat-batch-files.html", 302],
"/blog/2002/11/05/how-to-sell-software.html": ["/article/d8/how-to-sell-software.html", 302],
"/blog/2003/07/16/usability-heuristics-for-rich-internet-applicati.html": ["/article/iq/usability-heuristics-for-rich-internet-applications.html", 302],
"/article/Paradox-of-bad-comments.html": ["/article/qh/paradox-of-bad-comments.html", 302],
"/blog/2002/08/05/stuff-costs-more-than-you-think.html": ["/article/11w/stuff-costs-more-than-you-think.html", 302],
"/kb/serialization-in-c.html": ["/article/8n/serialization-in-c.html", 302],
"/blog/2003/02/17/inspiring-marketing-article.html": ["/article/f8/seth-godin-on-purple-cows.html", 302],
"/blog/2005/10/17/interesting-dave-winer-interview.html": ["/article/pd/interesting-dave-winer-interview.html", 302],
"/article/Unsolved-source-control-problems.html": ["/article/pj/unsolved-source-control-problems.html", 302],
"/blog/2003/06/11/on-difference-between-amateur-and-professional-s.html": ["/article/i9/on-difference-between-amateur-and-professional-shareware.html", 302],
"/article/Resources-related-to-implementing-programming-la.html": ["/article/66b/resources-related-to-implementing-programming-languages.html", 302],
"/article/15minutes-a-simple-productivity-tool.html": ["/article/dw3/15minutes-a-simple-productivity-too.html", 302],
"/article/Converting-PartCover-results-to-html.html": ["/article/4wp6/converting-partcover-results-to-html.html", 302],
"/article/Tools-that-find-bugs-in-c-and-c-code-via-static-.html": ["/article/5p8x/tools-that-find-bugs-in-c-and-c-code-via-static-code-analysis.html", 302],
"/article/Google-what-kind-of-a-giant-they-are.html": ["/article/or/google-what-kind-of-a-giant-they-are.html", 302],
"/kb/accurate-timers-on-windows.html": ["/article/10d/accurate-timers-on-windows.html", 302],
"/blog/2002/12/14/blown-to-bits.html": ["/article/150/blown-to-bits.html", 302],
"/article/My-future-is-so-bright-that-Ill-need-to-wear-sun.html": ["/article/19t/my-future-is-so-bright-that-ill-need-to-wear-sunglasses.html", 302],
"/article/Digg-and-the-craft-of-catchy-headlines.html": ["/article/1hz/digg-and-the-craft-of-catchy-headlines.html", 302],
"/article/Performance-optimization-story.html": ["/article/qe/performance-optimization-story.html", 302],
"/article/Are-Microsoft-products-any-good.html": ["/article/gk/are-microsoft-products-any-good.html", 302],
"/article/Getting-user-specific-application-data-directory.html": ["/article/10b/getting-user-specific-application-data-directory-for-.net-winforms-apps.html", 302],
"/article/Laws-of-marketing-21-acceleration.html": ["/article/11f/laws-of-marketing-21-acceleration.html", 302],
"/article/Deep-indentation-vs-flat.html": ["/article/1gt/deep-indentation-vs.flat.html", 302],
"/article/php_mysqldll-not-loading-in-PHP-514-and-Apache-2.html": ["/article/1id/php_mysql.dll-not-loading-in-php-5.1.4-and-apache-2.2.html", 302],
"/article/Value-your-time.html": ["/article/75pt/value-your-time.html", 302],
"/blog/2003/04/03/abut-face-second-edition.html": ["/article/g4/abut-face-second-edition.html", 302],
"/blog/2002/07/15/laws-of-marketing-19-failure.html": ["/article/11d/laws-of-marketing-19-failure.html", 302],
"/article/gflags-a-debugging-story.html": ["/article/1j9/gflags-a-debugging-story.html", 302],
"/article/Accurate-timers-on-Windows.html": ["/article/10d/accurate-timers-on-windows.html", 302],
"/article/Another-lesson-in-entrepreneurship.html": ["/article/1hr/another-lesson-in-entrepreneurship.html", 302],
"/blog/2008/04/07/gflags-a-debugging-story.html": ["/article/1j9/gflags-a-debugging-story.html", 302],
"/article/Network-drives-net-security-and-virtualbox.html": ["/article/jar/network-drives-.net-security-and-virtualbox.html", 302],
"/blog/2002/09/17/youll-have-a-job.html": ["/article/13e/youll-have-a-job.html", 302],
"/article/DocSynch-multi-editor-plugin-for-collaborative-t.html": ["/article/1fo/docsynch-multi-editor-plugin-for-collaborative-text-editing.html", 302],
"/article/How-to-make-money-developing-Mac-apps.html": ["/article/kb/how-to-make-money-developing-mac-apps.html", 302],
"/blog/2002/12/19/selling-microsoft.html": ["/article/155/selling-microsoft.html", 302],
"/blog/2005/07/29/longhornvista-fonts.html": ["/article/1gv/longhornvista-fonts.html", 302],
"/article/15minutes-for-mac-now-available.html": ["/article/q8i/15minutes-for-mac-now-available.html", 302],
"/kb/what-makes-a-cd-bootable.html": ["/article/zw/what-makes-a-cd-bootable.html", 302],
"/article/Popular-fallacies.html": ["/article/j4/popular-fallacies.html", 302],
"/article/Few-things-Ive-learned-when-writing-Sumatra-PDF.html": ["/article/qx/few-things-ive-learned-when-writing-sumatra-pdf.html", 302],
"/blog/2003/01/31/old-arsdigita-content.html": ["/article/16i/old-arsdigita-content.html", 302],
"/blog/2002/07/12/laws-of-marketing-14-attributes.html": ["/article/9p/laws-of-marketing-14-attributes.html", 302],
"/blog/2005/05/06/backpack-observations.html": ["/article/oz/backpack-observations.html", 302],
"/article/VisualAck-033-released.html": ["/article/19ix/visualack-0.3.3-released.html", 302],
"/article/Better-selling-through-a-web-site.html": ["/article/iz/better-selling-through-a-web-site.html", 302],
"/kb/embedding-binary-resources-on-windows.html": ["/article/zy/embedding-binary-resources-on-windows.html", 302],
"/blog/2004/06/30/microsoft-leading-the-way-with-open-bug-database.html": ["/article/1f5/microsoft-leading-the-way-with-open-bug-database.html", 302],
"/article/Laws-of-marketing-15-candor.html": ["/article/9r/laws-of-marketing-15-candor.html", 302],
"/blog/2002/10/10/slate-knows.html": ["/article/cu/slate-knows-why-amiga-failed.html", 302],
"/blog/2003/06/26/good-software-bad-buying-experience.html": ["/article/ih/good-software-bad-buying-experience.html", 302],
"/article/Do-you-read-the-old-papers.html": ["/article/18f/do-you-read-the-old-papers.html", 302],
"/article/How-content-based-addressing-can-help-web-perfor.html": ["/article/68a/how-content-based-addressing-can-help-web-performance.html", 302],
"/article/Things-Ive-learned-this-week.html": ["/article/23m9/things-ive-learned-this-week.html", 302],
"/blog/2002/08/27/information-business-as-a-relationship.html": ["/article/ax/information-business-as-a-relationship.html", 302],
"/blog/2007/07/30/sumatra-pdf-0-7-released.html": ["/article/r4/sumatra-pdf-0.7-released.html", 302],
"/blog/2004/10/09/alan-cox-on-writing-better-software.html": ["/article/1fu/alan-cox-on-writing-better-software.html", 302],
"/blog/2003/07/14/as-we-may-think.html": ["/article/ip/as-we-may-think.html", 302],
"/article/On-writing-well.html": ["/article/12d/on-writing-well.html", 302],
"/article/Microsoft-leading-the-way-with-open-bug-database.html": ["/article/1f5/microsoft-leading-the-way-with-open-bug-database.html", 302],
"/article/NSCopying-NSMutableCopying-or-NSCoding.html": ["/article/2dl/nscopying-nsmutablecopying-or-nscoding.html", 302],
"/blog/2004/06/10/a-tip-from-getting-things-done.html": ["/article/mt/a-tip-from-getting-things-done.html", 302],
"/blog/2003/11/12/how-to-make-money-developing-mac-apps.html": ["/article/kb/how-to-make-money-developing-mac-apps.html", 302],
"/blog/2002/08/11/how-to-be-a-leader-in-your-field.html": ["/article/aj/how-to-be-a-leader-in-your-field.html", 302],
"/blog/2006/08/16/paradox-of-bad-comments.html": ["/article/qh/paradox-of-bad-comments.html", 302],
"/article/VirtualEarth-vs-Google-Maps-not-hitting-the-high.html": ["/article/1gu/virtualearth-vs.google-maps-not-hitting-the-high-note.html", 302],
"/article/Profiling-tools-for-CC-on-windows-mac-and-linux.html": ["/article/2dt/profiling-tools-for-cc-on-windows-mac-and-linux.html", 302],
"/kb/pickling-serialization-in-python.html": ["/article/8o/pickling-serialization-in-python.html", 302],
"/blog/2004/06/02/patterns-in-interaction-design-web-and-gui-desig.html": ["/article/m3/patterns-in-interaction-design-web-and-gui-design-pattern.html", 302],
"/article/A-simple-catchpa-scheme.html": ["/article/qi/a-simple-captcha-scheme.html", 302],
"/article/Laws-of-marketing-20-hype.html": ["/article/11e/laws-of-marketing-20-hype.html", 302],
"/blog/2002/09/11/a-lesson-in-marketing-needed.html": ["/article/134/a-lesson-in-marketing-needed.html", 302],
"/article/Check-if-file-exists-on-Windows.html": ["/article/8h/check-if-file-exists-on-windows.html", 302],
"/blog/2002/11/17/good-programming-practices.html": ["/article/14r/good-programming-practices.html", 302],
"/article/Recruitment-is-like-dating.html": ["/article/152/the-power-of-endorsement.html", 302],
"/blog/2004/07/22/dont-use-0-instead-of-null.html": ["/article/1fh/dont-use-0-instead-of-null.html", 302],
"/article/You-have-to-implement-to-understand.html": ["/article/16fu/you-have-to-implement-to-understand.html", 302],
"/article/Wozniaks-speech.html": ["/article/a7/wozniaks-speech.html", 302],
"/article/Code-name-Monad-and-the-value-of-different-persp.html": ["/article/1hf/code-name-monad-and-the-value-of-different-perspective.html", 302],
"/article/The-stupidest-thing-a-software-company-can-do.html": ["/article/12v/the-stupidest-thing-a-software-company-can-do.html", 302],
"/article/On-The-22-Laws-Of-Marketing.html": ["/article/8z/on-the-22-immutable-laws-of-marketing.html", 302],
"/article/Laws-of-marketing-12-line-extension.html": ["/article/116/laws-of-marketing-12-line-extension.html", 302],
"/blog/2002/07/11/laws-of-marketing-13-sacrifice.html": ["/article/117/laws-of-marketing-13-sacrifice.html", 302],
"/article/The-future-is-here-its-just-not-evenly-distribut.html": ["/article/12l/the-future-is-here-its-just-not-evenly-distributed.html", 302],
"/article/Quote-from-Net-Words.html": ["/article/12r/quote-from-net-words.html", 302],
"/blog/2006/08/07/the-missing-msvcr80-dll-story.html": ["/article/1ie/the-missing-msvcr80.dll-story.html", 302],
"/blog/2006/08/22/deeply-nested-if-statements.html": ["/article/1ik/deeply-nested-if-statements.html", 302],
"/kb/compile-time-asserts-in-c.html": ["/article/8e/compile-time-asserts-in-c.html", 302],
"/article/Google-App-Engine-the-first-Internet-operating-s.html": ["/article/1ja/google-app-engine-the-first-internet-operating-system.html", 302],
"/blog/2008/01/07/logging-in-windbg.html": ["/article/r8/logging-in-windbg.html", 302],
"/article/SumatraPDF-09-released.html": ["/article/1jp/sumatrapdf-0.9-released.html", 302],
"/kb/get-file-size-under-windows.html": ["/article/8f/get-file-size-under-windows.html", 302],
"/blog/2002/09/09/you-wont-make-money-blogging.html": ["/article/bk/you-wont-make-money-blogging.html", 302],
"/article/How-to-sell-software.html": ["/article/d8/how-to-sell-software.html", 302],
"/article/The-ghost-of-ArsDigita.html": ["/article/do/the-ghost-of-arsdigita.html", 302],
"/blog/2005/10/13/open-source-and-windows.html": ["/article/pc/open-source-and-windows.html", 302],
"/article/Given-enough-eyeballs-make-all-bugs-shallow.html": ["/article/19k/given-enough-eyeballs-make-all-bugs-shallow.html", 302],
"/article/Laws-of-marketing-8-duality.html": ["/article/9i/laws-of-marketing-8-duality.html", 302],
"/article/Platform-Leadership.html": ["/article/cs/platform-leadership.html", 302],
"/article/Old-ArsDigita-content.html": ["/article/16i/old-arsdigita-content.html", 302],
"/article/Setting-unicode-rtf-text-in-rich-edit-control.html": ["/article/eny/setting-unicode-rtf-text-in-rich-edit-control.html", 302],
"/blog/2008/07/06/announcing-fofou-forum-software-for-google-app-e.html": ["/article/rr/announcing-fofou-forum-software-for-google-app-engine.html", 302],
"/article/Designing-web-forums-software.html": ["/article/1i3/designing-web-forums-software.html", 302],
"/blog/2007/03/05/sumatrapdf-0-5-released.html": ["/article/qv/sumatrapdf-0.5-released.html", 302],
"/blog/2002/07/16/laws-of-marketing-21-acceleration.html": ["/article/11f/laws-of-marketing-21-acceleration.html", 302],
"/blog/2003/12/18/myths-open-source-developers-tell-ourselves.html": ["/article/1cg/myths-open-source-developers-tell-ourselves.html", 302],
"/blog/2006/09/03/on-how-i-improved-sumatra-performance-by-~60.html": ["/article/1im/on-how-i-improved-sumatra-performance-by-60.html", 302],
"/article/setting-up-s3-logging.html": ["/article/at1/setting-up-s3-logging.html", 302],
"/article/15minutes-for-mac-updated.html": ["/article/xya/15minutes-for-mac-updated.html", 302],
"/article/musikCube-nice-mp3-player.html": ["/article/p0/musikcube-nice-mp3-player.html", 302],
"/article/scdiff-show-diffs-of-local-changes-in-CVS-or-Sub.html": ["/article/ma/scdiff-show-diffs-of-local-changes-in-cvs-or-subversion-repository-in-a-gui.html", 302],
"/blog/2002/12/16/recruitment-is-like-dating.html": ["/article/152/the-power-of-endorsement.html", 302],
"/article/Summary-of-David-Ditzel-talk-on-binary-translati.html": ["/article/67j/summary-of-david-ditzel-talk-on-binary-translation.html", 302],
"/blog/2003/01/05/your-life.html": ["/article/dq/your-life.html", 302],
"/article/SICP-lectures-available-on-line.html": ["/article/er/sicp-lectures-available-on-line.html", 302],
"/article/Watch-TV-on-the-internet.html": ["/article/kc/watch-tv-on-the-internet.html", 302],
"/blog/2005/02/09/subversion-with-ssh-on-windows-tip.html": ["/article/ov/subversion-with-ssh-on-windows-tip.html", 302],
"/blog/2002/07/16/laws-of-marketing-20-hype.html": ["/article/11e/laws-of-marketing-20-hype.html", 302],
"/blog/2003/02/17/creative-commons-presentation.html": ["/article/f7/creative-commons-presentation.html", 302],
"/article/Subversion-basics.html": ["/article/8g/subversion-basics.html", 302],
"/article/Laws-of-marketing-9-opposite.html": ["/article/113/laws-of-marketing-9-opposite.html", 302],
"/article/Diet.html": ["/article/3/analyzing-browserify-bundles-to-minimize-javascript-bundle-size.html", 302],
"/article/A-book-to-read-talks-to-listen-to.html": ["/article/1hh/a-book-to-read-talks-to-listen-to.html", 302],
"/article/Logging-in-WinDBG.html": ["/article/r8/logging-in-windbg.html", 302],
"/article/Results-of-tweaking-compiler-flags-before-09-rel.html": ["/article/x1/results-of-tweaking-compiler-flags-before-0.9-release.html", 302],
"/article/A-shameless-rip-off-or-what-did-you-expect.html": ["/article/1br/a-shameless-rip-off-or-what-did-you-expect.html", 302],
"/article/Subversion-with-SSH-on-Windows-tip.html": ["/article/ov/subversion-with-ssh-on-windows-tip.html", 302],
"/article/Your-life.html": ["/article/dq/your-life.html", 302],
"/article/wTail-release.html": ["/article/n4/wtail-release.html", 302],
"/blog/2007/04/12/2-great-books-and-one-not-so-great.html": ["/article/qw/2-great-books-and-one-not-so-great.html", 302],
"/article/Reverse-DNS-lookup.html": ["/article/y7/reverse-dns-lookup.html", 302],
"/article/Joel-man-of-his-word.html": ["/article/d1/joel-man-of-his-word.html", 302],
"/blog/2003/04/26/do-you-read-the-old-papers.html": ["/article/18f/do-you-read-the-old-papers.html", 302],
"/article/Open-source-lesson-from-a-stripper.html": ["/article/d5/open-source-lesson-from-a-stripper.html", 302],
"/blog/2003/05/31/is-software-industry-a-place-to-be-greenspun-per.html": ["/article/i1/is-software-industry-a-place-to-be-greenspun-perspective.html", 302],
"/blog/2004/10/03/scdiff-0-3-released.html": ["/article/1fr/scdiff-0.3-released.html", 302],
"/article/High-resolution-timer-for-timing-code-fragments.html": ["/article/8i/high-resolution-timer-for-timing-code-fragments.html", 302],
"/blog/2003/10/20/marketing-and-sharware-articles.html": ["/article/k9/marketing-and-shareware-articles.html", 302],
"/article/Good-programming-practices.html": ["/article/14r/good-programming-practices.html", 302],
"/blog/2004/06/02/web-writing-that-works.html": ["/article/1dn/web-writing-that-works.html", 302],
"/blog/2002/07/08/laws-of-marketing-8-duality.html": ["/article/9i/laws-of-marketing-8-duality.html", 302],
"/article/Usability-Heuristics-for-Rich-Internet-Applicati.html": ["/article/iq/usability-heuristics-for-rich-internet-applications.html", 302],
"/blog/2002/09/28/show-me-the-code.html": ["/article/ci/show-me-the-code.html", 302],
"/article/Laws-of-marketing-4-perception.html": ["/article/9e/laws-of-marketing-4-perception.html", 302],
"/article/Web-writing-that-works.html": ["/article/1dn/web-writing-that-works.html", 302],
"/article/Pickling-serialization-in-Python.html": ["/article/8o/pickling-serialization-in-python.html", 302],
"/blog/2008/01/04/sumatra-0-8-released.html": ["/article/r6/sumatra-0.8-released.html", 302],
"/article/On-how-I-improved-Sumatra-performance-by-60.html": ["/article/1im/on-how-i-improved-sumatra-performance-by-60.html", 302],
"/blog/2003/03/22/outsourcing.html": ["/article/fv/outsourcing.html", 302],
"/blog/2004/12/25/google-ultimate-hypocrite.html": ["/article/oe/google-ultimate-hypocrite.html", 302],
"/article/memset-considered-harmful.html": ["/article/1it/memset-considered-harmful.html", 302],
"/article/An-old-ad-for-a-job-at-Microsoft.html": ["/article/ft/an-old-ad-for-a-job-at-microsoft.html", 302],
"/article/Sumatra-PDF-is-born.html": ["/article/q7/sumatra-pdf-is-born.html", 302],
"/article/Gdb-basics.html": ["/article/zt/gdb-basics.html", 302],
"/article/Google-comments-on-comments.html": ["/article/1gi/google-comments-on-comments.html", 302],
"/blog/2006/08/07/php-mysql-dll-not-loading-in-php-5-1-4-and-apach.html": ["/article/1id/php_mysql.dll-not-loading-in-php-5.1.4-and-apache-2.2.html", 302],
"/blog/2002/10/05/platform-leadership.html": ["/article/cs/platform-leadership.html", 302],
"/article/Sane-include-hierarchy-for-C-and-C.html": ["/article/zq/sane-include-hierarchy-for-c-and-c.html", 302],
"/article/Laws-of-marketing-10-division.html": ["/article/114/laws-of-marketing-10-division.html", 302],
"/article/Introduction-to-PartCover-a-short-manual.html": ["/article/64oh/introduction-to-partcover-a-short-manual.html", 302],
"/article/Those-are-the-good-times.html": ["/article/by/those-are-the-good-times.html", 302],
"/blog/2003/12/02/royalties-in-game-buisness.html": ["/article/kl/royalties-in-game-business.html", 302],
"/article/University-of-Washington-on-line-videos.html": ["/article/o9/university-of-washington-on-line-videos.html", 302],
"/blog/2005/01/02/google-what-kind-of-a-giant-they-are.html": ["/article/or/google-what-kind-of-a-giant-they-are.html", 302],
"/blog/2007/04/29/a-debugging-story.html": ["/article/qy/a-debugging-story.html", 302],
"/article/Announcing-fofou-forum-software-for-Google-App-E.html": ["/article/rr/announcing-fofou-forum-software-for-google-app-engine.html", 302],
"/article/Source-Insight-35.html": ["/article/15w/source-insight-3.5.html", 302],
"/article/OReilly-on-software.html": ["/article/1a0/oreilly-on-software.html", 302],
"/blog/2002/12/19/the-ghost-of-arsdigita.html": ["/article/do/the-ghost-of-arsdigita.html", 302],
"/article/scdiff-update-Windows-gitsubversioncvs-gui-diff-.html": ["/article/bks/scdiff-update-windows-gitsubversioncvs-gui-diff-previewer.html", 302],
"/article/Laws-of-marketing-18-success.html": ["/article/11c/laws-of-marketing-18-success.html", 302],
"/blog/2002/09/04/the-stupidest-thing-a-software-company-can-do.html": ["/article/12v/the-stupidest-thing-a-software-company-can-do.html", 302],
"/blog/2004/12/30/google-we-take-it-all-give-nothing-back.html": ["/article/1gc/google-we-take-it-all-give-nothing-back.html", 302],
"/blog/2007/07/30/merge-tools-showdown.html": ["/article/1j2/merge-tools-showdown.html", 302],
"/blog/2002/07/11/laws-of-marketing-11-perspective.html": ["/article/115/laws-of-marketing-11-perspective.html", 302],
"/blog/2002/07/26/principle-of-good-design-discoverability.html": ["/article/11n/principle-of-good-design-discoverability.html", 302],
"/blog/2002/09/16/great-business-without-innovation.html": ["/article/13a/great-business-without-innovation.html", 302],
"/article/Variadic-Macros-C.html": ["/article/yt/variadic-macros-c.html", 302],
"/article/Where-do-bugs-come-from.html": ["/article/669/where-do-bugs-come-from.html", 302],
"/blog/2004/08/31/docsynch-multi-editor-plugin-for-collaborative-t.html": ["/article/1fo/docsynch-multi-editor-plugin-for-collaborative-text-editing.html", 302],
"/article/Great-business-without-innovation.html": ["/article/13a/great-business-without-innovation.html", 302],
"/article/LonghornVista-fonts.html": ["/article/1gv/longhornvista-fonts.html", 302],
"/article/SumatraPDF-12-released.html": ["/article/7bw1/sumatrapdf-1.2-released.html", 302],
"/article/Mac-program-scheduling-like-crontab.html": ["/article/6r/mac-program-scheduling-like-crontab.html", 302],
"/blog/2003/08/27/shirky-on-wikis.html": ["/article/jb/shirky-on-wikis.html", 302],
"/article/Google-we-take-it-all-give-nothing-back.html": ["/article/1gc/google-we-take-it-all-give-nothing-back.html", 302],
"/blog/2006/11/22/talk-on-designing-good-apis.html": ["/article/1iq/talk-on-designing-good-apis.html", 302],
"/blog/2002/07/05/laws-of-marketing-3-mind.html": ["/article/9d/laws-of-marketing-3-mind.html", 302],
"/article/A-debugging-story.html": ["/article/qy/a-debugging-story.html", 302],
"/blog/2003/06/13/writing-to-sell.html": ["/article/19o/writing-to-sell.html", 302],
"/blog/2002/07/23/open-source-is-philanthropy.html": ["/article/a2/open-source-is-philanthropy.html", 302],
"/blog/2003/03/14/an-old-ad-for-a-job-at-microsoft.html": ["/article/ft/an-old-ad-for-a-job-at-microsoft.html", 302],
"/blog/2003/05/10/carmack-on-creativity.html": ["/article/hj/carmack-on-creativity.html", 302],
"/article/Laws-of-marketing-2-category.html": ["/article/9b/laws-of-marketing-2-category.html", 302],
"/article/Information-business-as-a-relationship.html": ["/article/ax/information-business-as-a-relationship.html", 302],
"/blog/2003/01/05/catch-me-if-you-can.html": ["/article/dr/catch-me-if-you-can.html", 302],
"/article/C-Interfaces-and-Implementations.html": ["/article/11t/c-interfaces-and-implementations.html", 302],
"/article/A-collaborative-text-editor-for-Windows.html": ["/article/1fn/a-collaborative-text-editor-for-windows.html", 302],
"/kb/make-c-code-safe-for-c.html": ["/article/88/make-c-code-safe-for-c.html", 302],
"/article/valgrind-basics-1.html": ["/article/sz/valgrind-basics.html", 302],
"/article/Youll-have-a-job.html": ["/article/13e/youll-have-a-job.html", 302],
"/article/Blogs-should-always-provide-previous-posts-butto.html": ["/article/1dq/blogs-should-always-provide-previous-posts-button.html", 302],
"/blog/2003/12/05/the-story-of-photoshop.html": ["/article/kn/the-story-of-photoshop.html", 302],
"/article/The-story-of-Photoshop.html": ["/article/kn/the-story-of-photoshop.html", 302],
"/blog/2002/11/06/how-to-refuse-features.html": ["/article/14n/how-to-refuse-features.html", 302],
"/article/SumatraPDF-04-released.html": ["/article/1iu/sumatrapdf-0.4-released.html", 302],
"/blog/2003/01/31/sicp-lectures-available-on-line.html": ["/article/er/sicp-lectures-available-on-line.html", 302],
"/blog/2008/04/17/remapping-page-up-and-page-down-on-mac-to-move-a.html": ["/article/rm/remapping-page-up-and-page-down-on-mac-to-move-a-cursor.html", 302],
"/article/Navigating-source-code-in-large-programs.html": ["/article/1ip/navigating-source-code-in-large-programs.html", 302],
"/blog/2004/06/04/scdiff-show-diffs-of-local-changes-in-cvs-or-sub.html": ["/article/ma/scdiff-show-diffs-of-local-changes-in-cvs-or-subversion-repository-in-a-gui.html", 302],
"/article/Is-software-industry-a-place-to-be-Greenspun-per.html": ["/article/i1/is-software-industry-a-place-to-be-greenspun-perspective.html", 302],
"/article/Google-ultimate-hypocrite.html": ["/article/oe/google-ultimate-hypocrite.html", 302],
"/article/Extreme-size-optimization-in-C-and-C.html": ["/article/ro/extreme-size-optimization-in-c-and-c.html", 302],
"/kb/gdb-basics.html": ["/article/zt/gdb-basics.html", 302],
"/article/Laws-of-marketing-11-perspective.html": ["/article/115/laws-of-marketing-11-perspective.html", 302],
"/article/Laws-of-marketing-17-unpredictability.html": ["/article/11b/laws-of-marketing-17-unpredictability.html", 302],
"/blog/2004/12/31/2005-prediction-the-rise-of-anonymous-p2p.html": ["/article/1gf/2005-prediction-the-rise-of-anonymous-p2p.html", 302],
"/article/Basics-of-writing-DOS-bat-batch-files.html": ["/article/8d/basics-of-writing-dos-.bat-batch-files.html", 302],
"/blog/2008/07/27/realloc-on-windows-vs-linux.html": ["/article/2be/realloc-on-windows-vs.linux.html", 302],
"/article/LL2-webcast.html": ["/article/14p/ll2-webcast.html", 302],
"/blog/2006/03/11/digg-and-the-craft-of-catchy-headlines.html": ["/article/1hz/digg-and-the-craft-of-catchy-headlines.html", 302],
"/article/Why-you-shouldnt-write-Mac-programs-in-QT.html": ["/article/6u55/why-you-shouldnt-write-mac-programs-in-qt.html", 302],
"/blog/2006/06/07/short-tutorial-on-svn-propset-for-svn-externals.html": ["/article/q8/short-tutorial-on-svn-propset-for-svnexternals-property.html", 302],
"/blog/2006/01/13/debugging-adventure.html": ["/article/ps/debugging-adventure.html", 302],
"/blog/2003/07/24/lucene-for-searching-source-code.html": ["/article/1ag/lucene-for-searching-source-code.html", 302],
"/article/Summary-of-talk-on-continuous-deployment.html": ["/article/2ve9/summary-of-talk-on-continuous-deployment.html", 302],
"/article/How-to-delete-a-file-you-get-from-urlliburlretri.html": ["/article/oy/how-to-delete-a-file-you-get-from-urllib.urlretrieve.html", 302],
"/blog/2007/04/29/sumatrapdf-0-6-released.html": ["/article/qz/sumatrapdf-0.6-released.html", 302],
"/blog/2003/04/01/asking-the-right-question-about-language-design.html": ["/article/g2/asking-the-right-question-about-language-design.html", 302],
"/article/Open-source-and-windows.html": ["/article/pc/open-source-and-windows.html", 302],
"/article/Successful-telecommuting.html": ["/article/e7/successful-telecommuting.html", 302],
"/article/2-great-books-and-one-not-so-great.html": ["/article/qw/2-great-books-and-one-not-so-great.html", 302],
"/article/Myths-Open-Source-Developers-Tell-Ourselves.html": ["/article/1cg/myths-open-source-developers-tell-ourselves.html", 302],
"/article/Serialization-in-C.html": ["/article/8n/serialization-in-c.html", 302],
"/article/Embedding-binary-resources-on-Windows.html": ["/article/zy/embedding-binary-resources-on-windows.html", 302],
"/blog/2002/09/03/quote-from-net-words.html": ["/article/12r/quote-from-net-words.html", 302],
"/article/GPL-3-anti-patent-virus.html": ["/article/1ga/gpl-3-anti-patent-virus.html", 302],
"/article/Windbg-reference.html": ["/article/ug/windbg-reference.html", 302],
"/article/Asking-the-right-question-about-language-design.html": ["/article/g2/asking-the-right-question-about-language-design.html", 302],
"/article/Google-saga-episode-205.html": ["/article/os/google-saga-episode-205.html", 302],
"/blog/2006/08/14/performance-optimization-story.html": ["/article/qe/performance-optimization-story.html", 302],
"/blog/2002/07/14/laws-of-marketing-17-unpredictability.html": ["/article/11b/laws-of-marketing-17-unpredictability.html", 302],
"/blog/2002/10/13/profitable-open-source-business.html": ["/article/14a/profitable-open-source-business.html", 302],
"/article/Fonts-on-windows.html": ["/article/2dm/fonts-on-windows.html", 302],
"/article/VisualAck-032-released.html": ["/article/17zf/visualack-0.3.2-released.html", 302],
"/blog/2002/07/06/laws-of-marketing-4-perception.html": ["/article/9e/laws-of-marketing-4-perception.html", 302],
"/blog/2003/11/12/watch-tv-on-the-internet.html": ["/article/kc/watch-tv-on-the-internet.html", 302],
"/blog/2006/03/18/designing-web-forums-software.html": ["/article/1i3/designing-web-forums-software.html", 302],
"/article/Shirky-on-Wikis.html": ["/article/jb/shirky-on-wikis.html", 302],
"/article/Bugs-and-eyeballs.html": ["/article/a0/bugs-and-eyeballs.html", 302],
"/article/Patterns-in-interaction-design-web-and-gui-desig.html": ["/article/m3/patterns-in-interaction-design-web-and-gui-design-pattern.html", 302],
"/blog/2002/08/21/on-writing-well.html": ["/article/12d/on-writing-well.html", 302],
"/article/Simple-duplicate-post-detection-for-your-blog-fo.html": ["/article/779d/simple-duplicate-post-detection-for-your-blog-forum-or-commenting-software.html", 302],
"/article/backtrace_symbols-and-rdynamic-in-gcc.html": ["/article/61/backtrace_symbols-and-rdynamic-in-gcc.html", 302],
"/blog/2004/08/30/a-collaborative-text-editor-for-windows.html": ["/article/1fn/a-collaborative-text-editor-for-windows.html", 302],
"/article/Debugging-adventure.html": ["/article/ps/debugging-adventure.html", 302],
"/blog/2006/08/20/what-i-love-about-google-open-source-project-hos.html": ["/article/qj/what-i-love-about-google-open-source-project-hosting.html", 302],
"/article/Catch-me-if-you-can.html": ["/article/dr/catch-me-if-you-can.html", 302],
"/article/BitTorrent-based-large-file-distribution-for-HTT.html": ["/article/1k1/bittorrent-based-large-file-distribution-for-http.html", 302],
"/article/How-to-accept-online-payments.html": ["/article/3675/how-to-accept-online-payments.html", 302],
"/article/making-unix-user-a-sudoer.html": ["/article/s2/making-unix-user-a-sudoer.html", 302],
"/blog/2003/07/03/oreilly-on-software.html": ["/article/1a0/oreilly-on-software.html", 302],
"/article/Document-your-software.html": ["/article/1i0/document-your-software.html", 302],
"/article/We-need-Visual-Ack.html": ["/article/sjt/we-need-visual-ack.html", 302],
"/blog/2002/07/14/laws-of-marketing-18-success.html": ["/article/11c/laws-of-marketing-18-success.html", 302],
"/article/Show-me-the-code.html": ["/article/ci/show-me-the-code.html", 302],
"/blog/2002/10/20/joel-man-of-his-word.html": ["/article/d1/joel-man-of-his-word.html", 302],
"/article/Outsourcing.html": ["/article/fv/outsourcing.html", 302],
"/blog/2003/08/20/popular-fallacies.html": ["/article/j4/popular-fallacies.html", 302],
"/article/SumatraPDF-10-released.html": ["/article/109l/sumatrapdf-1.0-released.html", 302],
"/article/Marketing-lessons-from-WebP-launch.html": ["/article/72mp/marketing-lessons-from-webp-launch.html", 302],
"/kb/check-if-file-exists-on-windows.html": ["/article/8h/check-if-file-exists-on-windows.html", 302],
"/blog/2004/06/14/wtail-release.html": ["/article/n4/wtail-release.html", 302],
"/article/SumatraPDF-05-released.html": ["/article/qv/sumatrapdf-0.5-released.html", 302],
"/article/Local-DNS-modifications-on-Windows-etchosts-equi.html": ["/article/10c/local-dns-modifications-on-windows-etchosts-equivalent.html", 302],
"/article/High-level-not-so-good.html": ["/article/145/high-level-languages-not-so-great.html", 302],
"/article/Python-id3-library.html": ["/article/1ia/python-id3-library.html", 302],
"/article/Blog-your-resume.html": ["/article/b8/blog-your-resume.html", 302],
"/article/Sumatra-PDF-07-released.html": ["/article/r4/sumatra-pdf-0.7-released.html", 302],
"/blog/2002/08/28/the-future-is-here-its-just-not-evenly-distribut.html": ["/article/12l/the-future-is-here-its-just-not-evenly-distributed.html", 302],
"/blog/2003/06/28/software-can-always-be-better.html": ["/article/19x/software-can-always-be-better.html", 302],
"/blog/2005/10/25/rich-client-is-here.html": ["/article/1hb/rich-client-is-here.html", 302],
"/blog/2007/04/14/few-things-ive-learned-when-writing-sumatra-pdf.html": ["/article/qx/few-things-ive-learned-when-writing-sumatra-pdf.html", 302],
"/blog/2002/07/07/laws-of-marketing-6-exclusivity.html": ["/article/110/laws-of-marketing-6-exclusivity.html", 302],
"/blog/2003/09/08/not-as-happy-as-you-thought-you-will-be.html": ["/article/1b2/not-as-happy-as-you-thought-you-will-be.html", 302],
"/article/Remapping-Page-Up-and-Page-Down-on-Mac-to-move-a.html": ["/article/rm/remapping-page-up-and-page-down-on-mac-to-move-a-cursor.html", 302],
"/kb/c-portability-notes.html": ["/article/zx/c-portability-notes.html", 302],
"/article/SumatraPDF-093-released.html": ["/article/1jr/sumatrapdf-0.9.3-released.html", 302],
"/blog/2002/09/17/those-are-the-good-times.html": ["/article/by/those-are-the-good-times.html", 302],
"/article/You-wont-make-money-blogging.html": ["/article/bk/you-wont-make-money-blogging.html", 302],
"/article/Laws-of-marketing-16-singularity.html": ["/article/11a/laws-of-marketing-16-singularity.html", 302],
"/article/Profitable-open-source-business.html": ["/article/14a/profitable-open-source-business.html", 302],
"/article/scdiff-03-released.html": ["/article/1fr/scdiff-0.3-released.html", 302],
"/article/SEO-is-harder-than-you-think.html": ["/article/6qa9/seo-is-harder-than-you-think.html", 302],
"/blog/2002/07/12/fine-interview-with-marcelo-tosatti.html": ["/article/9q/fine-interview-with-marcelo-tosatti.html", 302],
"/article/WinAmp-3.html": ["/article/b6/winamp-3-and-software-business-lessons.html", 302],
"/article/Laws-of-marketing-22-resources.html": ["/article/11g/laws-of-marketing-22-resources.html", 302],
"/article/Fine-interview-with-Marcelo-Tosatti.html": ["/article/9q/fine-interview-with-marcelo-tosatti.html", 302],
"/article/Carmack-on-creativity.html": ["/article/hj/carmack-on-creativity.html", 302],
"/article/Sumatra-PDF-03-released.html": ["/article/qq/sumatra-pdf-0.3-released.html", 302],
"/article/Best-captcha-is-exotic-captcha.html": ["/article/16fw/best-captcha-is-exotic-captcha.html", 302],
"/article/Compile-time-asserts-in-C.html": ["/article/8e/compile-time-asserts-in-c.html", 302],
"/article/Objective-C-patterns.html": ["/article/xf/objective-c-patterns.html", 302],
"/article/Counterpost-to-a-counterpost.html": ["/article/on/counterpost-to-a-counterpost.html", 302],
"/blog/2008/04/18/nt-symbol-path-considered-harmful.html": ["/article/rn/_nt_symbol_path-considered-harmful.html", 302],
"/article/enabling-coredumps.html": ["/article/v6/enabling-coredumps.html", 302],
"/blog/2002/07/17/laws-of-marketing-22-resources.html": ["/article/11g/laws-of-marketing-22-resources.html", 302],
"/blog/2002/08/03/c-interfaces-and-implementations.html": ["/article/11t/c-interfaces-and-implementations.html", 302],
"/article/Programmers-dont-steal-enough.html": ["/article/19y/programmers-dont-steal-enough.html", 302],
"/article/SumatraPDF-091-released.html": ["/article/1jq/sumatrapdf-0.9.1-released.html", 302],
"/blog/2002/09/02/winamp-3.html": ["/article/b6/winamp-3-and-software-business-lessons.html", 302],
"/blog/2008/10/02/sumatrapdf-0-9-3-released.html": ["/article/1jr/sumatrapdf-0.9.3-released.html", 302],
"/blog/2004/10/22/university-of-washington-on-line-videos.html": ["/article/o9/university-of-washington-on-line-videos.html", 302],
"/article/Petzold-on-Visual-Studio-and-mind-corruption.html": ["/article/pl/petzold-on-visual-studio-and-mind-corruption.html", 302],
"/blog/2006/11/26/sumatra-pdf-0-3-released.html": ["/article/qq/sumatra-pdf-0.3-released.html", 302],
"/blog/2002/07/17/you-and-your-research.html": ["/article/11h/you-and-your-research.html", 302],
"/article/Which-technology-for-writing-desktop-software.html": ["/article/7ez5/which-technology-for-writing-desktop-software.html", 302],
"/blog/2004/06/12/more-productivity-tips.html": ["/article/my/productivity-tips.html", 302],
"/kb/getting-user-specific-application-data-directory-for-.net-winforms-apps.html": ["/article/10b/getting-user-specific-application-data-directory-for-.net-winforms-apps.html", 302],
"/article/Selling-Microsoft.html": ["/article/155/selling-microsoft.html", 302],
"/blog/2005/10/27/a-book-to-read-talks-to-listen-to.html": ["/article/1hh/a-book-to-read-talks-to-listen-to.html", 302],
"/blog/2008/08/24/sumatrapdf-0-9-1-released.html": ["/article/1jq/sumatrapdf-0.9.1-released.html", 302],
"/blog/2002/07/05/laws-of-marketing-2-category.html": ["/article/9b/laws-of-marketing-2-category.html", 302],
"/blog/2006/06/03/sumatra-pdf-is-born.html": ["/article/q7/sumatra-pdf-is-born.html", 302],
"/article/Software-can-always-be-better.html": ["/article/19x/software-can-always-be-better.html", 302],
"/blog/2003/06/30/programmers-dont-steal-enough.html": ["/article/19y/programmers-dont-steal-enough.html", 302],
"/article/Go-vs-Python-for-a-simple-web-server.html": ["/article/4dep/go-vs.python-for-a-simple-web-server.html", 302],
"/article/Making-money-with-shareware-software.html": ["/article/kr/making-money-with-shareware-software.html", 302],
"/article/The-missing-msvcr80dll-story.html": ["/article/1ie/the-missing-msvcr80.dll-story.html", 302],
"/article/Backpack-observations.html": ["/article/oz/backpack-observations.html", 302],
"/article/Lucene-for-searching-source-code.html": ["/article/1ag/lucene-for-searching-source-code.html", 302],
"/article/A-tip-from-Getting-things-done.html": ["/article/mt/a-tip-from-getting-things-done.html", 302],
"/article/Abut-Face-second-edition.html": ["/article/g4/abut-face-second-edition.html", 302],
"/blog/2005/01/02/google-saga-episode-205.html": ["/article/os/google-saga-episode-205.html", 302],
"/blog/2003/09/10/critical-reading-skills.html": ["/article/1b5/critical-reading-skills.html", 302],
"/article/Laws-of-marketing-14-attributes.html": ["/article/9p/laws-of-marketing-14-attributes.html", 302],
"/article/Creative-commons-presentation.html": ["/article/f7/creative-commons-presentation.html", 302],
"/kb/sane-include-hierarchy-for-c-and-c.html": ["/article/zq/sane-include-hierarchy-for-c-and-c.html", 302],
"/blog/2002/07/10/laws-of-marketing-9-opposite.html": ["/article/113/laws-of-marketing-9-opposite.html", 302],
"/article/Blown-to-bits.html": ["/article/150/blown-to-bits.html", 302],
"/blog/2005/12/28/another-lesson-in-entrepreneurship.html": ["/article/1hr/another-lesson-in-entrepreneurship.html", 302],
"/blog/2006/09/21/navigating-source-code-in-large-programs.html": ["/article/1ip/navigating-source-code-in-large-programs.html", 302],
"/article/Laws-of-marketing-3-mind.html": ["/article/9d/laws-of-marketing-3-mind.html", 302],
"/article/Sumatra-08-released.html": ["/article/r6/sumatra-0.8-released.html", 302],
"/article/How-to-refuse-features.html": ["/article/14n/how-to-refuse-features.html", 302],
"/article/SumatraPDF-081.html": ["/article/1jj/sumatrapdf-0.8.1-release.html", 302],
"/article/SumatraPDF-11-release.html": ["/article/2qrl/sumatrapdf-1.1-release.html", 302],
"/article/Skype-as-an-example-of-changing-nature-of-social.html": ["/article/kd/skype-as-an-example-of-changing-nature-of-social-interactions.html", 302],
"/article/Sumatra-PDF-02-released.html": ["/article/qa/sumatra-pdf-0.2-released.html", 302],
"/blog/2004/07/15/review-of-hot-text-web-writing-that-works.html": ["/article/1fd/review-of-hot-text-web-writing-that-works.html", 302],
"/blog/2005/10/26/code-name-monad-and-the-value-of-different-persp.html": ["/article/1hf/code-name-monad-and-the-value-of-different-perspective.html", 302],
"/article/Laws-of-marketing-7-ladder.html": ["/article/9h/laws-of-marketing-7-ladder.html", 302],
"/blog/2004/12/31/bad-google-the-fallout.html": ["/article/1gh/bad-google-the-fallout.html", 302],
"/article/8-habits-for-becoming-a-better-programmer.html": ["/article/78sx/8-habits-for-becoming-a-better-programmer.html", 302],
"/article/Productivity-tips.html": ["/article/my/productivity-tips.html", 302],
"/blog/2004/06/02/blogs-should-always-provide-previous-posts-butto.html": ["/article/1dq/blogs-should-always-provide-previous-posts-button.html", 302],
"/article/Laws-of-marketing-19-failure.html": ["/article/11d/laws-of-marketing-19-failure.html", 302],
"/article/Memex-sue-me-please-device.html": ["/article/1a7/memex-sue-me-please-device.html", 302],
"/blog/2002/07/13/laws-of-marketing-16-singularity.html": ["/article/11a/laws-of-marketing-16-singularity.html", 302],
"/article/Royalties-in-game-buisness.html": ["/article/kl/royalties-in-game-business.html", 302],
"/blog/2002/07/01/redefining-professionalism-for-software-engineer.html": ["/article/99/redefining-professionalism-for-software-engineers.html", 302],
"/blog/2007/02/20/sumatrapdf-0-4-released.html": ["/article/1iu/sumatrapdf-0.4-released.html", 302],
"/article/Startup-management-lessons-from-The-Social-Netwo.html": ["/article/73eh/startup-management-lessons-from-the-social-network.html", 302],
"/kb/subversion-basics.html": ["/article/8g/subversion-basics.html", 302],
"/article/Laws-of-marketing-6-exclusivity.html": ["/article/110/laws-of-marketing-6-exclusivity.html", 302],
"/article/realloc-on-Windows-vs-Linux-1.html": ["/article/2be/realloc-on-windows-vs.linux.html", 302],
"/article/Productivity-ideas.html": ["/article/20j5/productivity-ideas.html", 302],
"/blog/2003/12/07/making-money-on-shareware.html": ["/article/kr/making-money-with-shareware-software.html", 302],
"/article/Laws-of-marketing-5-focus.html": ["/article/10z/laws-of-marketing-5-focus.html", 302],
"/article/Why-consistency-is-important-in-software-design.html": ["/article/19u/why-consistency-is-important-in-software-design.html", 302],
"/blog/2006/03/12/document-your-software.html": ["/article/1i0/document-your-software.html", 302],
"/article/Compacting-s3-aws-logs.html": ["/article/99o/compacting-s3-aws-logs.html", 302],
"/article/15minutes-11-for-windows.html": ["/article/111e/15minutes-1.1-for-windows.html", 302],
"/article/SumatraPDF-06-released.html": ["/article/qz/sumatrapdf-0.6-released.html", 302],
"/article/As-we-may-think.html": ["/article/ip/as-we-may-think.html", 302],
"/blog/2006/08/15/order-of-include-headers-in-cc.html": ["/article/qg/order-of-include-headers-in-cc.html", 302],
"/blog/2004/12/31/google-comments-on-comments.html": ["/article/1gi/google-comments-on-comments.html", 302],
"/blog/2002/09/03/blog-your-resume.html": ["/article/b8/blog-your-resume.html", 302],
"/blog/2003/07/15/memex-sue-me-please-device.html": ["/article/1a7/memex-sue-me-please-device.html", 302],
"/article/Bad-Google-the-fallout.html": ["/article/1gh/bad-google-the-fallout.html", 302],
"/article/Deeply-nested-if-statements.html": ["/article/1ik/deeply-nested-if-statements.html", 302],
"/blog/2005/05/10/musikcube-nice-mp3-player.html": ["/article/p0/musikcube-nice-mp3-player.html", 302],
"/article/Writing-to-sell.html": ["/article/19o/writing-to-sell.html", 302],
"/blog/2008/05/29/sumatrapdf-0-8-1.html": ["/article/1jj/sumatrapdf-0.8.1-release.html", 302],
"/blog/2002/06/17/on-the-22-laws-of-marketing.html": ["/article/8z/on-the-22-immutable-laws-of-marketing.html", 302],
"/blog/2002/07/12/laws-of-marketing-15-candor.html": ["/article/9r/laws-of-marketing-15-candor.html", 302],
"/blog/2003/04/22/are-microsoft-products-any-good.html": ["/article/gk/are-microsoft-products-any-good.html", 302],
"/blog/2003/08/15/better-selling-through-a-web-site.html": ["/article/iz/better-selling-through-a-web-site.html", 302],
"/article/_NT_SYMBOL_PATH-considered-harmful.html": ["/article/rn/_nt_symbol_path-considered-harmful.html", 302],
"/article/How-much-can-you-make-writing-computer-books.html": ["/article/1a3/how-much-can-you-make-writing-computer-books.html", 302],
"/article/Critical-reading-skills.html": ["/article/1b5/critical-reading-skills.html", 302],
"/kb/high-resolution-timer-for-timing-code-fragments.html": ["/article/8i/high-resolution-timer-for-timing-code-fragments.html", 302],
"/blog/2002/08/12/the-value-of-programming.html": ["/article/al/the-value-of-programming.html", 302],
"/article/Order-of-include-headers-in-CC.html": ["/article/qg/order-of-include-headers-in-cc.html", 302],
"/blog/2004/12/27/gpl-3-anti-patent-virus.html": ["/article/1ga/gpl-3-anti-patent-virus.html", 302],
"/article/Sumatra-094-release.html": ["/article/r0a/sumatra-0.9.4-release.html", 302],
"/article/The-value-of-programming.html": ["/article/al/the-value-of-programming.html", 302],
"/blog/2005/05/05/how-to-delete-a-file-you-get-from-urllib-urlretr.html": ["/article/oy/how-to-delete-a-file-you-get-from-urllib.urlretrieve.html", 302],
"/article/Short-tutorial-on-svn-propset-for-svnexternals-p.html": ["/article/q8/short-tutorial-on-svn-propset-for-svnexternals-property.html", 302],
"/article/Rich-client-is-here.html": ["/article/1hb/rich-client-is-here.html", 302],
"/article/Good-software-bad-buying-experience.html": ["/article/ih/good-software-bad-buying-experience.html", 302],
"/article/Merge-tools-showdown.html": ["/article/1j2/merge-tools-showdown.html", 302],
"/blog/2002/09/04/interview-with-microstrategy-ceo.html": ["/article/ba/interview-with-microstrategy-ceo.html", 302],
"/blog/2006/08/17/a-simple-catchpa-scheme.html": ["/article/qi/a-simple-captcha-scheme.html", 302],
"/article/Forcing-basic-http-authentication-for-HttpWebReq.html": ["/article/at3/forcing-basic-http-authentication-for-httpwebrequest-in-.netc.html", 302],
"/article/Interesting-Dave-Winer-interview.html": ["/article/pd/interesting-dave-winer-interview.html", 302],
"/blog/2004/12/13/recovering-data-from-formatted-drives.html": ["/article/1g5/recovering-data-from-formatted-drives.html", 302],
"/article/Stuff-costs-more-than-you-think.html": ["/article/11w/stuff-costs-more-than-you-think.html", 302],
"/kb/local-dns-modifications-on-windows-etchosts-equivalent.html": ["/article/10c/local-dns-modifications-on-windows-etchosts-equivalent.html", 302],
"/article/A-lesson-in-marketing-needed.html": ["/article/134/a-lesson-in-marketing-needed.html", 302],
"/article/Talk-on-designing-good-APIs.html": ["/article/1iq/talk-on-designing-good-apis.html", 302],
"/article/Inspiring-marketing-article.html": ["/article/f8/seth-godin-on-purple-cows.html", 302],
"/blog/2004/12/31/counterpost-to-a-counterpost.html": ["/article/on/counterpost-to-a-counterpost.html", 302],
"/blog/2002/07/06/laws-of-marketing-5-focus.html": ["/article/10z/laws-of-marketing-5-focus.html", 302],
"/article/Hiding-duplicate-content-from-your-site-via-robo.html": ["/article/53n6/hiding-duplicate-content-from-your-site-via-robots.txt.html", 302],
"/article/Comparing-program-versions-in-C-and-Python.html": ["/article/5hj6/comparing-program-versions-in-c-and-python.html", 302],
"/article/Using-averages-a-common-performance-measurement-.html": ["/article/7ach/using-averages-a-common-performance-measurement-mistake.html", 302],
"/blog/2004/06/05/net-framework-bootstrapper.html": ["/article/md/.net-framework-bootstrapper.html", 302],
"/blog/2002/07/10/laws-of-marketing-10-division.html": ["/article/114/laws-of-marketing-10-division.html", 302],
"/blog/2008/08/11/sumatrapdf-0-9-released.html": ["/article/1jp/sumatrapdf-0.9-released.html", 302],
"/article/Exporting-data-from-EverNote.html": ["/article/1jz/exporting-data-from-evernote.html", 302],
"/blog/2003/11/14/skype-as-an-example-of-changing-nature-of-social.html": ["/article/kd/skype-as-an-example-of-changing-nature-of-social-interactions.html", 302],
"/blog/2002/10/27/open-source-lesson-from-a-stripper.html": ["/article/d5/open-source-lesson-from-a-stripper.html", 302],
"/article/You-and-your-research.html": ["/article/11h/you-and-your-research.html", 302],
"/blog/2002/11/10/ll2-webcast.html": ["/article/14p/ll2-webcast.html", 302],
"/article/Not-as-happy-as-you-thought-you-will-be.html": ["/article/1b2/not-as-happy-as-you-thought-you-will-be.html", 302],
"/article/Open-Source-is-Philanthropy.html": ["/article/a2/open-source-is-philanthropy.html", 302],
"/article/NET-Framework-bootstrapper.html": ["/article/md/.net-framework-bootstrapper.html", 302],
"/article/What-makes-a-CD-bootable.html": ["/article/zw/what-makes-a-cd-bootable.html", 302],
"/blog/2003/07/09/how-much-can-you-make-writing-computer-books.html": ["/article/1a3/how-much-can-you-make-writing-computer-books.html", 302],
"/article/Get-file-size-under-windows.html": ["/article/8f/get-file-size-under-windows.html", 302],
"/article/Laws-of-marketing-1-leadership.html": ["/article/10x/laws-of-marketing-1-leadership.html", 302],
"/blog/2005/07/10/deep-indentation-vs-flat.html": ["/article/1gt/deep-indentation-vs.flat.html", 302],
"/article/App-Engine-as-generic-web-host.html": ["/article/2bu/app-engine-as-generic-web-host.html", 302],
"/article/Automatic-Java-to-C-conversion-experience-using-.html": ["/article/g7e/automatic-java-to-c-conversion-experience-using-java-language-conversion-assistant.html", 302],
"/article/e-books-economics.html": ["/article/1qi1/e-books-economics.html", 302],
"/blog/2003/01/17/successful-telecommuting.html": ["/article/e7/successful-telecommuting.html", 302],
"/article/Redefining-Professionalism-for-Software-Engineer.html": ["/article/99/redefining-professionalism-for-software-engineers.html", 302],
"/blog/2002/07/19/bugs-and-eyeballs.html": ["/article/a0/bugs-and-eyeballs.html", 302],
"/article/How-to-be-a-leader-in-your-field.html": ["/article/aj/how-to-be-a-leader-in-your-field.html", 302],
"/article/On-difference-between-amateur-and-professional-s.html": ["/article/i9/on-difference-between-amateur-and-professional-shareware.html", 302],
"/blog/2005/10/26/petzold-on-visual-studio-and-mind-corruption.html": ["/article/pl/petzold-on-visual-studio-and-mind-corruption.html", 302],
"/blog/2002/07/02/laws-of-marketing-1-leadership.html": ["/article/10x/laws-of-marketing-1-leadership.html", 302],
"/article/Review-of-Hot-text-web-writing-that-works.html": ["/article/1fd/review-of-hot-text-web-writing-that-works.html", 302],
"/article/Make-C-code-safe-for-C.html": ["/article/88/make-c-code-safe-for-c.html", 302],
"/article/ssh-tips.html": ["/article/5fv/ssh-tips.html", 302],
"/article/2005-prediction-the-rise-of-anonymous-p2p.html": ["/article/1gf/2005-prediction-the-rise-of-anonymous-p2p.html", 302],
"/blog/2005/10/25/unsolved-source-control-problems.html": ["/article/pj/unsolved-source-control-problems.html", 302],
"/article/Alan-Cox-on-writing-better-software.html": ["/article/1fu/alan-cox-on-writing-better-software.html", 302],
"/blog/2008/04/08/google-app-engine-the-first-internet-operating-s.html": ["/article/1ja/google-app-engine-the-first-internet-operating-system.html", 302],
"/blog/2003/01/20/source-insight-3-5.html": ["/article/15w/source-insight-3.5.html", 302],
"/blog/2005/07/25/virtualearth-vs-google-maps-not-hitting-the-high.html": ["/article/1gu/virtualearth-vs.google-maps-not-hitting-the-high-note.html", 302],
"/article/Laws-of-marketing-13-sacrifice.html": ["/article/117/laws-of-marketing-13-sacrifice.html", 302],
"/blog/2003/06/23/my-future-is-so-bright-that-ill-need-to-wear-sun.html": ["/article/19t/my-future-is-so-bright-that-ill-need-to-wear-sunglasses.html", 302],
"/blog/2003/06/25/why-consistency-is-important-in-software-design.html": ["/article/19u/why-consistency-is-important-in-software-design.html", 302],
"/article/Recovering-data-from-formatted-drives.html": ["/article/1g5/recovering-data-from-formatted-drives.html", 302],
"/article/Software-licensing-scheme.html": ["/article/4jkx/software-licensing-scheme.html", 302],
"/blog/2006/08/07/sumatra-pdf-0-2-released.html": ["/article/qa/sumatra-pdf-0.2-released.html", 302],
"/article/What-I-love-about-Google-open-source-project-hos.html": ["/article/qj/what-i-love-about-google-open-source-project-hosting.html", 302],
"/blog/2008/05/20/extreme-size-optimization-in-c-and-c.html": ["/article/ro/extreme-size-optimization-in-c-and-c.html", 302],
"/article/Principle-of-good-design-discoverability.html": ["/article/11n/principle-of-good-design-discoverability.html", 302],
"/blog/2007/02/16/memset-considered-harmful.html": ["/article/1it/memset-considered-harmful.html", 302],
"/article/Parsing-s3-log-files-in-python.html": ["/article/a1e/parsing-s3-log-files-in-python.html", 302],
"/article/Interview-with-MicroStrategy-CEO.html": ["/article/ba/interview-with-microstrategy-ceo.html", 302],
"/blog/2006/04/11/python-id3-library.html": ["/article/1ia/python-id3-library.html", 302],
"/blog/2003/10/14/a-shameless-rip-off-or-what-did-you-expect.html": ["/article/1br/a-shameless-rip-off-or-what-did-you-expect.html", 302],
"/blog/2002/07/11/laws-of-marketing-12-line-extension.html": ["/article/116/laws-of-marketing-12-line-extension.html", 302],
"/article/Searching-for-available-DBA-name-in-San-Francisc.html": ["/article/5fzl/searching-for-available-dba-name-in-san-francisco.html", 302],
"/blog/2002/08/01/wozniaks-speech.html": ["/article/a7/wozniaks-speech.html", 302],
"/article/Dont-use-0-instead-of-NULL.html": ["/article/1fh/dont-use-0-instead-of-null.html", 302],
"/article/C-portability-notes.html": ["/article/zx/c-portability-notes.html", 302]
}