Initial commit

This commit is contained in:
uriel 2007-05-27 13:25:55 +02:00
commit 58060d803e
27 changed files with 4211 additions and 0 deletions

44
bin/controller.rc Executable file
View File

@ -0,0 +1,44 @@
#!/usr/local/plan9/bin/rc
path=(. ./bin $PLAN9/bin /bin/ /usr/bin)
ifs='/' { args = `{ echo -n $REQUEST_URI | sed -e 's/[^a-zA-Z_\-\/]//g' -e 's/\?.*//' } }
args=`{echo $args | tr -d '
'}
cd ..
# config
body=index
title=Title
template=default
sidebar=sidebar
. etc/initrc
if (! ~ $#args 0 && ! ~ $args '') {
title=$args($#args)
body=`{ echo -n $"args |sed 's, ,/,g' }
}
l=tpl
for ( i in $args ) {
l = $l'/'$i
if ( test -f $l/_config ) {
. $l/_config
}
}
template=tpl/$template.tpl
if (! ~ $sidebar 0) { sidebar=tpl/_inc/$sidebar.tpl }
if (test -d tpl/$body) {
body=$body/index
}
body=`{echo tpl/^$"body^.md | sed 's, ,/,' }
template.awk $template | rc
echo '<pre>'
#echo $"args
#env

4
bin/gensitemaptxt.sh Executable file
View File

@ -0,0 +1,4 @@
#!/bin/sh
find . -name '*.md'|sed -e 's/\.md$//' -e 's,/index$,/,' -e 's,^\.,http://harmful.cat-v.org,'

1447
bin/markdown.pl Executable file

File diff suppressed because it is too large Load Diff

55
bin/template.awk Executable file
View File

@ -0,0 +1,55 @@
#!/usr/bin/awk -f
function pr(str) {
if(lastc !~ "[{(]")
gsub(/'/, "''", str)
printf "%s", str
}
function trans(c) {
printf "%s", end
lastc = c
end = "\n"
if(c == "%")
end = ""
else if(c == "(")
printf "echo -n "
else if(c ~ "[})]") {
end = "'\n"
printf "echo -n '"
}
}
BEGIN {
lastc = "{"
trans("}")
}
END {
print end
}
/^%/ && $0 !~ /^%[{()}%]/ && lastc !~ /[({]/ {
trans("%")
print substr($0, 2)
next
}
{
if(lastc == "%")
trans("}")
n = split($0, a, "%")
pr(a[1])
for(i=2; i<=n; i++) {
c = substr(a[i], 1, 1)
rest = substr(a[i], 2)
if((lastc !~ "[({]" && c ~ "[({]") ||
(lastc == "{" && c == "}") ||
(lastc == "(" && c == ")"))
trans(c)
else if(c == "%")
pr("%")
else
pr("%" c)
pr(rest)
}
pr("\n")
}

39
bin/urldecode.awk Executable file
View File

@ -0,0 +1,39 @@
#!/usr/bin/awk -f
BEGIN {
hextab ["0"] = 0; hextab ["8"] = 8;
hextab ["1"] = 1; hextab ["9"] = 9;
hextab ["2"] = 2; hextab ["A"] = hextab ["a"] = 10
hextab ["3"] = 3; hextab ["B"] = hextab ["b"] = 11;
hextab ["4"] = 4; hextab ["C"] = hextab ["c"] = 12;
hextab ["5"] = 5; hextab ["D"] = hextab ["d"] = 13;
hextab ["6"] = 6; hextab ["E"] = hextab ["e"] = 14;
hextab ["7"] = 7; hextab ["F"] = hextab ["f"] = 15;
}
{
decoded = ""
i = 1
len = length ($0)
while ( i <= len ) {
c = substr ($0, i, 1)
if ( c == "%" ) {
if ( i+2 <= len ) {
c1 = substr ($0, i+1, 1)
c2 = substr ($0, i+2, 1)
if ( hextab [c1] == "" || hextab [c2] == "" ) {
print "WARNING: invalid hex encoding: %" c1 c2 | "cat >&2"
} else {
code = 0 + hextab [c1] * 16 + hextab [c2] + 0
c = sprintf ("%c", code)
i = i + 2
}
} else {
print "WARNING: invalid % encoding: " substr ($0, i, len - i)
}
} else if ( c == "+" ) {
c = " "
}
decoded = decoded c
++i
}
print decoded
}

1
etc/initrc Normal file
View File

@ -0,0 +1 @@
title=cat-v.org

Binary file not shown.

File diff suppressed because it is too large Load Diff

11
pub/sitemap.txt Normal file
View File

@ -0,0 +1,11 @@
http://harmful.cat-v.org/
http://harmful.cat-v.org/cat-v/
http://harmful.cat-v.org/software/
http://harmful.cat-v.org/software/xml
http://harmful.cat-v.org/children/
http://harmful.cat-v.org/children/fuck_the_children
http://harmful.cat-v.org/children/i_dont_care
http://harmful.cat-v.org/economics/subsidies
http://harmful.cat-v.org/economics/
http://harmful.cat-v.org/economics/minimum_wage
http://harmful.cat-v.org/economics/rent_controls

View File

@ -0,0 +1,292 @@
/***********************************************
* TITLE: Sinorca Alterative Screen Stylesheet *
* URI : sinorca/sinorca-screen-alt.css *
* MODIF: 2003-May-13 18:48 +0800 *
***********************************************/
/* ##### Common Styles ##### */
body {
color: black;
background-color: white;
font-family: verdana, helvetica, arial, sans-serif;
font-size: 71%; /* Enables font size scaling in MSIE */
margin: 0;
padding: 0;
}
html > body {
font-size: 8.5pt;
}
acronym, .titleTip {
border-bottom: 1px dotted rgb(153,153,153);
cursor: help;
margin: 0;
padding: 0 0 0.4px 0;
}
.doNotDisplay {
display: none;
}
.smallCaps {
font-size: 110%;
font-variant: small-caps;
}
/* ##### Header ##### */
.superHeader {
color: white;
background-color: rgb(100,135,220);
height: 2em;
}
.superHeader a {
color: white;
background-color: transparent;
text-decoration: none;
font-size: 91%;
margin: 0;
padding: 0 0.5ex 0 0.25ex;
}
.superHeader a:hover {
text-decoration: underline;
}
.superHeader .left {
position: absolute;
left: 1.5mm;
top: 0.75ex;
}
.superHeader .right {
position: absolute;
right: 1.5mm;
top: 0.75ex;
}
.midHeader {
color: rgb(39,78,144);
background-color: rgb(140,170,230);
}
.headerTitle {
font-size: 337%;
font-weight: normal;
margin: 0 0 0 4mm;
padding: 0.25ex 0;
}
.subHeader {
color: white;
background-color: rgb(0,51,153);
margin: 0;
padding: 1ex 1ex 1ex 1.5mm;
}
.subHeader a {
color: white;
background-color: transparent;
text-decoration: none;
font-weight: bold;
margin: 0;
padding: 0 0.75ex 0 0.5ex;
}
.subHeader a:hover {
text-decoration: underline;
}
.superHeader .highlight, .subHeader .highlight {
color: rgb(253,160,91);
background-color: transparent;
}
/* ##### Side Boxes ##### */
#side-bar {
width: 14em;
margin: 2.5em 0 0 1.25mm;
float: left;
clear: left;
}
body > #side-bar {
margin-left: 2.5mm; /* Circumvents a rendering bug in MSIE (6.0) */
}
.sideBarTitle {
color: white;
background-color: rgb(100,135,220);
font-weight: bold;
margin: 0;
padding: 0.4ex 0 0.4ex 0.6ex;
}
#side-bar ul {
list-style-type: none;
list-style-position: outside;
margin: 0;
padding: 0 0 2.25em 0;
}
#side-bar li {
margin: 0;
padding: 0.1ex 0; /* Circumvents a rendering bug (?) in MSIE (6.0) */
}
#side-bar a, .thisPage {
color: rgb(0,102,204);
background-color: transparent;
text-decoration: none;
font-weight: bold;
margin: 0;
padding: 1.3ex 2ex;
display: block;
}
.thisPage {
color: black;
background-color: transparent;
}
#side-bar a:hover {
color: white;
background-color: rgb(100,135,220);
text-decoration: none;
}
.sideBarText {
line-height: 1.5em;
margin: 0 0 2.5em 0;
padding: 1ex 0.5ex 0 0.5ex;
display: block;
}
.sideBarText + .sideBarText { /* Not recognised by MSIE (6.0) */
margin-top: -1.5em;
}
#side-bar .sideBarText a {
text-decoration: underline;
font-weight: normal;
margin: 0;
padding: 0;
display: inline;
}
#side-bar .sideBarText a:hover {
color: rgb(0,102,204);
background-color: transparent;
text-decoration: none;
}
/* ##### Main Copy ##### */
#main-copy {
color: black;
background-color: transparent;
text-align: justify;
line-height: 1.5em;
margin: -1em 0 0 15em;
padding: 0.5mm 5mm 5mm 5mm;
}
#bodyText {
margin: 0 0 0 15.5em;
padding: 2mm 5mm 2mm 5mm;
}
#main-copy p {
margin: 1em 1ex 2em 1ex;
padding: 0;
}
#main-copy a {
color: rgb(0,102,204);
background-color: transparent;
text-decoration: underline;
}
#main-copy a:hover {
text-decoration: none;
}
#main-copy h1 {
color: rgb(0,102,204);
background-color: transparent;
font-size: 145.5%;
font-weight: bold;
margin: 2em 0 0 0;
padding: 0.5ex 0 0.5ex 0.6ex;
border-bottom: 1px solid rgb(0,102,204);
}
#main-copy .topOfPage {
color: rgb(0,102,204);
background-color: transparent;
font-size: 91%;
font-weight: bold;
text-decoration: none;
margin: 3ex 1ex 0 0;
padding: 0;
float: right;
}
dl {
margin: 1em 1ex 2em 1ex;
padding: 0;
}
dt {
font-weight: bold;
margin: 0 0 0 0;
padding: 0;
}
dd {
margin: 0 0 2em 2em;
padding: 0;
}
/* ##### Footer ##### */
#footer {
color: white;
background-color: rgb(100,135,220);
font-size: 91%;
margin: 0;
padding: 1em 2.5mm 2.5ex 2.5mm;
clear: both;
}
#footer .left {
text-align: left;
line-height: 1.45em;
float: left;
clear: left;
}
#footer .right {
text-align: right;
line-height: 1.45em;
}
#footer a {
color: white;
background-color: transparent;
text-decoration: underline;
}
#footer a:hover {
text-decoration: none;
}

