Browse Source

Removing superfluous p tags

pull/1/head
Adam Backstrom 6 years ago
parent
commit
78b82ebfec
100 changed files with 475 additions and 475 deletions
  1. 1
    1
      content/1114-blizzard-to-post-real-names-on-forums.md
  2. 2
    2
      content/121-mmm-vacation.md
  3. 2
    2
      content/127-sticker-yer-blog.md
  4. 3
    3
      content/128-mapping-the-blogsphere.md
  5. 3
    3
      content/129-lonely-lonely-blog.md
  6. 3
    3
      content/130-why-esr-is-an-anarchist.md
  7. 4
    4
      content/131-recommended-reading.md
  8. 9
    9
      content/1314-shell-scripts-as-applications-in-mac-os-x.md
  9. 4
    4
      content/132-making-plain-text-useful.md
  10. 24
    24
      content/1329-ubuntu-8-04-on-linode-cloning-and-upgrading-to-10-04.md
  11. 2
    2
      content/133-pings-at-last.md
  12. 2
    2
      content/134-more-blog-ignoring.md
  13. 3
    3
      content/135-mmm-web-development.md
  14. 1
    1
      content/136-be-green.md
  15. 1
    1
      content/137-activism-or-lack-thereof.md
  16. 1
    1
      content/138-bwerp-server-move.md
  17. 25
    25
      content/1380-makefile-for-css-and-js-minifycompress.md
  18. 4
    4
      content/139-ok-real-quick.md
  19. 4
    4
      content/140-spring-has-sprung.md
  20. 8
    8
      content/1402-running-gitweb-in-fastcgi-mode.md
  21. 4
    4
      content/141-family-tech-support.md
  22. 10
    10
      content/1412-thinking-about-testability.md
  23. 4
    4
      content/1418-testable-factories.md
  24. 5
    5
      content/142-of-indoor-swimming-pools.md
  25. 5
    5
      content/143-microsoft-is-pain.md
  26. 2
    2
      content/145-static-blogrolling.md
  27. 25
    25
      content/1458-locking-down-rsync-using-ssh.md
  28. 5
    5
      content/146-i-like-em-thin.md
  29. 4
    4
      content/147-spamassassin-procmail-and-fetchmail-oh-my.md
  30. 2
    2
      content/1470-new-hampshire-hb240-approval-voting.md
  31. 3
    3
      content/1477-on-frameworks.md
  32. 20
    20
      content/1486-migrating-to-php-5-3-call_user_func_array.md
  33. 8
    8
      content/150-flexibletype.md
  34. 5
    5
      content/151-will-intern-for-food.md
  35. 1
    1
      content/1515-world-of-warcraft-tcg-card-numbering.md
  36. 4
    4
      content/152-dbms-updates.md
  37. 1
    1
      content/1526-python-and-php-giving-a-rats-ass.md
  38. 6
    6
      content/153-goodbye-boss.md
  39. 5
    5
      content/154-blogs-and-spam-the-next-revolution.md
  40. 2
    2
      content/1549-merlin-mann-marketplace-of-ideas.md
  41. 1
    1
      content/155-summer-plans.md
  42. 7
    7
      content/1552-webos-3-0-2-changes.md
  43. 4
    4
      content/156-movie-night-matrix-reloaded.md
  44. 3
    3
      content/157-todo.md
  45. 6
    6
      content/158-those-game-things.md
  46. 2
    2
      content/1583-billboard.md
  47. 4
    4
      content/159-no-news-is-good-news.md
  48. 4
    4
      content/1595-wordpress-mu-domain-mapping-patches.md
  49. 3
    3
      content/160-chevron-seven-locked.md
  50. 4
    4
      content/161-internet-explorer-fumbles-hes-down.md
  51. 11
    11
      content/162-lock-your-doors.md
  52. 2
    2
      content/1629-responsive-design-quick-tips.md
  53. 2
    2
      content/163-root.md
  54. 5
    5
      content/164-dock-annoyances.md
  55. 1
    1
      content/1643-hmac-sig-client-php.md
  56. 6
    6
      content/1645-rest-apis-and-security-in-php.md
  57. 4
    4
      content/165-a-lone-echo-post.md
  58. 1
    1
      content/1657-zoom-it-api-rest-considerations.md
  59. 1
    1
      content/1662-automatic-ellipsis-with-css.md
  60. 5
    5
      content/167-the-lure-of-data.md
  61. 5
    5
      content/1679-better-local-dev-hostnames-with-dnsmasq.md
  62. 2
    2
      content/168-on-bragging.md
  63. 2
    2
      content/169-whatd-i-miss.md
  64. 3
    3
      content/1690-installing-cpan-modules-without-root.md
  65. 2
    2
      content/1702-wordpress-network-plugin-management.md
  66. 2
    2
      content/1708-google-plus-for-google-apps.md
  67. 4
    4
      content/1712-use-openssl-to-issue-raw-http-requests.md
  68. 4
    4
      content/172-the-word-is-excess.md
  69. 7
    7
      content/173-bash-tips-testing-arguments.md
  70. 1
    1
      content/1732-nest-harvesting.md
  71. 6
    6
      content/175-pocket-sized-internet.md
  72. 3
    3
      content/1756-php-5-4-changes.md
  73. 8
    8
      content/176-metadata-rhymes-with-metadata.md
  74. 8
    8
      content/177-still-playing-roles.md
  75. 2
    2
      content/1778-uc-davis-pepper-spray-incident.md
  76. 7
    7
      content/178-ninja-power-vgextend.md
  77. 5
    5
      content/179-fall-updates.md
  78. 4
    4
      content/1799-jsrender-passing-variables-to-nested-templates.md
  79. 2
    2
      content/180-miscellaneous-hackery.md
  80. 2
    2
      content/1826-iterm-2-skinny-fonts-solution.md
  81. 1
    1
      content/184-zaurus.md
  82. 2
    2
      content/185-acgt-if-you-please.md
  83. 4
    4
      content/186-spam.md
  84. 2
    2
      content/187-holiday.md
  85. 6
    6
      content/188-reignition.md
  86. 3
    3
      content/189-updates.md
  87. 2
    2
      content/190-jobs.md
  88. 2
    2
      content/1912-being-nice.md
  89. 17
    17
      content/1916-state-of-php-2012.md
  90. 3
    3
      content/192-painting.md
  91. 20
    20
      content/193-noise.md
  92. 6
    6
      content/194-games.md
  93. 2
    2
      content/195-ani.md
  94. 3
    3
      content/1955-git-subtree-merges-orphaned-branches-and-github.md
  95. 2
    2
      content/196-loom.md
  96. 7
    7
      content/197-faker.md
  97. 7
    7
      content/198-floating.md
  98. 2
    2
      content/199-style.md
  99. 2
    2
      content/1993-experiment-digital-permanence-and-ownership.md
  100. 0
    0
      content/2003-google-on-the-iphone.md

+ 1
- 1
content/1114-blizzard-to-post-real-names-on-forums.md View File

@@ -24,7 +24,7 @@ The highlights:
24 24
 -   This change will affect the new forums going live around the
25 25
     Cataclysm release, so existing posts will not be affected.
26 26
 
27
-</p>
27
+
28 28
 I have an opinion, but maybe not the opinion one might expect if you've
29 29
 ever had a conversation with me about privacy and freedom.
30 30
 

+ 2
- 2
content/121-mmm-vacation.md View File

@@ -10,11 +10,11 @@ Sitting here in my old house, wearing flannel-lined khakis and my
10 10
 extremely orange [topato hoodie][], with my [new keyboard][] in arm's
11 11
 reach. Life is good.
12 12
 
13
-</p>
13
+
14 14
 
15 15
 Happy Holidays to everybody!
16 16
 
17
-</p>
17
+
18 18
 
19 19
   [topato hoodie]: http://www.wigu.com/
20 20
   [new keyboard]: http://www.music-n-sound.com/keyboard/casio/ctk573.htm

+ 2
- 2
content/127-sticker-yer-blog.md View File

@@ -13,7 +13,7 @@ plenty on the site of various quality and chromatic variation. Through
13 13
 the wonders of PHP, you get a random one each time you visit my page.
14 14
 Only five at the moment, but I'll add more if the mood strikes me.
15 15
 
16
-</p>
16
+
17 17
 
18 18
 If you want to create your own, they have a [sticker factory][] to help.
19 19
 I used it for all of mine, but had to use [wget][] to download the
@@ -22,7 +22,7 @@ images. Try <span class="code">wget
22 22
 "http://image.url/goes/here" -O filename.gif</span>, if you have
23 23
 trouble.
24 24
 
25
-</p>
25
+
26 26
 
27 27
   [blogstickers]: http://www.blogstickers.com/
28 28
   [sticker factory]: http://www.jngm.net/arjlog/sticker.html

+ 3
- 3
content/128-mapping-the-blogsphere.md View File

@@ -8,7 +8,7 @@ WordPress-Post-Type: post
8 8
 
9 9
 Here I go again, blogging about blogging.
10 10
 
11
-</p>
11
+
12 12
 
13 13
 Anyway, I was browsing the [recently updated blogs][], as I am wont to
14 14
 do when I am bored, and I came across [Peter Lindberg's blog][]. His
@@ -18,12 +18,12 @@ matter), fill out the form on GeoURL to ping your site, and you'll be
18 18
 added to a global map of website. Pretty cool. Here are the [blogs near
19 19
 my blog][].
20 20
 
21
-</p>
21
+
22 22
 
23 23
 They've only got 124 listings right now, so I encourage anybody reading
24 24
 this to blog it as well.
25 25
 
26
-</p>
26
+
27 27
 
28 28
   [recently updated blogs]: http://blo.gs/
29 29
   [Peter Lindberg's blog]: http://www.tesugen.com/

+ 3
- 3
content/129-lonely-lonely-blog.md View File

@@ -10,7 +10,7 @@ WordPress-Post-Type: post
10 10
 I've been ignoring my blog for the past few days, so I thought I'd sit
11 11
 down and feed MovableType.
12 12
 
13
-</p>
13
+
14 14
 
15 15
 For all you [MacRITters][], I've set up a new virtual host on my old
16 16
 iBook. The [MacRIT Forum][] is now housed on the same server as this
@@ -19,12 +19,12 @@ server, and no CGI ability on that server either. Along with the forum,
19 19
 I'll also be installing a fresh copy of MT for the meeting minutes. It's
20 20
 not quite ready yet, though.
21 21
 
22
-</p>
22
+
23 23
 
24 24
 That's all the news that's fit to print.. Hope you enjoyed the weekend,
25 25
 'cause there it goes.
26 26
 
27
-</p>
27
+
28 28
 
29 29
   [MacRITters]: http://www.rit.edu/~macrit/
30 30
   [MacRIT Forum]: http://macrit.bwerp.net/forum/

+ 3
- 3
content/130-why-esr-is-an-anarchist.md View File

@@ -9,19 +9,19 @@ WordPress-Post-Type: post
9 9
 I just read Eric S. Raymond's <span class="worktitle">[Why I Am An
10 10
 Anarchist][]</span>. Here's a quote:
11 11
 
12
-</p>
12
+
13 13
 
14 14
 ... A majority of the people themselves are too easily seduced into
15 15
 abandoning their own institutional protections against tyranny by the
16 16
 false promises and poisonous dreams of statist propaganda.
17 17
 
18
-</p>
18
+
19 19
 
20 20
 I'd like to have a little more faith in democracy than Raymond puts
21 21
 forward. Then again, maybe I'm just not cynical enough. I always have
22 22
 this general feeling that the Bush administration is doing what it
23 23
 wants, not what the people want. And *that* sure doesn't feel right.
24 24
 
25
-</p>
25
+
26 26
 
27 27
   [Why I Am An Anarchist]: http://www.catb.org/~esr/writings/anarchist.html

+ 4
- 4
content/131-recommended-reading.md View File

@@ -9,7 +9,7 @@ WordPress-Post-Type: post
9 9
 Guess it's a "freedom" kind of day. Here are a couple more things for
10 10
 yous guys to read:
11 11
 
12
-</p>
12
+
13 13
 
14 14
 [*Now Corporations Claim The "Right To Lie"*][] documents the increasing
15 15
 trend in *corporations* to claim the same *human rights* afforded to
@@ -19,7 +19,7 @@ the Supreme Court (I believe) deemed that they are "persons". As the
19 19
 author puts it, "they can't vote -- what are they doing in politics?"
20 20
 Makes sense to me.
21 21
 
22
-</p>
22
+
23 23
 
24 24
 [*Supremes back Disney and pigopolists vs science and culture*][] is an
25 25
 article from one of my favorite news sources of today, [The Register][].
@@ -27,11 +27,11 @@ They're not afraid to get personal, which is something I admire. This
27 27
 particular article is about the recent [Eldred vs. Ashcroft][] case,
28 28
 regarding copyright laws.
29 29
 
30
-</p>
30
+
31 31
 
32 32
 Enjoy.
