everything wrong with free software

 "free as in speech"

### mlsd-verify *originally posted:* feb 2022 since i created the mlsd ive wanted to make a program to verify its contents are in order: ``` #### license: creative commons cc0 1.0 (public domain) #### http://creativecommons.org/publicdomain/zero/1.0/ proginf = "mlsd-verify 0.1, feb 2022" p = arrstdin now = "\ntotal lines: " | prints plen = p | len | print itemcount = 0 itemlinecount = 0 itemname = "" previtem = "" forin each p eleft2 = each | left 2 eleft3 = each | left 3 eleft4 = each | left 4 ifequal eleft3 "=> " ifless itemlinecount 1 now = "" | print | print now = "item name needed? " | plus each | print next next ifequal eleft2 "# " previtem = "" next iftrue itemcount eachlen = each | rtrim | len iftrue eachlen iftrue itemlinecount now = itemlinecount | plus 1 | swap now itemlinecount ifequal itemlinecount 2 each2 = each e2left3 = each2 | left 3 ifequal e2left3 "=> " e2left3 else now = "\nurl needed: " | plus itemname | print next next ifequal itemlinecount 3 each3 = each e3left6 = each3 | left 6 ifequal e3left6 "notes:" e3left6 else now = "\nnotes needed? " | plus itemname | print next next ifequal itemlinecount 4 each4 = each e4left3 = each4 | left 3 ifequal e4left3 "```" e4left3 else now = "\nopen ``` needed: " | plus itemname | print next next ifequal itemlinecount 5 each5 = each e5left5 = each5 | left 5 ifequal e5left5 "tags:" e5left5 else now = "\ntags needed? " | plus itemname | print next next ifequal itemlinecount 6 each6 = each e6left3 = each6 | left 3 ifequal e6left3 "```" e6left3 else now = "\nclosing ``` needed: " | plus itemname | print next next next else ifless itemlinecount 6 iftrue itemlinecount now = "\nlow" | print now = itemname | print now = itemlinecount | print | "" | print next next ifmore itemlinecount 6 iftrue itemlinecount now = "\nhigh" | print now = itemname | print now = itemlinecount | print | "" | print next next itemlinecount = 0 next next ifequal eleft4 "### " itemname = each now = itemcount | plus 1 | swap now itemcount itemlinecount = 1 ifmore previtem "" ifmore previtem itemname now = "\nnot in order:" | print now = previtem | print now = itemname | print next next previtem = itemname next next now = "\nitemcount: " | prints now = itemcount | print ``` this program will notify you about entries that may need: * an entry name * a url * a line that says "notes:" * a line that says "tags:" * opening and closing ``` around the tags: line it will also tell you if an entry is out of alphabetical order. ``` cat mlsd-z.html | ./mlsd-verify.fig.py ``` => https://wrongwithfreesw.neocities.org