342
pub/style/style.css Normal file
View File

@ -0,0 +1,342 @@
/* Default style */
/* ##### Common Styles ##### */
body {
color: black;
background-color: white;
font-family: verdana, helvetica, arial, sans-serif;
font-size: 71%; /* Enables font size scaling in MSIE */
margin: 0;
padding: 0;
}
html > body {
font-size: 8.5pt;
}
acronym, .titleTip {
border-bottom: 1px dotted rgb(153,153,153);
cursor: help;
margin: 0;
padding: 0 0 0.4px 0;
}
.doNotDisplay {
display: none;
}
.smallCaps {
font-size: 110%;
font-variant: small-caps;
}
/* ##### Header ##### */
.superHeader {
color: white;
background-color: rgb(100,135,220);
height: 2em;
}
.superHeader a {
color: white;
background-color: transparent;
text-decoration: none;
font-size: 91%;
margin: 0;
padding: 0 0.5ex 0 0.25ex;
}
.superHeader a:hover {
text-decoration: underline;
}
.superHeader .left {
position: absolute;
left: 1.5mm;
top: 0.75ex;
}
.superHeader .right {
position: absolute;
right: 1.5mm;
top: 0.75ex;
}
.midHeader {
color: rgb(39,78,144);
background-color: rgb(140,170,230);
border: solid 0 black;
border-width: 0.3em 0;
}
.headerTitle {
color: black;
font-size: 337%;
font-weight: normal;
margin: 0 0 0 4mm;
padding: 0.25ex 0;
}
#headerSubTitle {
font-size: 50%;
font-style: italic;
}
.subHeader {
display: none;
color: white;
background-color: rgb(0,51,153);
margin: 0;
padding: 1ex 1ex 1ex 1.5mm;
}
.subHeader a {
color: white;
background-color: transparent;
text-decoration: none;
font-weight: bold;
margin: 0;
padding: 0 0.75ex 0 0.5ex;
}
.subHeader a:hover {
text-decoration: underline;
}
.superHeader .highlight, .subHeader .highlight {
color: rgb(253,160,91);
background-color: transparent;
}
/* ##### Side Boxes ##### */
#side-bar {
width: 15em;
float: left;
clear: left;
border-right: 1px solid rgb(153,153,153);
}
#side-bar div {
border-bottom: 1px solid rgb(153,153,153);
}
.sideBarTitle {
font-weight: bold;
margin: 0 0 0.5em 2.5mm;
padding: 1em 0 0 0;
}
#side-bar ul {
list-style-type: none;
list-style-position: outside;
margin: 0;
padding: 0 0 0.3em 0;
}
li ul {
padding-left: 1.2em !important;
}
#side-bar li {
margin: 0;
padding: 0.1ex 0; /* Circumvents a rendering bug (?) in MSIE 6.0 */
}
#side-bar a, .thisPage {
color: rgb(0,102,204);
background-color: transparent;
text-decoration: none;
margin: 0;
padding: 0.35em 1ex 0.35em 5mm;
display: block;
text-transform: capitalize;
font-weight: bold;
}
.thisPage, .thisPage a {
color: black!important;
background-color: white;
padding-left: 5mm;
XXXborder-top: 1px solid rgb(153,153,153);
XXXborder-bottom: 1px solid rgb(153,153,153);
font-weight: 600;
}
#side-bar a:hover {
color: white;
background-color: rgb(100,135,220);
text-decoration: none;
}
.sideBarText {
line-height: 1.5em;
margin: 0 0 1em 0;
padding: 0 1.5ex 0 2.5mm;
display: block;
}
#side-bar .sideBarText a {
text-decoration: underline;
margin: 0;
padding: 0;
display: inline;
}
#side-bar .sideBarText a:hover {
color: rgb(0,102,204);
background-color: transparent;
text-decoration: none;
}
.lighterBackground {
color: inherit;
background-color: white;
}
/* ##### Main Copy ##### */
#main-copy {
max-width: 80em;
color: black;
background-color: transparent;
text-align: justify;
line-height: 1.5em;
margin: 0em 0 0 15em;
padding: 0.5mm 5mm 5mm 5mm;
border-left: 1px solid rgb(153,153,153);
}
#bodyText {
margin: 0 0 0 15.5em;
padding: 2mm 5mm 2mm 5mm;
}
#main-copy p {
margin: 1em 1ex 2em 1ex;
padding: 0;
}
#main-copy a {
color: rgb(0,102,204);
background-color: transparent;
text-decoration: underline;
}
#main-copy a:hover {
text-decoration: none;
}
#main-copy h1 {
color: rgb(0,102,204);
background-color: transparent;
font-size: 145.5%;
font-weight: bold;
margin: 2em 0 0 0;
padding: 0.5ex 0 0.5ex 0.6ex;
border-bottom: 1px solid rgb(0,102,204);
}
#main-copy .topOfPage {
color: rgb(0,102,204);
background-color: transparent;
font-size: 91%;
font-weight: bold;
text-decoration: none;
margin: 3ex 1ex 0 0;
padding: 0;
float: right;
}
dl {
margin: 1em 1ex 2em 1ex;
padding: 0;
}
dt {
font-weight: bold;
margin: 0 0 0 0;
padding: 0;
}
dd {
margin: 0 0 2em 2em;
padding: 0;
}
/* ##### Footer ##### */
#footer {
color: white;
background-color: rgb(100,135,220);
font-size: 91%;
margin: 0;
padding: 1em 2.5mm 2.5ex 2.5mm;
clear: both;
}
#footer .left {
text-align: left;
line-height: 1.45em;
float: left;
clear: left;
}
#footer .right {
text-align: right;
line-height: 1.45em;
}
#footer a {
color: white;
background-color: transparent;
text-decoration: underline;
}
#footer a:hover {
text-decoration: none;
}
/* GENERAL */
/* Spam */
.spam {
text-align: center;
}
/* Tables */
table {
border: solid 1px black;
}
th {
background-color: #abc;
border: solid 1px black;
}
td {
background-color: #def;
border: solid 1px black;
}
hr {
border-width: 0px 0px 0.1em 0px;
border-color: black;
}
.spam table, .spam th, .spam td {
border: none;
}
/* Code */
pre {
margin-left: 2em;
}