33 33
 
34
-</p>
34
+
35 35
 
36 36
   [*Now Corporations Claim The "Right To Lie"*]: http://www.commondreams.org/views03/0101-07.htm
37 37
   [*Supremes back Disney and pigopolists vs science and culture*]: http://theregister.co.uk/content/6/28897.html

+ 9
- 9
content/1314-shell-scripts-as-applications-in-mac-os-x.md View File

@@ -16,7 +16,7 @@ padding.
16 16
 The Background
17 17
 --------------
18 18
 
19
-</p>
19
+
20 20
 For several years now, I have used a series of AppleScripts to automate
21 21
 enabling and disabling of the Mac OS X screen saver password. The
22 22
 scripts were pulled from [a thread][] on the MacWorld forums and have
@@ -24,10 +24,10 @@ worked well, save for one detail: there is quite a lot of overhead in
24 24
 launching a compiled AppleScript just to execute two commands in the
25 25
 shell:
26 26
 
27
-<p>
27
+
28 28
     do shell script "defaults -currentHost write com.apple.screensaver askForPassword -int 0"do shell script "/Users/adam/bin/notif"
29 29
 
30
-</p>
30
+
31 31
 Under heavy load (ie. with all my normal apps, plus VMware Fusion
32 32
 running one or more virtual machines) I often wait 30 seconds or more to
33 33
 enable or disable the password.
@@ -36,22 +36,22 @@ enable or disable the password.
36 36
 create application shortcuts on your Desktop. Digging into one of these
37 37
 applications, you see the following hierarchy:
38 38
 
39
-<p>
39
+
40 40
     adam@fsck[0]:/Applications:0$ find "Team Fortress 2.app"Team Fortress 2.appTeam Fortress 2.app/ContentsTeam Fortress 2.app/Contents/Info.plistTeam Fortress 2.app/Contents/MacOSTeam Fortress 2.app/Contents/MacOS/run.shTeam Fortress 2.app/Contents/ResourcesTeam Fortress 2.app/Contents/Resources/shortcut.icns
41 41
 
42
-</p>
42
+
43 43
 Here's `Info.plist`:
44 44
 
45
-<p>
45
+
46 46
     <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><dict>    <key>CFBundleExecutable</key>    <string>run.sh</string>    <key>CFBundleIconFile</key>    <string>shortcut.icns</string>    <key>CFBundleInfoDictionaryVersion</key>    <string>1.0</string>    <key>CFBundlePackageType</key>    <string>APPL</string>    <key>CFBundleSignature</key>    <string>????</string>    <key>CFBundleVersion</key>    <string>1.0</string></dict></plist>
47 47
 
48
-</p>
48
+
49 49
 And the good stuff, `run.sh`:
50 50
 
51
-<p>
51
+
52 52
     #!/bin/bash# autogenerated file - do not editopen steam://run/440
53 53
 
54
-</p>
54
+
55 55
 This was a pretty big "wow" moment for me. No AppleScript, no [.command
56 56
 files][] (which launch Terminal.app), just pure, instant command line
57 57
 gratification. appify was born to quickly convert shell scripts into

+ 4
- 4
content/132-making-plain-text-useful.md View File

@@ -13,14 +13,14 @@ and isn't easily malleable. HTML looks nice, but it's hard to write on
13 13
 the fly without a decent WYSIWYG editor. XML might work. Microsoft Word
14 14
 will not.
15 15
 
16
-</p>
16
+
17 17
 
18 18
 Last night, I finally took the time to look for a decent script that
19 19
 converts plain text into HTML. I found a couple of tools that offer
20 20
 various levels of thoroughness and complexity. Which is good, because
21 21
 now I don't have to try and write something from scratch.
22 22
 
23
-</p>
23
+
24 24
 
25 25
 The first is called [Gruatxt][]. It does all the things you would
26 26
 expect, like \*emphasized\* text, bulleted lists, horizontal rules, and
@@ -29,7 +29,7 @@ wouldn't let me nest a list inside another list, which I need for any
29 29
 sort of note taking. Here is a [sample file][], and the [same file
30 30
 converted][] with Gruatxt.
31 31
 
32
-</p>
32
+
33 33
 
34 34
 I stopped my search after finding [txt2html][]. The structure of a plain
35 35
 text file for txt2html is a bit less rigid, which I find an annoyance,
@@ -37,7 +37,7 @@ but it does my nested lists beautifully. Again, here's a [sample
37 37
 file][1] and [formatted document][]. This is the tool I'll be tweaking
38 38
 to work *just right* for me. Mmm.. open source.
39 39
 
40
-</p>
40
+
41 41
 
42 42
   [Gruatxt]: http://www.triptico.com/software/grutatxt.html
43 43
   [sample file]: http://www.triptico.org/download/README_grutatxt

+ 24
- 24
content/1329-ubuntu-8-04-on-linode-cloning-and-upgrading-to-10-04.md View File

@@ -15,7 +15,7 @@ before the real upgrade, just to be on the safe side.
15 15
 Before the Storm: Finnix
16 16
 ------------------------
17 17
 
18
-</p>
18
+
19 19
 I had no experience with [Finnix][] before this upgrade, but it was
20 20
 exactly what I needed throughout the process. It's [built into the
21 21
 Linode dashboard][] so you can use it as a recovery console if things go
@@ -25,43 +25,43 @@ to my VM.
25 25
 The Backup
26 26
 ----------
27 27
 
28
-</p>
28
+
29 29
 `rsync` is my weapon of choice, since it allows for transport over SSH
30 30
 and incremental backups. I used [this article][] to get started with
31 31
 some suggested `rsync` flags. I ran this several times throughout the
32 32
 process:
33 33
 
34
-<p>
34
+
35 35
     rsync -avzPH --numeric-ids --delete --delete-excluded --exclude-from=backup.lst root@server.example.com:/ /mnt/sda1/
36 36
 
37
-</p>
37
+
38 38
 Here's my `backup.lst` exclusion file:
39 39
 