330
pub/style/style_old.css Normal file
View File

@ -0,0 +1,330 @@
/* Old Default style */
/* ##### Common Styles ##### */
body {
color: black;
XXXbackground-color: rgb(240,240,240);
background-color: white;
font-family: verdana, helvetica, arial, sans-serif;
font-size: 71%; /* Enables font size scaling in MSIE */
margin: 0;
padding: 0;
}
html > body {
font-size: 8.5pt;
}
acronym, .titleTip {
border-bottom: 1px dotted rgb(153,153,153);
cursor: help;
margin: 0;
padding: 0 0 0.4px 0;
}
.doNotDisplay {
display: none;
}
.smallCaps {
font-size: 110%;
font-variant: small-caps;
}
/* ##### Header ##### */
.superHeader {
color: white;
background-color: rgb(100,135,220);
height: 2em;
}
.superHeader a {
color: white;
background-color: transparent;
text-decoration: none;
font-size: 91%;
margin: 0;
padding: 0 0.5ex 0 0.25ex;
}
.superHeader a:hover {
text-decoration: underline;
}
.superHeader .left {
position: absolute;
left: 1.5mm;
top: 0.75ex;
}
.superHeader .right {
position: absolute;
right: 1.5mm;
top: 0.75ex;
}
.midHeader {
color: rgb(39,78,144);
background-color: rgb(140,170,230);
border: solid 0 black;
border-width: 0.3em 0;
}
.headerTitle {
color: black;
font-size: 337%;
font-weight: normal;
margin: 0 0 0 4mm;
padding: 0.25ex 0;
}
#headerSubTitle {
font-size: 50%;
font-style: italic;
}
.subHeader {
display: none;
color: white;
background-color: rgb(0,51,153);
margin: 0;
padding: 1ex 1ex 1ex 1.5mm;
}
.subHeader a {
color: white;
background-color: transparent;
text-decoration: none;
font-weight: bold;
margin: 0;
padding: 0 0.75ex 0 0.5ex;
}
.subHeader a:hover {
text-decoration: underline;
}
.superHeader .highlight, .subHeader .highlight {
color: rgb(253,160,91);
background-color: transparent;
}
/* ##### Side Bar ##### */
#side-bar {
width: 15em;
float: left;
clear: left;
border-right: 1px solid rgb(153,153,153);
}
#side-bar div {
border-bottom: 1px solid rgb(153,153,153);
}
.sideBarTitle {
font-weight: bold;
margin: 0 0 0.5em 2.5mm;
padding: 1em 0 0 0;
}
#side-bar ul {
list-style-type: none;
list-style-position: outside;
margin: 0;
padding: 0 0 1.1em 0;
}
#side-bar li {
margin: 0;
padding: 0.1ex 0; /* Circumvents a rendering bug (?) in MSIE 6.0 */
}
#side-bar a, .thisPage {
color: rgb(0,102,204);
background-color: transparent;
XXXtext-decoration: none;
margin: 0;
padding: 0.55em 1ex 0.55em 5mm;
display: block;
}
.thisPage {
color: black;
background-color: white;
padding-left: 5mm;
XXXborder-top: 1px solid rgb(153,153,153);
XXXborder-bottom: 1px solid rgb(153,153,153);
font-weight: 600;
}
#side-bar a:hover {
color: white;
background-color: rgb(100,135,220);
text-decoration: none;
}
.sideBarText {
line-height: 1.5em;
margin: 0 0 1em 0;
padding: 0 1.5ex 0 2.5mm;
display: block;
}
#side-bar .sideBarText a {
text-decoration: underline;
margin: 0;
padding: 0;
display: inline;
}
#side-bar .sideBarText a:hover {
color: rgb(0,102,204);
background-color: transparent;
text-decoration: none;
}
.lighterBackground {
color: inherit;
background-color: white;
}
/* ##### Main Copy ##### */
#main-copy {
max-width: 90em;
color: black;
background-color: white;
text-align: justify;
line-height: 1.5em;
margin: 0 0 0 15em;
padding: 0.5mm 5mm 5mm 5mm;
border-left: 1px solid rgb(153,153,153);
}
#main-copy p {
margin: 1em 1ex 2em 1ex;
padding: 0;
}
#main-copy a {
color: rgb(0,102,204);
background-color: transparent;
text-decoration: underline;
}
#main-copy a:hover {
text-decoration: none;
}
#main-copy h1 {
color: white;
background-color: rgb(100,135,220);
font-size: 100%;
font-weight: bold;
margin: 3em 0 0 0;
padding: 0.5ex 0 0.5ex 1ex;
}
#main-copy .topOfPage {
color: white;
background-color: transparent;
font-size: 91%;
font-weight: bold;
text-decoration: none;
margin: 2.5ex 1ex 0 0; /* For MSIE */
padding: 0;
float: right;
}
#main-copy > .topOfPage {
margin: 2.75ex 1ex 0 0; /* For fully standards-compliant user agents */
}
dl {
margin: 1em 1ex 2em 1ex;
padding: 0;
}
dt {
font-weight: bold;
margin: 0 0 0 0;
padding: 0;
}
dd {
margin: 0 0 2em 2em;
padding: 0;
}
/* ##### Footer ##### */
#footer {
color: white;
background-color: rgb(100,135,220);
font-size: 91%;
margin: 0;
padding: 1em 2.5mm 2.5ex 2.5mm;
clear: both;
}
#footer .left {
line-height: 1.45em;
float: left;
clear: left;
}
#footer .right {
text-align: right;
line-height: 1.45em;
}
#footer a {
color: white;
background-color: transparent;
text-decoration: underline;
}
#footer a:hover {
text-decoration: none;
}
/* GENERAL */
/* Spam */
.spam {
text-align: center;
}
/* Tables */
table {
border: solid 1px black;
}
th {
background-color: #abc;
border: solid 1px black;
}
td {
background-color: #def;
border: solid 1px black;
}
hr {
border-width: 0px 0px 0.1em 0px;
border-color: black;
}
.spam table, .spam th, .spam td {
border: none;
}
/* Code */
pre {
margin-left: 2em;
}

49
tpl/_inc/404.tpl Normal file
View File

@ -0,0 +1,49 @@
<h1>The page requested doesn't exist</h1>
<br />
Try searching in cat-v.org:
<div class="spam">
<!-- SiteSearch Google -->
<form method="get" action="http://www.google.com/custom" target="_top">
<table border="0" bgcolor="#ffffff">
<tr><td nowrap="nowrap" valign="top" align="left" height="32">
</td>
<td nowrap="nowrap">
<input type="hidden" name="domains" value="harmful.cat-v.org;cat-v.org"></input>
<label for="sbi" style="display: none">Enter your search terms</label>
% echo '<input type="text" name="q" size="32" maxlength="255" value="'$title'" id="sbi"></input>'
<label for="sbb" style="display: none">Submit search form</label>
<input type="submit" name="sa" value="Google Search" id="sbb"></input>
</td></tr>
<tr>
<td>&nbsp;</td>
<td nowrap="nowrap">
<table>
<tr>
<td>
<input type="radio" name="sitesearch" value="" id="ss0"></input>
<label for="ss0" title="Search the Web"><font size="-1" color="#000000">Web</font></label></td>
<td>
<input type="radio" name="sitesearch" value="harmful.cat-v.org" checked id="ss1"></input>
<label for="ss1" title="Search harmful.cat-v.org"><font size="-1" color="#000000">harmful.cat-v.org</font></label></td>
</tr>
<tr>
<td>
<input type="radio" name="sitesearch" value="cat-v.org" id="ss2"></input>
<label for="ss2" title="Search cat-v.org"><font size="-1" color="#000000">cat-v.org</font></label></td>
<td></td>
</tr>
</table>
<input type="hidden" name="client" value="pub-2060328396151526"></input>
<input type="hidden" name="forid" value="1"></input>
<input type="hidden" name="channel" value="6944454412"></input>
<input type="hidden" name="ie" value="UTF-8"></input>
<input type="hidden" name="oe" value="UTF-8"></input>
<input type="hidden" name="cof" value="GALT:#008000;GL:1;DIV:#336699;VLC:663399;AH:center;BGC:FFFFFF;LBGC:336699;ALC:0000FF;LC:0000FF;T:000000;GFNT:0000FF;GIMP:0000FF;LH:48;LW:48;L:http://plan9.bell-labs.com/plan9/img/9logo.jpg;S:http://harmful.cat-v.org;LP:1;FORID:1"></input>
<input type="hidden" name="hl" value="en"></input>
</td></tr></table>
</form>
<!-- SiteSearch Google -->
</div>