40
-<p>
40
+
41 41
     + /dev/console+ /dev/initctl+ /dev/null+ /dev/zero- /dev/*- /proc/*- /sys/*- /tmp/*- *lost+found
42 42
 
43
-</p>
43
+
44 44
 After `rsync`, `chroot` to the cloned filesystem:
45 45
 
46
-<p>
46
+
47 47
     mount -R /proc /mnt/sda1/procmount -R /dev /mnt/sda1/devchroot /mnt/sda1 /bin/bashvi /etc/fstab # update mountpoints. change xvda to sda1, xvdb to sda2
48 48
 
49
-</p>
49
+
50 50
 Install a bootloader. The Linode VPS is in Xen and doesn't normally boot
51 51
 its own kernel. (I know next to nothing about Xen, but this is what I've
52 52
 gleaned.)
53 53
 
54
-<p>
54
+
55 55
     apt-get install grubmkdir -p /boot/grubcp -r /usr/lib/grub/i386-pc/{stage1,stage2,e2fs_stage1_5} /boot/grubapt-get install linuxecho defoptions=vga=791 >>/boot/grub/menu.lstupdate-grub
56 56
 
57
-</p>
57
+
58 58
 Reboot. Make sure you kill your cron jobs while the VM is on, as many
59 59
 are probably inappropriate for a backup server.
60 60
 
61
-<p>
61
+
62 62
     sudo service cron stop
63 63
 
64
-</p>
64
+
65 65
 I recommend taking a snapshot of your backup, here. It may actually be
66 66
 faster to just `rsync` again, but it's nice to have a complete backup at
67 67
 the ready.
@@ -69,15 +69,15 @@ the ready.
69 69
 I used a couple commands to update IP addresses on my backup so I could
70 70
 more accurately test services post-upgrade:
71 71
 
72
-<p>
72
+
73 73
     sudo ~/bin/ack --follow -al '207\.192\.74\.235' /etc | sudo xargs sed -i.bak 's/207\.192\.74\.235/172.16.226.130/g'sudo ~/bin/ack --follow -al '69\.164\.216\.5' /etc | sudo xargs sed -i.bak 's/69\.164\.216\.5/172.16.226.131/g'
74 74
 
75
-</p>
75
+
76 76
 
77 77
 The Upgrade
78 78
 -----------
79 79
 
80
-</p>
80
+
81 81
 The following notes were taking during my test upgrade, and referenced
82 82
 during the real upgrade. I referenced the Ubuntu Community Documentation
83 83
 project's "[Upgrading to Ubuntu 10.04 LTS][]" page. There is also a
@@ -86,16 +86,16 @@ Linode article on [upgrading to Ubuntu 10.04][].
86 86
 On the first pass, `python-setuptools` killed my install. This was fixed
87 87
 by manually reinstalling before upgrade:
88 88
 
89
-<p>
89
+
90 90
     sudo dpkg -r python-setuptools && apt-get install python-setuptools
91 91
 
92
-</p>
92
+
93 93
 Ensure the update manager is installed, and issue the upgrade command:
94 94
 
95
-<p>
95
+
96 96
     sudo apt-get install update-manager-coresudo do-release-upgrade
97 97
 
98
-</p>
98
+
99 99
 I encountered conflicts in the following packages, where I had modified
100 100
 local files. Also included is my resolution, which may or may not be
101 101
 helpful to anyone else.
@@ -121,7 +121,7 @@ helpful to anyone else.
121 121
     installed, looked like the `GOTO="persistent_net_generator_end"` at
122 122
     the start was intentional
123 123
 
124
-</p>
124
+
125 125
 Got a warning about vulnerable SSL keys generated by older versions of
126 126
 Ubuntu; solution is to regenerate your keys. The dialog recommended
127 127
 using `openssl-vulnkey` and `openvpn-vulnkey` to test.
@@ -133,21 +133,21 @@ kernel in the Linode dashboard.
133 133
 
134 134
 ### python-setuptools error
135 135
 
136
-</p>
136
+
137 137
 More about that error with `python-setuptools`: [this thread][] was
138 138
 helpful. From `/var/log/apt/term.log`:
139 139
 
140
-<p>
140
+
141 141
     Log started: 2010-10-06  08:35:15Setting up python-setuptools (0.6c9-0ubuntu1) ...pycentral: pycentral pkginstall: not overwriting local filespycentral pkginstall: not overwriting local filesdpkg: error processing python-setuptools (--configure): subprocess post-installation script returned error exit status 1Errors were encountered while processing: python-setuptoolsLog ended: 2010-10-06  08:35:15
142 142
 
143
-</p>
143
+
144 144
 Per the article, ran "apt-get remove python-setuptools" and "apt-get
145 145
 install python-setuptools"
146 146
 
147 147
 Post-upgrade Recompiling
148 148
 ------------------------
149 149
 
150
-</p>
150
+
151 151
 Something required apt-get install `libltdl-dev`. Useful info for this
152 152
 post, no?
153 153
 

+ 2
- 2
content/133-pings-at-last.md View File

@@ -15,10 +15,10 @@ install. A quick copy of the full extlib folder fixed my problem right
15 15
 up. So, in the end, my pinging problem was an incompatible version of
16 16
 one of the libraries.
17 17
 
18
-</p>
18
+
19 19
 
20 20
 Hopefully this will help anybody else whose pings aren't working. I
21 21
 looked all over the web and never found a good answer for my problem.
22 22
 
23
-</p>
23
+
24 24
 

+ 2
- 2
content/134-more-blog-ignoring.md View File

@@ -13,12 +13,12 @@ plan on doing useful things in the future, like dissecting
13 13
 [graffiti][] page and posting the completed source. Ooh, maybe I'll make
14 14
 it XML and use XSLT and a server-side parser. Mmm..
15 15
 
16
-</p>
16
+
17 17
 
18 18
 I should blog more often, if I'm going to come up with nice ideas like
19 19
 that.
20 20
 
21
-</p>
21
+
22 22
 
23 23
   [cinnamon.nl]: http://www.cinnamon.nl
24 24
   [graffiti]: http://www.bwerp.net/graffiti/

+ 3
- 3
content/135-mmm-web-development.md View File

@@ -14,17 +14,17 @@ use XWeb to apply stylesheets to the bare content and populate my local
14 14
 Apache directory, and then rsync on the main web server to update the
15 15
 public content.
16 16
 
17
-</p>
17
+
18 18
 
19 19
 Not terribly interesting to most of you, but it has a high geek factor.
20 20
 
21
-</p>
21
+
22 22
 
23 23
 So, now I've had a little experience running concurrent development and
24 24
 production web servers, and using a content-management system to
25 25
 organize documents and simplify site-wide updates. I'll probably make a
26 26
 page describing the process, and I'm wont to do.
27 27
 
28
-</p>
28
+
29 29
 
30 30
   [my domain]: http://www.bwerp.net/

+ 1
- 1
content/136-be-green.md View File

@@ -11,7 +11,7 @@ of [Bwerp][], my main site (indeed, it uses the same stylesheet). Any
11 11
 comments? Do you like it? Is it hard to read? Does it look like crap in
12 12
 Browser X? Feedback would be greatly appreciated.
13 13
 
14
-</p>
14
+
15 15
 
16 16
   [new template]: green
17 17
   [Bwerp]: http://www.bwerp.net/

+ 1
- 1
content/137-activism-or-lack-thereof.md View File

@@ -18,6 +18,6 @@ What to do?
18 18
 
19 19
 I want so badly to just stop it all, but it seems so big.
20 20
 
21
-</p>
21
+
22 22
 
23 23
   [Ani DiFranco]: http://www.righteousbabe.com/

+ 1
- 1
content/138-bwerp-server-move.md View File

@@ -10,6 +10,6 @@ Some of you may be experiencing problems with Bwerp.net at the moment.
10 10
 [My provider][] is shuffling around some of their servers, and you may
11 11
 get a 503 Forbidden until your cache updates. Don't panic.
12 12
 
13
-</p>
13
+
14 14
 
15 15
   [My provider]: http://www.simpli.biz

+ 25
- 25
content/1380-makefile-for-css-and-js-minifycompress.md View File

@@ -26,20 +26,20 @@ haven't evaluated them or their competitors recently.
26 26
 The Meat
27 27
 --------
28 28
 
29
-</p>
29
+
30 30
 [gist file=Makefile]659427[/gist]
31 31
 
32 32
 Customizing for Your Project
33 33
 ----------------------------
34 34
 
35
-</p>
35
+
36 36
 To make this file useful for your own project, you'll need to point it
37 37
 at your CSS and JS files.
38 38
 
39
-<p>
39
+
40 40
     JS_TARGETS =CSS_TARGETS =CLEANUP =
41 41
 
42
-</p>
42
+
43 43
 The first two variables define what scripts will be minified and
44 44
 compressed when you type "make js" or "make css," respectively. Both of
45 45
 these commands will run when you type "make all" or simply "make."
@@ -48,34 +48,34 @@ when you type "make clean."
48 48
 
49 49
 Some sample customizations are mentioned in the file.
50 50
 
51
-<p>
51
+
52 52
     CSS_TARGETS = $(shell cat manifest.txt)
53 53
 
54
-</p>
54
+
55 55
 If you would rather organize your list of CSS or JavaScript targets into
56 56
 their own files, you can automatically expand that manifest file using
57 57
 the cat command.
58 58
 
59
-<p>
59
+
60 60
     CLEANUP = $(CSS_TARGETS) $(JS_TARGETS)
61 61
 
62
-</p>
62
+
63 63
 Some more advanced setups may combine several CSS files before
64 64
 minification, or use a custom target to concatenate JavaScript using the
65 65
 closure compiler. If you find that all your targets can be cleaned, you
66 66
 can simply reference them automatically as above.
67 67
 
68
-<p>
68
+
69 69
     concatenated.min.js: file1.js file2.js    java -jar ~/bin/compiler.jar $(addprefix --js=,$^) >$@
70 70
 
71
-</p>
71
+
72 72
 The closure compiler requires a prefix for all input JavaScript files.
73 73
 Use the make function "`addprefix`" to format the argument list.
74 74
 
75
-<p>
75
+
76 76
     custom-concat.css: file1.css file2.css file3.css cat $^ >$@
77 77
 
78
-</p>
78
+
79 79
 Automatic variables greatly simplify most of the functionality within
80 80
 this makefile. To create a concatenated CSS file, simplify specify the
81 81
 target to the left of the colon, and its dependencies (the files to
@@ -84,47 +84,47 @@ concatenate) to the right; the `cat` command never needs modification.
84 84
 Of course, you can always define custom rules, ie. this one to fetch the
85 85
 newest development version of jQuery:
86 86
 
87
-<p>
87
+
88 88
     jquery:  curl -o jquery.js http://code.jquery.com/jquery-git.js
89 89
 
90
-</p>
90
+
91 91
 
92 92
 Other Magic
93 93
 -----------
94 94
 
95
-</p>
95
+
96 96
 Some other goodness happens below the "you shouldn't need to edit past
97 97
 here" line. After we configure a few settings, we define how to create
98 98
 files based on suffixes: .min.css gets passed through YUI Compressor,
99 99
 .min.js through Closure, and .gz through gzip. We configure what files
100 100
 we care about, and make handles the rest.
101 101
 
102
-<p>
102
+
103 103
     .DEFAULT_GOAL := all
104 104
 
105
-</p>
105
+
106 106
 Set a default rule, rather than using the first rule in the file as the
107 107
 default.
108 108
 
109
-<p>
109
+
110 110
     .PHONY: css js
111 111
 
112
-</p>
112
+
113 113
 Prevent files named "css" or "js" from interfering with the css and js
114 114
 rules.
115 115
 
116
-<p>
116
+
117 117
     %.gz: %   gzip -9 <$< >$@
118 118
 
119
-</p>
119
+
120 120
 One of three pattern rules. This enables you to compress any file (not
121 121
 just CSS or JS) by running "make filename.gz." I precompress my files
122 122
 because I'm using [gzip\_static in nginx][].
123 123
 
124
-<p>
124
+
125 125
     CSS_GZIP = $(CSS_TARGETS:.css=.css.gz)
126 126
 
127
-</p>
127
+
128 128
 One of several variables that modifies filenames found in
129 129
 `$(CSS_TARGETS)`, changing the suffix from `.css` to `.css.gz`. Note
130 130
 that the colon/equals syntax is shorthand for [patsubst][]. Given
@@ -136,14 +136,14 @@ general-purpose `%.gz` rule above.
136 136
 See Also
137 137
 --------
138 138
 
139
-</p>
139
+
140 140
 
141 141
 -   [Advanced Makefile Tricks][] -- macros (\$@ et al) and wildcard
142 142
     rules
143 143
 -   [GNU make manual][] -- [functions][], [automatic variables][],
144 144
     [pattern rules][]
145 145
 
146
-</p>
146
+
147 147
 
148 148
   [Makefiles]: http://www.gnu.org/software/make/
149 149
   [YUI Compressor]: http://developer.yahoo.com/yui/compressor/

+ 4
- 4
content/139-ok-real-quick.md View File

@@ -8,7 +8,7 @@ WordPress-Post-Type: post
8 8
 
9 9
 From [an article][] on [Kuro5hin.org][]:
10 10
 
11
-</p>
11
+
12 12
 
13 13
 Music sales in Germany have been in decline for the last five years,
14 14
 dropping 11% last year, and German copyright holders seem to think
@@ -17,17 +17,17 @@ president of Bundesverband Phono (Germany's RIAA), asked: "If it were
17 17
 possible tomorrow to copy bread rolls, does anyone doubt that that would
18 18
 mean a major economic problem for the baking industry?"
19 19
 
20
-</p>
20
+
21 21
 
22 22
 Well, we wouldn't want a major economic problem for the baking industry,
23 23
 even if it meant that *nobody ever died of hunger again*. This is a
24 24
 *terrible* analogy. Do people have no sense?
25 25
 
26
-</p>
26
+
27 27
 
28 28
 I'm going to bed. I've seen enough for one day.
29 29
 
30
-</p>
30
+
31 31
 
32 32
   [an article]: http://www.kuro5hin.org/story/2003/3/3/12522/38395
33 33
   [Kuro5hin.org]: http://www.kuro5hin.org/

+ 4
- 4
content/140-spring-has-sprung.md View File

@@ -10,14 +10,14 @@ Everything but the weather, that is. Spring break has come to a close,
10 10
 and today is the first day of the last quarter of my junior year. I'm
11 11
 simply *bursting* with excitement.
12 12
 
13
-</p>
13
+
14 14
 
15 15
 I've been playing around with the green stylesheet, and it's here for
16 16
 good this time. I made sure to back it up, so I don't accidentally erase
17 17
 an hour's worth of tweaking again. More changes to come, like adding the
18 18
 top navigation bar and such.
19 19
 
20
-</p>
20
+
21 21
 
22 22
 I'll also be making some of my other content public, in an effort to
23 23
 make Bwerp.net a more useful resource. I've got some Perl scripts to
@@ -26,9 +26,9 @@ For the fans of my now-ancient (what, last winter?) PHP-Schedule, I've
26 26
 got another iteration in the works. It's XML based, so it *has* to be
27 27
 good, right?
28 28
 
29
-</p>
29
+
30 30
 
31 31
 "Catch you on the flip side."
32 32
 
33
-</p>
33
+
34 34
 

+ 8
- 8
content/1402-running-gitweb-in-fastcgi-mode.md View File

@@ -12,10 +12,10 @@ hell of a time getting [gitweb][] to run in FastCGI mode. The key was
12 12
 combining gitweb's `--fastcgi` flag with the `FCGI_SOCKET_PATH`
13 13
 environment variable, in addition to a quick library install:
14 14
 
15
-<p>
15
+
16 16
     apt-get install libcgi-fast-perl libfcgi-procmanager-perl
17 17
 
18
-</p>
18
+
19 19
 Not complicated, but as a Perl novice it took some digging before I got
20 20
 the right combo of settings. Also, I didn't realize that a
21 21
 FastCGI-enabled script will run in CGI mode rather than listen for
@@ -28,26 +28,26 @@ Here's my final setup:
28 28
 /etc/init/gitweb-fcgi.conf
29 29
 --------------------------
30 30
 
31
-</p>
31
+
32 32
 Here's an [Upstart][] script to start a gitweb wrapper under Ubuntu
33 33
 10.04. I'm using [gitolite][] and I want the script to run as my git
34 34
 user, hence the call to `su`.
35 35
 
36
-<p>
36
+
37 37
     start on startupstop on shutdownexec su git -c /path/to/custom/gitweb.fcgirespawn
38 38
 
39
-</p>
39
+
40 40
 
41 41
 gitweb.fcgi
42 42
 -----------
43 43
 
44
-</p>
44
+
45 45
 And here's that custom gitweb wrapper:
46 46
 
47
-<p>
47
+
48 48
     #!/bin/shexport FCGI_SOCKET_PATH=127.0.0.1:9002/usr/local/share/gitweb/gitweb.cgi --fastcgi
49 49
 
50
-</p>
50
+
51 51
 
52 52
 And you might as well install the [GitHub copycat theme][] while you're
53 53
 at it.

+ 4
- 4
content/141-family-tech-support.md View File

@@ -8,7 +8,7 @@ WordPress-Post-Type: post
8 8
 
9 9
 From "[Family Tech Support][]," a recent story on [Slashdot][]:
10 10
 
11
-</p>
11
+
12 12
 
13 13
 For a month, my mother became really productive (mom's productivity is
14 14
 measured in forwarded joke emails), and then, abruptly, stopped being
@@ -17,7 +17,7 @@ next time I heard from her was on my answering machine - "You can cancel
17 17
 my internet access, I've packed up the computer and put it in the
18 18
 closet. Bye."
19 19
 
20
-</p>
20
+
21 21
 
22 22
 This makes me appreciate my mother's computer skills so much more. One
23 23
 of my pet peeves is when a person has a problem, but is unwilling to
@@ -27,12 +27,12 @@ takes to let me know there's a problem. I have [VNC][] set up to speed
27 27
 the troubleshooting process; failing that, we can work through most
28 28
 anything over the phone.
29 29
 
30
-</p>
30
+
31 31
 
32 32
 What she lacks in computer knowledge, she makes up in patience and
33 33
 persistence. I think that's a good lesson for us all.
34 34
 
35
-</p>
35
+
36 36
 
37 37
   [Family Tech Support]: http://slashdot.org/article.pl?sid=03/03/15/0051258
38 38
   [Slashdot]: http://slashdot.org/

+ 10
- 10
content/1412-thinking-about-testability.md View File

@@ -16,39 +16,39 @@ structure my code.
16 16
 In the past I may have written a user class which was very tightly
17 17
 coupled with a database:
18 18
 
19
-<p>
19
+
20 20
     class User {    public function __construct( $id ) {         global $db;         $sql = "SELECT * FROM users WHERE id = ?";         $user = $db->get( $sql, $id );         $this->id = $user->id;         $this->name = $user->name;    }}
21 21
 
22
-</p>
22
+
23 23
 It's easy to identify why this is hard to test: you need a database with
24 24
 predictable data beneath to have any confidence that the code is working
25 25
 as it should. A testable alterative would use **Dependency Injection**:
26 26
 
27
-<p>
27
+
28 28
     class User {    public function __construct( $userstore ) {        $this->userstore = $userstore;    }    public function load( $id ) {        $userdata = $this->userstore->load( $id );        $this->id = $userdata->id;        $this->name = $userdata->name;    }}
29 29
 
30
-</p>
30
+
31 31
 Rather than instantiating a user with `new User(12)`, I would instead
32 32
 say:
33 33
 
34
-<p>
34
+
35 35
     $userstore = new UserStore_Database( DB_USER, DB_PASS ); // create db interface$user = new User( $userstore ); // create user object, connecting to db$user->load( 12 ); // load user #12
36 36
 
37
-</p>
37
+
38 38
 This is way more verbose, but factories can automatic the common use
39 39
 cases:
40 40
 
41
-<p>
41
+
42 42
     class User {    // __construct(), load(), plus:    public static function load_by_id( $id ) {        static $userstore = null;        // cache the database interface        if( $userstore === null ) {            $userstore = new UserStore_Database( DB_USER, DB_PASS );        }        $user = new User( $userstore );        $user->load( $id );        return $user;    }}
43 43
 
44
-</p>
44
+
45 45
 Our object is testable, but day-to-day code in production can still use
46 46
 a one-liner:
47 47
 
48
-<p>
48
+
49 49
     $user = User::load_by_id( 12 );
50 50
 
51
-</p>
51
+
52 52
 When I write my unit tests, I can create a custom `UserStore` class that
53 53
 returns data from an array. The `User::load_by_id()` method is not
54 54
 testable, but honestly I don't care. I want to test the core

+ 4
- 4
content/1418-testable-factories.md View File

@@ -21,17 +21,17 @@ cached a reference to the database object using a static.)
21 21
 
22 22
 But what if the factory itself were its own class?
23 23
 
24
-<p>
24
+
25 25
     class UserFactory {    public static function userstore( $new_store = null ) {        static $userstore;        if( $new_store !== null ) {            $userstore = $new_store;        }        // default userstore if one wasn't provided        if( $userstore === null ) {            $userstore = new UserStore_Database( DB_USER, DB_PASS );        }        return $userstore;    }    public static function load_by_id( $id ) {        $user = new User( self::userstore() );        $user->load( $id );        return $user;    }}$dbstore = new UserStore_Database( DB_USER, DB_PASS );UserFactory::userstore( $dbstore );$user = UserFactory::load_by_id( 12 );
26 26
 
27
-</p>
27
+
28 28
 Or maybe it's better to have the factory as an object rather than a
29 29
 collection of static methods:
30 30
 
31
-<p>
31
+
32 32
     class UserFactory {    public $userstore;    public function __construct( $userstore ) {        $this->userstore = $userstore;    }    public function load_by_id( $id ) {        $user = new User( $this->userstore );        $user->load( $id );        return $user;    }}$dbstore = new UserStore_Database( DB_USER, DB_PASS );$uf = new UserFactory( $dbstore );$user = $uf->load_by_id( 12 );
33 33
 
34
-</p>
34
+
35 35
 I'm not sure if one implementation is better than the other. The former
36 36
 seems testable, and it can be used in any scope without instantiation or
37 37
 prior setup, allowing for one-liners.

+ 5
- 5
content/142-of-indoor-swimming-pools.md View File

@@ -9,7 +9,7 @@ WordPress-Post-Type: post
9 9
 Most people go through life not knowing what a soaking wet carpet sounds
10 10
 and feels like. This morning, my life was *enriched*.
11 11
 
12
-</p>
12
+
13 13
 
14 14
 I saw the dark footprints on the carpet as soon as I woke up. I assumed
15 15
 there had been a spill of some sort, and thought about calling Housing
@@ -17,7 +17,7 @@ to get it cleaned up. (The smell of moldy carpet does not rank high on
17 17
 the list of things we need in this apartment.) I went to take my shower,
18 18
 and I realized things were much worse than I had imagined.
19 19
 
20
-</p>
20
+
21 21
 
22 22
 I practically *swam* to the bathroom, navigating around the wet floor
23 23
 rugs, and found that the toilet bowl was completely full, and every inch
@@ -26,15 +26,15 @@ It had already began seeping into the carpet, and made it all the way
26 26
 into the living room. I'm not sure, but I think it was trying to escape
27 27
 out the front door before I woke up.
28 28
 
29
-</p>
29
+
30 30
 
31 31
 Albert came to our rescue, as he often does. The carpet is still
32 32
 waterlogged, but at least the flooding has ceased. Albert's veritable
33 33
 Plunger of Justice saw to that.
34 34
 
35
-</p>
35
+
36 36
 
37 37
 I think I've had enough morning for one day.
38 38
 
39
-</p>
39
+
40 40
 

+ 5
- 5
content/143-microsoft-is-pain.md View File

@@ -13,24 +13,24 @@ database weirdo. Sue me.) PHP's database access is straightforward and
13 13
 sensible: send SQL statements to the database, and PHP will turn the
14 14
 results into arrays or objects, whichever you prefer.
15 15
 
16
-</p>
16
+
17 17
 
18 18
 Microsoft, on the other hand, take the approach of Steamy Pile of Crap.
19 19
 
20
-</p>
20
+
21 21
 
22 22
 Cursors? Why on earth do you need to walk forwards and backwards through
23 23
 a dataset? Server-side keysets? Yes, let's bog down the database server
24 24
 *even more*.
25 25
 
26
-</p>
26
+
27 27
 
28 28
 Seriously, I've never had to write so much code to accomplish so little.
29 29
 So many damn ODBC wrapper functions. Sigh.
30 30
 
31
-</p>
31
+
32 32
 
33 33
 (I'm done ranting now. I promise.)
34 34
 
35
-</p>
35
+
36 36
 

+ 2
- 2
content/145-static-blogrolling.md View File

@@ -14,10 +14,10 @@ who seems to be my most frequent visitor, second only to myself.
14 14
 
15 15
 Here's the script:
16 16
 
17
-<p>
17
+
18 18
     #!/bin/shWEBDIR=/var/www/blogs.bwerp.net/htdocsURL="http://rpc.blogrolling.com/display_raw.php"ROLLID="r=11a89b51a86123178572ef64d4d87f02"/usr/bin/curl "${URL}?${ROLLID}" -s -o ${WEBDIR}/blogroll.html.newif [ $? -eq 0 ]; then  mv ${WEBDIR}/blogroll.html.new ${WEBDIR}/blogroll.htmlelse  echo "blogroll.sh failed: $?" 1>&2fi
19 19
 
20
-</p>
20
+
21 21
 Cron runs this every fifteen minutes, so my blogroll is pretty
22 22
 up-to-date. Note that I don't replace blogroll.html right away. If
23 23
 `curl` can't run for whatever reason (or if the network is slow), it's

+ 25
- 25
content/1458-locking-down-rsync-using-ssh.md View File

@@ -14,7 +14,7 @@ OpenSSH while allowing scheduled syncing. First, my requirements:
14 14
 -   Ability to work without interaction
15 15
 -   Secure (i.e. locked down to specific tools/files)
16 16
 
17
-</p>
17
+
18 18
 OpenSSH public/private keypairs and rsync over SSH was a logical
19 19
 starting point, but I was missing a piece to limit the rsync to specific
20 20
 files: the [`authorized_keys` `command="command"`][] option.
@@ -22,7 +22,7 @@ files: the [`authorized_keys` `command="command"`][] option.
22 22
 The Setup
23 23
 ---------
24 24
 
25
-</p>
25
+
26 26
 Hostnames have been changed to protect the innocent. For this
27 27
 description:
28 28
 
@@ -31,90 +31,90 @@ description:
31 31
 -   ***penny*** is the client, pulling files from *coriander* using
32 32
     rsync
33 33
 
34
-</p>
34
+
35 35
 I regularly SSH to the host I wanted to backup, so this setup needed to
36 36
 work around a potential key conflict. Easy enough using `~/.ssh/config`
37 37
 on *penny*:
38 38
 
39
-<p>
39
+
40 40
     Host coriander    HostName coriander.example.com    User adam    IdentityFile ~/.ssh/id_dsaHost mysql-binlog    HostName coriander.example.com    User adam    IdentityFile ~/.ssh/mysql-binlog-key
41 41
 
42
-</p>
42
+
43 43
 I run an ssh-agent, so I have to run things through `env -i` to prevent
44 44
 the `rsync` from using my normal key.
45 45
 
46 46
 In this case, I manually copied my key into adam@*coriander*'s
47 47
 `~/.ssh/authorized_keys` file:
48 48
 
49
-<p>
49
+
50 50
     ssh-rsa AAAAB3NzaC1yc2EAAAA…BIwAAAQEA2GNx7diU== mysql-binlog-key
51 51
 
52
-</p>
52
+
53 53
 Next I prepended some options to this key:
54 54
 
55
-<p>
55
+
56 56
     command="~/mysql-backup/rsync-control" ssh-rsa AAAAB3NzaC1yc2EAAAA…BIwAAAQEA2GNx7diU== mysql-binlog-key
57 57
 
58
-</p>
58
+
59 59
 
60 60
 My wish is your command="command"
61 61
 ---------------------------------
62 62
 
63
-</p>
63
+
64 64
 At this point, let's digress to look at the SSH command option. Try this
65 65
 style authorized\_keys on your server to echo the environment and exit
66 66
 when the user logs in over SSH:
67 67
 
68
-<p>
68
+
69 69
     command="env" ssh-rsa AAAAB3NzaC1yc2EAAAA…BIwAAAQEA2GNx7diU== mysql-binlog-key
70 70
 
71
-</p>
71
+
72 72
 SSH to the host and see the output:
73 73
 
74
-<p>
74
+
75 75
     ambackstrom@fsck:~:0$ env -i ssh mysql-binlogSHELL=/bin/bashSSH_CLIENT=10.0.0.2 56490 22USER=adamPATH=/bin:/usr/binPWD=/home/adamSHLVL=1HOME=/home/adamSSH_CONNECTION=10.0.0.2 56490 10.0.0.1 22_=/usr/bin/env
76 76
 
77
-</p>
77
+
78 78
 Then once more, specifying a command to run on the server:
79 79
 
80
-<p>
80
+
81 81
     ambackstrom@fsck:~:0$ env -i ssh mysql-binlog 'ls -lAF'SHELL=/bin/bashSSH_CLIENT=10.0.0.2 56546 22USER=adamPATH=/bin:/usr/binPWD=/home/adamSHLVL=1HOME=/home/adamSSH_CONNECTION=10.0.0.2 56546 10.0.0.1 22SSH_ORIGINAL_COMMAND=ls -lAF_=/usr/bin/env
82 82
 
83
-</p>
83
+
84 84
 Our script becomes the middleman between the client and the requested
85 85
 command, and that command is placed in the `$SSH_ORIGINAL_COMMAND`
86 86
 environment variable. We can analyze this command and allow, deny, or
87 87
 modify it before execution. Given this rsync command:
88 88
 
89
-<p>
89
+
90 90
     env -i rsync -avzP mysql-binlogs:/tmp/ /tmp/test/
91 91
 
92
-</p>
92
+
93 93
 We get this remote command:
94 94
 
95
-<p>
95
+
96 96
     SSH_ORIGINAL_COMMAND=rsync --server --sender -vlogDtprz . /tmp/
97 97
 
98
-</p>
98
+
99 99
 
100 100
 Security via Misdirection
101 101
 -------------------------
102 102
 
103
-</p>
103
+
104 104
 Let's place a new middleman script in our authorized\_keys file on
105 105
 coriander:
106 106
 
107
-<p>
107
+
108 108
     command="~/rsync-control" ssh-rsa AAAAB3NzaC1yc2EAAAA…BIwAAAQEA2GNx7diU== mysql-binlog-key
109 109
 
110
-</p>
110
+
111 111
 Within `~/rsync-control` we'll analyze the incoming command and take
112 112
 some action:
113 113
 
114
-<p>
114
+
115 115
     #!/bin/shif [ "$SSH_ORIGINAL_COMMAND" = "rsync --server --sender -vlogDtprz . logs/" ] ; then    rsync --server --sender -vlogDtprz . /var/lib/mysql/binlog/    exit $?fiexit 1
116 116
 
117
-</p>
117
+
118 118
 What we've actually done here is obfuscated the real binary log
119 119
 directory from the originating command on *penny*: the client requests
120 120
 the `logs/` directory, but we launch an rsync server for

+ 5
- 5
content/146-i-like-em-thin.md View File

@@ -10,7 +10,7 @@ WordPress-Post-Type: post
10 10
 Just placed the orders for my new thin client setup. Here's the
11 11
 "skinny," as it were:
12 12
 
13
-</p>
13
+
14 14
 
15 15
 -   [VIA EPIA-M10000][]
16 16
     -   1GHz C3 Processor
@@ -36,13 +36,13 @@ Just placed the orders for my new thin client setup. Here's the
36 36
     -   60 key layout
37 37
     -   Approx. 12" x 4"
38 38
 
39
-</p>
39
+
40 40
 
41 41
 Notice that there's no mention of an optical or hard drive. I'm going to
42 42
 attempt a netboot setup, which would give me a super-small, super-quiet
43 43
 diskless workstation. One can only hope
44 44
 
45
-</p>
45
+
46 46
 
47 47
 I decided go the route of a boot ROM behind a dual-NIC machine. I mulled
48 48
 over a [flash disk module][], but I'm more likely to encounter boot ROMs
@@ -50,12 +50,12 @@ in the future, so I thought it best to try one now. (Though I think in
50 50
 practice they're pretty much the same. I may use one later to regain the
51 51
 single PCI slot.)
52 52
 
53
-</p>
53
+
54 54
 
55 55
 I'll probably blog any interesting updates, as well as revising my
56 56
 [Linux Netboot][] project page.
57 57
 
58
-</p>
58
+
59 59
 
60 60
   [VIA EPIA-M10000]: http://www.lillicomputers.net/product.asp?pf_id=EPIA%2DM10000
61 61
   [Better pictures]: http://www.newegg.com/app/Showimage.asp?image=13-180-038-03.JPG/13-180-038-02.JPG/13-180-038-01.JPG/13-180-038-04.JPG

+ 4
- 4
content/147-spamassassin-procmail-and-fetchmail-oh-my.md View File

@@ -12,11 +12,11 @@ department, with one spam every couple days. Having a [dummy account][]
12 12
 with [aliases][] helps, plus I get to see exactly where people are
13 13
 getting my address from.
14 14
 
15
-</p>
15
+
16 16
 
17 17
 Here's the lowdown on my current setup:
18 18
 
19
-</p>
19
+
20 20
 
21 21
 1.  Mail is delivered to my bwerp.net address.
22 22
 2.  Every 10 minutes, [`fetchmail`][] pulls e-mail from bwerp.net and
@@ -26,12 +26,12 @@ Here's the lowdown on my current setup:
26 26
 4.  `procmail` in turn filters all mail through SpamAssassin
27 27
 5.  Any messages marked as spam are moved to my \~/Maildir/junk folder.
28 28
 
29
-</p>
29
+
30 30
 
31 31
 Pretty slick, if I do say so myself. Next step: consolidate my e-mail
32 32
 accounts through `fetchmail` and `procmail`.
33 33
 
34
-</p>
34
+
35 35
 
36 36
   [Mark Pilgrim's lead]: http://diveintomark.org/archives/2003/04/08/spamassassin_makes_spam_fun.html
37 37
   [SpamAssassin]: http://spamassassin.org/

+ 2
- 2
content/1470-new-hampshire-hb240-approval-voting.md View File

@@ -14,7 +14,7 @@ divisive two-party system. How many people would vote differently if a
14 14
 vote for the green party or other minority could no longer be considered
15 15
 a wasted vote?
16 16
 
17
-<p>
17
+
18 18
 > To: Charles Brosseau \<[charlesbrosseau@gmail.com][]\>, James Aguiar
19 19
 > \<[jim.aguiar@leg.state.nh.us][]\>
20 20
 >
@@ -43,7 +43,7 @@ a wasted vote?
43 43
 > <p>
44 44
 > adam@sixohthree.com
45 45
 
46
-</p>
46
+
47 47
 
48 48
   [Will NH adopt approval voting?]: http://freekeene.com/2011/01/28/will-nh-adopt-approval-voting/
49 49
   [charlesbrosseau@gmail.com]: mailto:charlesbrosseau@gmail.com

+ 3
- 3
content/1477-on-frameworks.md View File

@@ -9,7 +9,7 @@ WordPress-Post-Type: post
9 9
 
10 10
 Martin Fowler, *Patterns of Enterprise Application Architecture*:
11 11
 
12
-<p>
12
+
13 13
 > I'm assuming that most of my readers will fall into two groups: those
14 14
 > with modest needs who are looking to build their own software and
15 15
 > readers with more demanding needs who will be using a tool. … There is
@@ -19,7 +19,7 @@ Martin Fowler, *Patterns of Enterprise Application Architecture*:
19 19
 > exercise at building frameworks, which wasn't what the project was
20 20
 > really about.
21 21
 
22
-</p>
22
+
23 23
 I have been acutely aware of this, lately. The specific sorts of
24 24
 patterns I'm looking for (e.g. [active record)][] could be done for me,
25 25
 were I to use a framework. There's a lot to weigh:
@@ -33,7 +33,7 @@ were I to use a framework. There's a lot to weigh:
33 33
 -   Finding a tool that actually fits our needs ([Zend][], [Lithium][],
34 34
     [Doctrine][], [CodeIgniter][], [Kohana][],  [etc][].)
35 35
 
36
-</p>
36
+
37 37
 My impression is that Zend would most easily fit into our existing
38 38
 development. We could cherry-pick components, increasing our dependence
39 39
 as we grow in comfort and retire old home-grown tools. Maybe the same is

+ 20
- 20
content/1486-migrating-to-php-5-3-call_user_func_array.md View File

@@ -16,85 +16,85 @@ issues, as the WordPress plugin API is heavily dependent on
16 16
 Passing non-arrays
17 17
 ------------------
18 18
 
19
-</p>
19
+
20 20
 
21 21
 Let's first look what happens when we pass a non-array as the second
22 22
 argument to `call_user_func_array()`:
23 23
 
24
-<p>
24
+
25 25
     function foo() {    var_dump( func_get_args() );    return 7;}var_dump( call_user_func_array( 'foo', 3 ) );
26 26
 
27
-</p>
27
+
28 28
 
29 29
 Here's the output in PHP 5.2.17:
30 30
 
31
-<p>
31
+
32 32
     array(1) {  [0]=>  int(3)}int(7)
33 33
 
34
-</p>
34
+
35 35
 
36 36
 And here's PHP 5.3.5:
37 37
 
38
-<p>
38
+
39 39
     PHP Warning:  call_user_func_array() expects parameter 2 to be array, integer given in /tmp/call_user_func_array.php on line 9NULL
40 40
 
41
-</p>
41
+
42 42
 
43 43
 In my definition a "warning" wouldn't refuse to run a specific command
44 44
 (the callback) and then continue with program execution, but c'est la
45 45
 vie. One fix is to typecast as `array`, which turns a scalar into a
46 46
 single-element array:
47 47
 
48
-<p>
48
+
49 49
     call_user_func_array( 'foo', (array)3 ); // array( 0 => 3 )
50 50
 
51
-</p>
51
+
52 52
 
53 53
 However, typecasting would turn an object into an array. An object with
54 54
 three properties would become an array with three elements, so the
55 55
 callback would get three arguments (the properties) rather than one
56 56
 argument (the object). The best solution is to check `is_array()`:
57 57
 
58
-<p>
58
+
59 59
     call_user_func_array( 'foo', is_array($args) ? $args : array($args) ); // $args, or array( 0 => $args )
60 60
 
61
-</p>
61
+
62 62
 
63 63
 Passing by reference
64 64
 --------------------
65 65
 
66
-</p>
66
+
67 67
 
68 68
 Let's try a callback that expects to get parameters by reference:
69 69
 
70
-<p>
70
+
71 71
     function foo( &$input ) {     var_dump( $input );    return 'goodbye'; }$args = array( 'hello' );var_dump( call_user_func_array( 'foo', $args ) );
72 72
 
73
-</p>
73
+
74 74
 
75 75
 The old PHP 5.2.17 behavior:
76 76
 
77
-<p>
77
+
78 78
     string(5) "hello"string(7) "goodbye"
79 79
 
80
-</p>
80
+
81 81
 
82 82
 And now, in PHP 5.3.5:
83 83
 
84
-<p>
84
+
85 85
     PHP Warning:  Parameter 1 to foo() expected to be a reference, value given in /tmp/call_user_func_array.php on line 9NULL
86 86
 
87
-</p>
87
+
88 88
 
89 89
 Same deal as before: things basically fall of the tracks, with the
90 90
 callback never executing and the function returning null. One fix is to
91 91
 pass `$args` by reference, and remove the `&` from the function
92 92
 definition:
93 93
 
94
-<p>
94
+
95 95
     function foo( $input ) {    var_dump( $input );    return 'goodbye'; }$args = array( 'hello' );var_dump( call_user_func_array( 'foo', &$args ) );
96 96
 
97
-</p>
97
+
98 98
 
99 99
 Or if you don't really require pass by reference (you're not modifying
100 100
 the input) just remove the `&` from the function definition and be done

+ 8
- 8
content/150-flexibletype.md View File

@@ -10,30 +10,30 @@ WordPress-Post-Type: post
10 10
 Did you know that MovableType can create .htaccess files with rules for
11 11
 mod\_rewrite? Very handy, when modifying [archive URLs][].
12 12
 
13
-</p>
13
+
14 14
 
15 15
 Consider:
16 16
 
17
-</p>
18 17
 
19
-<p>
18
+
19
+
20 20
     RewriteEngine on<MTEntries lastn="99999">RewriteRule ^archives/<$MTEntryID pad="1"$>.php ¬       /archives/<$MTEntryDate format="%Y/%m/%d"$>/ ¬       <$MTEntryTitle dirify="1"$>.php [R=301]</MTEntries>
21 21
 
22
-</p>
22
+
23 23
 
24 24
 (Breaks added for readability.) Which produces this output:
25 25
 
26
-</p>
27 26
 
28
-<p>
27
+
28
+
29 29
     RewriteEngine onRewriteRule ^archives/000138.php ¬       /archives/2003/04/23/flexibletype.php [R=301]RewriteRule ^archives/000137.php ¬       /archives/2003/04/22/tracking_comments.php [R=301]RewriteRule ^archives/000135.php ¬       /archives/2003/04/22/thin_client_update.php [R=301]...
30 30
 
31
-</p>
31
+
32 32
 
33 33
 Here's text files for the [.htaccess][] and [template][]. Go forth and
34 34
 create [persistent URIs][].
35 35
 
36
-</p>
36
+
37 37
 
38 38
   [archive URLs]: /archives/2003/04/22/tracking-comments
39 39
   [.htaccess]: http://blogs.bwerp.net/~adam/2003/04/23/flexibletype/htaccess.txt

+ 5
- 5
content/151-will-intern-for-food.md View File

@@ -12,7 +12,7 @@ an effort to actually *graduate* some time in the next few years.
12 12
 Basically, this means my amount of work increases, while the time I have
13 13
 to complete said work stays exactly the same.
14 14
 
15
-</p>
15
+
16 16
 
17 17
 I've had little experience job hunting, so I have to go by what the
18 18
 co-op office tells me most of the time. Make callbacks often; apply to
@@ -20,14 +20,14 @@ as many jobs as possible; apply to jobs even if you're not qualified,
20 20
 let the employer sort you out, etc. Disillusionment is rearing its ugly
21 21
 head.
22 22
 
23
-</p>
23
+
24 24
 
25 25
 I made a callback today, my first since I resolved to start working hard
26 26
 at this. The woman I spoke with was surprised that I called, and
27 27
 remarked, "Usually the students don't contact us directly." Um? We're
28 28
 told to be absolutely rabid about callbacks.
29 29
 
30
-</p>
30
+
31 31
 
32 32
 As if that weren't discouraging enough, I tried to apply for a job in
33 33
 systems administration last night. I've applied to less-than-ideal jobs
@@ -39,12 +39,12 @@ and useful. I don't want to spend six months of my life fighting with
39 39
 Microsoft IIS. I already *know* it sucks. That's one thing I don't need
40 40
 to learn.
41 41
 
42
-</p>
42
+
43 43
 
44 44
 <span class="footnote">1</span> "Co-op" is a fancy word for what most
45 45
 people would call "internship:" paid work in the field while registered
46 46
 with the university, for credit towards graducation. RIT requires me to
47 47
 co-op for nine months.
48 48
 
49
-</p>
49
+
50 50
 

+ 1
- 1
content/1515-world-of-warcraft-tcg-card-numbering.md View File

@@ -22,7 +22,7 @@ order, using [Icecrown][] as an example:
22 22
     are faction-neutral) (203-218)
23 23
 7.  Locations; alphabetical by title (219-220)
24 24
 
25
-</p>
25
+
26 26
 Subject to future revisions!
27 27
 
28 28
   [Icecrown]: http://www.wowtcgdb.com/imagebrowser-medium.aspx?start=1&end=220&set=ICE

+ 4
- 4
content/152-dbms-updates.md View File

@@ -8,7 +8,7 @@ WordPress-Post-Type: post
8 8
 
9 9
 Today's gonna be a good day.
10 10
 
11
-</p>
11
+
12 12
 
13 13
 I've already [ranted][] on the physical pain I experience working with
14 14
 Visual Basic.NET/Access. Today, my prayers are being answered. PHP and
@@ -24,16 +24,16 @@ extending them just enough to be incompatible, botching them in one way
24 24
 or another, and selling them for a few hundred dollars. What is so
25 25
 attractive about this company?
26 26
 
27
-</p>
27
+
28 28
 
29 29
 At least I'm getting a reprieve, however short. I just have to contain
30 30
 myself during the lecture. "No, you can do that with print\_r()!" "Use
31 31
 the \<?= ?\> syntax!" "Fetch that row as an object!"
32 32
 
33
-</p>
33
+
34 34
 
35 35
 See what I mean?
36 36
 
37
-</p>
37
+
38 38
 
39 39
   [ranted]: http://blogs.bwerp.net/archives/2003/03/25/microsoft_is_pain

+ 1
- 1
content/1526-python-and-php-giving-a-rats-ass.md View File

@@ -20,7 +20,7 @@ to entry:
20 20
     directory)
21 21
 -   There are a plethora of tutorials
22 22
 
23
-</p>
23
+
24 24
 This attracts a pretty scary demographic: the non-programmer. Just look
25 25
 at the [PHP questions][] on [Stack Overflow][]. On any given day it's a
26 26
 [complete mess][], a land where HTML is intermingled with PHP and

+ 6
- 6
content/153-goodbye-boss.md View File

@@ -11,12 +11,12 @@ A natural formation of rocks, formed thousands of years ago, his profile
11 11
 has watched over the White Mountains and been our state symbol for
12 12
 generations.
13 13
 
14
-</p>
14
+
15 15
 
16 16
 Last Thursday, New Hampshire lost not only a monument, but a dear
17 17
 friend.
18 18
 
19
-</p>
19
+
20 20
 
21 21
 It is hard for me to explain my personal sense of loss. The Old Man
22 22
 stood for many things I love about the Granite State. He was strength.
@@ -24,24 +24,24 @@ He was of nature. He was larger than life, and seemingly immobile. And
24 24
 true to his nature, our best efforts to hold him up could not persuade
25 25
 him to stay. "Live Free or Die," indeed.
26 26
 
27
-</p>
27
+
28 28
 
29 29
 I am a product of New Hampshire. I value nature and rural sensibilities.
30 30
 I am simple, and I am practical. I am sure some people want to rebuild
31 31
 him, but I say this is how he wanted it to be. He was with us longer
32 32
 than his time, and we should let him rest in peace.
33 33
 
34
-</p>
34
+
35 35
 
36 36
 So "Goodbye," Old Man. You live on on our signposts, on our coins, and
37 37
 in my heart.
38 38
 
39
-</p>
39
+
40 40
 
41 41
 Those wishing for more information can read [this article][] in the [The
42 42
 Union Leader][].
43 43
 
44
-</p>
44
+
45 45
 
46 46
   [this article]: http://www.theunionleader.com/articles_show.html?article=20823
47 47
   [The Union Leader]: http://www.theunionleader.com/

+ 5
- 5
content/154-blogs-and-spam-the-next-revolution.md View File

@@ -14,7 +14,7 @@ recently discovered a [comment][] on my own blog along the same lines,
14 14
 so I feel the time is right to blog it. (It's the bottom comment; check
15 15
 the URL his name links to.)
16 16
 
17
-</p>
17
+
18 18
 
19 19
 From what I have seen, the majority of blogs trust other blogs
20 20
 implicitly. Comments are either on, or off; there is no middle ground.
@@ -24,7 +24,7 @@ hundreds of bored sufers from, say, diveintomark.org, to Joe Hacker's
24 24
 Site for Kewl Linkz. But let's take this a step further: spam-oriented
25 25
 comments and trackbacks.
26 26
 
27
-</p>
27
+
28 28
 
29 29
 Instead, let's say Mark posts about a current problem with his hosting
30 30
 provider, and mentions the importance of backups. (Sound familiar?)
@@ -38,7 +38,7 @@ trough to a site that's selling Joe's Super Backup+. Mark has a day job
38 38
 he doesn't notice the spam trackback for a few hours, or worse, never
39 39
 notices it at all. Sound far-fetched? I don't think so, either.
40 40
 
41
-</p>
41
+
42 42
 
43 43
 The simplest solution is to approve all comments and trackbacks before
44 44
 they are posted, but that's unappealing even to a casual blogger like
@@ -46,11 +46,11 @@ myself. Perhaps we will see webs of trust emerge around comments and
46 46
 trackbacks, much like those that exist for PGP keyrings. It will be
47 47
 interesting to see which direction this goes.
48 48
 
49
-</p>
49
+
50 50
 
51 51
 In the mean time, if anyone knows a way to discover geographical
52 52
 locations for IP addresses, I'm all ears. Right, "ip address?"
53 53
 
54
-</p>
54
+
55 55
 
56 56
   [comment]: http://blogs.bwerp.net/archives/2002/12/12/tim_oreilly_on_piracy.php#c-151

+ 2
- 2
content/1549-merlin-mann-marketplace-of-ideas.md View File

@@ -7,14 +7,14 @@ Tags: Quotes, podcast, productivity
7 7
 WordPress-Post-ID: 1549
8 8
 WordPress-Post-Type: post
9 9
 
10
-<p>
10
+
11 11
 > If you don't care a lot about the thing you're trying to fix, there is
12 12
 > no solution for that. When I say "first, care," I mean, that is as
13 13
 > they say in programming, "step zero." There is no step one, there is
14 14
 > no step two, there is no step anything if you don't care, because
15 15
 > otherwise you're just gonna wander around lamely…
16 16
 
17
-</p>
17
+
18 18
 [Merlin Mann][], [Marketplace of Ideas, 26 July 2011][].
19 19
 
20 20
   [Merlin Mann]: http://www.merlinmann.com/

+ 1
- 1
content/155-summer-plans.md View File

@@ -8,5 +8,5 @@ WordPress-Post-Type: post
8 8
 
9 9
 I'm staying at RIT for the summer. Will update soon. Transmission en--
10 10
 
11
-</p>
11
+
12 12
 

+ 7
- 7
content/1552-webos-3-0-2-changes.md View File

@@ -16,24 +16,24 @@ Calendar
16 16
     scrolling midnight-to-midnight view.
17 17
 -   Much more responsive.
18 18
 
19
-</p>
19
+
20 20
 Clock
21 21
 
22 22
 -   The Clock now supports alarms.
23 23
 
24
-</p>
24
+
25 25
 Photos & Video
26 26
 
27 27
 -   Thumbnails are now larger, showing 3 photos and growing to 4 photos
28 28
     when the pane is maximized, rather than always showing four
29 29
     thumbnails and increasing whitespace when maximizing.
30 30
 
31
-</p>
31
+
32 32
 Maps
33 33
 
34 34
 -   Maps is now driven by Google Maps. Haha, kidding, it's still Bing.
35 35
 
36
-</p>
36
+
37 37
 Some miscellaneous things I'm hoping are now fixed:
38 38
 
39 39
 -   Messaging app would occasionally refuse to go online. Required
@@ -43,12 +43,12 @@ Some miscellaneous things I'm hoping are now fixed:
43 43
 -   Photos & Video was unable to play large video files. Initial test is
44 44
     not promising.
45 45
 
46
-</p>
46
+
47 47
 Only time will tell on some of those.
48 48
 
49 49
 Oh, old and new user-agent string:
50 50
 
51
-<p>
51
+
52 52
 > Mozilla/5.0 (hp-tablet; Linux; hpwOS/3.0.0; U; en-US)
53 53
 > AppleWebKit/534.6 (KHTML, like Gecko) wOSBrowser/233.72 Safari/534.6
54 54
 > TouchPad/1.0
@@ -58,7 +58,7 @@ Oh, old and new user-agent string:
58 58
 > AppleWebKit/534.6 (KHTML, like Gecko) wOSBrowser/234.40.1 Safari/534.6
59 59
 > TouchPad/1.0
60 60
 
61
-</p>
61
+
62 62
 Anyway, three cheers to HP for pushing an update one month after the
63 63
 tablet's release! Let's keep the momentum going.
64 64
 

+ 4
- 4
content/156-movie-night-matrix-reloaded.md View File

@@ -10,7 +10,7 @@ WordPress-Post-Type: post
10 10
 Just got back from watching *Matrix: Reloaded* with Karl. Excellent
11 11
 flick, I recommend you go see it. More comments in the extended entry...
12 12
 
13
-</p>
13
+
14 14
 
15 15
 <!--more-->
16 16
 
@@ -23,7 +23,7 @@ with the father of the Matrix, Neo says the machines are in almost the
23 23
 same situation: kill all the humans, and there is no source of power.
24 24
 Quite a bind for each party, no?
25 25
 
26
-</p>
26
+
27 27
 
28 28
 Some of my personal favorite parts of the movie: the ghost scenes, and
29 29
 Zion. I thought that whole supernatural bit was presented pretty well,
@@ -35,11 +35,11 @@ his guns, and seeing more of the ships up close. Check out the
35 35
 [Animatrix][] short "Second Renaissance" if you want to see more of
36 36
 that.
37 37
 
38
-</p>
38
+
39 39
 
40 40
 So, it was well worth my \$7.75. Hopefully I'll get to see it again
41 41
 before *Revolutions* comes out.
42 42
 
43
-</p>
43
+
44 44
 
45 45
   [Animatrix]: http://www.intothematrix.com/

+ 3
- 3
content/157-todo.md View File

@@ -8,7 +8,7 @@ WordPress-Post-Type: post
8 8
 
9 9
 Things I will do when school ends (in no particular order):
10 10
 
11
-</p>
11
+
12 12
 
13 13
 -   Move [useful content][] over to the main Bwerp server.
14 14
 -   Find a better way to manage online content. (Not talking blogs
@@ -26,11 +26,11 @@ Things I will do when school ends (in no particular order):
26 26
     </p>
27 27
     <p>
28 28
 
29
-</p>
29
+
30 30
 
31 31
 Those are my more immediate concerns. Sweet freedom, how I have missed
32 32
 thee.
33 33
 
34
-</p>
34
+
35 35
 
36 36
   [useful content]: http://aziz.bwerp.net/~adam/examples/span_images/

+ 6
- 6
content/158-those-game-things.md View File

@@ -11,7 +11,7 @@ After reminiscing about old SNES RPGs in my [last post][], I poked
11 11
 around on eBay to price out an old console and some games. Then I sort
12 12
 of went insane for a couple hours.
13 13
 
14
-</p>
14
+
15 15
 
16 16
 I would like to collect Game Boys. There, I said it. Now, why would I
17 17
 want to do a silly thing like that? For starters, the Game Boy is a
@@ -21,7 +21,7 @@ Boys there are? It's like trying to buy every [Nine Inch Nails][] album.
21 21
 Just when you buy the Swedish import with the acid remix of Broken,
22 22
 Trent puts another version of the same song out in Japan. Witness:
23 23
 
24
-</p>
24
+
25 25
 
26 26
 -   **Original Game Boy**. You know it and love it.
27 27
 -   **Game Boy Pocket**. Thinner and lighter than the original.
@@ -32,7 +32,7 @@ Trent puts another version of the same song out in Japan. Witness:
32 32
     several colors.
33 33
 -   **Game Boy Advance SP**. Even more changes to the Game Boy's design.
34 34
 
35
-</p>
35
+
36 36
 
37 37
 At quick count, that's fifteen different styles and colors of Game Boys.
38 38
 There are special Pokémon editions in *at least* two colors, and I
@@ -42,21 +42,21 @@ the main ones. There's also: Game Boy Light (old style, with backlight);
42 42
 Super Game Boy (play Game Boy games on your SNES); and other goodies
43 43
 like the Game Boy Camera.
44 44
 
45
-</p>
45
+
46 46
 
47 47
 I only had a Game Boy of my own for a short time, but it was a lot of
48 48
 fun. There are some great old games, like the Kirby and Mega Man titles,
49 49
 as well as the always-classic Tetris. Hell, they even have Link to the
50 50
 Past for Game Boy Advance.
51 51
 
52
-</p>
52
+
53 53
 
54 54
 Most of this is fairly new to me. I've been under the proverbial rock
55 55
 since my subscription to Nintendo Power ran out. As much as I'd enjoy a
56 56
 little deal-searching and collecting, though, I'll try to be good. After
57 57
 all, there are [more important][] places for me to spend money.
58 58
 
59
-</p>
59
+
60 60
 
61 61
   [last post]: http://blogs.bwerp.net/archives/2003/05/23/todo
62 62
   [Nine Inch Nails]: http://www.nin.com/

+ 2
- 2
content/1583-billboard.md View File

@@ -16,13 +16,13 @@ Got feedback? Email [adam@sixohthree.com][].
16 16
 Release History
17 17
 ---------------
18 18
 
19
-</p>
19
+
20 20
 
21 21
 -   **1.0.0** -- Improved vertical centering. 26 February 2012 (Pending
22 22
     Review)
23 23
 -   **0.0.1** -- Initial App Catalog release. 13 September 2011
24 24
 
25
-</p>
25
+
26 26
 
27 27
   [Find it in the HP App Catalog]: https://developer.palm.com/appredirect/?packageid=com.sixohthree.billboard
28 28
   [img]: http://mu.sixohthree.com/sixohthree/files/2011/09/billboard_11-300x225.png

+ 4
- 4
content/159-no-news-is-good-news.md View File

@@ -11,14 +11,14 @@ Not much to report. I am settled back into the apartment here at RIT,
11 11
 enjoying the peace and quiet, but missing friends of various size and
12 12
 stature.
13 13
 
14
-</p>
14
+
15 15
 
16 16
 I'll be creating Mac OS X metapackages for work, about which
17 17
 documentation is fairly scant. I'll be sure to post some appropriate
18 18
 links and documentation as soon as that's in full swing. That should
19 19
 give me something to post about.
20 20
 
21
-</p>
21
+
22 22
 
23 23
 Got my first two Game Boys, too. The first was a blue Game Boy Pocket,
24 24
 and the second is a black Game Boy. I haven't powered on the black one
@@ -27,9 +27,9 @@ Check back in a week and a half and then we'll talk. My first game is
27 27
 Link's Awakening. Rough estimate, I'm probably half way through on six
28 28
 or seven hours of playtime. It's been a while since I played an RPG, OK?
29 29
 
30
-</p>
30
+
31 31
 
32 32
 That's all for now. Just feeding the blog so it doesn't get angry.
33 33
 
34
-</p>
34
+
35 35
 

+ 4
- 4
content/1595-wordpress-mu-domain-mapping-patches.md View File

@@ -17,7 +17,7 @@ the domain mapping plugin.
17 17
 Domain Mapped siteurl()
18 18
 -----------------------
19 19
 
20
-</p>
20
+
21 21
 `domain_mapping_siteurl()` is built to work only for the currently
22 22
 active blog. Here's a modification which allows a `$blog_id` parameter:
23 23
 
@@ -26,15 +26,15 @@ active blog. Here's a modification which allows a `$blog_id` parameter:
26 26
 Here's the filter I'm using to apply this function to all `siteurl()`
27 27
 and `home()` calls:
28 28
 
29
-<p>
29
+
30 30
     function do_canonical_siteurl( $value, $blog_id ) {    // gotta do the remove/add dance to avoid recursion  remove_filter( 'blog_option_siteurl', __FUNCTION__, 10, 2 ); $url = domain_mapping_siteurl( 'siteurl', $blog_id );    add_filter( 'blog_option_siteurl', __FUNCTION__, 10, 2 ); return $url;}add_filter('blog_option_siteurl', 'do_canonical_siteurl', 10, 2);add_filter('blog_option_home', 'do_canonical_siteurl', 10, 2);
31 31
 
32
-</p>
32
+
33 33
 
34 34
 Fixup MUPLUGINDIR Paths
35 35
 -----------------------
36 36
 
37
-</p>
37
+
38 38
 Plugin filters helpfully update the `PLUGINDIR` fragment in URLs, but
39 39
 does not know about `MUPLUGINDIR`. This patch makes the filter a bit
40 40
 more robust.

+ 3
- 3
content/160-chevron-seven-locked.md View File

@@ -9,18 +9,18 @@ WordPress-Post-Type: post
9 9
 Friday. 8:00. SCI FI. [Stargate SG-1][]. Don't miss it. I know where
10 10
 *I'll* be.
11 11
 
12
-</p>
12
+
13 13
 
14 14
 The three-hour block will start off with Stargate: The Lowdown, followed
15 15
 by the two-hour season premiere. I've been big into SG1 lately. Used to
16 16
 watch it back on HBO. How long ago was *that*?
17 17
 
18
-</p>
18
+
19 19
 
20 20
 So, anyway, it's almost here. If you're into science fiction, I
21 21
 recommend checking it out. This concludes our public service
22 22
 announcement.
23 23
 
24
-</p>
24
+
25 25
 
26 26
   [Stargate SG-1]: http://www.scifi.com/stargate/

+ 4
- 4
content/161-internet-explorer-fumbles-hes-down.md View File

@@ -11,7 +11,7 @@ According to Roz Ho, general manager of Microsoft's Mac Business Unit
11 11
 [via [Bob][], via [PC Pro][], via MacUser], development of Internet
12 12
 Explorer 5 for the Mac has ceased. "OK," I say. "So what?"
13 13
 
14
-</p>
14
+
15 15
 
16 16
 IE5 for the Mac was released some time in early 2000, I believe March or
17 17
 April. Generally speaking, the browser has not changed since its initial
@@ -21,7 +21,7 @@ developers have not kept up with existing technologies. Microsoft gave
21 21
 up on this product two years ago. It just took a long time for them to
22 22
 admit it.
23 23
 
24
-</p>
24
+
25 25
 
26 26
 Ho claims that Safari pushed them out of the market, as Apple is able to
27 27
 provide more integration with the system than the Microsoft developers.
@@ -32,14 +32,14 @@ out. I say, if you've got a good product, it's *probably* going to
32 32
 succeed. Either that, or Apple will buy the rights to it. (Then you
33 33
 *definitely* won't have to compete.)
34 34
 
35
-</p>
35
+
36 36
 
37 37
 So, really, what does this annoucement mean? Not much. We still have a
38 38
 choice of browsers, however limited. And it's not like Internet Explorer
39 39
 is going away any time soon. Hell, many of the people I support at RIT
40 40
 use *Netscape Communicator 4.7*. Such is life.
41 41
 
42
-</p>
42
+
43 43
 
44 44
   [Bob]: http://homepage.mac.com/boberito/
45 45
   [PC Pro]: http://www.pcpro.co.uk/?http://www.pcpro.co.uk/news/news_story.php?id=43191

+ 11
- 11
content/162-lock-your-doors.md View File

@@ -11,35 +11,35 @@ I'm overdue for a post, so I figured this was as interesting a thing as
11 11
 any. I checked out my [Apache][] logs a few minutes ago, and noticed
12 12
 this interesting line:
13 13
 
14
-</p>
15 14
 
16
-<p>
15
+
16
+
17 17
     154.6.115.154 - - [26/Jun/2003:21:13:50 -0400] ¬     "CONNECT 1.3.3.7:1337 HTTP/1.0" 302 272 "-" "-"
18 18
 
19
-</p>
19
+
20 20
 
21 21
 Being the geek that I am, my curiosity was piqued. It appears that
22 22
 [CONNECT][] is used for tunneling proxy servers. Apparently, these
23 23
 proxies can be [used for spam][].
24 24
 
25
-</p>
25
+
26 26
 
27 27
 I did a port scan, and lo and behold, both [SubSeven][] *and* [Back
28 28
 Orifice][] were running. Here's the output from a no-frills portscan:
29 29
 
30
-</p>
31 30
 
32
-<p>
31
+
32
+
33 33
     Starting nmap V. 3.00 ( www.insecure.org/nmap/ )Interesting ports on mars.ritlogic.com (154.6.115.154):(The 1583 ports scanned but not shown below are in state: closed)Port       State       Service21/tcp     open        ftp25/tcp     open        smtp80/tcp     open        http135/tcp    open        loc-srv139/tcp    filtered    netbios-ssn443/tcp    open        https445/tcp    open        microsoft-ds1025/tcp   open        NFS-or-IIS1026/tcp   open        LSA-or-nterm1433/tcp   open        ms-sql-s1434/tcp   filtered    ms-sql-m3372/tcp   open        msdtc5800/tcp   open        vnc-http5900/tcp   open        vnc12345/tcp  filtered    NetBus12346/tcp  filtered    NetBus27374/tcp  filtered    subseven31337/tcp  filtered    EliteNmap run completed -- 1 IP address (1 host up) scanned in 10 seconds
34 34
 
35
-</p>
35
+
36 36
 
37 37
 Futher investigation in my logs showed 68 CONNECT attempts from 23
38 38
 different hosts. Here's [portscans for 14 of them][]. As expected, most
39 39
 are running Back Orifice and SubSeven. One is even running
40 40
 [pcAnywhere][], and [VNC][] shows up more than once.
41 41
 
42
-</p>
42
+
43 43
 
44 44
 I might play around with Apache's settings and extensions and see if I
45 45
 can capture the CONNECT data. Might be interesting to see exactly what
@@ -47,13 +47,13 @@ is coming throught the pipeline. In any case, let this be a lesson to my
47 47
 fellow webmasters: batton down the hatches, the 'net isn't a friendly
48 48
 place.
49 49
 
50
-</p>
50
+
51 51
 
52 52
 (Oh, and don't be surprised if my blog page looks like hell in the near
53 53
 future. It needs a style update to fit with the [main site][], but
54 54
 mostly I need to see *a lot* less green.)
55 55
 
56
-</p>
56
+
57 57
 
58 58
 <span class="update">Update:</span> Looking at my post, I realized that
59 59
 some of these ports (including Back Orifice and SubSeven) are actually
@@ -61,7 +61,7 @@ filtered, not open. So, really, they might not be running those
61 61
 applications at all. But it still doesn't change the fact that some of
62 62
 these hosts tried to access 1.3.3.7:1337 through my box, so, eh.
63 63
 
64
-</p>
64
+
65 65
 
66 66
   [Apache]: http://httpd.apache.org
67 67
   [CONNECT]: http://asg.web.cmu.edu/rfc/rfc2616.html#sec-9.9

+ 2
- 2
content/1629-responsive-design-quick-tips.md View File

@@ -9,7 +9,7 @@ WordPress-Post-Type: post
9 9
 
10 10
 Via +[Brad Frost][], on Google+:
11 11
 
12
-<p>
12
+
13 13
 > Responsive design quick tips:
14 14
 >
15 15
 > </p>
@@ -51,7 +51,7 @@ Via +[Brad Frost][], on Google+:
51 51
 > Just some stream-of-consciousness stuff off the top of my head. What
52 52
 > are some other tips?
53 53
 
54
-</p>
54
+
55 55
 [Google+][] via [@brad\_frost][] via [@paul\_irish][] vaya con dios.
56 56
 
57 57
   [Brad Frost]: https://plus.google.com/103751101313992876152

+ 2
- 2
content/163-root.md View File

@@ -10,10 +10,10 @@ WordPress-Post-Type: post
10 10
 I did some scripting for work yesterday, and came up with this little
11 11
 snippet to ensure important scripts will run as root:
12 12
 
13
-<p>
13
+
14 14
     #!/bin/sh# check current userWHO=`whoami`# make sure we're superuserif [ $WHO != root ]; then   echo "Superuser privileges required, trying sudo."   exec sudo sh $0 "$@"fiecho "I'm the superuser."
15 15
 
16
-</p>
16
+
17 17
 
18 18
 `whoami` is necessary because \$USER still holds the regular username
19 19
 even if `sudo` is in effect. `exec` replaces the current process with

+ 5
- 5
content/164-dock-annoyances.md View File

@@ -9,9 +9,9 @@ WordPress-Post-Type: post
9 9
 
10 10
 From [The Dock][], at developer.apple.com:
11 11
 
12
-</p>
13 12
 
14
-<p>
13
+
14
+
15 15
 > An application should always present a window when its Dock icon is
16 16
 > clicked. This behavior compensates for the all-too-familiar case where
17 17
 > a user closes a document window and thinks she has quit the
@@ -19,8 +19,8 @@ From [The Dock][], at developer.apple.com:
19 19
 > indicated by a click on its Dock icon, a new window opens so that the
20 20
 > user is absolutely sure that the application is active.
21 21
 
22
-</p>
23
-</p>
22
+
23
+
24 24
 
25 25
 Does anyone else find this feature slightly annoying? Maybe I'm just
26 26
 used to Mac OS 9, but I don't appreciate applications opening a window
@@ -29,6 +29,6 @@ every time I switch to Safari. Maybe I switched to TextEdit for the open
29 29
 dialog, *not* a new blank document. This behavior is somehow intuitive?
30 30
 "All-too-familiar case," indeed.
31 31
 
32
-</p>
32
+
33 33
 
34 34
   [The Dock]: http://developer.apple.com/ue/aqua/dock.html

+ 1
- 1
content/1643-hmac-sig-client-php.md View File

@@ -51,7 +51,7 @@ curl\_setopt( \$ch, CURLOPT\_RETURNTRANSFER, true );
51 51
 
52 52
 curl\_close( \$ch );
53 53
 
54
-<p>
54
+
55 55
 echo "
56 56
 
57 57
     ", $result;

+ 6
- 6
content/1645-rest-apis-and-security-in-php.md View File

@@ -11,7 +11,7 @@ WordPress-Post-Type: post
11 11
 simply recording my findings. This content is subject to change as I
12 12
 learn more.
13 13
 
14
-</p>
14
+
15 15
 I made a quick and dirty REST API at work today, after some
16 16
 whiteboarding with our [lead developer][]. We're coming into this pretty
17 17
 fresh, only having consumed REST up to this point, so it's a learning
@@ -28,7 +28,7 @@ these values, one of which (the key) is considered private.
28 28
 Signing Requests
29 29
 ----------------
30 30
 
31
-</p>
31
+
32 32
 So, hopefully we're making the right assumptions so far. If SSL isn't
33 33
 enough, we may need to sign requests. This would protect keys against
34 34
 far-future replay attacks, as every request would expire after a short
@@ -46,24 +46,24 @@ inline.
46 46
 
47 47
 ### hmac-sig-client.php
48 48
 
49
-</p>
49
+
50 50
 [code name="hmac-sig-client.php"]
51 51
 
52 52
 ### hmac-sig-server.php
53 53
 
54
-</p>
54
+
55 55
 [code name="hmac-sig-server.php"]
56 56
 
57 57
 Resources
58 58
 ---------
59 59
 
60
-</p>
60
+
61 61
 
62 62
 -   [World of RESTCraft][]
63 63
 -   [Securing an API: SSL & HTTP Basic Authentication vs Signature][]
64 64
 -   [Top Differences between OAuth 1.0 and OAuth 2.0 for API Calls][]
65 65
 
66
-</p>
66
+
67 67
 
68 68
   [lead developer]: http://borkweb.com/
69 69
   [World of RESTCraft]: http://bill.burkecentral.com/2011/09/16/world-of-restcraft/

+ 4
- 4
content/165-a-lone-echo-post.md View File

@@ -11,7 +11,7 @@ to replace RSS as the syndication de facto standard. This drive for a
11 11
 replacement is due in no small part to the politics around RSS, and what
12 12
 seems to be a general distaste for [Dave Winer][], father of RSS.
13 13
 
14
-</p>
14
+
15 15
 
16 16
 Really, I don't know all the details, and honestly, it doesn't really
17 17
 make much of a difference to me at this point. I don't subscribe to any
@@ -19,19 +19,19 @@ RSS feeds, and the only reason they exist for my blog is because they're
19 19
 part of the default Movable Type installation. But Dave [called for
20 20
 support][] of RSS, so here's what he gets:
21 21
 
22
-</p>
22
+
23 23
 
24 24
 **If and when the Echo spec is finalized, I will support and publish
25 25
 Echo-formatted feeds, and *only* Echo-formatted feeds.** If and when.
26 26
 
27
-</p>
27
+
28 28
 
29 29
 Echo is young. It has some powerful minds behind it, but there's still a
30 30
 long road ahead. I have no doubts that a final product from this group
31 31
 of people will be complete and well thought out. So, here's to the
32 32
 developers. See you at the crossroads.
33 33
 
34
-</p>
34
+
35 35
 
36 36
   [Echo]: http://www.intertwingly.net/wiki/pie/
37 37
   [Dave Winer]: http://www.scripting.com/

+ 1
- 1
content/1657-zoom-it-api-rest-considerations.md View File

@@ -23,7 +23,7 @@ Key differences for non-RESTful:
23 23
     provides data that would otherwise be handled via HTTP (e.g. headers
24 24
     like Location or Retry-After, status code and text, etc.).
25 25
 
26
-</p>
26
+
27 27
 
28 28
   [Zoom.it API]: http://zoom.it/pages/api/
29 29
   [both RESTful and non-RESTful responses]: http://zoom.it/pages/api/formats/rest-vs-non-rest

+ 1
- 1
content/1662-automatic-ellipsis-with-css.md View File

@@ -13,5 +13,5 @@ post will help cement it in my memory.
13 13
 <span style="white-space: nowrap;" title="I am the very model of a modern major general.">I
14 14
 am the very model of a modern major general.</span>
15 15
 
16
-</p>
16
+
17 17
 

+ 5
- 5
content/167-the-lure-of-data.md View File

@@ -13,7 +13,7 @@ being connected. In other words: it's me, and it's why I feel compelled
13 13
 to catch up on web comics while a pot of water comes to a boil in the
14 14
 kitchen.
15 15
 
16
-</p>
16
+
17 17
 
18 18
 I've been an information hog for some time now. It's why I am drawn to
19 19
 databases and web interfaces: I love to sift through data, to comb it
@@ -23,7 +23,7 @@ for long periods of time. They will browse the web and check their
23 23
 e-mail during presentations, insisting that such activities boost their
24 24
 productivity when the opposite is really the case.
25 25
 
26
-</p>
26
+
27 27
 
28 28
 Thankfully, I'm not as bad as the people mentioned by the New York
29 29
 Times, but I confess I've read eBooks in the men's room more than once.
@@ -32,18 +32,18 @@ fresher ideas taking hold. I have a slightly better track record than
32 32
 those mentioned in the article; I usually work at a project for at least
33 33
 a few days to a week before moving on to something else.
34 34
 
35
-</p>
35
+
36 36
 
37 37
 It helps that I keep myself disconnected much of the time. My Palm does
38 38
 not have wireless Internet, and I do not own any other sort of mobile
39 39
 device. It's a bit of a forced state of unconnectedness, but perhaps I
40 40
 should try to keep it that way.
41 41
 
42
-</p>
42
+
43 43
 
44 44
 Gotta go, an e-mail just came in.
45 45
 
46
-</p>
46
+
47 47
 
48 48
   [Slashdot]: http://slashdot.org/
49 49
   [The Lure of Data: Is It Addictive?]: http://www.nytimes.com/2003/07/06/business/yourmoney/06WIRE.html?pagewanted=1&ei=5062&en=027a31a06e611f55&ex=1058068800&partner=GOOGLE

+ 5
- 5
content/1679-better-local-dev-hostnames-with-dnsmasq.md View File

@@ -13,7 +13,7 @@ handles this config: each new hostname is saved to its own plist file.
13 13
 
14 14
 **Update:** for zero-configuration wildcard DNS, check out [xip.io][].
15 15
 
16
-</p>
16
+
17 17
 
18 18
 [code name="ghost-plist"]
19 19
 
@@ -27,18 +27,18 @@ up a default config file and configuring `launchd` to keep dnsmasq
27 27
 alive, which I dutifully ran. After that, I enabled my fake TLD in
28 28
 `dnsmasq.conf`:
29 29
 
30
-<p>
30
+
31 31
     # respond to *.zomg with 127.0.0.1address=/zomg/127.0.0.1
32 32
 
33
-</p>
33
+
34 34
 By sheer luck I ended up on [this great serverfault.com post][]
35 35
 explaining Mac OS X's `resolver(5)` and the `/etc/resolver` directory.
36 36
 Forcing `dnsmasq` lookup on my zomg TLD is as easy as:
37 37
 
38
-<p>
38
+
39 39
     echo 'nameserver 127.0.0.1' >/etc/resolver/zomg
40 40
 
41
-</p>
41
+
42 42
 These settings will work on any network we connect to, no need to modify
43 43
 the DNS servers via System Preferences and put 127.0.0.1 (dnsmasq) in
44 44
 front. Simple, clean, flexible.

+ 2
- 2
content/168-on-bragging.md View File

@@ -12,7 +12,7 @@ touched on one of my pet peeves. (For those who don't know, bash is a
12 12
 quote database, mostly of things said on
13 13
 <acronym title="Internet Relay Chat">IRC</acronym>.) First, the quote:
14 14
 
15
-<p>
15
+
16 16
 > \<digidug\> i love it when geeks take every chance they get to brag
17 17
 > about their hardware  
18 18
 >
@@ -26,7 +26,7 @@ quote database, mostly of things said on
26 26
 > <p>
27 27
 > \<digidug\> so i didn't get much sleep last night
28 28
 
29
-</p>
29
+
30 30
 
31 31
 So, yeah. I find this *extremely* annoying. Don't be all non-chalant,
32 32
 it's generally unbecoming of human beings. If you want to tell me

+ 2
- 2
content/169-whatd-i-miss.md View File

@@ -15,9 +15,9 @@ So maybe this:
15 15
 
16 16
 Live in the moment, because you never know what tomorrow will bring.
17 17
 
18
-</p>
18
+
19 19
 
20 20
 Smiles all around. =)
21 21
 
22
-</p>
22
+
23 23
 

+ 3
- 3
content/1690-installing-cpan-modules-without-root.md View File

@@ -21,15 +21,15 @@ Mostly for my own future reference:
21 21
 2.  Export `PERL5LIB` in `~/.bash_profile` (your values may vary):
22 22
     `export PERL5LIB=$HOME/lib/perl5/5.8.8:$HOME/lib64/perl5/site_perl/5.8.8`
23 23
 
24
-</p>
24
+
25 25
 
26 26
 Resources
27 27
 ---------
28 28
 
29
-</p>
29
+
30 30
 
31 31
 -   [Installing mod\_perl without superuser privileges][]
32 32
 
33
-</p>
33
+
34 34
 
35 35
   [Installing mod\_perl without superuser privileges]: http://www.perl.com/pub/2002/04/10/mod_perl.html?page=2

+ 2
- 2
content/1702-wordpress-network-plugin-management.md View File

@@ -19,7 +19,7 @@ I need to test all of these, at some point:
19 19
     setting network-wide: apply sitewide settings. Spread your settings
20 20
     or options on all your multisite blogs.
21 21
 
22
-</p>
22
+
23 23
 In other Multisite news, [scribu][] posted "[The Future of Multisite][]"
24 24
 with links to a few of his own plugins:
25 25
 
@@ -27,7 +27,7 @@ with links to a few of his own plugins:
27 27
 -   [Proper Network Activation][]
28 28
 -   [My Sites Widget][]
29 29
 
30
-</p>
30
+
31 31
 
32 32
   [Exclude Plugins]: http://wordpress.org/extend/plugins/exclude-plugins/
33 33
   [Restrict Multisite Plugins]: http://wordpress.org/extend/plugins/restrict-multisite-plugins/

+ 2
- 2
content/1708-google-plus-for-google-apps.md View File

@@ -9,7 +9,7 @@ WordPress-Post-Type: post
9 9
 
10 10
 [Finally][], + comes to Apps. Thank you, Google. Notable:
11 11
 
12
-<p>
12
+
13 13
 > For those of you who’ve already started using Google+ with a personal
14 14
 > Google Account and would prefer to use your Google Apps account, we’re
15 15
 > building a migration tool to help you move over. With this tool, you
@@ -19,6 +19,6 @@ WordPress-Post-Type: post
19 19
 > so if you’d like, you can go ahead and get started with your Apps
20 20
 > account today and merge your connections once the tool is available.
21 21
 
22
-</p>
22
+
23 23
 
24 24
   [Finally]: http://googleenterprise.blogspot.com/2011/10/google-is-now-available-with-google.html

+ 4
- 4
content/1712-use-openssl-to-issue-raw-http-requests.md View File

@@ -10,16 +10,16 @@ WordPress-Post-Type: post
10 10
 `telnet` is a handy tool for examining a raw HTTP connection, but it
11 11
 fails hard on HTTP over SSL:
12 12
 
13
-<p>
13
+
14 14
     ambackstrom@fsck:~:0$ telnet www.plymouth.edu 443Trying 158.136.1.105...Connected to algol.plymouth.edu.Escape character is '^]'.GET / HTTP/1.1Connection closed by foreign host.
15 15
 
16
-</p>
16
+
17 17
 Turns out `openssl` (which is a toolbox in its own right) [can step
18 18
 in][]:
19 19
 
20
-<p>
20
+
21 21
     openssl s_client -connect www.plymouth.edu:443
22 22
 
23
-</p>
23
+
24 24
 
25 25
   [can step in]: http://advosys.ca/viewpoints/2006/08/testing-ssl-with-command-line-tools/

+ 4
- 4
content/172-the-word-is-excess.md View File

@@ -11,7 +11,7 @@ We have a new resident in the University Commons parking lot: the
11 11
 obscenely large tank of an SUV, enemy of all things organic, the one,
12 12
 the only, [Hummer 2][]. I am shocked an appalled.
13 13
 
14
-</p>
14
+
15 15
 
16 16
 Apparently, this beast gets [about 10 miles per gallon][]. Yes, you
17 17
 heard right. It also retails for just under \$50,000. (Nearly \$60,000
@@ -22,18 +22,18 @@ it's a bargain at \$3,500. What's more, I get 35 to 40 miles/gallon on
22 22
 the highway. It's not much to look at, but it gets me around, and damned
23 23
 if it's not economical.
24 24
 
25
-</p>
25
+
26 26
 
27 27
 Quick calculations: assuming 10,000 road miles a year and \$1.55 a
28 28
 gallon for gas, I estimate I spend \$442 a year on gas. The proud owner
29 29
 of the H2 outside my apartment will shell out \$1,550 for the same
30 30
 mileage.
31 31
 
32
-</p>
32
+
33 33
 
34 34
 Gah, just needed to vent. Thanks for listening. =P
35 35
 
36
-</p>
36
+
37 37
 
38 38
   [Hummer 2]: http://store.310motoring.com/image/sku/632/2/2003%20h2%20Hummer%20LARGE.jpg
39 39
   [about 10 miles per gallon]: http://www.businessreport.com/pub/21_6/betterlife/2932-1.html

+ 7
- 7
content/173-bash-tips-testing-arguments.md View File

@@ -10,25 +10,25 @@ WordPress-Post-Type: post
10 10
 Ever want to test command line arguments in bash, mixing arguments and
11 11
 execution options? I have. Here's one way to do it:
12 12
 
13
-</p>
14 13
 
15
-<p>
14
+
15
+
16 16
     #!/bin/shfilelist=until [ -z "$1" ]; do # use a case statement to test vars. we always test  # test $1 and shift at the end of the for block. case $1 in       --home|