35
tpl/_inc/sidebar.tpl Normal file
View File

@ -0,0 +1,35 @@
echo '<p class="sideBarTitle">Considered harmful:</p>'
fn menu {
ls -F $1 | sed -e 's,^./,,' -e 's,\.md$,,' | grep -v '^_'| awk '
BEGIN { print "<ul class=\"sidebar\">" }
END { print "</ul>" }
/^([a-zA-Z0-9_\-]+[\/*]?)+$/ && ! /index$/ {
isdir = match($0, "/$")
sub("[*/]$", "") # The '*' makes no sense to me
if(isdir)
d = "/"
bname = $0
sub("^(.*/)?([0-9]+_)?", "", bname)
gsub("_", " ", bname)
bname = bname d
if(index(ENVIRON["REQUEST_URI"], "/" $0) == 1) {
if(isdir) {
print "<li><a href=\"/" $0 d "\">&raquo;<i> " bname "</i></a>"
system("rc -c ''menu " $0 "''")
} else {
print "<li><a href=\"/" $0 d "\" class=\"thisPage\">&raquo;<i> " bname "</i></a>"
}
} else
print "<li><a href=\"/" $0 d "\">&rsaquo; " bname "</a>"
print "</li>"
}'
}
cd tpl
menu .
cd ..

37
tpl/cat-v/index.md Normal file
View File

@ -0,0 +1,37 @@
UNIX Style, or cat -v Considered Harmful
========================================
At the USENIX Summer Conference of 1983 [Rob Pike](http://herpolhode.com/rob/)
made a presentation titled '*UNIX Style, or cat -v Considered Harmful*' and
together with Brian Kernighan wrote the paper '*Program Design Design in the
UNIX Environment*' ([pdf version](unix_prog_design.pdf), [ps
version](unix_prog_design.ps)).
This was a prelude for their famous book [The Unix Programming
Environment](http://cm.bell-labs.com/cm/cs/upe/) that today is considered *the
bible of Unix*.
Unfortunately their advice has been completely ignored, and today Unix has become
overcome by exactly the kind of mistakes they warned against.
Bell Laboratories
Murray Hill, NJ (dec!ucb)wav!research!rob
It seems that UNIX has become the victim of cancerous growth at the hands of
organizations such as UCB. 4.2BSD is an order of magnitude larger than Version
5, but, Pike claims, not ten times better.
The talk reviews reasons for UNIX's popularity and shows, using UCB cat as a
primary example, how UNIX has grown fat. cat isn't for printing files with line
numbers, it isn't for compressing multiple blank lines, it's not for looking at
non-printing ASCII characters, it's for concatenating files.
We are reminded that ls isn't the place for code to break a single column into
multiple ones, and that mailnews shouldn't have its own more processing or joke
encryption code.
Rob carried the standard well for the "spirit of UNIX," and you can look
forward to a deeper look at the philosophy of UNIX in his forthcoming book.

Binary file not shown.

View File

@ -0,0 +1,82 @@
George Carlin:
Something else I'm getting tired of in this country is all this stupid talk
I have to listen to about children. That's all you hear about anymore,
children: "Help the children, save the children, protect the children." You
know what I say? Fuck the children!
They're getting entirely too much attention. And I know what some of you are
thinking: " Jesus, he's not going to attack children, is he?" Yes he is!
He's going to attack children. And remember, this is Mr. Conductor talking;
I know what I'm talking about.
And I also know that all you boring single dads and working moms, who think
you're such fucking heros, aren't gonna like this, but somebody's gotta tell
you for your own good: your children are overrated and overvalued, and
you've turned them into little cult objects. You have a child fetish, and
it's not healthy. And don't give me all that weak shit, "Well, I love my
children." Fuck you! Everybody loves their children; it doesn't make you
special. : : : John Wayne Gacy loved his children. Yes, he did. That's not
what I'm talking about. What I'm talking about is this constant, mindless
yammering in the media, this neurotic fixation that suggests that somehow
everything--everything--has to revolve around the lives of children. Ist's
completely out of balance.
Listen, there are a couple of things about kids you have to remember. First
of all, they're not all cute. In fact, if you look at 'em real close, most
of them are rather unpleasant looking. And a lot of them don't smell too
good either. The little ones in particular seem to have a kind of urine and
sour-milk combination that I don't care for at all. Stay with me on this
folks, the sooner you face it the better off your going to be.
Second, premise: not all chidren are smart and clever. Got that? Kids are
like any other group of people: a few winners, a whole lot of losers! This
country is filled with loser kids who simply...aren't...going anywhere! And
there's nothing you can do about it, folks. Nothing! You can't save them
all. You can't do it. You gotta let 'em go; you gotta cut 'em loose; you
gotta stop over-protecting them, because your making 'em too soft.
Today's kids are way too soft. : : : For one thing, there's too much
emphasis on safety and safety equipment: childproof medicine bottles,
fireproof pajamas, child restraints, car seats. And helmets! Bicycle,
baseball, skateboard, scooter helmets. Kids have to wear helmets now for
everything but jerking off. Grown-ups have taken all the fun out of being a
kid. : : : What's happened is, these baby boomers, these soft, fruity baby
boomers, have raised an entire generation of soft, fruity kids who aren't
even allowed hazardous toys, for Chrissakes! What ever happened to natural
selection? Survival of the fittest? The kid who swallows too many marbles
doesn't grow up to have kids of his own. Simple stuff. Nature knows best!
Another bunch of ignorant bullshit about your children: school uniforms. Bad
theory! The idea that if kids wear uniforms to school, it helps keep order.
Hey! Don't these schools do enough damage makin' all these children think
alike? Now they're gonna get 'em to look alike, too? : : : And it's not even
a new idea; I first saw it in old newsreels from the 1930s, but it was hard
to understand, because the narration was in German! But the uniforms looked
beautiful. And the children did everything they were told and never
questioned authority. Gee, I wonder why someone would want to put our
children in uniforms. Can't imagine.
And one more item about children: this superstitous nonsense of blaming
tobacco companies for kids who smoke. Listem! Kids don't smoke because a
camel in sunglasses tells them to. They smoke for the same reasons adults
do, because it's an enjoyable activity that relieves anxiety and depression.
And you'd be anxious and depressed too if you had to put up with these
pathetic, insecure, yuppie parents who enroll you in college before you've
figured out which side of the playpen smells the worst and then fill you
with Ritalin to get you in a mood they approve of, and drag you all over
town in search of empty, meaningless structure: Little League, Cub Scouts,
swimming, soccer, karate, piano, bagpipes, watercolors, witchcraft, glass
blowing, and dildo practice. It's absurd. : : : They even have "play dates",
for Christ sake! Playing is now done by appointment! But it's true. A lot of
these striving, and parents are burning their kids out on structure. I think
what every child needs and ought to have every day is two hours of
daydreaming. Plain old daydreaming.
Turn off the internet, the CD-ROMS, and the computer games and let them
stare at a tree for a couple of hours. Every now and then they actually come
up with one of their own ideas. You want to know how to help your kids?
Leave them the fuck alone.

View File

@ -0,0 +1,58 @@
I Dont Fucking Care About The Children. 18 December 2002
There. I said it. I dont care about “the children” - and I dont care about
protecting themselves. Keep your fucking plastic plates away from my outlets.
Keep your petitions to shut down the porno houses away from me, let I tear them
to bits and urinate upon them. If you tell me to throw away my books, violent
movies and games, or the like to keep the minds of children clean - I will tell
you to shove your head up your ass, fucker. This insane quest to protect “The
Children” is absurd! We coddle and we coddle the damn things and they still
turn out maladjusted… wait, maybe they wouldnt turn out maladjusted if they
werent coddled! When children used to scream or throw tantrums or beat up
other children - they were usually PUNISHED! What a novel concept! Punishment!
Negative reinforcement for negative actions - how novel!
Worst of all, is the foisting of the care and proper raising of these wastes of
sperm and egg onto the populace at large! This is of course, when it doesnt
involve the actual mental raising of the child - such as setting limits, or
telling the damn thing what it can or cannot do. That will damage its precious
self-esteem! We cant have that, can we?! So, if we cant tell the child
theyre doing something wrong, dangerous or illegal - what can we do? We can
immediately cease and desist all enjoyable activities that children either
cannot, or shoud not be involved in. Activities such as reading books with foul
language, playing violent games, watching porn, having pre-marital sex, eating
unhealthy foods, or thinking for ourselves.
Meanwhile, the parents will continue to funnel McDonalds and Easy Mac into
juniors gaping maw because its easier than cooking a healthy meal. They will
continue to bitch about whats on the television to politicians while letting
junior sit in front of it for 6 hours a day. They complain about women getting
abortions, because it “kills precious babies” while letting unwanted children
rot in orphanages and state care. They complain about people who say fuck in
public, while seeing nothing wrong with assualting anyone who dares tell their
child the simple word “No.” They constantly buy all the newest plastic
kindercrap, that junior is just going to play with for five minutes, than throw
it on the pile. This is the future? A world of spoiled brats who dont know how
to control themselves above being able to hold in their shit until they can
find a toilet. A world of morons who blame everyone but themselves for their
own shortcomings. A world of closed-minded fuckers who refuse to budge from the
Staus Quo?
For the love of God, I cant take that! I cant fucking deal with that shit.
Its not that I want to kill kids. That would involve being near the little
buggers long enough to get off a shot. I support public education - assuming
its good education, and not a glorfied state babysitter who cant give a child
an F without getting reamed by both the parents and the administration. I
support socialized health care for everyone - adult and child. That doesnt
mean I think we should suck up and kiss ass to anyone with half a brain and
proof of a functioning reproductive system (i.e. a child). Parenting is the
parents responsibility - not mine, not the governments. Dont pass the buck
to me, for fucks sake. Im not making you do my computer science homework, so
dont make me suffer the atonal screamings of your twatrocket while Im trying
to eat, and dont make my put up with your spoiled sprogling demanding what he
cant get.
It is not my job, fuckers. Parent your own damn children!
Devo - Jocko Homo/I Need A Chick

16
tpl/children/index.md Normal file
View File

@ -0,0 +1,16 @@
Children considered harmful
===========================
Children are nothing more than a toy some parents use to feed their ego and feel important. They are a nuisance and make life miserable for everyone else around.
Some recommended articles for parents, prospective parents, or anyone that has to suffer the evils caused by little evil goblins.
* [Fuck the children](fuck_the_children) by George Carlin
* [I Dont Fucking Care About The Children](i_dont_care) by Devo - Jocko Homo
Alternatives to children
------------------------
* Contraception
* Videogames

142
tpl/default.tpl Normal file
View File

@ -0,0 +1,142 @@
Content-Type: text/html
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<meta name="verify-v1" content="6zEoK0WMlnLmIS/w7Pnh6+srZECHsvnMGN0kQmowSGk=" />
% echo '<title>'$title'</title>'
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="copyright" content="&copy; 2007 by k" />
<meta name="author" content="uriel" />
<link rel="stylesheet" href="/style/style.css" type="text/css" media="screen" title="default" />
<link rel="stylesheet alternative" type="text/css" href="/style/style_old.css" media="screen" title="Old Style" />
</head>
<body>
<div id="header">
<div class="superHeader">
<div class="left">
<a href="http://harmful.cat-v.org">harmful</a> |
<a href="http://cat-v.org">cat-v.org</a> |
<a href="http://cat-v.org/who/uriel/">uriel</a> |
<a href="http://cat-v.org/9p/">9P</a>
</div>
<div class="right">
<span class="doNotDisplay">Related sites:</span>
<a href="http://9fans.net">Plan 9 from Bell Labs</a> |
<a href="http://plan9.us">Plan 9 from User Space</a> |
<a href="http://code.google.com/p/inferno-os/">Inferno</a>
</div>
</div>
<div class="midHeader">
<h1 class="headerTitle">cat-v <span id="headerSubTitle">Considered harmful</span></h1>
</div>
<div class="subHeader">
<br />
</div>
</div>
%if (! ~ $#sidebar 0) {
<div id="side-bar">
% # template.awk $sidebar | rc
<div>
% cat $sidebar | rc
</div>
<div class="spam" style="padding: 1em 0;">
<script type="text/javascript"><!--
google_ad_client = "pub-2060328396151526";
google_alternate_color = "3D81EE";
google_ad_width = 125;
google_ad_height = 125;
google_ad_format = "125x125_as";
google_ad_type = "text";
google_ad_channel = "";
google_color_border = "FFFFFF";
google_color_bg = "FFFFFF";
google_color_link = "0000FF";
google_color_text = "000000";
google_color_url = "008000";
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div>
</div>
% }
<div id="main-copy">
<div class="spam">
<script type="text/javascript"><!--
google_ad_client = "pub-2060328396151526";
google_ad_width = 728;
google_ad_height = 15;
google_ad_format = "728x15_0ads_al";
google_ad_channel = "";
google_color_border = "FFFFFF";
google_color_bg = "FFFFFF";
google_color_link = "0000FF";
google_color_text = "000000";
google_color_url = "008000";
//--></script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div>
% if ( test -f $body ) { cat $body | markdown.pl }
% if not { template.awk tpl/_inc/404.tpl | rc }
<hr />
<div class="spam">
<script type="text/javascript"><!--
google_ad_client = "pub-2060328396151526";
google_alternate_color = "FFFFFF";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text";
//2007-05-26: harmful-bottom-banner
google_ad_channel = "2301440557";
google_color_border = "FFFFFF";
google_color_bg = "FFFFFF";
google_color_link = "0000FF";
google_color_text = "000000";
google_color_url = "008000";
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div>
</div>
<div id="footer">
<!--
%#echo $body
<br class="doNotDisplay doNotPrint" />
<div class="right">
Author: <a href="http://cat-v.org/who/uriel/">uriel</a>
<br />
Hosted at: <a href="http://cat-v.org">cat-v.org</a>
</div>
-->
</div>
</body>
</html>

34
tpl/economics/index.md Normal file
View File

@ -0,0 +1,34 @@
Economics
=========
Economics is a field that is just as often ridiculed, over-simplified, or most often outright ignored.
Despite this economic principles underline every aspect of our world, and the general lack of understanding of this principles is the cause of many of the problems that ail mankind.
In issues of economic policy often (alleged) intentions are given more importance than real consequences, and the generated incentives are ignored.
Here are some of the most misunderstood and harmful economic ideas:
* [Subsidies](subsidies)
* [Minimum wage](minimum_wage)
* [Rent controls](rent_controls)
* Antitrust laws
Milton Friedman
---------------
'*If an exchange between two parties is voluntary, it will not take place unless
both believe they will benefit from it. Most economic fallacies derive from the
neglect of this simple insight, from the tendency to assume that there is a fixe
d pie, that one party can only gain at the expense of another.*'
'*A major source of objection to a free economy is precisely that it ... gives pe
ople what they want instead of what a particular group thinks they ought to want
. Underlying most arguments against the free market is a lack of belief in freed
om itself.*'
'*One of the great mistakes is to judge policies and programmes by their intentio
ns rather than their results.*'

View File

@ -0,0 +1,29 @@
The unintended consequences of the minimum wage
===============================================
The minimum wage is one of the most persistent and pernicious economic policies, probably only surpassed in ineptitude by [rent controls](rent_controls) and [farm subsidies](subsidies).
Economists have recognized for decades that minimum wage laws result primarily in increased unemployment among the most vulnerable sectors of society, specially poor unskilled teenagers of racial minorities.
The amount of evidence to back this is huge, but still people refuses to accept that just because it sounds like a good idea to magically give poor workers a raise it doesn't mean that it actually works this way.
Ironically the main groups that consistently lobby to raise the minimum wage are unions of skilled workers that already earn much more than the minimum wage, and big business in the retail market who offer salaries slightly above the minimum wage.
This unholy union of unions and big business can be explained if one looks at the real consequences of raising the minimum wage: unskilled workers that might be able to compete with unionized workers thanks to their lower salary are put out of work safewarding the jobs of the well off unionized workers. At the same time small retail business that have very small margins are driven into bankruptcy by big corporations that take advantage of economies of scale and can afford to pay their workers salaries slightly above the minimum wage.
Alternatives
------------
If our goals is to improve the economic situation of disadvantaged workers probably the best known strategy is a negative income tax, this doesn't create negative incentives and preserves the existing positive incentives, it doesn't directly increase unemployment or hurt small business.
Links
-----
* [50 Years of Research on the Minimum Wage](http://www.house.gov/jec/cost-gov/regs/minimum/50years.htm)
* [Minimum Wage Teen-age Job Killer](http://www.ncpa.org/ba/ba292.html)
* [Santa Fes Living Wage and the Labor Market](http://www.epionline.org/study_detail.cfm?sid=90)
* [Spinimum Wage](http://www.tcsdaily.com/article.aspx?id=101606B)
* [Minimum Wage = Bureaucracy = Disaster](http://unbeknownst.net/?p=71)
* [Minimum Wage, Maximum Stupidity](http://www.larryelder.com/economics/minimumwage.htm)
* [The Sin of Wages: The real reason to oppose the minimum wage](http://www.slate.com/id/2103486/)

View File

@ -0,0 +1,9 @@
Rent controls
=============
"*Rent control appears to be the most efficient technique presently known to destroy a city—except for bombing.*" -- Assar Lindbeck Swedish socialist economist
Links
-----
* [Rent Control](http://www.econlib.org/library/Enc/RentControl.html) entry in the Concise Encyclopedia of Economics.

View File

@ -0,0 +1,18 @@
Subsidies considered harmful
============================
Farm subsidies are one of the most inept and outright evil economic policies ever invented, trillions of dollars are wasted every year in the world because of farm subsidies in developed countries, while driving into bankruptcy millions of farmers in third world countries.
Millions of tons of food are thrown away because of the ridiculously stupid farm policy of the US and Europe while millions die of starvation.
Links
-----
* [In 1985 New Zealand eliminated agricultural subsidies. What happened next?](http://www.tcsdaily.com/article.aspx?id=050907B)
* [Freeing the Farm: A Farm Bill for All Americans](http://reddit.com/goto?id=1lopk)
* [farmsubsidy.org](http://farmsubsidy.org)
* [So that's where the €100 billion went](http://www.guardian.co.uk/eu/story/0,,1995587,00.html)
* [http://www.heritage.org/Research/Agriculture/BG1542.cfm](http://www.heritage.org/Research/Agriculture/BG1542.cfm)
* [New Zealand's hardy farm spirit: how ending subsidies created a farming revolution](http://news.bbc.co.uk/2/hi/programmes/from_our_own_correspondent/3747430.stm)
* [Farming without subsidies? Some lessons from New Zealand](http://www.newfarm.org/features/0303/newzealand_subsidies.shtml)

33
tpl/index.md Normal file
View File

@ -0,0 +1,33 @@
Encyclopedia of things considered harmful
=========================================
The world is full of things that most people think are OK or even good, when in
reality are either evil or plain stupid.
This is my humble contribution to attempt to collect all all the things in the
world that bother me, if you think I'm missing anything important is missing,
please feel free to write an article about it and if I agree I will be happy to
add it to this site.
***Note:*** I just got started, there are hundreds of things I would like to cover, I will try
to add a new entry every other day or so.
The main sections for now are:
* [Software](/software/)
* [Economics](/economics/)
You can also find other items in the left sidebar.
Recommended sites
=================
This are sites also dedicated at exposing the stupidity in our world:
* [Bad Science](http://badscience.net) by Ben Goldacre - A great site about crackpot science.
* [James Randi Educational Foundation](http://www.randi.org/)
* [Johan Norberg](http://www.johannorberg.net/) - A Swedish writer devoted to globalisation and individual liberty
* [Free to Choose Media](http://www.freetochoosemedia.org/)
* [Foundation for a Free Information Infrastructure](http://www.ffii.org/)
* [Electronic Frontier Foundation](http://www.eff.org/)

17
tpl/software/index.md Normal file
View File

@ -0,0 +1,17 @@
All software sucks
==================
"*And folks, let's be honest. Sturgeon was an optimist. Way more than 90% of code is crap.*" -- Al viro
"*There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies and the other way is to make it so complicated that there are no obvious deficiencies.*" -- C.A.R. Hoare, The 1980 ACM Turing Award Lecture
"*One of my most productive days was throwing away 1000 lines of code.*" -- Ken Thompson
"*..At first I hoped that such a technically unsound project would collapse but I
soon realized it was doomed to success. Almost anything in software can be
implemented, sold, and even used given enough determination. There is nothing a
mere scientist can say that will stand against the flood of a hundred million
dollars. But there is one quality that cannot be purchased in this way -and
that is reliability. The price of reliability is the pursuit of the utmost
simplicity. It is a price which the very rich find most hard to pay.*" -- C.A.R. Hoare

32
tpl/software/xml.md Normal file
View File

@ -0,0 +1,32 @@
XML Sucks
=========
"*The essence of XML is this: the problem it solves is not hard, and it does not solve the problem well."* -- Phil Wadler, POPL 2003
For now see [xmlsucks.org](http://www.xmlsucks.org).
Alternatives
------------
* Simple custom text formats
* sexprs
* csv
* json
* ndb-like
Quotes
------
"*Most xml i've seen makes me think i'm dyslexic. it also looks constipated,
and two health problems in one standard is just too much.*" -- Charles Forsyth on 9fans
Alexander Viro on linux-kernel mailing list:
> > Or even XML. Ouch! No need to throw things at me!
>
> It seems they would be thrown! XML in kernel is too much. OpenOffice and
They won't be thrown. They will be slowly driven under the nails, so that
victim could experience the joy equal to that of dealing with XML.