2023-02-05 18:02:19 -07:00
#!/bin/sh
2023-07-06 07:50:30 -06:00
#llllmmmm11234567892123456789312345678941234567895123456789612345678971234567890
2023-10-14 14:43:48 -06:00
# vim: syntax=:ts=8
2023-02-20 08:46:03 -07:00
set -ex
2023-07-19 21:27:46 -06:00
<"$0" python3 -c '
2023-07-16 08:20:48 -06:00
import os, sys
2023-07-19 21:27:46 -06:00
class File:
2023-07-21 10:19:18 -06:00
attributes = []; content = ""; substitutions = dict()
figurative = True; stub = True
def addattribute(self, *args):
for a in args: # sloppy but works
if a == "stub": self.stub = True
elif a == "verbatim": self.stub = False
elif a == "figuratively": self.figurative = True
elif a == "literally": self.figurative = False
2023-07-19 21:27:46 -06:00
def __init__(self, **kwargs):
for key in kwargs:
2023-07-21 10:19:18 -06:00
if key == "attributes": self.addattribute(*kwargs[key])
else: setattr(self, key, kwargs[key])
2023-07-28 12:46:47 -06:00
files = dict()
2023-07-19 22:46:51 -06:00
for part in reversed(sys.stdin.read().split("\n\n\n")):
name = "." + part.split("\n")[0]
2023-07-19 21:27:46 -06:00
if "\t" in "." + name:
attributes = name.split("\t")[1].split(",")
name = name.split("\t")[0]
2023-07-19 22:46:51 -06:00
else: attributes = []
2023-07-28 12:46:47 -06:00
if len(name) <= 1 or name[1] != "/" or "ignore" in attributes:
continue
2023-07-19 22:46:51 -06:00
content = part.split("\n\n")[0].split("\n")
substitutions = dict()
if(len(content) > 1):
for s in content[1:]:
s = s.split("\t")
if len(s) == 2: substitutions[s[0]] = s[1]
2023-07-21 10:19:18 -06:00
mode = "replace"
2023-07-28 12:46:47 -06:00
for attribute in attributes:
if attribute in ["append", "replace"]:
mode = attribute
2023-07-21 10:19:18 -06:00
attributes = list(set(attributes) ^ {"append", "replace"})
2023-07-19 23:09:34 -06:00
content = part[len("\n".join(content))+2:]
2023-08-05 09:05:36 -06:00
file = File(attributes = attributes, content = content + "\n",
2023-07-19 22:46:51 -06:00
substitutions = substitutions)
2023-07-21 10:19:18 -06:00
if mode == "append":
2023-07-19 21:27:46 -06:00
if not(name in files):
sys.stderr.write(sys.argv[0] + ": " + name + ": "
+ "appending to nothing\n")
else:
2023-07-19 22:46:51 -06:00
file.content = files[name].content + file.content
files[name] = file
2023-07-19 21:27:46 -06:00
for name in files:
2023-07-21 10:19:18 -06:00
if files[name].stub:
2023-07-28 12:46:47 -06:00
p = ""; s = ""; d = name
while True:
2023-08-03 17:15:58 -06:00
d = os.path.dirname(d)
if (p == ""
and os.path.join(d, "Prefix")
in files.keys()):
p = files[os.path.join(d, "Prefix")].content
if (s == ""
and os.path.join(d, "Suffix")
in files.keys()):
s = files[os.path.join(d, "Suffix")].content
2023-08-05 09:05:36 -06:00
if d == "." or (not(p == "") and not(s == "")):
break
2023-07-28 12:46:47 -06:00
files[name].content = p + files[name].content + s
2023-07-21 10:19:18 -06:00
if files[name].figurative:
2023-07-19 21:27:46 -06:00
content = files[name].content
for s in files[name].substitutions:
instances = []
i = 0
while True:
instance = content.find(s, i)
if instance == -1: break
2023-07-19 22:46:51 -06:00
instances += [instance]
2023-07-19 21:27:46 -06:00
i = instance + len(s)
if len(instances) == 0: continue
2023-07-19 22:46:51 -06:00
for i in reversed(instances):
content = (content[:i]
+ files[name].substitutions[s]
2023-07-19 21:27:46 -06:00
+ content[i+len(s):])
files[name].content = content
2023-07-28 12:46:47 -06:00
# TODO error checking
if not(os.path.isdir(os.path.dirname(name))):
os.makedirs(os.path.dirname(name))
2023-07-19 22:46:51 -06:00
with open(name, "w") as fd: fd.write(files[name].content)
2023-08-03 17:15:58 -06:00
d = ""; bucket = "#!/bin/sh\n"
for name in files:
d = name
while True:
if os.path.dirname(d) == ".":
mop = ("rm "
+ "-r " * os.path.isdir(d)
+ name # yeah this sucks
+ "\n"
)
if not(mop in bucket): bucket += mop
break
else:
d = os.path.dirname(d)
if len(bucket.split("\n")) > 2:
2023-07-19 21:27:46 -06:00
with open("./cleanup.sh", "w") as fd:
2023-08-03 17:15:58 -06:00
fd.write(bucket)
2023-07-19 21:27:46 -06:00
'
2023-08-06 15:21:32 -06:00
test -x homepage.local \
2023-07-15 21:44:35 -06:00
&& exec ./homepage.local \
2023-08-06 15:21:32 -06:00
|| test -e homepage.local \
&& exec sh ./homepage.local \
2023-07-15 21:44:35 -06:00
|| exit 0
2023-07-15 21:07:11 -06:00
2023-07-16 08:20:48 -06:00
/LICENSE verbatim
2023-07-15 21:07:11 -06:00
Other than noted exceptions, this is free and unencumbered data
released into the public domain.
Anyone is free to copy, modify, publish, use, compile, sell, or
distribute this data, either in source code form or as a compiled
binary, for any purpose, commercial or non-commercial, and by any
means.
In jurisdictions that recognize copyright laws, the author or authors
of this data dedicate any and all copyright interest in the data to the
public domain. We make this dedication for the benefit of the public at
large and to the detriment of our heirs and successors. We intend this
dedication to be an overt act of relinquishment in perpetuity of all
present and future rights to this data under copyright law.
THE DATA IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE DATA OR THE USE OR
OTHER DEALINGS IN THE DATA.
For more information, please refer to <http://unlicense.org/>
2023-07-15 21:44:35 -06:00
/homepage.html
2023-07-19 21:27:46 -06:00
$!TITLE "homepage" documentation
$!DESCRIPTION one file, one website
2023-07-15 21:44:35 -06:00
<H1>"homepage" documentation</H1>
<H2>the forest</H2>
<P>
homepage is a single-file static site generator written in UNIX sh(1) shell
script, the goal being to contain a website with heirarchical page
organization within a single file that can be run to extract it out to the
filesystem, almost like a self-extracting UNIX tape archive that documents its
own layout in a UTF-8 script closer to English.
</P>
<H2>trees</H2>
<H3>files</H3>
<P>
To add a file to your homepage, append three newlines ('\n', or the
Enter/Return key on your keyboard) to the end of the homepage file, followed
by the path of the file to add. A homepage file path starts with a slash ('/')
and is followed by the path to the file relative to the prefix directory (the
directory containing homepage). A file path that starts with a hash ('#') is
discarded. For all non-slash- non-hash- prefixed file paths, the behavior of
homepage is undefined.
</P>
2023-07-16 08:20:48 -06:00
<H4>file attributes</H4>
<P>
On the same line as the file path, if, after the path, a tab ('\t') is
present, the substring following the first tab in the line and spanning to
and excluding the next tab or newline describes the attributes of the file as
it is exported to the file system. These file attributes are delimited by
commas (',') and there's no limit to the amount of attributes a file can
have, though in the event of conflicting attributes the later attribute
"wins" the conflict.
</P>
2023-07-28 12:46:47 -06:00
<TABLE>
<TR><TH>attribute</TH> <TH>default?</TH><TH>action</TH></TR>
<TR><TD>"figuratively"</TD><TD>yes</TD>
<TD>Indicates the file should be subject to macro expansion.</TD></TR>
<TR><TD>"ignore"</TD> <TD>no</TD> <TD>Ignore the current entry.</TD>
</TR>
<TR><TD>"literally"</TD> <TD>no</TD>
<TD>Opposite of "figuratively".</TD></TR>
<TR><TD>"stub"</TD> <TD>yes</TD>
<TD>Indicates the file should be exported to the filesystem with the
appropriate Prefix and Suffix files prepended or appended.</TD>
</TR>
<TR><TD>"verbatim"</TD> <TD>no</TD> <TD>Opposite of "stub".</TD></TR>
</TABLE>
2023-07-15 21:44:35 -06:00
2023-07-19 21:27:46 -06:00
/praise/index.html append,literally
<LI>[<TIME datetime="2023-07-18 12:27">2023</TIME>] Doctor Eli Selig !!JQHA6kqyl91: >Maid Phone user / >mfw / ["Heart hands.jpg"]</LI>
2023-08-03 17:15:58 -06:00
/praise/Prefix verbatim
2023-07-19 23:09:34 -06:00
2023-07-19 21:27:46 -06:00
<!DOCTYPE html>
<HTML lang="en-US">
<HEAD>
<LINK HREF="https://trinity.moe/_PAGE" REL="canonical" />
<LINK HREF="/img/icons/favicon.ico" REL="shortcut icon" TYPE="image/x-icon" />
<LINK HREF="/css/2023.css" ID="styling" REL="stylesheet" />
<META CHARSET="UTF-8" />
<META CONTENT="dtb" NAME="author" />
<META CONTENT="praise for trinity / dot moe" NAME="description" />
<META CONTENT="width=device-width, initial-scale=1" NAME="viewport" />
<META CONTENT="img/trinnow.bmp" NAME="og:image" />
<META CONTENT="noindex" NAME="googlebot" /> <!-- FUCK GOOGLE -->
<META CONTENT="interest-cohort=()" HTTP-EQUIV="Permissions-Policy" /> <!-- FUCK GOOGLE -->
<STYLE>
li { font-family: monospace }
</STLYE>
<TITLE>praise</TITLE>
</HEAD>
<BODY>
<P><A HREF="..">~ www.trinity.moe</A></P>
<UL>
/praise/index.html literally
2023-07-19 23:09:34 -06:00
2023-07-19 21:27:46 -06:00
<LI>[<TIME datetime="2004-12-09">2004</TIME>] Dr. Gene Ray: <A HREF="https://web.archive.org/web/20041209065507/http://timecube.com:80/index.html">Life rotation debunks Trinity.</A></LI>
<LI>[<TIME datetime="2021-03-27 04:44">2021<TIME>] 🛸UFO🛸: I wanna hug trinity</LI>
<LI>[<TIME datetime="2021-05-03">2021</TIME>] Вероника Заглотова: <A HREF="https://invidious.tube/watch?v=fUpZO9LnNo0">my computer is making mustard gases</A></LI>
<LI>[<TIME datetime="2021-05-10 10:47">2021</TIME>] Аноним: [<I>screenshot of this website next to a screenshot of a wojak</I>]</LI> <!-- https://web.archive.org/web/20210510123535mp_/https://2ch.hk/s/res/2981671.html -->
<LI>[<TIME datetime="2021-05-15 08:49">2021</TIME>] Anonymous: deven's website is the best~!</LI>
<LI>[<TIME datetime="2021-05-15 09:17">2021</TIME>] Anonymous: this is what developing mental illness in teen years looks like</LI>
<LI>[<TIME>2021</TIME>] MetaMask/eth-phishing-detect: <A HREF="https://github.com/MetaMask/eth-phishing-detect/issues/5119">This domain was blocked for its similarity to dfinity.org, a historical phishing target.</A></LI>
<LI>[<TIME datetime="2022-05-11 21:43">2022</TIME>] Eminav_B: Never watching a movie with trinity</LI>
<LI>[<TIME datetime="2022-09-15 21:11">2022</TIME>] Milady Sonora Sprite: hi</LI>
/praise/Suffix
</UL>
</BODY>
</HTML>
2023-07-15 23:57:04 -06:00
/x200t/index.html
2023-07-19 21:27:46 -06:00
$!TITLE Thinkpad X200 Tablet
2023-07-15 23:57:04 -06:00
<SCRIPT TYPE="application/javascript">//<!--
window.onload = window.initializesheets;
//--></SCRIPT>
<H1>Thinkpad X200 Tablet</H1>
<H3>updated 2022-08-11</H3>
<HR ALIGN="left" SIZE="1" WIDTH="25%" />
<P>Contents</P>
<UL>
<LI><A HREF="#seealso" >See also</A></LI>
<LI><A HREF="#camera" >Integrated camera</A></LI>
<LI><A HREF="#drive" >SATA drive</A></LI>
<LI><A HREF="#drivecaddy" >Drive caddy</A></LI>
<LI><A HREF="#memory" >Memory</A></LI>
<LI><A HREF="#screws" >Screws</A></LI>
<LI><A HREF="#software" >Software</A></LI>
<LI><A HREF="#stylus" >Stylus</A></LI>
</UL>
<P ID="seealso">See also</P><UL>
<LI><A HREF="https://wiki.archlinux.org/title/Lenovo_ThinkPad_X200">Lenovo Thinkpad X200</A> (Arch Wiki)</LI>
<LI><A HREF="https://download.lenovo.com/pccbbs/mobiles_pdf/45n3683_04.pdf">Thinkpad X200 Tablet and X201 Tablet Hardware Maintenance Manual (fifth edition)</A> (<A HREF="https://web.archive.org/web/20210203043936/https://download.lenovo.com/pccbbs/mobiles_pdf/45n3683_04.pdf">Archive link</A>)</LI>
<LI><A HREF="https://linux-hardware.org/?view=computers&model=ThinkPad+X200+Tablet+(All)">Thinkpad X200 Tablet (All)</A> (Linux Hardware Database)</LI>
<LI><A HREF="https://www.thinkwiki.org/wiki/Category:X200_Tablet">X200 Tablet Overview</A> (Thinkwiki)</LI>
</UL>
<H2 ID="camera">Integrated camera</H2>
<P>
This is FRU 2060 in the hardware maintenance manual.
</P>
<P>
Some models have the camera, some don't.
It will be in the middle of the top of the screen bezel (looking at the screen with the <I>lenovo</I> logo oriented normally); some have a black plastic trapezoidal cover, some have the camera option.
Camera kits are available on-line for the X200 Tablet for around US$15 or so at time of writing.
</P>
<H2 ID="drive">SATA drive</H2>
<P>As far as I know, any 2.5" SATA laptop-sized drive will work.</P>
<P>
To replace the drive, locate the drive cover between the stylus holder and RJ-11 modem port on the right side of the laptop.
Unscrew the screw holding in the cover, to which the hard drive icon on the bottom of the laptop under the stylus holder is pointing.
Lift out the cover and there the drive will be exposed.
</P>
<H2 ID="drivecaddy">Hard drive caddy</H2>
<P>
Most of the eBay listings for X200 Tablets don't have hard drive covers or caddies.
You will want a caddy because it makes it much easier to get a drive out, and because it spaces out the drive in the space provided and provides some (minimal) amount of shock protection.
This is especially good for hard disks as you don't want those moving around in your laptop chassis, even if there's no risk of them being disconnected.
</P>
<P>
In a <I>pinch</I> you can use cardboard to space out a drive.
I made out okay using folded cardstock given that my X200 Tablet was going nowhere except my desk.
You should <I>not</I> do this for long periods, not really because there's some risk that increases as time wears on but just because in general it's stupid.
</P>
<P>
The same rubber rails that go around the hard drive, and the same metal thing that you screw onto the drive that has the black ribbon attached used to pull the drive out, are used for the X200, X200S, X200 Tablet, X201, X201S, X201 Tablet, T420, T420S, T430, and T430S, as far as I know.
Rubber rails for the X220 Tablet did not work, nor did the bay cover for the X220 Tablet work for the X200 Tablet.
</P>
<H2 ID="memory">Memory</H2>
<P>
This is FRU 1040 DIMM in the hardware maintenance manual.
The system memory modules and the access panel <I>only</I> have to be removed if the modules specifically are being replaced or if the system mainboard is getting replaced.
</P>
<P>
<A HREF="https://thinkpads.com/forum/viewtopic.php?f=43&t=113310">RealBlackStuff says</A>
the X200 Tablet is compatible with <CODE>DDR3-1066 (PC3-8500)</CODE> and <CODE>DDR3-1333 (PC3-10600)</CODE>.
It's possible to have 8GB memory installed.
<A HREF="https://www.ebay.com/usr/laptopused">eBay seller laptopused</A> correlates that <CODE>DDR3-1333</CODE> dual-rank memory should work.
Apparently for technical reasons the X200 Tablet must take 2Rx8 memory; two ranks of eight chips, and for 8GB memory, 256MB per chip (divide 8192MB by 2 modules * 2 ranks * 8 chips).
</P>
<P>
OEM-configured laptops can have <CODE>DDR3-1066</CODE> memory from Elpida or Samsung.
<A HREF="https://www.laptopmag.com/reviews/laptops/lenovo-thinkpad-x200-tablet">Laptop Mag says</A> the laptop came with 2GB RAM by default and is upgradeable to 4GB but most laptops for sale secondhand have 4GB memory installed.
Types 7449-43U and 7450-EYU came with 2x2GB <CODE>DDR3-1066 SO-DIMM (PC3-8500)</CODE>.
</P>
<P>
I got in touch with eBay seller <A HREF="https://ebay.com/seller?sid=woosterpsu">woosterpsu</A> who was auctioning off an X200 Tablet to benefit the Electronic Frontier Foundation with 8GB RAM installed and reported in the BIOS.
The seller sent me an image of the installed memory: a Hynix 4GB 2Rx8 PC3-10600S and a Dell P/N SNPX830DC/4G, both scavenged from other laptops.
These are <I>confirmed working</I> in a Core2 Duo L9400 X200 Tablet.
</P>
<H2 ID="screws">Screws</H2>
<P>
Per the hardware maintenance manual (page 225), the following screws are necessary for full assembly of the X200 Tablet:
</P>
<TABLE>
<TR><TH>Quantity</TH> <TH>Head</TH> <TH>Length</TH> <TH>Style</TH> <TH>Color</TH> </TR>
<TR><TD>1</TD> <TD>M1.6</TD> <TD>6mm</TD> <TD>Wafer head</TD> <TD>Silver</TD></TR>
<TR><TD>1</TD> <TD>M2</TD> <TD>2.5mm</TD> <TD>Wafer head</TD> <TD>Black</TD> </TR>
<TR><TD>11</TD> <TD>M2</TD> <TD>3mm</TD> <TD>Flat head</TD> <TD>Black</TD> </TR>
<TR><TD>18</TD> <TD>M2</TD> <TD>3.5mm</TD> <TD>Wafer head</TD> <TD>Silver</TD></TR>
<TR><TD>1</TD> <TD>M2</TD> <TD>3.5mm</TD> <TD>Wafer head</TD> <TD>Black</TD> </TR>
<TR><TD>3</TD> <TD>M2</TD> <TD>6mm</TD> <TD>Wafer head</TD> <TD>Silver</TD></TR>
<TR><TD>13</TD> <TD>M2</TD> <TD>6mm</TD> <TD>Wafer head</TD> <TD>Black</TD> </TR>
<TR><TD>1</TD> <TD>M2</TD> <TD>3mm</TD> <TD>Stud (height=4.2mm)</TD> <TD>Black</TD> </TR>
<TR><TD>1</TD> <TD>M2</TD> <TD>3mm</TD> <TD>Stud (height=5.5mm)</TD> <TD>Black</TD> </TR>
<TR><TD>6</TD> <TD>M2.5</TD> <TD>6mm</TD> <TD>Wafer head</TD> <TD>Black</TD> </TR>
<TR><TD>9</TD> <TD>M2.5</TD> <TD>8mm</TD> <TD>Wafer head</TD> <TD>Black</TD> </TR>
<TR><TD>1</TD> <TD>M3</TD> <TD>3mm</TD> <TD>Wafer head (HDD screw)</TD> <TD>Black</TD> </TR>
</TABLE>
<P>
Additionally listed are 9 circular screw caps and 6 square screw caps.
</P>
<P>
Two screw kits are listed with part numbers <CODE>45N3139</CODE> and <CODE>60Y4164</CODE>.
The difference is that <CODE>45N3139</CODE> has one more M2x3.5mm silver wafer head screw listed (18 versus 17).
<CODE>45N3139</CODE>'s contents in particular are reflected in the table above.
</P>
<P>On page 79 of the hardware maintenance manual some very rarely-noted screw notices are listed that are worth repeating, though it's up to the maintainer to follow the practices they so choose:</P>
<UL>
<LI>Always use new screws. (This is repeated earlier in the page; according to the manual, ThinkPad Notebooks have "special nylon-coated screws" that should be used only once.)</LI>
<LI>Use a torque screwdriver if you have one.</LI>
<LI>When tightening plastic against plastic, turn an additional 90 degrees after the screw head touches the surface of the plastic part.</LI>
<LI>When tightening logic cards against plastic, turn an additional 180 degrees after the screw head touches the surface of the plastic part.</LI>
<LI>If you have a torque driver, refer to the "Torque" column for each step.</LI>
<LI>
Make sure that you use the correct screw.
If you have a torque screwdriver, tighten all screws firmly to the torque shown in the table.
<B>Never use a screw that you removed. Use a new one. Make sure that all of the screws are tightened firmly.</B>
</LI>
</UL>
<H2 ID="software">Software</H2>
<P>
For some procedures in the hardware maintenance manual a ThinkPad Hardware Maintenance Diskette is needed.
This was available only to licensed dealers.
</P>
<P>
Here's a chart of executable names relevant to the X200 Tablet as provided from Lenovo and their product names.
A lot of this is sourced from hearsay and olden lore so it may not be fully accurate, and definitely isn't complete.
Also, I trimmed down redundant sections of product names - for example, <CODE>7wuj45uc.iso</CODE> is actually <I>BIOS Update Bootable CD <B>for Windows 7 (32-bit, 64-bit), Vista (32-bit, 64-bit), XP - ThinkPad</B></I> but if it's bootable itself operating system compatibility likely doesn't matter.
</P>
<TABLE>
<TR><TH>Executable</TH> <TH>Product name</TH> <TH>Version</TH> </TR>
<TR><TD>6itr02ww.zip</TD> <TD>BIOS Settings Capture/Playback Utility</TD> <TD>4.01</TD> </TR>
<TR><TD>7wuj45uc.iso</TD> <TD>BIOS Update Bootable CD</TD> <TD>3.21</TD> </TR>
<TR><TD>7wuj45u6.exe</TD> <TD>BIOS Update Utility for Windows 7 (32-bit, 64-bit), Vista (32-bit, 64-bit), XP</TD> <TD>3.21</TD></TR>
<TR><TD>6ea118ww.exe</TD> <TD>Conexant Audio Driver for Windows Vista (32-bit, 64-bit), XP</TD> <TD>4.92.15.0 / 3.64.15.0</TD></TR>
<TR><TD>6ea160ww.exe</TD> <TD>Conexant Audio Software for Windows 7 (32-bit, 64-bit)</TD> <TD>4.92.12.0</TD></TR>
<TR><TD>maint150.exe</TD> <TD>IBM Thinkpad Hardware Maintenance Diskette (HMD)</TD> <TD>1.50</TD> </TR>
<TR><TD>maint160.exe</TD> <TD>IBM Thinkpad Hardware Maintenance Diskette (HMD)</TD> <TD>1.60</TD> </TR>
<TR><TD>maint169.exe</TD> <TD>IBM Thinkpad Hardware Maintenance Diskette (HMD)</TD> <TD>1.69</TD> </TR>
<TR><TD>i7tm23us.exe</TD> <TD>IBM Thinkpad Hardware Maintenance Diskette (HMD)</TD> <TD>1.75</TD> </TR>
<TR><TD>i7tm25us.exe</TD> <TD>IBM Thinkpad Hardware Maintenance Diskette (HMD)</TD> <TD>1.77</TD> </TR>
<TR><TD>i7tm37us.exe</TD> <TD>Unknown</TD> <TD>Unknown</TD> </TR>
<TR><TD>i7tm38us.exe</TD> <TD>IBM Thinkpad Hardware Maintenance Diskette (HMD)</TD> <TD>1.89</TD> </TR>
<TR><TD>83ts04ww.exe</TD> <TD>ThinkPad BIOS Settings for Windows 7 (32-bit), Vista (32-bit), XP, 2000</TD> <TD>3.03</TD></TR>
</TABLE>
<P>
Lenovo's X200 Tablet downloads won't last forever.
Here's a JavaScript that allows a user to download arbitrary executables from Lenovo's download servers.
</P>
<INPUT ID="executable" VALUE="i7tm38us.exe" />
<INPUT ONCLICK="window.location.href = 'http://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles/' + document.getElementById('executable').value;" TYPE="button" VALUE="Download" />
<P>The following operating systems were available pre-installed by the OEM, depending on the variant:</P>
<UL>
<LI>Microsoft Windows XP Tablet (32 bit)</LI>
<LI>Microsoft Windows Vista Home Premium (32 bit)</LI>
<LI>Microsoft Windows Vista Business (32 bit)</LI>
<LI>Microsoft Windows Vista Business (64 bit)</LI>
<LI>Microsoft Windows Vista Ultimate (32 bit</LI>
<LI>Microsoft Windows 7 Home Basic (32 bit)</LI>
<LI>Microsoft Windows 7 Home Premium (32 bit)</LI>
<LI>Microsoft Windows 7 Home Premium (64 bit)</LI>
<LI>Microsoft Windows 7 Professional (32 bit)</LI>
<LI>Microsoft Windows 7 Professional (64 bit)</LI>
</UL>
<P>9front system usage is described in the <A HREF="http://fqa.9front.org/fqa3.html#3.2.5.2.1">9front FQA, section 3.2.5.2.1</A>.</P>
<P>Linux system usage is described in detail on the <A HREF="#seealso">Arch GNU+Linux wiki</A> - any Linux or UNIX specific knowledge I have I add to the Arch wiki rather than putting on this page.</P>
<H2 ID="stylus">Stylus</H2>
<P>
The X200 Tablet originally came with a single-button stylus with a gray "eraser".
I found some single-button stylus from eBay, with a red "eraser", and that worked too.
I have a two-button stylus that came with another X200 Tablet but it's as of yet untested.
The Fujitsu T-5000 digitizer pen does work, identically according to <CODE>xev(1)</CODE>.
</P>
<P>
<B>Do not</B> try to insert two-button Thinkpad styluses into the stylus holder of the X200 Tablet as they'll become stuck in there because of how the buttons are shaped.
To remove a stuck stylus the digitizer pen case (part number <CODE>45N3146</CODE>) must be unscrewed and removed from the chassis.
Following the hardware maintenance manual, remove FRUs "1020 Battery pack" and "1060 Keyboard" and follow steps 6 and 7 of the removal process of FRU "1180 DC-in connector, fan, digitizer pen case, and pen switch assembly".
No other FRUs need to be removed, nor do any other steps of the removal process of FRU 1180 need to be followed.
</P>
/hacker-howto/index.html
2023-07-19 21:27:46 -06:00
$!TITLE How to Become A Hacker
2023-07-15 23:57:04 -06:00
<H2>How to Become A Hacker</H2>
<H3>Deven Trinity Blake</H3>
<P><CODE><<A HREF="mailto:trinity@trinity.moe">trinity@trinity.moe</A>></CODE></P>
<P>No Copyright 🄯 2021 Deven T. Blake</P>
<HR />
<H2>Why This Document?</H2>
<P>
A lot of hackers consider Eric S. Raymond's original <A HREF="http://www.catb.org/~esr/faqs/hacker-howto.html"><I>How to Become A Hacker</I></A> to be definitive, for good reason.
It explains the "hacker philosophy", some key things at which one should be good, and is a good compass that points to What to Learn Next.
I myself stumbled upon the document maybe a decade or so ago, when I was a small impressionable child, and know half of what I do because of where it pointed me.
I think, however, that <I>How to Become A Hacker</I> is a bit dated, so I'm writing this to be a nice complementary piece for those to read <B>after they read esr's original</B>.
</P>
<P>
If you are reading a snapshot of this document offline, the current version lives at <A HREF="http://www.trinity.moe/hacker-howto">http://www.trinity.moe/hacker-howto</A>.
</P>
<H2>Basic Hacking Skills</H2>
<H3>1. Learn how to program</H3>
<P>
Python is an okay first language as long as you don't take it too seriously.
As said by smarter people than me, Python is a glue language.
It's slow and a bit basic, but its errors are often easy to solve, so do as much as you can with Python and Python libraries, and do the rest in faster languages.
</P>
<P>
Never touch Java.
Not even once.
While at one point it was promising, it's become a monstrous beast and it must be slain through attrition.
</P>
<P>
When you are good at programming you will think <I>outside</I> of programming languages.
Programming languages are tools for a job.
Some are better suited to some tasks than others.
For example, I would use C as a language for building utilities for myself, as I want them to be blisteringly fast and I know that's easier to do in C than Python.
I've written utilities in Python to know how I want them to behave, and then perfected them by rewriting them in C.
This being said, when learning a language for the first time, <I>master</I> it, <I>then</I> move on.
</P>
<H3>2. Get one of the open-source Unixes and learn to use and run it.</H3>
<P>
<B>Don't</B> try to program on Microsoft Windows.
Seriously.
This is the one mistake almost all beginners make; they'll install fifty different tools onto their MS Windows system in order to make a simple program that doesn't really work because their tutorial only works for UNIX.
Just install a Free UNIX-clone ("clone" in this context is not a bad thing; most Free UNIX-clones are much more practical in this world than the original) and learn how to work in it.
In fact, you may want to learn <I>shell</I> before anything else.
When you know how to
<OL>
<LI>Make a directory,</LI>
<LI>Make an empty file within that directory,</LI>
<LI>Overwrite the file with exactly 500B of random data,</LI>
<LI>Mark the file as executable,</LI>
<LI>Print the file to the terminal as readable, hexadecimal data,</LI>
<LI>And remove the directory and the file,</LI>
</OL>
you will know enough to start on your journey into hacking.
</P>
<P>
BSDs are awesome and I use a BSD myself, but perhaps start with Linux as there's a much bigger community to help you there.
There are no longer any good non-UNIX operating systems.
The importance of choosing a Free operating system cannot be understated.
It's hard to learn from your OS's code when your OS's code is only readable by those within the corporation that made the OS.
</P>
<P>
Don't use Ubuntu as it suffers from many of the flaws that drive non-hacker Windows users to Linux-based systems.
Instead, try Linux Mint, which is based on Ubuntu but without the more annoying issues.
</P>
<H3>3. Learn how to use the World Wide Web and write HTML.</H3>
<P>
View the source code of the original <I>How to Become A Hacker</I> and then read the source code to this webpage.
</P>
<H3>4. If you don't have functional English, learn it.</H3>
<P>
It's unfortunate that English has become the lingua franca of the Internet.
But it's true, it has, and it's more or less required learning if you want to become a hacker.
</P>
<H3>5. Learn to use a search engine.</H3>
<P>
This is my own tip.
<B>This is the most important thing on this page</B>.
How to accomplish this is an exercise left to the reader.
</P>
/home/index.html
2023-07-19 21:27:46 -06:00
$!TITLE home
2023-07-15 23:57:04 -06:00
<P><A HREF="/">~ www.trinity.moe</A></P>
<UL>
<LI><A HREF="https://discord.com/app">Discord</A></LI>
<LI><A HREF="https://duckduckgo.com/">DuckDuckGo</A></LI>
<LI><A HREF="https://kingpossum.com:8000/radio.mp3">King Possum Radio</A></LI>
<LI><A HREF="https://mail.cock.li/">Mail</A></LI>
<LI><A HREF="https://text.npr.org/">NPR</A></LI>
<LI><A HREF="https://timewarple.com/">Wordle</A></LI>
<LI><A HREF="https://wttr.in/?m">wttr.in</A></LI>
<LI><A HREF="https://yandex.ru/">Яндекс</A></LI>
<LI><A HREF="https://yewtu.be/">YouTube</A></LI>
</P>
2023-07-16 08:20:48 -06:00
/bookmarks/index.html verbatim
2023-07-15 21:44:35 -06:00
<!DOCTYPE html>
<HTML LANG="en">
<HEAD>
<LINK HREF="http://www.trinity.moe/bookmarks" REL="canonical" />
<LINK HREF="https://raw.githubusercontent.com/devenblake/homepage/main/img/icons/bookmarks.ico" REL="shortcut icon" TYPE="image/x-icon" />
<LINK HREF="" ID="styling" REL="stylesheet" />
<LINK HREF="/css/lists.css" REL="stylesheet" />
<META CHARSET="UTF-8" />
<META CONTENT="noindex" NAME="googlebot" /> <!-- FUCK GOOGLE -->
<META CONTENT="interest-cohort=()" HTTP-EQUIV="Permissions-Policy" /> <!-- FUCK GOOGLE -->
<META CONTENT="width=device-width, initial-scale=1" NAME="viewport" />
<TITLE>bookmarks</TITLE>
</HEAD>
<BODY>
<P><A HREF="/">~ Return to the rest of the site</A></P>
<SCRIPT TYPE="application/javascript">window.onload = window.initializesheets;</SCRIPT>
<H1>bookmarks</H1>
<HR ALIGN="left" SIZE="1" WIDTH="25%" />
<P>
These are bookmarks I had stored in my browser.
Now that I have so many, I'm keeping them in a friendlier hypertext document.
Of course, Firefox already has a very nice bookmarks export feature,
which is human readable as-is, but I'd like to make them as portable as possible
and I think parsing this document as it is won't be too impossible for me to figure out programatically.
</P>
<P>
There are some very, very interesting things in all of these hyperlinks.
I don't know if anyone else will ever use this page but to any travelers coming across this tome - have fun.
Also, the category descriptions are very vague.
</P>
<P>
I had to take some personal stuff out of here, which sucks,
because now I have a massive HTML doc and still have to have a bookmarks bar.
Oh well.
</P>
<!--BMARKS_START-->
<UL>
<LI ID="misc"><A HREF="#misc">Miscellaneous</A><UL>
<LI><A HREF="https://1mb.co/">1MB</A></LI>
<LI><A HREF="http://www.410go.net/">Error 410</A></LI>
<LI><A HREF="http://blackflag.acid.org/">ACiD</A></LI>
<LI><A HREF="http://www.animanga.com/">Animanga</A></LI>
<LI><A HREF="https://anonfile.com/">AnonFile</A></LI>
<LI><A HREF="https://www.based.gg/">Based (Clothing)</A></LI>
<LI><A HREF="https://www.bell-labs.com/">Bell Labs</A></LI>
<LI><A HREF="https://browser.mt/">Bergamot</A></LI>
<LI><A HREF="https://snap.berkeley.edu/">Berkeley Snap!</A></LI>
<LI><A HREF="http://www.c64.com/">C64.COM</A></LI>
<LI><A HREF="https://www.chibiakumas.com/">Chibi Akumas</A></LI>
<LI><A HREF="https://web.archive.org/web/20070527164016/http://www.deviantart.com/deviation/18591720/">ClearLooks for Windows XP</A></LI>
<LI><A HREF="https://www.cloudflare.com/">Cloudflare</A></LI>
<LI><A HREF="https://code.org/">Code.org</A></LI>
<LI><A HREF="https://gchq.github.io/CyberChef/">CyberChef</A></LI>
<LI><A HREF="https://www.desmos.com/">Desmos</A></LI>
<LI><A HREF="https://github.com/wooorm/dictionaries">dictionaries</A></LI>
<LI><A HREF="https://distress.network">DistressNetwork</A></LI>
<LI><A HREF="https://www.dnsleaktest.com/">DNS Leak Test</A></LI>
<LI><A HREF="http://dogisaga.org/">Dogisaga</A></LI>
<LI><A HREF="https://www.dropbox.com/">Dropbox</A></LI>
<LI><A HREF="https://www.duoflag.com/">duoflag</A></LI>
<LI><A HREF="https://www.facesofopensource.com/">Faces of Open Source</A></LI>
<LI><A HREF="https://www.favicon.cc/">favicon.cc</A></LI>
<LI><A HREF="https://freetextbooks.com/">FreeTextbooks</A></LI>
<LI><A HREF="http://goodsites.tech/">/g/'s good sites</A></LI>
<LI><A HREF="https://support.google.com/mail/contact/abuse">Google Mail Abuse Form</A></LI>
<LI><A HREF="https://www.8notes.com/guitar_tuner/">Guitar Tuner</A></LI>
<LI><A HREF="https://joshdata.me/iceberger.html">Iceberger</A></LI>
<LI><A HREF="http://iconoclast.org/index.shtml">Iconoclast</A></LI>
<LI><A HREF="https://icotar.com/">Icotar</A></LI>
<LI><A HREF="http://www.imaginarysoundscape.net/">Imaginary Soundscape</A></LI>
<LI><A HREF="https://ipleak.net/">IPLeak</A></LI>
<LI><A HREF="https://github.com/mayfrost/guides/blob/master/IRC.md">IRC Rite</A></LI>
<LI><A HREF="http://xn--5ca.cc/jack-of-diamonds/">Jack of Diamonds</A></LI>
<LI><A HREF="https://www.saji8k.com/kit-fui/">Kit FUI</A></LI>
<LI><A HREF="http://weather.256k.net/snow/">Maine Snow Forecast</A></LI>
<LI><A HREF="http://www.matranet.net/">MATRA Computer Automations</A></LI>
<LI><A HREF="http://mebious.co.uk/">mebious.co.uk entry wired</A></LI>
<LI><A HREF="http://merthsoft.com/">Merthsoft</A></LI>
<LI><A HREF="https://milkshake.app/">Milkshake</A></LI>
<LI><A HREF="http://www.minecraftseeds.info/">Minecraft Seeds</A></LI>
<LI><A HREF="https://getbukkit.org/">Minecraft Server JAR Mirror</A></LI>
<LI><A HREF="https://minecraftservers.org/">Minecraft Servers</A></LI>
<LI><A HREF="https://www.minecraftskins.com/">Minecraft Skindex</A></LI>
<LI><A HREF="http://www.minecraft101.net/superflat/">Minecraft Superflat Preset Generator</A></LI>
<LI><A HREF="https://www.minecrafttexturepacks.com/">Minecraft Texture Packs</A></LI>
<LI><A HREF="https://scratch.mit.edu/">MIT Scratch</A></LI>
<LI><A HREF="https://github.com/moodle/moodle">Moodle</A></LI>
<LI><A HREF="https://mullvad.net/">Mullvad VPN</A></LI>
<LI><A HREF="https://www.namecheap.com/support/knowledgebase/article.aspx/9196/5/how-and-where-can-i-file-abuse-complaints/">Namecheap - How and where can I file abuse complaints?</A></LI>
<LI><A HREF="https://nekovm.org/">NekoVM</A></LI>
<LI><A HREF="http://neverssl.com/">NeverSSL</A></LI>
<LI><A HREF="https://nobsgames.stavros.io/">No Bullshit Games</A></LI>
<LI><A HREF="http://okturing.com/">OK, turing.</A></LI>
<LI><A HREF="https://onlinebooks.library.upenn.edu/">The Online Books Page</A></LI>
<LI><A HREF="https://openbittorrent.com/">OpenBitTorrent</A></LI>
<LI><A HREF="http://www.gutenberg.org/">Project Gutenberg</A></LI>
<LI><A HREF="https://protonvpn.com/">ProtonVPN</A></LI>
<LI><A HREF="https://radicalhk.com/about/donation/">RadicalHK Donation Page</A></LI>
<LI><A HREF="http://rot8000.com/Index">Rot8000</A></LI>
<LI><A HREF="https://www.istartedsomething.com/20061029/royale-noir/">Royale Noir</A></LI>
<LI><A HREF="https://i.kym-cdn.com/photos/images/original/000/030/662/rules.jpg.jpg">Rules of the internet.</A></LI>
<LI ID="misc#search"><A HREF="#misc#search">Search engines</A><UL>
<LI><A HREF="https://alternative-a.com/">Alternative</A></LI>
<LI><A HREF="https://www.baidu.com/">Baidu</A></LI>
<LI><A HREF="https://www.bing.com/">Bing</A></LI>
<LI><A HREF="https://duckduckgo.com/">DuckDuckGo</A> (<A HREF="https://3g2upl4pq6kufc4m.onion/">Onion link</A>)</LI>
<LI><A HREF="https://www.filechef.com/">FileChef</A></LI>
<LI><A HREF="http://frogfind.com/">FrogFind!</A></LI>
<LI><A HREF="https://google.com/">Google</A></LI>
<LI>TORCH (<A HREF="http://xmh57jrknzkhv6y3ls3ubitzfqnkrwxhopf5aygthi7d6rplyvk3noyd.onion/">Onion link</A>)</LI>
<LI><A HREF="https://wiby.me/">Wiby</A></LI>
<LI><A HREF="https://www.yahoo.com/">Yahoo!</A></LI>
</UL></LI>
<LI><A HREF="http://www.pbm.com/">Shadow Island Games</A></LI>
<LI><A HREF="http://maps.stamen.com/">Stamen Maps</A></LI>
<LI><A HREF="https://github.com/noahlevenson/stealing-ur-feelings">Stealing Ur Feelings</A></LI>
<LI>Tea (and herbal "tea", and coffee)<UL>
<LI><A HREF="https://mountainstreamteas.com/collections/green-teas/products/white-green-and-black-tea-sanxia-taster-set?variant=39565934723228">White, Green and Black Tea Sanxia Taster Set</A></LI>
</UL></LI>
<LI><A HREF="https://philosophicalterrorism.blogspot.com/2020/10/terror-in-united-states-open-letter-to.html">Terror in the United States: An Open Letter to American Moderates</A></LI>
<LI><A HREF="https://www.pinger.com/text-free/">Textfree</A></LI>
<LI><A HREF="https://www.google.com/search?hl=en&q=filetype:rtf+|+filetype:ppt+|+filetype:pptx+|+filetype:csv+|+filetype:xls+|+filetype:xlsx+|+filetype:docx+|+filetype:doc+|+filetype:pdf+%22this+document+is+confidential%22+site:gov&aq=f&aqi=&aql=">This Document is Confidential</A></LI>
<LI><A HREF="https://www.thiswaifudoesnotexist.net/">This Waifu Does Not Exist v2</A></LI>
<LI><A HREF="https://thiswojakdoesnotexist.com/">This Wojak Does Not Exist</A></LI>
<LI><A HREF="https://turbotax.intuit.com/taxfreedom/">TurboTax Free File</A></LI>
<LI><A HREF="https://www.bell-labs.com/unix50/">UNIX 50</A></LI>
<LI><A HREF="https://tools.usps.com/go/TrackConfirmAction!input.action">USPS Tracking</A></LI>
<LI><A HREF="http://www.itsmattkc.com/etc/vapor98/">Vaporwave Windows 98 Logo</A></LI>
<LI><A HREF="http://visual6502.org/">Visual 6502</A></LI>
<LI><A HREF="https://www.weebly.com/">Weebly</A></LI>
<LI><A HREF="https://www.whitepages.com/person">Whitepages Free People Search</A></LI>
<LI><A HREF="https://en.wikipedia.org/">Wikipedia English</A></LI>
<LI><A HREF="https://wordpress.com/">Wordpress</A></LI>
<LI><A HREF="https://writer.bighugelabs.com/">Writer: the internet typewriter</A></LI>
<LI><A HREF="https://zbigz.com/myfiles">ZBIGZ</A></LI>
<LI><A HREF="https://zebraiq.com/">Zebra IQ</A></LI>
</UL></LI>
<LI ID="blogs"><A HREF="#blogs">Organizations, personal websites, and publications</A><UL>
<LI><A HREF="https://www.2600.com/">2600</A></LI>
<LI><A HREF="http://49406.org/">[49406]</A></LI>
<LI><A HREF="http://aiju.de/">aiju</A></LI>
<LI><A HREF="http://alleng.org/">Allen G.</A></LI>
<LI><A HREF="https://www.avclub.com/">The AV Club</A></LI>
<LI><A HREF="http://www.bangordailynews.com/">The Bangor Daily News</A></LI>
<LI><A HREF="https://b3ta.com/">B3TA</A></LI>
<LI>Blogspot<UL>
<LI><A HREF="http://poetry.instantfloppy.net/">Habitual Poetry</A></LI>
<LI><A HREF="http://roboham.blogspot.com/">roboham</A></LI>
<LI><A HREF="https://transgriot.blogspot.com/">TransGriot</A></LI>
</UL></LI>
<LI><A HREF="https://www.bookofjoe.com/">Book of Joe</A></LI>
<LI><A HREF="https://thebulletin.org/">The Bulletin of the Atomic Scientists</A></LI>
<LI><A HREF="https://callcc.kill-9.xyz/">CALL/CC</A></LI>
<LI><A HREF="http://cat-v.org/">Cat-v.ORG</A></LI>
<LI><A HREF="https://www.centralmaine.com/">Central Maine News</A></LI>
<LI><A HREF="http://felloff.net/usr/cinap_lenrek/">Cinap Lenrek</A></LI>
<LI><A HREF="http://www.chrismcovell.com/index2.html">Chris Covell</A></LI>
<LI><A HREF="http://lite.cnn.io/en">CNN</A></LI>
<LI><A HREF="https://www.colinfahey.com/">Colin Fahey</A></LI>
<LI><A HREF="http://www.ctyme.com/hosting/index.htm">Computer Tyme</A></LI>
<LI><A HREF="http://crick.com/">Crick</A></LI>
<LI><A HREF="https://crimethinc.com/">CrimethInc.</A></LI>
<LI><A HREF="https://cure53.de/">Cure53</A></LI>
<LI><A HREF="https://cyberpunk-life.neocities.org/">Cyberlife</A></LI>
<LI><A HREF="https://www.dailydot.com/">The Daily Dot</A></LI>
<LI><A HREF="https://danluu.com/">danluu</A></LI>
<LI><A HREF="http://www.scs.stanford.edu/~dm/">David Mazières</A></LI>
<LI><A HREF="http://www.trinity.moe/">Deven Blake</A></LI>
<LI><A HREF="https://www.bell-labs.com/usr/dmr/www/">Dennis M. Ritchie</A></LI>
<LI>Deviantart<UL>
<LI><A HREF="https://www.deviantart.com/catcusmoe">cactusmoe</A></LI>
<LI><A HREF="https://www.deviantart.com/kuvshinov-ilya">Kuvshinov-Ilya</A></LI>
</UL></LI>
<LI><A HREF="https://distrowatch.com/">DistroWatch.com</A></LI>
<LI><A HREF="https://www-cs-faculty.stanford.edu/~knuth/">Donald E. Knuth</A></LI>
<LI><A HREF="https://www.electrospaces.net/">Electrospaces.net</A></LI>
<LI><A HREF="https://www.eff.org/">EFF</A></LI>
<LI><A HREF="http://www.cs.utah.edu/~elb/">Erik Brunvard</A></LI>
<LI><A HREF="https://eunakria.github.io/">Eunakria</A></LI>
<LI><A HREF="https://faenri.ch/">faehnri.ch</A></LI>
<LI><A HREF="https://fivethirtyeight.com/">FiveThirtyEight</A></LI>
<LI><A HREF="https://florane.github.io/">Florane</A></LI>
<LI><A HREF="https://lsub.org/">Fran. J. Ballesteros</A></LI>
<LI><A HREF="https://gizmodo.com/">Gizmodo</A></LI>
<LI><A HREF="https://www.gnu.org/">GNU</A></LI>
<LI><A HREF="http://www.pbm.com/~lindahl/">Greg Lindahl</A></LI>
<LI><A HREF="http://incompleteideas.net/">Incomplete Ideas</A></LI>
<LI><A HREF="https://www.instantfloppy.net/">Instant Floppy</A></LI>
<LI><A HREF="https://www.alchemistowl.org/pocorgtfo/">International Journal of Proof-of-Concept or Get The Fuck Out (PoC||GTFO or PoC or GTFO)</A></LI>
<LI><A HREF="https://itsgoingdown.org/">It's Going Down</A></LI>
<LI><A HREF="https://jayfax.neocities.org/">Jayfax</A></LI>
<LI><A HREF="https://jameshfisher.com/">Jim Fisher</A></LI>
<LI><A HREF="https://kasumiru.neocities.org/">kasumiru</A></LI>
<LI><A HREF="https://kill-9.xyz/">kill -9</A></LI>
<LI><A HREF="https://www.kirsle.net/">Kirsle</A></LI>
<LI><A HREF="https://kotaku.com/">Kotaku</A></LI>
<LI><A HREF="https://kyleschaeffer.com/">Kyle Schaeffer</A></LI>
<LI><A HREF="https://lifehacker.com/">LifeHacker</A></LI>
<LI><A HREF="https://linwer.xyz">linwer</A></LI>
<LI><A HREF="https://www.linuxjournal.com/">Linux Journal</A></LI>
<LI><A HREF="http://www.lord-enki.net/">Lord Enki</A></LI>
<LI><A HREF="https://solar.lowtechmagazine.com/">Lowtech Magazine</A></LI>
<LI><A HREF="https://lwn.net/">LWN.net</A></LI>
<LI><A HREF="https://www.mainereview.com/">The Maine Review</A></LI>
<LI><A HREF="http://mainewriters.org/">Maine Writers</A></LI>
<LI><A HREF="https://mainernews.com/">Mainer</A></LI>
<LI><A HREF="http://michaelnormanwilliams.com/">Michael Norman Williams</A></LI>
<LI><A HREF="https://blog.mozilla.org/">Mozilla</A></LI>
<LI><A HREF="https://www.mufon.com/">MUFON</A></LI>
<LI><A HREF="https://www.nbcnews.com/">NBC News</A></LI>
<LI><A HREF="https://www.newscentermaine.com/">News Center Maine</A></LI>
<LI><A HREF="https://www.nytimes.com/">The New York Times</A></LI>
<LI><A HREF="https://www3.nhk.or.jp/nhkworld/">NHK World-Japan</A></LI>
<LI><A HREF="http://ninetimes.cat-v.org/">NineTimes</A></LI>
<LI><A HREF="https://devblogs.microsoft.com/oldnewthing/">Old New Thing</A></LI>
<LI><A HREF="https://ortusjournal.org/">Ortus Journal</A></LI>
<LI><A HREF="http://paulgraham.com/index.html">Paul Graham</A></LI>
<LI><A HREF="http://www.perkel.com/">Perkel</A></LI>
<LI><A HREF="https://postsecret.com/">PostSecret</A></LI>
<LI><A HREF="https://freethoughtblogs.com/">PZ Myers</A></LI>
<LI><A HREF="https://qorg11.net/">qorg11.net</A></LI>
<LI><A HREF="http://bnrg.cs.berkeley.edu/~randy/">Randy H. Katz</A></LI>
<LI><A HREF="https://reese.instantfloppy.net">Reese McConnell</A></LI>
<LI><A HREF="http://web.eece.maine.edu/eason/">Richard Eason</A></LI>
<LI><A HREF="http://rlstine.com/">R. L. Stine</A></LI>
<LI><A HREF="http://www.rongarret.info/">Ron Garret</A></LI>
<LI><A HREF="https://web.archive.org/web/20010404060632/http://www.geocities.com:80/Tokyo/Ginza/5975/">Eternal Serena's Sailor Moon Universe</A></LI>
<LI><A HREF="https://ftrv.se/">Sigrid</A></LI>
<LI><A HREF="http://4ch.mooo.com/">四葉の芽◇ちゃんねる</A></LI>
<LI><A HREF="https://slashdot.org/">Slashdot</A></LI>
<LI><A HREF="https://www.snopes.com/">Snopes</A></LI>
<LI><A HREF="https://www.sunjournal.com/">The Sun Journal</A></LI>
<LI><A HREF="https://tebibyte.media/">Tebibyte Media</A></LI>
<LI><A HREF="https://thetech.com/">The Tech</A></LI>
<LI><A HREF="https://www.techdirt.com/">techdirt</A></LI>
<LI><A HREF="https://www.tellingroom.org/">The Telling Room</A></LI>
<LI><A HREF="https://ti84clacualters.neocities.org/">ti84clacualters</A></LI>
<LI><A HREF="https://www.tumblr.com/">Tumblr</A><UL>
<LI><A HREF="https://web.archive.org/web/20141229151735/http://lazerprincess.tumblr.com/">lazerprincess</A></LI>
<LI><A HREF="https://mcupdate.tumblr.com/">Minecraft News</A></LI>
<LI><A HREF="https://laimina.tumblr.com/">webcore/old web sideblog</A></LI>
</UL></LI>
<LI><A HREF="https://www.vice.com/">Vice</A></LI>
<LI>Webcomics<UL>
<LI><A HREF="https://3eanuts.com/">3eanuts</A></LI>
<LI><A HREF="https://garfieldminusgarfield.net/">garfield minus garfield</A></LI>
<LI><A HREF="http://www.neorice.com/hoh_latest">Hero Oh Hero</A></LI>
<LI><A HREF="https://megatokyo.com/">MegaTokyo</A></LI>
<LI><A HREF="https://questionablecontent.net/">Questionable Content</A></LI>
<LI><A HREF="http://www.savestatecomic.com/">Savestate</A></LI>
<LI><A HREF="http://twokinds.keenspot.com/">Twokinds</A></LI>
<LI><A HREF="https://xkcd.com/">xkcd</A></LI>
</UL></LI>
<LI><A HREF="https://notthebe.ee/">Wolfgang's Blog</A></LI>
<LI><A HREF="http://www.xanadu.net/">Xanadu</A></LI>
<LI><A HREF="https://www.xyte.ch/">xytech</A></LI>
</UL></LI>
<LI>Directories<UL>
<LI><A HREF="http://37.49.225.149/">37.49.225.149</A></LI>
<LI><A HREF="http://37.187.126.11/">37.187.126.11</A></LI>
<LI><A HREF="http://47.6.21.208/">47.6.21.208</A></LI>
<LI><A HREF="http://54.39.19.165/">54.39.19.165</A></LI>
<LI><A HREF="http://81.13.43.226/Proj/">81.13.43.226</A></LI>
<LI><A HREF="http://88.99.139.156/plex/Movies/">88.99.139.156</A></LI>
<LI><A HREF="http://103.109.215.30/FTP/">103.109.215.30</A></LI>
<LI><A HREF="http://136.243.8.92/Movies/En/">136.243.8.92</A></LI>
<LI><A HREF="http://141.255.166.3">141.255.166.3</A></LI>
<LI><A HREF="http://144.217.176.177/">144.217.176.177</A></LI>
<LI><A HREF="http://185.105.103.102/">185.105.103.102</A></LI>
<LI><A HREF="http://192.240.120.146/">192.240.120.146</A></LI>
</UL></LI>
<LI ID="education"><A HREF="#education">Education</A><UL>
<LI><A HREF="https://www.duolingo.com/">Duolingo</A></LI>
<LI><A HREF="https://www.edgenuity.com/">Edgenuity</A></LI>
<LI><A HREF="https://www.ixl.com/">IXL</A></LI>
<LI><A HREF="https://www.khanacademy.org/">Khan Academy</A></LI>
<LI><A HREF="https://www.pearsonmylabandmastering.com/northamerica/mymathlab/">Pearson MyMathLab</A></LI>
<LI><A HREF="https://quizlet.com/">Quizlet</A></LI>
<LI><A HREF="https://www.testout.com/">TestOut</A></LI>
</UL></LI>
<LI>Firmware<UL>
<LI><A HREF="https://sdx1.net/tools/t420bios/">T420 BIOS Mod</A></LI>
<LI><A HREF="https://www95.zippyshare.com/v/rBVD1Bf6/file.html">Thinkpad T420 Custom BIOS</A></LI>
</UL></LI>
<LI>Hardware<UL>
<LI><A HREF="https://www.instructables.com/id/Build-a-Low-cost-Portable-Wii-Laptop/">Build a Low-cost Portable Wii Laptop</A></LI>
<LI><A HREF="https://tech.michaelaltfield.net/2020/01/02/buskill-laptop-kill-cord-dead-man-switch/">Buskill</A></LI>
<LI><A HREF="http://www.lagom.nl/lcd-test/clock_phase.php#clockcalib">Clock/Phase Calibrator</A></LI>
<LI><A HREF="https://www.sony.com/electronics/support/televisions-projectors/fdt-5bx5">FDT-5BX5</A></LI>
<LI><A HREF="http://www.angrymods.com/mame/">Giganto-MAME</A></LI>
<LI><A HREF="https://www.telnet.jp/~mia/sb/log/eid317.html">Hyper Keyboard pi</A></LI>
<LI><A HREF="http://www.angrymods.com/projects/kegerator/Kegerator.htm">Kegerator</A></LI>
<LI><A HREF="http://www.chargerlab.com/lenovo-thinkplus-pa65-65w-usb-pd-charger-teardown-review-engineering-brilliance/">Lenovo Thinkplus PA65 65W USB PD Charger Teardown Review: Engineering Brilliance</A></LI>
<LI><A HREF="http://mycpu.thtec.org/www-mycpu-eu/index1.htm">MyCPU</A></LI>
<LI><A HREF="https://osmocom.org/projects/osmo-fl2k/wiki">Osmo FL2K</A></LI>
<LI><A HREF="http://wacco.mveas.com/">Project VGA</A></LI>
<LI><A HREF="https://reflex.dance/">RE:Flex Dance</A></LI>
<LI><A HREF="https://github.com/schlae/snark-barker">Snark Barker</A></LI>
<LI><A HREF="https://christitus.com/raspberry-pi-laptop/">Raspberry Pi Laptop – Chris Titus Tech</A></LI>
<LI><A HREF="https://support.lenovo.com/us/en/solutions/migr-72865">ThinkPad Port Replicator Series 3</A></LI>
<LI><A HREF="https://imgur.com/a/h2kR0Gs">"The working prototype of my cyberdeck is complete."</A></LI>
<LI><A HREF="https://shop.libiquity.com/product/wifri-nd2h">Wi-Fri ND2H</A></LI>
</UL></LI>
<LI>Markets<UL>
<LI><A HREF="https://www.aliexpress.com/">AliExpress</A></LI>
<LI><A HREF="https://smile.amazon.com/">Amazon</A></LI>
<LI><A HREF="https://gamejolt.com/">Game Jolt</A></LI>
<LI><A HREF="https://www.gog.com/">GOG</A></LI>
<LI><A HREF="https://www.govdeals.com/">Government Deals</A></LI>
<LI><A HREF="https://gsaauctions.gov/gsaauctions/aucindx/">GSA Auctions</A></LI>
<LI><A HREF="https://www.humblebundle.com/">HumbleBundle</A></LI>
<LI><A HREF="https://taobao.com/">Taobao</A></LI>
<LI><A HREF="https://venmo.com/">Venmo</A></LI>
</UL></LI>
<LI>Media<UL>
<P><SMALL>It is assumed that everything on these links is provided and will be consumed legally.</SMALL></P>
<LI><A HREF="http://2020ok.com/">2020OK</A></LI>
<LI>Audio<UL>
<LI><A HREF="https://8tracks.com/">8tracks</A></LI>
<LI><A HREF="https://www.accuradio.com/">Accuradio</A></LI>
<LI><A HREF="http://audiobookbay.ws/">The Audiobook Bay</A></LI>
<LI><A HREF="http://bbcsfx.acropolis.org.uk/">BBC Sound Effects</A></LI>
<LI><A HREF="https://b-ok.org/">b-ok</A></LI>
<LI><A HREF="http://deepsid.chordian.net/">DeepSID</A></LI>
<LI>82.8 Kamakura FM (<A HREF="http://musicbird.leanstream.co/JCB016-MP3?args=tunein_02">MP3 stream</A>)</LI>
<LI><A HREF="https://laut.fm/best_of_80s">Laut - Best of 80s</A> (<A HREF="https://bestof80s.stream.laut.fm/best_of_80s?t302=2021-01-20_04-56-53&uuid=2deefe31-c9d2-479b-9a18-fac9c151684d">MP3 stream</A>)</LI>
<LI><A HREF="https://www.pandora.com/">Pandora</A></LI>
<LI><A HREF="http://radio.dangeru.us/">radi/u/</A> (<A HREF="http://radio.dangeru.us:8000/stream.ogg?t=1609048082">OGG stream</A>)</LI>
<LI><A HREF="https://open.spotify.com/">Spotify</A></LI>
<LI>YouTube<UL>
<LI><A HREF="https://www.youtube.com/watch?v=OJj_UVPOPDg">Cafe Bossa Nova Jazz - Instrumental Bossa Nova Music for Work, Study and Relax</A></LI>
<LI><A HREF="https://www.youtube.com/watch?v=UxOwrLjJEBM">Lovefool Hatsune Miku Cover</A></LI>
<LI><A HREF="https://www.youtube.com/watch?v=hHW1oY26kxQ">lofi hip hop beats</A></LI>
<LI><A HREF="https://www.youtube.com/playlist?list=PLa9CxlceLrsFccIMQqsJKyV2cyEteUlT6">Guster - Look Alive</A></LI>
<LI><A HREF="https://www.youtube.com/watch?v=1ZJSB59S0lY">The Moldau - Orquestra Lírica de Barcelona</A></LI>
<LI><A HREF="https://www.youtube.com/playlist?list=PL28688E9EB7A431DD">Sims 2 GBA OST</A></LI>
</UL></LI>
</UL></LI>
<LI><A HREF="https://codeberg.org/">Codeberg</A>
<LI>Curricula<UL>
<LI><A HREF="https://oyc.yale.edu/economics/econ-159">Yale ECON 159 "Game Theory</A></LI>
</UL></LI>
<LI>Directories<UL>
<LI><A HREF="https://file.wikileaks.org/file/">Wikileaks</A></LI>
</UL></LI>
<LI>Feeds<UL>
<LI><A HREF="https://0intro.dev/index.xml">0intro</A></LI>
<LI>bsd.network<UL>
<LI><A HREF="https://bsd.network/users/ed1conf.rss">ed1conf</A></LI>
<LI><A HREF="https://bsd.network/users/mwlucas.rss">mwlucas</A></LI>
</UL></LI>
<LI>diode.zone<UL>
<LI><A HREF="https://diode.zone/feeds/videos.xml?videoChannelId=1485">neinfront</A></LI>
</UL></LI>
</UL></LI>
<LI>Games<UL>
<LI><A HREF="https://play2048.co/">2048</A></LI>
<LI><A HREF="http://adarkroom.doublespeakgames.com/">A Dark Room</A></LI>
<LI><A HREF="http://agar.io/">Agar.io</A></LI>
<LI><A HREF="https://armorgames.com/">Armor Games</A></LI>
<LI><A HREF="https://www.mediacollege.com/media-guru/audio/frequency-trainer.html">Audio Frequency Trainer</A></LI>
<LI><A HREF="https://baaaang.com/">Baaang</A></LI>
<LI><A HREF="https://bumper-io.com/">Bumper.io</A></LI>
<LI><A HREF="https://www.gotoquiz.com/classical_alignment_test_2">Classical Alignment Test</A></LI>
<LI><A HREF="https://www.cleverbot.com/">Cleverbot</A></LI>
<LI><A HREF="http://c64clicker.com/">Commodore Clicker</A></LI>
<LI><A HREF="https://www.coolmathgames.com/">Cool Math Games</A></LI>
<LI><A HREF="http://diep.io/">Diep.io</A></LI>
<LI><A HREF="http://continuation-labs.com/d3wasm/">Doom 3 WASM</A></LI>
<LI><A HREF="https://en.shindanmaker.com/938806">Eboy Levels</A></LI>
<LI><A HREF="http://psych.fullerton.edu/mbirnbaum/psych101/Eliza.htm">ELIZA JS</A></LI>
<LI><A HREF="https://www.emuparadise.me/">EmuParadise</A></LI>
<LI><A HREF="https://experimentalgameplay.com/">Experimental Gameplay</A></LI>
<LI>Flash-based<UL>
<LI><A HREF="https://archive.org/details/bloonstd_202011">Bloons Tower Defense</A></LI>
<LI><A HREF="https://archive.org/details/bloxors">Bloxorz</A></LI>
<LI><A HREF="https://archive.org/details/flash_picosschool">Pico's School</A></LI>
<LI><A HREF="https://archive.org/details/porolith">Porolith</A></LI>
<LI><A HREF="https://archive.org/details/flash_theworldshardestgame">The World's Hardest Game</A></LI>
</UL></LI>
<LI><A HREF="https://www.freeriderhd.com/">Free Rider HD</A></LI>
<LI><A HREF="http://www.friv.com/">Friv</A></LI>
<LI><A HREF="https://qntm.org/hatetris">HATETRIS</A></LI>
<LI><A HREF="https://games.instantfloppy.net/">Instant Floppy Games</A></LI>
<LI><A HREF="https://itch.io/">itch.io</A></LI>
<LI><A HREF="http://www.onemorelevel.com/">One More Level</A></LI>
<LI><A HREF="https://play.m3o.xyz/">m3o</A></LI>
<LI><A HREF="https://www.myabandonware.com/">My Abandonware</A></LI>
<LI><A HREF="https://nadgames.com/">NadGames</A></LI>
<LI><A HREF="http://paper-io.com/">Paper.io</A></LI>
<LI><A HREF="https://software-lab.de/penti.html">Penti Chorded Keyboard</A></LI>
<LI><A HREF="https://www.pokemon.com/us/">Pokémon</A></LI>
<LI><A HREF="https://psxparty.kosmi.io/">PSX Party</A></LI>
<LI><A HREF="http://slither.io/">Slither.io</A></LI>
<LI><A HREF="https://en.shindanmaker.com/878761">stupid horny feral clown cursed baby</A></LI>
</UL></LI>
<LI><A HREF="https://the-eye.eu/public/">The Eye</A></LI>
<LI><A HREF="https://github.com/">GitHub</A>
<LI><A HREF="https://gitlab.com/">GitLab</A>
<LI><A HREF="https://archive.org/">The Internet Archive</A></LI>
<LI><A HREF="https://notabug.org/">Notabug</A>
<LI><A HREF="http://satoarchives.com/">Osamu Sato Archives</A></LI>
<LI><A HREF="https://thepiratebay.org/">The Pirate Bay</A></LI>
<LI><A HREF="https://sr.ht/">sourcehut</A><UL>
<LI><A HREF="https://git.sr.ht/~ft/">ft (Sigrid)</A></LI>
</UL></LI>
<LI>Texts<UL>
<LI>Ballesteros, Francisco J.<UL>
<LI><A HREF="https://github.com/fjballest/docs/blob/master/9notes.pdf">Notes on the Plan 9 3rd edition Kernel Source</A></LI>
</UL></LI>
<LI>Bisson, Terry<UL>
<LI><A HREF="https://www.mit.edu/people/dpolicar/writing/prose/text/thinkingMeat.html">They're Made out of Meat</A></LI>
</UL></LI>
<LI>King, Stephen<UL>
<LI><A HREF="https://archive.org/details/CarrieStephenKing/">Carrie</A></LI>
</UL></LI>
<LI>NAKAMOTO Satoshi<UL>
<LI><A HREF="https://bitcoin.org/bitcoin.pdf">Bitcoin: A Peer-to-Peer Electronic Cash System</A></LI>
</UL></LI>
<LI>n1x<UL>
<LI><A HREF="https://vastabrupt.com/2018/10/31/gender-acceleration/">Gender Acceleration: A Blackpaper</A></LI>
</UL></LI>
<LI>Pellegrin, Jacques<UL>
<LI><A HREF="https://gallica.bnf.fr/ark:/12148/bpt6k432639c/f41">Contribution à l'étude anatomique, biologique et taxinomique des poissons de la famille des cichlidés</A></LI>
</UL></LI>
<LI>Pike, Rob<UL>
<LI><A HREF="https://web.archive.org/web/20190703170223/https://research.swtch.com/acme.pdf">Acme: A User Interface for Programmers</A></LI>
</UL></LI>
<LI>Stuart, Brian<UL>
<LI><A HREF="https://web.archive.org/web/20161117100244/http://4e.iwp9.org/papers/lapfs.pdf">A File System for Laptops</A></LI>
</UL></LI>
<LI><A HREF="https://www.poetryfoundation.org/poems/43521/beowulf-old-english-version">Beowulf</A></LI>
<LI><A HREF="https://hikage.freeshell.org/books/theCprogrammingLanguage.pdf">The C Programming Language (2nd ed.)</A></LI>
<LI><A HREF="https://qntm.org/responsibility">I don't know, Timmy, being God is a big responsibility</A></LI>
<LI><A HREF="http://www.softwarepreservation.org/projects/LISP/book/LISP%201.5%20Programmers%20Manual.pdf">LISP 1.5 Programmer's Manual</A></LI>
<LI><A HREF="https://web.archive.org/web/20160624083931/http://www.cs.columbia.edu/~vatlidak/POSIXpaper.pdf">POSIX Abstractions in Modern Operating Systems: The Old, the New, and the Missing</A></LI>
<LI><A HREF="https://www.cato.org/sites/cato.org/files/pubs/pdf/workingpaper-8_1.pdf">World Hyperinflations</A></LI>
<LI><A HREF="https://pdos.csail.mit.edu/6.828/2019/xv6/book-riscv-rev0.pdf">xv6 Book</A></LI>
</UL></LI>
<LI><A HREF="https://torrentzeu.org/">Torrentz2</A></LI>
<LI><A HREF="https://urbigenous.net/library/">Urbigenous Library</A></LI>
<LI>Video<UL>
<LI><A HREF="https://4anime.to/">4anime</A></LI>
<LI><A HREF="https://www.bitchute.com/">BitChute</A></LI>
<LI><A HREF="https://www.cartoonnetwork.com/">Cartoon Network</A></LI>
<LI><A HREF="https://www.cbsnews.com/live/">CBS News Live</A></LI>
<LI><A HREF="https://hevcbay.com/">HEVCBay</A> (Defunct)</LI>
<LI><A HREF="https://www.hulu.com/">Hulu</A></LI>
<LI><A HREF="https://kast.gg/">Kast</A></LI>
<LI><A HREF="https://kissanime.ru/">KissAnime</A></LI>
<LI><A HREF="https://kisscartoon.ac/">KissCartoon</A></LI>
<LI><A HREF="https://kongoucheats.com/">KongouCheats</A></LI>
<LI><A HREF="https://cinema.mosfilm.ru/">Mosfilm</A></LI>
<LI><A HREF="https://www.reddit.com/r/MegaAnime/comments/94zl52/anime_neon_genesis_evangelion_complete_everything/">Neon Genesis Evangelion - r/MEGAAnime</A> (Defunct)</LI>
<LI><A HREF="https://www.netflix.com/browse">NetFlix</A></LI>
<LI><A HREF="https://www.newgrounds.com/">Newgrounds</A><UL>
<LI><A HREF="https://www.newgrounds.com/portal/view/12798">Mr. T vs Cats</A></LI>
</UL></LI>
<LI><A HREF="https://odysee.com/">Odysee</A></LI>
<LI><A HREF="https://player.pbs.org/ga-livestream-portalplayer/">PBS Livestream</A></LI>
<LI><A HREF="https://puffer.stanford.edu/player/">Puffer</A></LI>
<LI><A HREF="https://rarbg.to/index80.php">RARBG</A></LI>
<LI><A HREF="https://www.rottentomatoes.com/">Rotten Tomatoes</A></LI>
<LI><A HREF="https://rutracker.org/forum/index.php">RuTracker</A></LI>
<LI><A HREF="https://threatbutt.com/map/">ThreatButt Map</A></LI>
<LI><A HREF="https://torrentgalaxy.to/">TorrentGalaxy</A></LI>
<LI><A HREF="https://tubitv.com/home">Tubi</A></LI>
<LI><A HREF="https://www.twitch.tv/">Twitch</A></LI>
<LI><A HREF="https://vimeo.com/">Vimeo</A><UL>
<LI><A HREF="https://vimeo.com/164729875">tandemonium</A></LI>
</UL></LI>
<LI><A HREF="https://www.youtube.com/">YouTube</A><UL>
<LI>Channels<UL>
<LI><A HREF="https://www.youtube.com/channel/UCc57gv0P0ve6QAAcKgTsqdQ">Bitsrfr</A></LI>
<LI><A HREF="https://www.youtube.com/channel/UCh_d7uVxXhi7cOVtbkwil2g">Sauceyjames</A></LI>
<LI><A HREF="https://www.youtube.com/channel/UCZrrEuHiQjN2CUo84g5tk7w">tripcode!Q/7</A></LI>
<LI><A HREF="https://www.youtube.com/user/shango066">shango066</A></LI>
<LI><A HREF="https://www.youtube.com/channel/UCmRlQIXsEllAym3BUk1joEQ/">WesleyAda</A></LI>
<LI><A HREF="https://www.youtube.com/channel/UCPXIz1vyKoMiY9zqJj5gdZA">新山和敬</A></LI>
</UL></LI>
<LI><A HREF="http://defaultfile.name/">default filename tv</A></LI>
<LI><A HREF="https://www.youtube.com/">Google YouTube</A></LI>
<LI><A HREF="https://ruyoutube.ru/">ruYouTube</A></LI>
<LI>Videos<UL>
<LI><A HREF="https://www.youtube.com/watch?v=SGF_iTLdw4U">10 Hours of Soft Loli Breathing</A></LI> <!-- to be clear, this is a joke entry -->
<LI><A HREF="https://www.youtube.com/watch?v=RLevgVmZ8rE">Ambiancé Trailer</A></LI>
<LI><A HREF="https://www.youtube.com/watch?v=IP0KB2XC29o">The Cabinet Of Dr. Caligari</A></LI>
</UL></LI>
<LI><A HREF="https://y2mate.com/">y2mate</A></LI>
<LI><A HREF="https://commentpicker.com/youtube-channel-id.php">Youtube Channel ID Finder</A></LI>
<LI><A HREF="https://youtubedecade.netlify.com/">YouTube Decade</A></LI>
<LI><A HREF="http://thumbnailsave.com/">YouTube Thumb DL</A></LI>
<LI><A HREF="https://ytmp3.cc/">YTMP3</A></LI>
</UL></LI>
<LI><A HREF="https://zooqle.com/">Zooqle</A></LI>
</UL></LI>
<LI><A HREF="http://web.archive.org/save">Wayback Machine Save Page</A></LI>
</UL></LI>
<LI ID="ref"><A HREF="#ref">Reference</A><UL>
<P><B>Also see Media/Books.</B></P>
<LI><A HREF="https://web.archive.org/web/20200802054744/https://www.ssa.gov/history/ssn/misused.html">078-05-1120</A></LI>
<LI><A HREF="https://en.wikipedia.org/wiki/33_Thomas_Street">33 Thomas Street - Wikipedia</A></LI>
<LI><A HREF="https://github.com/albertz/wiki">albertz/wiki</A></LI>
<LI><A HREF="https://baheyeldin.com/literature/arabic-and-islamic-themes-in-frank-herberts-dune.html">Arabic and Islamic themes in Dune</A></LI>
<LI><A HREF="https://docs.google.com/spreadsheets/d/1JVDjwC6JOkQpQFEnZ8pogGqoRzyvrQdNm5T3qyd4_u0/">Archivist Salary Survey 2019</A></LI>
<LI><A HREF="https://data.ddosecrets.com/file/Sherwood/">Athol</A></LI>
<LI><A HREF="https://en.wikipedia.org/wiki/Attempto_Controlled_English">Attempto Controlled English - Wikipedia</A></LI>
<LI><A HREF="https://onlinebooks.library.upenn.edu/banned-books.html">Banned Books Online</A></LI>
<LI><A HREF="https://theblog.okcupid.com/the-best-questions-for-a-first-date-dba6adaa9df2">The Best Questions For A First Date</A></LI>
<LI><A HREF="http://www.cheatcodes.com/">Cheat Codes</A></LI>
<LI ID="ref#com"><A HREF="#ref#com">Computing</A><UL>
<LI>Bugs<UL>
<LI><A HREF="https://vorner.github.io/2020/11/06/40-ms-bug.html">40 millisecond bug</A></LI>
<LI><A HREF="https://jira.atlassian.com/browse/JRASERVER-65811">Change the string "allopenissues" to not include the word "penis"</A></LI>
<LI><A HREF="https://github.com/blueman-project/blueman/issues/1110">Doesn't work! UwU</A></LI>
<LI><A HREF="https://hansdegoede.livejournal.com/22338.html">Disney+ Error Code 83</A></LI>
<LI><A HREF="https://bugzilla.mozilla.org/show_bug.cgi?id=955950">Preference to disable/select the number of days until recommending a reset</A></LI>
<LI><A HREF="https://www.reddit.com/r/DataHoarder/comments/ikk0rv/psa_multiple_wd_5400rpm_drives_are_actually/">PSA: multiple WD "5400RPM" drives are actually 7200RPM, including WD80EMAZ/EZAZ and (some) WD Reds</A></LI>
<LI><A HREF="https://bugs.mojang.com/browse/MCL-11384">MCL-11384</A></LI>
<LI><A HREF="http://tim32.org/~muzer/t17-archive/forum.team17.com/archive/index.php/t-33882.html">Worms goes out of sync</A></LI>
</UL></LI>
<LI>Languages<UL>
<LI>UNIX shells<UL>
<LI><A HREF="https://eklitzke.org/bash-$%2A-and-$@">Bash $* and $@</A></LI>
<LI><A HREF="https://unix.stackexchange.com/questions/84686/how-to-create-custom-commands-in-unix-linux">Bash - Custom Commands</A></LI>
<LI><A HREF="https://github.com/Idnan/bash-guide">bash-guide</A></LI>
<LI><A HREF="https://mywiki.wooledge.org/BashPitfalls">Bash Pitfalls</A></LI>
<LI><A HREF="https://stackoverflow.com/questions/10551981/how-to-perform-a-for-loop-on-each-character-in-a-string-in-bash">How to perform a for loop on each character in a string in Bash?</A></LI>
<LI><A HREF="https://github.com/dylanaraps/pure-bash-bible">Pure BASH Bible</A></LI>
<LI><A HREF="https://arslan.io/2019/07/03/how-to-write-idempotent-bash-scripts/">Writing idempotent Bash scripts</A></LI>
</UL></LI>
<LI>C<UL>
<LI><A HREF="http://sekrit.de/webdocs/c/beginners-guide-away-from-scanf.html">A beginners' guide away from scanf()</A></LI>
<LI><A HREF="https://viewsourcecode.org/snaptoken/kilo/">Build Your Own Text Editor</A></LI>
<LI><A HREF="https://en.cppreference.com/w/c/language/operator_precedence">C Operator Precedence</A></LI>
<LI><A HREF="http://s3-us-west-2.amazonaws.com/belllabs-microsite-dritchie/cbook/index.html">The C Programming Language Companion Website</A></LI>
<LI><A HREF="https://port70.net/~nsz/c/c89/c89-draft.html">The C89 Draft</A></LI>
<LI><A HREF="http://debrouxl.github.io/gcc4ti/">GCC4TI Documentation</A></LI>
<LI><A HREF="https://en.cppreference.com/w/c/language/history">History of C</A></LI>
<LI><A HREF="https://geocar.sdf1.org/alloc.html">How to allocate memory</A></LI>
<LI><A HREF="https://www.cs.princeton.edu/courses/archive/spr09/cos333/beautiful.html">A Regular Expression Matcher</A></LI>
<LI><A HREF="https://www.informit.com/articles/article.aspx?p=2036582&seqNum=5">String-Handling Functions</A></LI>
<LI><A HREF="https://stackoverflow.com/questions/3552095/sensible-line-buffer-size-in-c">Sensible line buffer size in C?</A></LI>
<LI><A HREF="https://web.archive.org/web/20030812081713/http://klausler.com/cnotes.txt">Some things every C programmer should know about C</A></LI>
<LI><A HREF="http://fabiensanglard.net/c/">To become a good C programmer</A></LI>
</UL></LI>
<LI>Forth<UL>
<LI><A HREF="https://skilldrick.github.io/easyforth/">Easy Forth</A></LI>
</UL></LI>
<LI>FORTRAN<UL>
<LI><A HREF="https://docs.oracle.com/cd/E19957-01/805-4939/index.html">Oracle FORTRAN 77 Language Reference</A></LI>
</UL></LI>
<LI>Lisp<UL>
<LI><A HREF="https://lispcookbook.github.io/cl-cookbook/">The Common Lisp Cookbook</A></LI>
<LI><A HREF="https://lisp-lang.org/style-guide/">Common Lisp Style Guide</A></LI>
</UL></LI>
<LI>Makefile<UL>
<LI><A HREF="https://www.cprogramming.com/tutorial/makefiles_continued.html">Advanced Makefile Techniques</A></LI>
<LI><A HREF="https://www.gnu.org/software/make/manual/html_node/Implicit-Variables.html">Variables Used by Implicit Rules</A></LI>
</UL></LI>
<LI>Python<UL>
<LI><A HREF="https://vinayak.io/2020/05/04/the-hitchhikers-guide-to-clis-in-python/">The Hitchhiker's Guide to CLIs in Python</A></LI>
<LI><A HREF="https://stackoverflow.com/questions/493386/how-to-print-without-newline-or-space">How to print without newline or space? - Stack Overflow</A></LI>
<LI><A HREF="https://www.python.org/dev/peps/pep-0274/">PEP 274</A></LI>
</UL></LI>
</UL></LI>
<LI>POSIX<UL>
<LI><A HREF="https://pubs.opengroup.org/onlinepubs/9699919799/">head</A></LI>
<LI><A HREF="https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/limits.h.html">limits.h</A></LI>
</UL></LI>
<LI>RFC<UL>
<LI><A HREF="https://tools.ietf.org/html/rfc793">RFC 793 - Transmission Control Protocol</A></LI>
<LI><A HREF="https://tools.ietf.org/html/rfc1180">RFC 1180 - A TCP/IP Tutorial</A></LI>
<LI><A HREF="https://tools.ietf.org/html/rfc1523">RFC 1523 - The text/enriched MIME Content-type</A></LI>
<LI><A HREF="https://tools.ietf.org/html/rfc1738">RFC 1738 - Uniform Resource Locators (URL)</A></LI>
<LI><A HREF="https://tools.ietf.org/html/rfc1918">RFC 1918 - Address Allocation for Private Internets</A></LI>
<LI><A HREF="https://tools.ietf.org/html/rfc1928">RFC 1928 - SOCKS Protocol Version 5</A></LI>
<LI><A HREF="https://tools.ietf.org/html/rfc1945">RFC 1945 - Hypertext Transfer Protocol -- HTTP/1.0</A></LI>
<LI><A HREF="https://tools.ietf.org/html/rfc2068">RFC 2068 - Hypertext Transfer Protocol -- HTTP/1.1</A></LI>
<LI><A HREF="https://tools.ietf.org/html/rfc2324">RFC 2324 - Hyper Text Coffee Pot Control Protocol (HTCPCP/1.0)</A></LI>
<LI><A HREF="https://tools.ietf.org/html/rfc3339">RFC 3339 - Date and Time on the Internet: Timestamps</A></LI>
<LI><A HREF="https://tools.ietf.org/html/rfc3986">RFC 3986 - Uniform Resource Identifier (URI): Generic Syntax</A></LI>
<LI><A HREF="https://tools.ietf.org/html/rfc4180">RFC 4180 - Common Format and MIME Type for Comma-Separated Values (CSV) Files</A></LI>
<LI><A HREF="https://tools.ietf.org/html/rfc5952">RFC 5952 - A Recommendation for IPv6 Address Text Representation</A></LI>
<LI><A HREF="https://tools.ietf.org/html/rfc7168">RFC 7168 - The Hyper Text Coffee Pot Control Protocol for Tea Efflux Appliances (HTCPCP-TEA)</A></LI>
<LI><A HREF="https://tools.ietf.org/html/rfc7686">RFC 7686 - The ".onion" Special-Use Domain Name</A></LI>
</UL></LI>
<LI><A HREF="https://create.arduino.cc/projecthub/michalin70/ab-use-an-arduino-as-am-music-transmitter-d3b6e3">(Ab)use an Arduino as AM Music Transmitter!</A></LI>
<LI><A HREF="https://www.youtube.com/watch?v=Q28PiMxTc4I">Acer Aspire One Disassembly</A></LI>
<LI><A HREF="https://www.youtube.com/watch?v=-mXM2UTjDiI">Adjusting PS1 Laser to Read Original and Burned Games</A></LI>
<LI><A HREF="https://bbs.archlinux.org/viewtopic.php?id=256857">ALSA lib conf Evaluate error</A></LI>
<LI><A HREF="https://programmersatwork.wordpress.com/toru-iwatani-1986-pacman-designer/">An Interview with Toru Iwatani</A></LI>
<LI><A HREF="https://drive.google.com/drive/folders/1p5RICuEWlLhbzM8Lczsg7x-Zu88W46Uv">Apple Archive</A></LI>
<LI><A HREF="https://www.instructables.com/Apple-30-Pin-Charger-for-Samsung-Hack/">Apple 30 Pin Charger for Samsung Hack</A></LI>
<LI><A HREF="https://www.cultofmac.com/190779/apple-vs-samsung-a-decade-of-proprietary-connectors-humor/">Apple vs. Samsung: A Decade Of Proprietary Connectors</A></LI>
<LI><A HREF="https://www.electronics-tutorials.ws/combination/comb_7.html">Binary Adder</A></LI>
<LI><A HREF="https://corecursive.com/058-brian-kernighan-unix-bell-labs/">The Birth of UNIX with Brian Kernighan</A></LI>
<LI><A HREF="https://graphics.stanford.edu/~seander/bithacks.html">Bit Twiddling Hacks</A></LI>
<LI><A HREF="http://www.barryhubbard.com/linux/booting-acer-aspire-one-from-sd-card/">Boot Acer Aspire One from SD</A></LI>
<LI><A HREF="https://forum.thinkpads.com/viewtopic.php?t=34545">Boot X20 From USB Pen Drive? - Thinkpads Forum</A></LI>
<LI><A HREF="http://www.os2museum.com/wp/a-brief-history-of-unreal-mode/">A Brief History of Unreal Mode</A></LI>
<LI><A HREF="http://archive.google.com/jobs/britney.html">Britney Spears spelling correction</A></LI>
<LI><A HREF="https://codevoid.de/1/posts/2020-05-17-browser-dark-mode.gph">Browser Dark Mode (Chrome and Firefox)</A></LI>
<LI><A HREF="https://www.pentestpartners.com/security-blog/breaking-samsung-firmware-or-turning-your-s8-s9-s10-into-a-diy-proxmark/">Breaking Samsung firmware, or turning your S8/S9/S10 into a DIY "Proxmark"</A></LI> <LI><A HREF="http://yeokhengmeng.com/2019/12/building-a-new-win-3-1-app-in-2019-part-1-slack-client/">Building a new Win 3.1 app in 2019</A></LI>
<LI><A HREF="http://www.bowdoin.edu/~ltoma/teaching/cs340/spring05/coursestuff/Bentley_BumperSticker.pdf">Bumper Sticker CS</A></LI>
<LI><A HREF="https://cure53.de/analysis-report_bxaq.pdf">BXAQ Analysis</A></LI>
<LI><A HREF="https://github.com/checkra1n/BugTracker/issues/1689">checkra1n 0.11.0 hangs or crashes on userland boot</A></LI>
<LI><A HREF="https://byuu.net/video/color-emulation">Color Emulation</A></LI>
<LI><A HREF="http://www.lemis.com/grog/Documentation/Lions/">Commentary on the Sixth Edition UNIX Operating System</A></LI>
<LI><A HREF="http://gordonbell.azurewebsites.net/computer_engineering/00000001.htm">Computer Engineering: A DEC View of Hardware Systems Design</A></LI>
<LI><A HREF="http://csillustrated.berkeley.edu/">Computer Science Illustrated</A></LI>
<LI><A HREF="https://www.csee.umbc.edu/courses/471/papers/turing.pdf">Computing Machinery and Intelligence</A></LI>
<LI><A HREF="https://superuser.com/questions/1201670/is-it-possible-to-create-a-partition-that-is-usable-by-both-linux-and-windows-an#1201680">Create a Partition Accessable to Both Windows and Linux</A></LI>
<LI><A HREF="https://ironpeak.be/blog/crouching-t2-hidden-danger/">Crouching T2 Hidden Danger</A></LI>
<LI><A HREF="https://twitter.com/axi0mX/status/1313620262768635904">Crouching T2 Hidden Danger (axi0mX thread)</A></LI>
<LI><A HREF="https://catonmat.net/cookbooks/curl">Curl Cookbook</A></LI>
<LI><A HREF="https://www.eff.org/cyberspace-independence">A Declaration of the Independence of Cyberspace</A></LI>
<LI><A HREF="https://vgdensetsu.tumblr.com/post/179656817318/designing-2d-graphics-in-japan-from-the-late-70s">Designing 2D graphics in the Japanese industry</A></LI>
<LI><A HREF="https://www.deseret.com/1991/7/17/18931236/don-t-hang-up-deejays-make-wait-bearable">DON'T HANG UP! DEEJAYS MAKE WAIT BEARABLE</A></LI>
<LI><A HREF="https://linux-audit.com/elf-binaries-on-linux-understanding-and-analysis/">ELF Information</A></LI>
<LI><A HREF="https://cravencode.com/post/essentials/enable-tap-to-click-in-i3wm/">Enable tap to click in i3 WM</A></LI>
<LI><A HREF="https://feeding.cloud.geek.nz/posts/encoding-wifi-access-point-passwords-qr-code/">Encoding your WiFi access point password into a QR code</A></LI>
<LI><A HREF="http://pu.inf.uni-tuebingen.de/users/klaeren/epigrams.html">Epigrams on Programming</A></LI>
<LI><A HREF="https://jacquesmattheij.com/et-phone-home/">ET (Don't) Phone Home</A></LI>
<LI><A HREF="https://medium.com/@amanusk/an-extensive-guide-to-optimizing-a-linux-laptop-for-battery-life-and-performance-27a7d853856c">An extensive guide to optimizing a Linux laptop for battery life and performance</A></LI>
<LI><A HREF="https://vulcanhammer.info/2017/07/14/a-few-words-about-the-telex/">A Few Words About the Telex</A></LI>
<LI><A HREF="https://refspecs.linuxfoundation.org/fhs.shtml">Filesystem Hierarchy Standard</A></LI>
<LI><A HREF="https://www.davidschlachter.com/misc/t480-freebsd">FreeBSD 12 on Thinkpad T480</A></LI>
<LI><A HREF="http://www.copperwood.com/pub/FreePascalFromSquareOne.pdf">FreePascal from Square One</A></LI>
<LI><A HREF="https://mcfunley.com/from-the-annals-of-dubious-achievement">From the Annals of Dubious Achievement</A></LI>
<LI><A HREF="https://blog.dave.tf/post/ip-addr-parsing/">Fun with IP address parsing</A></LI>
<LI><A HREF="https://dash.generalassemb.ly/">General Assembly</A></LI>
<LI><A HREF="https://www.multicians.org/fjcc4.html">A General-Purpose File System For Secondary Storage</A></LI>
<LI><A HREF="https://www.scs.stanford.edu/~dm/home/papers/remove.pdf">Get me off Your Fucking Mailing List</A></LI>
<LI><A HREF="https://www.256kilobytes.com/content/show/4399/get-these-dependencies-off-my-lawn-5-tasks-you-didnt-know-could-be-done-with-pure-html-and-css">Get These Dependencies Off My Lawn</A></LI>
<LI><A HREF="http://www.textfiles.com/programming/FORMATS/gif.txt">gif.txt</A></LI>
<LI><A HREF="http://www.cheat-sheets.org/saved-copy/git-cheat-sheet.pdf">Git Cheat Sheet</A></LI>
<LI><A HREF="https://www.pacifict.com/Story/">The Graphing Calculator Story</A></LI>
<LI><A HREF="https://www.linuxquestions.org/questions/linux-software-2/grub-windows-on-logical-partition-607114/">grub: windows on logical partition</A></LI>
<LI><A HREF="https://ubuntuteen.blogspot.com/2009/06/grub2-drivemap-and-windows-2000.html">grub2, drivemap and Windows 2000</A></LI>
<LI><A HREF="https://gtfobins.github.io/">GTFOBins</A></LI>
<LI><A HREF="https://i.liketightpants.net/and/hackers-culture-and-the-fear-of-wysiwyg">Hacker culture and the fear of wysiwyg</A></LI>
<LI><A HREF="http://www.mithral.com/~beberg/manifesto.html">The Hacker Manifesto</A></LI>
<LI><A HREF="http://www.nordtech.ubm.ro/issues/2010/2010.01.09.pdf">Hardware Devices Used In Virtual Reality Technologies</A></LI>
<LI><A HREF="https://www.jwz.org/blog/2008/03/happy-run-some-old-web-browsers-day/">Happy Run Some Old Web Browsers Day!</A> (home.mcom.com revival)</LI>
<LI><A HREF="https://spqr.eecs.umich.edu/papers/Kwong-HDDphone-IEEE-SP-2019.pdf">HDD Microphone</A></LI>
<LI><A HREF="https://news.ycombinator.com/item?id=21801914">Hercules square graphics memory </A></LI>
<LI><A HREF="http://www.olografix.org/gubi/estate/archivio/fido/fido.htm">The History of Fidonet</A></LI>
<LI><A HREF="http://www.landley.net/history/mirror/os2/history/">The History of OS/2</A></LI>
<LI><A HREF="http://www.z80.info/">Home of the Z80</A></LI>
<LI><A HREF="https://victorzhou.com/blog/build-an-io-game-part-1/">How to Build a Multiplayer (.io) Web Game</A></LI>
<LI><A HREF="https://www.windowscentral.com/how-disable-windows-ink-workspace-windows-10">How to disable Windows Ink Workspace</A></LI>
<LI><A HREF="https://forums.linuxmint.com/viewtopic.php?t=68319">How to enable blueZ bluetooth daemon again after shutting down</A></LI>
<LI><A HREF="https://www.zdnet.com/article/how-to-enable-dns-over-https-doh-in-firefox/">How to enable DoH in Firefox</A></LI>
<LI><A HREF="https://www.addictivetips.com/ubuntu-linux-tips/play-world-of-warcraft-on-linux/">How to play World Of Warcraft on Linux</A></LI>
<LI><A HREF="https://codahale.com/how-to-safely-store-a-password/">How To Safely Store A Password</A></LI>
<LI><A HREF="https://bash-prompt.net/guides/pulse-audio-bluetooth-streaming/">How to Stream Audio from Your Phone to Your Laptop with PulseAudio and Bluetooth</A></LI>
<LI><A HREF="https://www.evanmiller.org/how-not-to-sort-by-average-rating.html">How Not To Sort By Average Rating</A></LI>
<LI><A HREF="https://www.howtogeek.com/255435/how-to-update-windows-7-all-at-once-with-microsofts-convenience-rollup/">How to Update Windows 7 All at Once with Microsoft's Convenience Rollup</A></LI>
<LI><A HREF="https://www.digitalocean.com/community/tutorials/how-to-set-up-a-minecraft-server-on-linux">How To Use a Minecraft Server on Linux</A></LI>
<LI><A HREF="https://wiki.netbsd.org/tutorials/how_to_use_ttf_fonts_in_xterm/">How to use ttf fonts in xterm</A></LI>
<LI><A HREF="https://ultra-technology.org/linux_for_beginners/how-to-write-in-japanese-or-chinese-under-linux-on-any-window-manager-using-fcitx/">How to write Japanese and Chinese in Linux on any window manager</A></LI>
<LI><A HREF="http://bitsavers.org/pdf/ibm/360/princOps/A22-6821-0_360PrincOps.pdf">IBM System/360 Principles of Operation</A></LI>
<LI><A HREF="http://http.jameshfisher.com/2019/05/26/i-can-see-your-local-web-servers/">I can see your local web servers</A></LI>
<LI><A HREF="https://i3wm.org/docs/userguide.html">i3wm User's Guide</A></LI>
<LI>In the beginning was the command line (<A HREF="https://faculty.georgetown.edu/irvinem/theory/Stephenson-CommandLine-1999.pdf">PDF</A> (<A HREF="http://web.archive.org/web/20150622082258/http://faculty.georgetown.edu/irvinem/theory/Stephenson-CommandLine-1999.pdf">Archive link</A>)) (<A HREF="http://cristal.inria.fr/~weis/info/commandline.html">Hypertext</A>)</LI>
<LI><A HREF="http://n64.icequake.net/doc/n64intro/kantan/step2/index1.html">Introduction to N64 Programming</A></LI>
<LI><A HREF="https://github.com/Siguza/ios-resources">iOS Hacking Resources</A></LI>
<LI><A HREF="https://www.cs.dartmouth.edu/~doug/IX/">The IX Multilevel-Secure UNIX System</A></LI>
<LI><A HREF="http://catb.org/jargon/html/">The Jargon File</A></LI>
<LI><A HREF="https://gist.github.com/jboner/2841832">Latency Numbers Every Programmer Should Know</A></LI>
<LI><A HREF="https://web.archive.org/web/20201007125029/https://davidwalsh.name/leaving-mozilla">Leaving Mozilla</A></LI>
<LI><A HREF="https://ruslanspivak.com/lsbaws-part1/">Let's Build A Web Server</A></LI>
<LI><A HREF="https://www.macworld.com/article/1154036/osxorigins.html">Looking back at OS X's origins</A></LI>
<LI><A HREF="https://web.archive.org/web/20191226203252/https://www.reddit.com/r/i3wm/comments/e79wn8/only_suspend_when_lid_closed_and_discharging/f9zz6bm/">Make Systemd suspend only when lid closed and discharging</A></LI>
<LI><A HREF="https://en.wikichip.org/wiki/hitachi/6309/a_memo_on_the_secret_features_of_6309">A Memo on the Secret Features of 6309</A></LI>
<LI><A HREF="https://missing.csail.mit.edu/">The Missing Semester of Your CS Education</A></LI>
<LI><A HREF="https://askubuntu.com/questions/841847/mono-package-for-wine-is-not-installed">Mono Package for Wine is not installed</A></LI>
<LI><A HREF="https://fatbusinessman.com/2019/my-favourite-git-commit">My favourite Git commit</A></LI>
<LI><A HREF="https://qmacro.org/2020/11/08/the-meaning-of-pwd-in-unix-systems/">The myriad meanings of pwd in Unix systems</A></LI>
<LI><A HREF="https://anewdigitalmanifesto.com/">A New Digital Manifesto</A></LI>
<LI><A HREF="https://ohshitgit.com/">Oh Shit, Git!</A></LI>
<LI><A HREF="https://forum.archive.openwrt.org/viewtopic.php?id=45820&p=10#p297806">OpenWrt Forum: WifiSD</A></LI>
<LI><A HREF="https://www.fbi.gov/contact-us/field-offices/portland/news/press-releases/tech-tuesdaysmart-tvs/?=portland-field-office">Oregon FBI Tech Tuesday: Securing Smart TVs</A></LI>
<LI><A HREF="https://pdfs.semanticscholar.org/4214/cb09e29795f5363e5e3b545750dce027b668.pdf">Overview of Virtual Reality Technologies</A></LI>
<LI><A HREF="https://venam.nixers.net/blog/unix/2021/06/23/pipewire-under-the-hood.html">PipeWire Under the Hood</A></LI>
<LI><A HREF="https://groups.google.com/g/alt.games.video.sony-playstation/c/JZsDIXL2uAA/m/DT7WpKEU_e0J">Playstation will be dead in 2 years!!!!</A></LI>
<LI><A HREF="https://stopthemingmy.app/">Please don’ t theme our apps</A></LI>
<LI><A HREF="https://github.com/hellerve/programming-talks">Programming Talks</A></LI>
<LI><A HREF="https://devforum.roblox.com/t/proper-support-for-the-linux-platform/56544/22">Proper support for the Linux platform</A></LI>
<LI><A HREF="https://retrocomputing.stackexchange.com/questions/2261/can-a-usr-command-damage-a-zx-spectrum">RANDOMIZE USR 4665</A></LI>
<LI><A HREF="http://www.pbm.com/~lindahl/real.programmers.html">Real Programmers Don't Use Pascal</A></LI>
<LI><A HREF="https://minecraft.gamepedia.com/Tutorials/Basic_logic_gates#Examples_of_Logic_Gates">Redstone Logic Gates</A></LI>
<LI><A HREF="https://web.archive.org/web/20080912044452/http://cm.bell-labs.com/who/ken/trust.html">Reflections on Trusting Trust</A></LI>
<LI><A HREF="https://www.janmeppe.com/blog/regex-for-noobs/">Regex For Noobs</A></LI>
<LI><A HREF="https://www.singhkays.com/blog/its-time-replace-gifs-with-av1-video/">Replace GIFs with AV1</A></LI>
<LI><A HREF="https://user.eng.umd.edu/~blj/funny/requium.html">A Requiem for a Dying Operating System</A></LI>
<LI><A HREF="https://www.spinellis.gr/blog/20210102/">Reviving the 1973 Unix text to voice translator</A></LI>
<LI><A HREF="https://www.notion.so/Run-x86-Apps-including-homebrew-in-the-Terminal-on-Apple-Silicon-8350b43d97de4ce690f283277e958602">Run x86 Apps (including homebrew) in the Terminal on Apple Silicon</A></LI>
<LI><A HREF="https://maru-chang.com/hard/scph/index.php/all/english/">SCPH</A></LI>
<LI><A HREF="https://github.com/danielmiessler/SecLists">SecLists</A></LI>
<LI><A HREF="https://securitytxt.org/">Security.txt</A></LI>
<LI><A HREF="https://www.geekality.net/2013/11/01/settings-for-vlc-dynamic-range-compression/">Settings for VLC dynamic range compression</A></LI>
<LI><A HREF="https://cheatsheets.xyz/">Scott Spence's Cheat Sheets</A></LI>
<LI><A HREF="https://the-eye.eu/public/Software/Old%20Apps/DOS%20Resources/Undocumented%20dos%20tips.txt">Shhh! The Undocumented DOS Commands</A></LI>
<LI><A HREF="https://mitpress.mit.edu/sites/default/files/sicp/index.html">SICP Companion Site</A></LI>
<LI><A HREF="http://www.textfiles.com/">Textfiles</A></LI>
<LI><A HREF="https://www.joelonsoftware.com/2000/04/06/things-you-should-never-do-part-i/">Things You Should Never Do, Part I</A></LI>
<LI><A HREF="https://www.insanelymac.com/forum/topic/285678-lenovo-thinkpad-t420-with-uefi-only/">Thinkpad T420 Hackintosh</A></LI>
<LI><A HREF="https://jeffhuang.com/designed_to_last/">This Page is Designed to Last: A Manifesto for Preserving Content on the Web</A></LI>
<LI><A HREF="https://internetarchive.archiveteam.org/index.php?title=Thumbnail">Thumbnail - Internet Archive Unofficial Wiki</A></LI>
<LI><A HREF="http://tibasicdev.wikidot.com/">TI-BASIC dev</A></LI>
<LI><A HREF="http://merthsoft.com/linkguide/">TI-Link Protocol Guide</A></LI>
<LI><A HREF="https://www.downtowndougbrown.com/2021/01/tracking-down-a-segfault-that-suddenly-started-happening/">Tracking down a segfault that suddenly started happening</A></LI>
<LI><A HREF="https://hackaday.com/2016/06/30/transcend-wifi-sd-card-is-a-tiny-linux-server/">Transcend Wifi SD Card Is A Tiny Linux Server | Hackaday</A></LI>
<LI><A HREF="https://raccoon.onyxbits.de/blog/trump-ban-tiktok-wechat-usa/">Trump vs. China. Can TikTok and WeChat really be banned from US based Android devices?</A></LI>
<LI><A HREF="https://keikai.io/blog/p/currency-exchange">Turn Your Excel File Into a Web Application</A></LI>
<LI><A HREF="http://vincentcreative.blogspot.com/2013/01/turning-floppy-disk-in-to-starship.html">Turning a floppy disk in to a Starship.</A></LI>
<LI><A HREF="https://media.defense.gov/2020/Sep/15/2002497594/-1/-1/0/CTR-UEFI-SECURE-BOOT-CUSTOMIZATION-20200915.PDF/CTR-UEFI-SECURE-BOOT-CUSTOMIZATION-20200915.PDF">UEFI Secure Boot Customization</A></LI>
<LI><A HREF="https://wiki.michaelhan.net/UEmacs/PK">UEmacs/PK Guide</A></LI>
<LI><A HREF="https://tidbits.com/2002/10/28/update-firmware-before-installing-jaguar/?tbart=06973">Update iMac G3 Firmware Before Installing OS X 10.2 Jaguar!</A></LI>
<LI><A HREF="https://forum.thinkpads.com//viewtopic.php?t=23004&highlight=x20+usb+boot">Unable to boot from USB CD drive - Thinkpads Forum</A></LI>
<LI><A HREF="https://www.sbf5.com/~cduan/technical/git/">Understanding Git Conceptually</A></LI>
<LI><A HREF="http://bytepointer.com/articles/the_microsoft_rich_header.htm">The Undocumented Microsoft "Rich" Header</A></LI>
<LI><A HREF="https://www.levenez.com/unix/unix.pdf">UNIX Evolution Tree</A></LI>
<LI><A HREF="https://web.archive.org/web/20200502201955/http://www.kernelthread.com/publications/gbaunix/">UNIX® on the Game Boy Advance</A></LI>
<LI><A HREF="https://zero.sci-hub.se/3252/016657c71a46a2d7110d87b4f720847e/jalics1983.pdf">UNIX to an IBM minicomputer</A></LI>
<LI><A HREF="https://www.ee.ryerson.ca/~elf/hack/recovery.html">Unix Recovery Legend</A></LI>
<LI><A HREF="https://gauthier.uk/blog/who/">The UNIX `who` command</A></LI>
<LI><A HREF="https://bluemaxima.org/flashpoint/datahub/Uploading_SWFs_for_the_Internet_Archive">Uploading SWFs for the Internet Archive</A></LI>
<LI><A HREF="https://computer.rip/2020-11-28%20the%20verboten%20band.html">the verboten band</A></LI>
<LI><A HREF="https://pdfs.semanticscholar.org/0433/dfc8bdb93baf23e838d18fa7b64b313ed7e3.pdf">Virtual Reality, Art, and Entertainment</A></LI>
<LI><A HREF="https://www.w3.org/TR/2019/REC-wasm-core-1-20191205/">WebAssembly Core Specification 1.0 (W3C Recommendation)</A></LI>
<LI><A HREF="https://www.quora.com/What-is-a-coders-worst-nightmare/answer/Mick-Stute">What is a coder's worst nightmare?</A></LI>
<LI><A HREF="https://halshs.archives-ouvertes.fr/halshs-01541602v2/document">What is an Operating System? A historical investigation</A></LI>
<LI><A HREF="https://nil.wallyjones.com/what-shell-am-i-using/">What Shell Am I Using?</A></LI>
<LI><A HREF="https://www.quora.com/What-was-it-like-to-be-a-software-engineer-at-NeXT-Did-workers-interact-with-Steve-Jobs">What was it like to be a software engineer at NeXT? Did workers interact with Steve Jobs?</A></LI>
<LI><A HREF="http://www.leeandmelindavarian.com/Melinda/tutorial.pdf">What your mother never told you about [IBM] VM service</A></LI>
<LI><A HREF="https://people.cs.clemson.edu/~mark/admired_designs.html">Which Machines Do Computer Architects Admire?</A></LI>
<LI><A HREF="https://poignant.guide/book/">Why's (Poignant) Guide to Ruby</A></LI>
<LI><A HREF="https://utcc.utoronto.ca/~cks/space/blog/unix/NewgrpCommandWhy">Why the Unix newgrp command exists (sort of)</A></LI>
<LI><A HREF="http://www.troubleshooters.com/linux/void/whyvoid.htm">Why Void Linux?</A></LI>
<LI><A HREF="https://gbgl-hq.com/demoness/html/index.html">Windows 7 Ricing Reference</A></LI>
<LI><A HREF="https://docs.microsoft.com/en-us/windows/release-information/">Windows 10 Release Information</A></LI>
<LI><A HREF="https://reddragdiva.dreamwidth.org/607714.html">Wine on Windows 10</A></LI>
<LI><A HREF="https://en.wikipedia.org/wiki/Wireless_Markup_Language">Wireless Markup Language - Wikipedia</A></LI>
<LI><A HREF="https://www.hillelwayne.com/post/important-women-in-cs/">Women in CS</A></LI>
<LI><A HREF="http://clrhome.org/table/">x86 Instruction Table</A></LI>
<LI><A HREF="https://www.ticalc.org/archives/files/fileinfo/424/42401.html">Z80 Assembly Notes</A></LI>
<LI><A HREF="https://www.ticalc.org/archives/files/fileinfo/434/43489.html">Zeda's Hex Codes</A></LI>
<LI><A HREF="https://www.ticalc.org/archives/files/fileinfo/434/43467.html">Zeda's Opcode Chart</A></LI>
<LI><A HREF="https://en.wikipedia.org/wiki/Zero-width_space">Zero-Width Space - Wikipedia</A></LI>
</UL></LI>
<LI><A HREF="https://hastebin.com/raw/bevejoretu">Coolmathgames SWF Index</A></LI>
<LI>Design<UL>
<LI><A HREF="https://sendwithses.gitbook.io/helpdocs/random-stuff/easy-to-remember-color-guide-for-non-designers">Color Hexcodes for Dummy</A></LI>
<LI><A HREF="https://jfly.uni-koeln.de/color/">Color Universal Design (CUD) - How to make figures and presentations that are friendly to Colorblind people</A></LI>
<LI><A HREF="http://fabiensanglard.net/doom_fire_psx/index.html">Doom Fire</A></LI>
<LI><A HREF="https://www.cmyr.net/blog/hyperbezier.html">The hyperbezier pen tool</A></LI>
<LI>Icons<UL>
<LI><A HREF="https://www.gnome-look.org/s/Gnome/p/1015854">Treepata's High Contrast</A></LI>
</UL></LI>
<LI><A HREF="https://www.reddit.com/r/ludology/comments/483hm7/architecture_in_games/d0hburo/">"Level designer here." - Reddit</A></LI>
<LI><A HREF="http://www.darkroastedblend.com/2012/05/lovely-japanese-vintage-ads.html">Lovely Japanese Vintage Ads</A></LI>
<LI><A HREF="https://www.colinfahey.com/tetris/tetris.html">Tetris</A></LI>
<LI><A HREF="https://simblob.blogspot.com/2019/10/verb-noun-vs-noun-verb.html?m=1">Verb-noun vs noun-verb</A></LI>
</UL></LI>
<LI><A HREF="https://web.archive.org/web/20200502153018/http://www.jesus-is-savior.com/False%20Religions/Other%20Pagan%20Mumbo-Jumbo/discordianism.htm">Discordianism EXPOSED!</A></LI>
<LI><A HREF="https://web.archive.org/web/20050806002431/http://www.korea-dpr.com/faq.htm">DPRK FAQ</A></LI>
<LI><A HREF="https://ebookee.org/">Ebookee</A></LI>
<LI><A HREF="https://en.wikipedia.org/wiki/English-language_spelling_reform">English-language spelling reform - Wikipedia</A></LI>
<LI>English R/W<UL>
<LI><A HREF="https://www.cliffsnotes.com/">CliffsNotes</A></LI>
<LI><A HREF="https://mseffie.com/assignments/professor/How%20to%20Read%20Literature%20like%20a%20Professor%202nd.pdf">How to Read Literature Like a Professor</A></LI>
<LI><A HREF="https://docs.google.com/document/d/1U2XhOphtfxxydr_rpe8lhij9QmmqMT2Y4vnbZ74bg04/edit">MLA-8 Pocket Guide</A></LI>
<LI><A HREF="https://orwell.ru/library/essays/wiw/english/e_wiw">Why I Write</A></LI>
<LI><A HREF="https://www.writebynight.net/maine/">Write by Night ME</A></LI>
</UL></LI>
<LI>Film<UL>
<LI><A HREF="https://en.wikipedia.org/wiki/A_Better_Tomorrow">A Better Tomorrow - Wikipedia</A></LI>
<LI><A HREF="https://en.wikipedia.org/wiki/Andre_DeToth">Andre DeToth - Wikipedia</A></LI>
<LI><A HREF="https://en.wikipedia.org/wiki/Chow_Yun-fat">Chow Yun-fat - Wikipedia</A></LI>
<LI><A HREF="https://en.wikipedia.org/wiki/Jean-Luc_Godard">Jean-Luc Godard - Wikipedia</A></LI>
<LI><A HREF="https://en.wikipedia.org/wiki/Jean-Pierre_Melville">Jean-Pierre Melville - Wikipedia</A></LI>
<LI><A HREF="https://en.wikipedia.org/wiki/Lone_Wolf_(character)">Lone Wolf (character) - Wikipedia</A></LI>
<LI>Screenplays<UL>
<LI><A HREF="http://www.screenplaydb.com/film/scripts/no_country_for_old_men.pdf">No Country For Old Men</A></LI>
</UL></LI>
</UL></LI>
<LI><A HREF="http://www.firecritic.com/2010/12/20/firefighters-guide-to-invisible-fire-otherwise-known-as-ethanol-fires/">Firefighters Guide to Invisible Fire Otherwise Known as Ethanol Fires</A></LI>
<LI><A HREF="https://alvaroduran.com/essays/free-first-beer/">The first beer is free</A></LI>
<LI><A HREF="http://26022.formovietickets.com:2235/">Flagship Cinemas Schedule</A></LI>
<LI><A HREF="https://en.wikipedia.org/wiki/French_petition_against_age_of_consent_laws">French petition against age of consent laws - Wikipedia</A></LI>
<LI>History<UL>
<LI><A HREF="https://medium.com/matthews-place/the-history-of-neopronouns-366b1fee48c4">History of Neopronouns</A></LI>
<LI><A HREF="https://archive.org/details/historywirelesst00fahirich/page/n29">A History of Wireless Telegraphy</A></LI>
<LI><A HREF="https://thehistoryofhowweplay.wordpress.com/2018/12/29/a-breakout-story/">How Jobs and Wozniak made breakout</A></LI>
<LI><A HREF="http://www.charlieseguin.com/dot_map.html">Lynching Dot Map - 1883-1941</A></LI>
<LI><A HREF="https://www.csmonitor.com/1984/0605/060519.html">Soviets say Allied version of D-Day is a 'distortion' of history</A></LI>
<LI><A HREF="https://en.wikipedia.org/wiki/Stalin%27s_poetry">Stalin's poetry - Wikipedia</A></LI>
<LI><A HREF="https://en.wikipedia.org/wiki/Treaty_of_Versailles">Treaty of Versailles - Wikipedia</A></LI>
</UL></LI>
<LI><A HREF="https://www.straightdope.com/21341412/how-does-a-gas-pump-know-to-shut-itself-off"> How does a gas pump know to shut itself off?</A></LI>
<LI>Japanese<UL>
<LI><A HREF="https://kanjialive.com/214-traditional-kanji-radicals/">The 214 traditional kanji radicals and their meanings</A></LI>
<LI><A HREF="http://www.furiganizer.com/">Furiganizer</A></LI>
<LI><A HREF="https://quizlet.com/34289851/hiragana-flash-cards/">Hiragana - Quizlet</A></LI>
<LI><A HREF="https://www.imabi.net/">Imabi</A></LI>
<LI><A HREF="https://itazuraneko.neocities.org/">itazuraneko</A></LI>
<LI><A HREF="https://jisho.org/">Jisho</A></LI>
<LI><A HREF="https://quizlet.com/132166983/katakana-a-ka-sa-ta-na-ha-ma-ya-ra-wa-n-flash-cards/">Katakana - Quizlet</A></LI>
<LI><A HREF="https://newliberties.com/">NewLiberties</A></LI>
<LI><A HREF="https://www3.nhk.or.jp/news/easy/">News Web Easy</A></LI>
<LI><A HREF="https://japantoday.com/category/features/nippon-or-nihon-no-consensus-on-japanese-pronunciation-of-japan">Nihon or Nippon</A></LI>
<LI><A HREF="http://www.gavo.t.u-tokyo.ac.jp/ojad/">Online Japanese Accent Dictionary</A></LI>
<LI><A HREF="http://www.guidetojapanese.org/learn/grammar">Tae Kim's Guide to Learning Japanese</A></LI>
<LI><A HREF="http://japanesecomplete.com/777">Triple 7 Kanji List</A></LI>
<LI><A HREF="https://www.sljfaq.org/afaq/suru-verbs.html">What is a suru verb?</A></LI>
</UL></LI>
<LI><A HREF="https://www.poetryfoundation.org/poems/45706/i-felt-a-funeral-in-my-brain-340">I felt a Funeral, in my Brain</A></LI>
<LI>Law<UL>
<LI><A HREF="https://blog.erratasec.com/2019/06/censorship-vs-memes.html">Censorship vs. the memes</A></LI>
<LI><A HREF="http://securities.stanford.edu/filings-documents/1063/EI00_15/2019128_r01x_17CV03463.pdf">In re Equifax Inc. Securities Litigation 17-CV-3463</A></LI>
<LI><A HREF="https://en.wikipedia.org/wiki/Parallel_construction">Parallel construction - Wikipedia</A></LI>
<LI><A HREF="https://www.law.cornell.edu/uscode/text/18/2385">18 U.S. Code § 2385 - Advocating overthrow of Government</A></LI>
<LI><A HREF="https://www.congress.gov/bill/116th-congress/senate-bill/2532/committees">S.2532 - Protecting Privacy in Our Homes Act | Congress.gov | Library of Congress</A></LI>
</UL></LI>
<LI><A HREF="https://deviating.net/lockpicking/media/padlocks-master.pdf">Law Enforcement's Code Book for the Master lock combination padlock</A></LI>
<LI><A HREF="https://learnxinyminutes.com/">Learn X in Y minutes</A></LI>
<LI><A HREF="https://visalist.io/travel/gay">LGBT+ Travel Rankings</A></LI>
<LI><A HREF="http://gen.lib.rus.ec/">Library Genesis</A></LI>
<LI><A HREF="https://web.archive.org/web/20170301223954/https://www.strategicstudiesinstitute.army.mil/pdffiles/PUB1250.pdf">Lying to Ourselves: Dishonesty in the Army Profession</A></LI>
<LI><A HREF="https://mangadex.org/">MangaDex</A></LI>
<LI><A HREF="https://www.nrc.gov/reactors/operating/map-power-reactors.html">Map of US Power Reactor Sites</A></LI>
<LI>Math<UL>
<LI><A HREF="http://tutorial.math.lamar.edu/Classes/Alg/SolveAbsValueIneq.aspx">Absolute Value Inequalities</A></LI>
<LI><A HREF="https://www.angio.net/pi/digits.html">Digits of Pi</A></LI>
<LI><A HREF="http://h20331.www2.hp.com/Hpsub/downloads/35_29_Roots_of_polynomials.pdf">HP-35s - Find Roots of Polynomials</A></LI>
<LI><A HREF="https://www.mathsisfun.com/algebra/trig-cosine-law.html">The Law of Cosines</A></LI>
<LI><A HREF="https://www.mathsisfun.com/algebra/trig-sine-law.html">The Law of Sines</A></LI>
<LI><A HREF="https://mml-book.github.io/book/mml-book.pdf">Mathematics for Machine Learning</A></LI>
<LI><A HREF="http://web.evanchen.cc/napkin.html">The Napkin Project</A></LI>
<LI><A HREF="https://quizlet.com/162044683/pounds-to-kilograms-mental-estimation-easy-flash-cards/">Pounds to Kilograms Mental Math</A></LI>
<LI><A HREF="http://msmassenateducationdomain.weebly.com/slide-divide-bottoms-up.html">Slide, Divide, Bottoms Up (Factoring Polynomials)</A></LI>
<LI><A HREF="https://www.onlinemathlearning.com/absolute-value-equation.html">Solving Equations with Absolute Values </A></LI>
<LI><A HREF="https://demoman.net/?a=trig-for-games">Trig for Game Makers</A></LI>
<LI><A HREF="https://www.cliffsnotes.com/study-guides/trigonometry/trigonometric-functions/functions-of-general-angles">Trigonometric Functions of General Angles</A></LI>
<LI><A HREF="https://torvaney.github.io/projects/human-rng">Human RNG</A></LI>
</UL></LI>
<LI><A HREF="https://minerva.maine.edu/search">Minerva Library Catalog</A></LI>
<LI><A HREF="https://www.cwanderson.org/wp-content/uploads/2011/11/Philip-K-Dick-The-Minority-Report.pdf">The Minority Report</A></LI>
<LI>Music<UL>
<LI><A HREF="https://en.wikipedia.org/wiki/Bridal_Chorus">Bridal Chorus - Wikipedia</A></LI>
<LI>Lyrics<UL>
<LI><A HREF="https://genius.com/The-moldy-peaches-anyone-else-but-you-lyrics">Anyone Else But You</A></LI>
<LI><A HREF="https://genius.com/Cyndago-blonde-boyz-lyrics">Blonde Boyz</A></LI>
<LI><A HREF="http://www.metrolyrics.com/country-roads-lyrics-john-denver.html">Country Roads</A></LI>
<LI><A HREF="https://meta.wikimedia.org/wiki/Hotel_Wikipedia">Hotel Wikipedia</A></LI>
<LI><A HREF="https://www.azlyrics.com/lyrics/direstraits/moneyfornothing.html">Money For Nothing</A></LI>
<LI><A HREF="http://www.metrolyrics.com/monster-mash-lyrics-bobby-pickett.html">Monster Mash</A></LI>
<LI><A HREF="https://www.azlyrics.com/lyrics/earthwindandfire/september.html">September</A></LI>
</UL></LI>
<LI><A HREF="https://en.wikipedia.org/wiki/Missio_(duo)">Missio (duo) - Wikipedia</A></LI>
<LI>Sheet music/Trombone<UL>
<LI><A HREF="https://musescore.com/pieridot/drakeandjoshisbestanime">A Cruel Angel's Thesis</A></LI>
</UL></LI>
<LI>Tabs/Bass<UL>
<LI><A HREF="https://tabs.ultimate-guitar.com/tab/i_dont_know_how_but_they_found_me/absinthe_bass_2515413">Absinthe</A></LI>
<LI><A HREF="https://tabs.ultimate-guitar.com/tab/i_dont_know_how_but_they_found_me/bleed_magic_bass_2502573">Bleed Magic</A></LI>
<LI><A HREF="https://tabs.ultimate-guitar.com/tab/i_dont_know_how_but_they_found_me/do_it_all_the_time_bass_2456758">Do It All the Time</A></LI>
<LI><A HREF="https://tabs.ultimate-guitar.com/tab/joy_division/shes_lost_control_bass_165210">She's Lost Control</A></LI>
<LI><A HREF="https://tabs.ultimate-guitar.com/tab/i_dont_know_how_but_they_found_me/social_climb_bass_2179891">Social Climb</A></LI>
</UL></LI>
<LI>Tabs/Guitar<UL>
<LI><A HREF="https://www.azchords.com/a/andrewyork-tabs-38898/8discernmentswillow-tabs-384548.html">8 Discernments</A></LI>
<LI><A HREF="https://tabs.ultimate-guitar.com/tab/marty_robbins/big_iron_chords_1161711">Big Iron</A></LI>
<LI><A HREF="https://tabs.ultimate-guitar.com/tab/soulja_boy/crank_that_tabs_584434">Crank That</A></LI>
<LI><A HREF="https://tabs.ultimate-guitar.com/tab/adele/daydreamer_tabs_621200">Daydreamer</A></LI>
<LI><A HREF="https://tabs.ultimate-guitar.com/tab/steve_miller_band/fly_like_an_eagle_tabs_442203">Fly Like An Eagle</A></LI>
<LI><A HREF="https://tabs.ultimate-guitar.com/tab/the_beatles/helter_skelter_chords_810935">Helter Skelter</A></LI>
<LI><A HREF="https://tabs.ultimate-guitar.com/tab/zager_evans/in_the_year_2525_chords_1047413">In the Year 2525</A></LI>
<LI><A HREF="https://tabs.ultimate-guitar.com/tab/the_weather_girls/its_raining_men_chords_1077844">It's Raining Men</A></LI>
<LI><A HREF="https://tabs.ultimate-guitar.com/tab/harry_belafonte/jamaica_farewell_tabs_265328">Jamaica Farewell</A></LI>
<LI><A HREF="https://tabs.ultimate-guitar.com/tab/chuck_berry/johnny_b_goode_tabs_548782">Johnny B. Goode</A></LI>
<LI><A HREF="https://tabs.ultimate-guitar.com/tab/misc_computer_games/undertale_-_megalovania_tabs_1783000">Megalovania</A></LI>
<LI><A HREF="https://tabs.ultimate-guitar.com/tab/dire_straits/money_for_nothing_tabs_205208">Money for Nothing</A></LI>
<LI><A HREF="https://tabs.ultimate-guitar.com/tab/radiohead/paranoid_android_tabs_113681">Paranoid Android</A></LI>
<LI><A HREF="https://www.ultimate-tabs.com/nirvana/smells-like-teen-spirit-chords">Smells Like Teen Spirit</A></LI>
<LI><A HREF="https://tabs.ultimate-guitar.com/tab/a-ha/take_on_me_chords_390284">Take on Me</A></LI>
<LI><A HREF="https://tabs.ultimate-guitar.com/tab/c418/wet_hands_minecraft_tabs_1499177">Wet Hands</A></LI>
<LI><A HREF="https://tabs.ultimate-guitar.com/tab/the_beatles/you_never_give_me_your_money_chords_776610">You Never Give Me Your Money</A></LI>
</UL></LI>
</UL></LI>
<LI><A HREF="https://docs.google.com/spreadsheets/d/1LRTkXOUXraTMjg1eedz_f7b5jiuyMv2x6e_jY_nyHSc/edit#gid=0">nds-bootstrap compatibility list</A></LI>
<LI><A HREF="https://en.wikipedia.org/wiki/NFPA_704">NFPA 704 - Wikipedia</A></LI>
<LI><A HREF="https://github.com/google/open-location-code/blob/master/docs/olc_definition.adoc">Open Location Code</A></LI>
<LI><A HREF="https://archive.org/details/PaperBullets/page/n13">Paper Bullets</A></LI>
<LI><A HREF="https://tutorial.math.lamar.edu/">Paul's Online Math Notes</A></LI>
<LI><A HREF="https://unsharpen.com/pen-refill-guide/">Pen Refills Guide</A></LI>
<LI><A HREF="https://en.wikipedia.org/wiki/Pocari_Sweat">Pocari Sweat - Wikipedia</A></LI>
<LI><A HREF="https://en.wikipedia.org/wiki/R.U.R.">R.U.R. - Wikipedia</A></LI>
<LI>Science<UL>
<LI><A HREF="https://pubs.rsna.org/doi/10.1148/radiol.2019190562">Acute Effects of Electronic Cigarette Aerosol Inhalation</A></LI>
<LI><A HREF="https://sci-hub.se/https://onlinelibrary.wiley.com/doi/full/10.1002/aur.2448">Attend Less, Fear More: Elevated Distress to Social Threat in Toddlers With Autism Spectrum Disorder</A> (<B>noteworthy for existence, not for content</B>)</LI>
<LI><A HREF="http://modeling.asu.edu/listserv-chem/BCAtablesVsICEtables2018.pdf">BCA or ICE</A></LI>
<LI><A HREF="https://www.justanswer.com/pharmacy/9xdiw-couple-questions-related-pharmacokinetics.html">Caffeine Physiology</A></LI>
<LI><A HREF="http://opendata.cern.ch/">CERN Open Data Portal</A></LI>
<LI><A HREF="https://en.wikipedia.org/wiki/Copper(II)_nitrate">Copper(II) nitrate - Wikipedia</A></LI>
<LI><A HREF="https://www.theatlantic.com/science/archive/2019/08/ctvt-tumor-broke-all-rules/595246/">CTVT, the Tumor That Broke All the Rules</A></LI>
<LI><A HREF="https://www.ptable.com/">Dynamic Periodic Table</A></LI>
<LI><A HREF="https://link.springer.com/content/pdf/10.1007%2Fs00114-017-1440-1.pdf">An estimated 400– 800 million tons of prey are annually killed by the global spider community - s00114-017-1440-1.pdf</A></LI>
<LI><A HREF="https://nongnu.askapache.com/fhsst/Chemistry_Grade_10-12.pdf">FHSST: Chemistry 10-12</A></LI>
<LI><A HREF="https://en.wikipedia.org/wiki/Gliese_667_Cc">Gliese 667 Cc - Wikipedia</A></LI>
<LI><A HREF="http://www.waynesthisandthat.com/cloud%20chamber.html">How to Make a Cloud Chamber</A></LI>
<LI>Sci-Hub (<A HREF="https://sci-hub.st/">sci-hub.st</A>) (<A HREF="https://sci-hub.gugeeseo.com/">sci-hub.gugeeseo.com</A>)</LI>
<LI><A HREF="http://mentallandscape.com/C_CatalogMoon.htm">Soviet Moon Images</A></LI>
<LI><A HREF="https://www.nature.com/articles/2191135a0">Statistical Properties of Pulsar CP 1919</A></LI>
</UL></LI>
<LI><A HREF="https://web.archive.org/web/*/https://data.ddosecrets.com/file/Sherwood/Sherwood.torrent">Sherwood</A></LI>
<LI><A HREF="https://smallseasons.guide/">Small Seasons</A></LI>
<LI><A HREF="https://meta.wikimedia.org/wiki/So_you%27ve_made_a_mistake_and_it%27s_public...">So you've made a mistake and it's public...</A></LI>
<LI><A HREF="https://labourstudies.mcmaster.ca/documents/southern-ontarios-basic-income-experience.pdf">Southern Ontario's Basic Income Experience</A></LI>
<LI><A HREF="https://textbooknova.com/">Textbook Nova</A></LI>
<LI><A HREF="https://www.thesaurus.badw.de/en/tll-digital/tll-open-access.html">Thesaurus Linguae Latinae</A></LI>
<LI><A HREF="http://greenteapress.com/thinkapjava/thinkapjava.pdf">Think Java</A></LI>
<LI><A HREF="https://ia600204.us.archive.org/33/items/ToKillAMockingbird_201604/To%20Kill%20A%20Mockingbird.pdf">To Kill a Mockingbird</A></LI>
<LI>Topical<UL>
<LI><A HREF="https://blackwind.substack.com/p/the-accelerationist-essence-of-k">The Accelerationist Essence of K-pop</A></LI>
<LI><A HREF="https://www.abc.net.au/news/2017-12-15/north-korean-defectors-returning-to-the-hermit-kingdom/9254654">After fleeing North Korea, some defectors want to go back to life under Kim Jong-un</A></LI>
<LI><A HREF="https://web.archive.org/web/20210108230505/https://mailchi.mp/af293a445638/eicc-webinar-series-140154">Common Application statement on the attempted coup</A></LI>
<LI><A HREF="https://gisanddata.maps.arcgis.com/apps/opsdashboard/index.html#/bda7594740fd40299423467b48e9ecf6">Coronavirus 2019-nCoV</A></LI>
<LI><A HREF="https://nypost.com/2019/08/09/suspected-dayton-shooter-connor-betts-slain-sister-was-reportedly-a-transgender-man/">Dayton shooter's slain sister was reportedly a transgender man</A></LI>
<LI><A HREF="https://web.archive.org/web/20201111203136/https://www.nytimes.com/2018/11/15/us/navy-seal-edward-gallagher-isis.html">Decorated Navy SEAL Is Accused of War Crimes in Iraq</A></LI>
<LI><A HREF="https://isfreenodedeadyet.com/">Is Freenode dead yet?</A></LI>
</UL></LI>
<LI><A HREF="https://dod.defense.gov/Portals/1/features/2016/0616_policy/DoDTGHandbook_093016.pdf">Transgender Service in the U.S. Military</A></LI>
<LI><A HREF="https://news.ycombinator.com/item?id=22725327">"Try 63/37 tin/lead instead of 60/40."</A></LI>
<LI>Writing<UL>
<LI><A HREF="http://paulgraham.com/simply.html">Write Simply</A></LI>
</UL></LI>
<LI><A HREF="http://www.wtfpl.net/">WTFPL</A></LI>
</UL></LI>
<LI ID="social"><A HREF="#social">Socialization</A><UL>
<LI><A HREF="https://www.2chan.net/">2chan</A></LI>
<LI><A HREF="https://4chan.org/">4chan</A><UL>
<LI><A HREF="https://boards.4chan.org/b/">/b/ - Random</A></LI>
<LI><A HREF="https://boards.4chan.org/f/">/f/ - Flash</A></LI>
<LI><A HREF="https://boards.4channel.org/g/">/g/ - Technology</A></LI>
<LI><A HREF="https://boards.4chan.org/i/">/i/ - Oekaki</A></LI>
<LI><A HREF="https://boards.4channel.org/lgbt/">/lgbt/ - Lesbian, Gay, Bisexual, & Transgender</A></LI>
<LI><A HREF="https://boards.4channel.org/lit/">/lit/ - Literature</A></LI>
<LI><A HREF="https://boards.4chan.org/t/">/t/ - Torrents</A></LI>
<LI><A HREF="https://boards.4channel.org/vr/">/vr/ - Retro Games</A></LI>
</UL></LI>
<LI><A HREF="https://duckduckgo.com/?q=where+can+i+get+therapy">8chan</A></LI>
<LI><A HREF="https://www.twitch.tv">Amazon Twitch</A></LI>
<LI><A HREF="https://archiveofourown.org/">Archive of Our Own</A></LI>
<LI><A HREF="https://arisuchan.jp/">arisuchan</A></LI>
<LI><A HREF="https://asone.ai/">AsOne</A></LI>
<LI><A HREF="https://dangeru.us/">danger/u/</A></LI>
<LI><A HREF="https://discord.com/">Discord</A><UL>
<LI><A HREF="https://dyno.gg/">Dyno</A></LI>
<LI><A HREF="https://roleypoly.com">Roleypoly</A></LI>
</UL></LI>
<LI><A HREF="https://www.facebook.com/">Facebook</A></LI>
<LI><A HREF="https://www.instagram.com/">Facebook Instagram</A></LI>
<LI><A HREF="https://fchan.xyz/">FChan</A></LI>
<LI><A HREF="https://www.friendproject.net/home.php">FriendProject</A>
<LI><A HREF="https://www.goodreads.com/">Goodreads</A></LI>
<LI><A HREF="https://news.ycombinator.com/">Hacker News</A></LI>
<LI><A HREF="https://ieddit.com/">ieddit</A></LI>
<LI><A HREF="https://iro2.net/">Iro</A></LI>
<LI><A HREF="https://lainchan.org/">Lainchan</A></LI>
<LI><A HREF="https://www.last.fm/">Last.fm</A><UL>
<LI><A HREF="http://scrobbler.jankuca.com/">Semi-automatic Last.fm Scrobbler</A></LI>
<LI><A HREF="https://vinylscrobbler.com/">Vinyl Scrobbler</A></LI>
</UL></LI>
<LI><A HREF="https://mastodon.social/">Mastodon</A></LI>
<LI><A HREF="https://www.minds.com/">Minds</A></LI>
<LI><A HREF="http://nanochanqzaytwlydykbg5nxkgyjxk3zsrctxuoxdmbx5jbh2ydyprid.onion/">Nanochan</A></LI>
<LI><A HREF="https://www.okuna.io/">Okuna</A></LI>
<LI><A HREF="https://www.planetminecraft.com/">Planet Minecraft</A></LI>
<LI><A HREF="https://www.pouet.net/">pouët</A></LI>
<LI><A HREF="https://protonmail.com/">Protonmail</A></LI>
<LI><A HREF="https://www.qq.com/">QQ</A></LI>
<LI><A HREF="https://old.reddit.com/">Reddit</A></LI>
<LI>Riverchat (<A HREF="https://riverscuomo.com/riverchat">2020 link</A>) (<A HREF="https://riverscuomo.com/chat">2021 revival</A>)</LI>
<LI><A HREF="https://www.roblox.com/">Roblox</A></LI>
<LI><A HREF="https://www.snapchat.com/">Snapchat</A><UL>
<LI><A HREF="https://www.documentcloud.org/documents/6004016-Snapchat-Law-Enforcement-Guide.html">Snap Inc. Law Enforcement Guide</A> (<A HREF="https://web.archive.org/web/20201112025456/https://www.documentcloud.org/documents/6004016-Snapchat-Law-Enforcement-Guide.html">Archive link</A>)</LI>
</UL></LI>
<LI><A HREF="https://soundcloud.com/">Soundcloud</A></LI>
<LI><A HREF="https://cs.rin.ru/forum/">Steam Underground Community</A></LI>
<LI><A HREF="https://subreply.com/">Subreply</A></LI>
<LI><A HREF="http://tanasinn.org/">tanasinn</A></LI>
<LI><A HREF="https://tutanota.com/">Tutanota</A></LI>
<LI><A HREF="https://twitter.com/">Twitter</A></LI>
<LI><A HREF="https://wirechan.org/">wirechan</A></LI>
<LI><A HREF="https://zikdo.com/">Zikdo</A> (Defunct)</LI>
<LI><A HREF="https://zoom.us/">Zoom</A></LI>
</UL></LI>
<LI>Software<UL>
<LI>Android<UL>
<LI>Amazon Android<UL>
<LI><A HREF="https://github.com/parrotgeek1/LauncherHijack-OLD">LauncherHijack</A></LI>
</UL></LI>
<LI><A HREF="http://auroraoss.com/">AuroraOSS</A></LI>
<LI><A HREF="https://k9mail.app/">K-9 Mail</A></LI>
<LI><A HREF="https://signal.org/android/apk/">Signal Android APK</A></LI>
</UL></LI>
<LI>Coding<UL>
<LI><A HREF="https://github.com/makuto/cakelisp/">cakelisp</A></LI>
<LI><A HREF="https://www.gnu.org/software/clisp/">CLISP</A></LI>
<LI><A HREF="https://dlang.org/">D</A></LI>
<LI><A HREF="https://www.gnu.org/software/gcc/">GCC</A></LI>
<LI><A HREF="https://github.com/debrouxl/gcc4ti">gcc4ti</A></LI>
<LI><A HREF="https://www.geeonx.org/">Geeonx</A></LI>
<LI><A HREF="https://www.gnu.org/software/gforth/">Gforth</A></LI>
<LI><A HREF="https://golang.org/">Go</A></LI>
<LI><A HREF="https://archive.org/services/docs/api/internetarchive/">The Internet Archive Python Library Documentation</A></LI>
<LI><A HREF="http://t3x.org/klisp/">KLISP</A></LI>
<LI><A HREF="https://kotlinlang.org/">Kotlin</A></LI>
<LI><A HREF="http://mozart-dev.sourceforge.net/lx.html">LX</A></LI>
<LI><A HREF="https://pike.lysator.liu.se/">Pike</A></LI>
<LI><A HREF="https://software.intel.com/en-us/distribution-for-python">Intel® Distribution for Python*</A></LI>
<LI><A HREF="https://github.com/julvo/reloading">Reloading</A></LI>
<LI><A HREF="https://soul.dev/">Soul</A></LI>
<LI><A HREF="https://www.wxwidgets.org/">wxWidgets</A></LI>
<LI><A HREF="http://nas.sr/%D9%82%D9%84%D8%A8/">قلب</A></LI>
</UL></LI>
<LI>Mac OS<UL>
<LI>System 6<UL>
<LI><A HREF="http://macintoshgarden.org/apps/hypercard-241">HyperCard 2.4</A></LI>
</UL></LI>
</UL></LI>
<LI>Nintendo<UL>
<LI>3DS<UL>
<LI><A HREF="https://github.com/masterfeizz/ctrQuake">ctrQuake</A></LI>
<LI><A HREF="https://github.com/machinamentum/CTRX">CTRX</A></LI>
<LI><A HREF="https://github.com/masterfeizz/daedalusx64-3DS">DaedalusX64-3DS</A></LI>
<LI><A HREF="https://github.com/bubble2k16/emus3ds">emus3ds</A></LI>
<LI><A HREF="https://web.archive.org/web/20181003203545/https://gbatemp.net/threads/release-gamecard-dumper.438154/">Gamecard Dumper</A></LI>
<LI><A HREF="https://github.com/Steveice10/GameYob">GameYob</A></LI>
<LI><A HREF="https://github.com/XProger/OpenLara">OpenLara</A></LI>
<LI><A HREF="https://github.com/Substance12/Picroxx">Picroxx</A></LI>
<LI><A HREF="https://github.com/nop90/POWDER-3DS">POWDER</A></LI>
<LI><A HREF="https://github.com/elhobbs/prboom3ds">prboom3ds</A></LI>
<LI><A HREF="https://github.com/RedTopper/Super-Haxagon">Super-Haxagon</A></LI>
<LI><A HREF="https://universal-team.net/projects/universal-updater.html">Universal-Updater</A></LI>
<LI><A HREF="https://github.com/nop90/ZeldaPicross">Zelda Picross</A></LI>
</UL></LI>
</UL></LI>
<LI>Operating Systems<UL>
<LI><A HREF="https://github.com/386bsd/386bsd">386BSD - Github</A></LI>
<LI><A HREF="http://9front.org/">9front</A><UL>
<LI><A HREF="https://archive.org/details/9front-goredgordon">2012-07-30 "GORED GORDON"</A></LI>
<LI><A HREF="https://archive.org/details/9front-deafgeoff">2012-08-01 "DEAF GEOFF"</A></LI>
<LI><A HREF="https://archive.org/details/9front-openssl">2014-04-28 "опен-сссл"</A></LI>
<LI><A HREF="https://archive.org/details/9front-itseasy">2014-09-04 "IT'S EASY BUT YOU ARE COMPLICATED"</A></LI>
<LI><A HREF="https://archive.org/details/9front-dontforgettovote">2014-11-06 "DON'T FORGET TO VOTE"</A></LI>
<LI><A HREF="https://archive.org/details/9front-callingdicktracy">2018-12-31 "CALLING DICK TRACY"</A></LI>
<LI><A HREF="https://archive.org/details/9front-skinofevil">2019-05-16 "SKIN OF EVIL"</A></LI>
<LI><A HREF="https://archive.org/details/9front-nothinkpad_202101">2019-10-08 "NO THINKPAD"</A></LI>
<LI><A HREF="https://archive.org/details/9front-plan9haters">2020-05-28 "PLAN9-HATERS"</A></LI>
<LI><A HREF="https://archive.org/details/9front-emailschaden">2020-10-19 "EMAILSCHADEN"</A></LI>
</UL></LI>
<LI><A HREF="https://amigaos.net/">AmigaOS</A></LI>
<LI><A HREF="https://www.arcanoae.com/arcaos/">ArcaOS</A></LI>
<LI><A HREF="http://www.ocp.inf.ethz.ch/wiki/">Bluebottle</A></LI>
<LI><A HREF="https://collapseos.org/">Collapse OS</A></LI>
<LI><A HREF="https://www.debian.org/ports/hurd/hurd-cd">Debian GNU/Hurd</A></LI>
<LI><A HREF="https://web.archive.org/web/20191219125640/http://www.ethoberon.ethz.ch/">ETH Oberon</A></LI>
<LI><A HREF="https://www.freedos.org/">FreeDOS</A></LI>
<LI><A HREF="https://fuchsia.dev/">Fuschia</A></LI>
<LI><A HREF="https://www.haiku-os.org/">Haiku</A></LI>
<LI><A HREF="https://illumos.org/">illumos</A></LI>
<LI><A HREF="https://kolibrios.org/en/">KolibriOS</A></LI>
<LI><A HREF="https://www.apple.com/macos/">macOS</A></LI>
<LI><A HREF="http://menuetos.net/">MenuetOS</A></LI>
<LI><A HREF="https://vmssoftware.com/">OpenVMS</A></LI>
<LI><A HREF="https://9p.io/plan9/">Plan 9</A></LI>
<LI><A HREF="http://www.ponyos.org/">PonyOS</A></LI>
<LI><A HREF="https://www.redox-os.org/">Redox</A></LI>
<LI><A HREF="http://serenityos.org/">SerenityOS</A></LI>
<LI><A HREF="http://tribblix.org/">Tribblix</A></LI>
<LI><A HREF="https://www.windriver.com/products/vxworks/">VxWorks</A></LI>
<LI><A HREF="https://www.microsoft.com/en-us/windows">Windows 10</A></LI>
<LI>Linux<UL>
<LI><A HREF="https://sites.google.com/view/atv-x86/home">Android TV x86</A></LI>
<LI><A HREF="https://astralinux.ru/">Astra Linux</A></LI>
<LI><A HREF="http://distro.ibiblio.org/baslinux/">BasicLinux</A></LI>
<LI><A HREF="https://crux.nu/">CRUX</A></LI>
<LI><A HREF="https://www.debian.org/">Debian</A></LI>
<LI><A HREF="http://www.dilos.org/">DilOS</A></LI>
<LI><A HREF="https://getfedora.org/">Fedora</A></LI>
<LI><A HREF="https://www.gentoo.org/">Gentoo</A></LI>
<LI><A HREF="http://hannahmontana.sourceforge.net/">Hannah Montana Linux</A></LI>
<LI><A HREF="https://www.kali.org/">Kali</A></LI>
<LI><A HREF="https://k1ss.org/">KISS</A></LI>
<LI><A HREF="https://openwrt.org/">OpenWrt</A></LI>
<LI><A HREF="https://www.plop.at/en/ploplinux/index.html">Plop Linux</A></LI>
<LI><A HREF="http://www.porteus.org/">Porteus</A></LI>
<LI><A HREF="https://psychoslinux.gitlab.io/">PsychOS</A></LI>
<LI><A HREF="http://regolith-linux.org/">Regolith</A></LI>
<LI><A HREF="http://www.slackware.com/">Slackware</A></LI>
<LI><A HREF="https://trisquel.info/">Trisquel</A></LI>
<LI><A HREF="https://ubuntu.com/">Ubuntu</A></LI>
<LI><A HREF="https://voidlinux.org/">Void Linux</A></LI>
<LI><A HREF="https://xubuntu.org/">Xubuntu</A></LI>
</UL></LI>
</UL></LI>
<LI>OS/2<UL>
<LI><A HREF="http://www.landley.net/history/mirror/os2/xf86os2.html">XFree86OS/2</A></LI>
</UL></LI>
<LI>POSIX or UNIX-like systems<UL>
<LI>Arch Linux<UL>
<LI><A HREF="https://aur.archlinux.org/">The Arch Linux User Repository</A><UL>
<LI><A HREF="https://aur.archlinux.org/packages/aic94xx-firmware/">aic94xx-firmware</A></LI>
<LI><A HREF="https://aur.archlinux.org/packages/doom1-wad/">doom1-wad</A></LI>
<LI><A HREF="https://aur.archlinux.org/packages/doomretro/">doomretro</A></LI>
<LI><A HREF="https://aur.archlinux.org/packages/google-chrome/">google-chrome</A></LI>
<LI><A HREF="https://aur.archlinux.org/packages/i3-swallow/">i3-swallow</A></LI>
<LI><A HREF="https://aur.archlinux.org/packages/ifuse/">ifuse</A></LI>
<LI><A HREF="https://aur.archlinux.org/packages/libirecovery/">libirecovery</A></LI>
<LI><A HREF="https://aur.archlinux.org/packages/minecraft-launcher/">minecraft-launcher</A></LI>
<LI><A HREF="https://aur.archlinux.org/packages/moon-buggy/">moon-buggy</A></LI>
<LI><A HREF="https://aur.archlinux.org/packages/multimc-git">multimc</A></LI>
<LI><A HREF="https://aur.archlinux.org/packages/paru/">paru</A></LI>
<LI><A HREF="https://aur.archlinux.org/packages/rbenv/">rbenv</A></LI>
<LI><A HREF="https://aur.archlinux.org/packages/ruby-build/">ruby-build</A></LI>
</UL></LI>
<LI><A HREF="https://gist.github.com/artixnous/41f4bde311442aba6a4f5523db921415">Fast convert systemd Arch to OpenRC Artix (fucktheskullofsystemd.sh)</A></LI>
</UL></LI>
<LI>NetBSD<UL>
<LI><A HREF="https://github.com/alarixnia/aiomixer">aiomixer</A></LI>
</UL></LI>
<LI><A HREF="https://github.com/skeeto/bf-x86">bf-x86</A></LI>
<LI><A HREF="https://github.com/baskerville/bspwm">bspwm</A></LI>
<LI><A HREF="https://github.com/johang/btfs">btfs</A></LI>
<LI><A HREF="http://www.cs.mun.ca/~gstarkes/wmaker/dockapps/">Dock Apps - Tower's Window Maker Pages</A></LI>
<LI><A HREF="https://gparted.org/index.php">GParted</A></LI>
<LI><A HREF="https://greg-calendar.vercel.app/">greg</A></LI>
<LI><A HREF="https://github.com/ZerBea/hcxtools">hcxtools</A></LI>
<LI><A HREF="https://i3wm.org/">i3wm</A></LI>
<LI><A HREF="https://github.com/WerWolv/ImHex">ImHex</A></LI>
<LI><A HREF="https://github.com/libimobiledevice/libirecovery">irecovery</A></LI>
<LI><A HREF="https://github.com/J-Lentz/iwgtk">iwgtk</A></LI>
<LI><A HREF="https://sw.kovidgoyal.net/kitty/">kitty</A></LI>
<LI><A HREF="https://github.com/cxxxr/lem">Lem</A></LI>
<LI><A HREF="http://lida.sourceforge.net/">LiDA</A></LI>
<LI><A HREF="https://github.com/haikarainen/light">light</A></LI>
<LI><A HREF="http://diego-pacheco.blogspot.com/2019/09/linux-terminal-goods.html">Linux Terminal Goods</A></LI>
<LI><A HREF="https://github.com/sparanoid/live-dl">live-dl</A></LI>
<LI><A HREF="https://github.com/Peltoche/lsd">lsd</A></LI>
<LI><A HREF="https://github.com/cylgom/ly">ly</A></LI>
<LI><A HREF="https://maxxdesktop.arcadedaydream.com/Indigo-Releases/">Maxx Desktop</A></LI>
<LI><A HREF="https://github.com/MusicPlayerDaemon/mpdscribble">mpdscribble</A></LI>
<LI><A HREF="https://github.com/AppImage/NCSA-Mosaic-AppImage">NCSA Mosaic AppImage</A></LI>
<LI><A HREF="http://ne.di.unimi.it/">ne</A></LI>
<LI><A HREF="https://github.com/vigna/ne">ne (GitHub)</A></LI>
<LI><A HREF="https://next.atlas.engineer/">Nyxt Browser</A></LI>
<LI><A HREF="https://github.com/rafket/pam_duress">PAM Duress</A></LI>
<LI><A HREF="https://github.com/sharkdp/pastel">pastel</A></LI>
<LI><A HREF="https://github.com/b-ryan/powerline-shell">powerline-shell</A></LI>
<LI><A HREF="https://github.com/Xfennec/progress">progress</A></LI>
<LI><A HREF="https://github.com/brettcannon/python-launcher">Python launcher for UNIX</A></LI>
<LI><A HREF="http://rox.sourceforge.net/desktop/">ROX Desktop</A></LI>
<LI><A HREF="https://github.com/nullgemm/sshram">SSHram</A></LI>
<LI><A HREF="https://git.sr.ht/~sircmpwn/shit">shit</A></LI>
<LI><A HREF="https://st.suckless.org/">st</A></LI>
<LI><A HREF="https://amanusk.github.io/s-tui/">s-tui</A></LI>
<LI><A HREF="https://github.com/sugarlabs/sugar">Sugar</A></LI>
<LI><A HREF="https://web.archive.org/web/20100427194653/http://webpages.mr.net/bobz/ttyquake/">Textmode Quake</A></LI>
<LI><A HREF="https://asciinema.org/a/fTq6pzFOIrPzaIt1ralRM86wE">Toot</A></LI>
<LI><A HREF="https://github.com/bibanon/tubeup">tubeup</A></LI>
<LI><A HREF="https://github.com/cosmos72/twin">twin</A></LI>
<LI><A HREF="https://github.com/ValveSoftware/Proton">Valve Proton</A></LI>
<LI><A HREF="https://weechat.org/">WeeChat</A></LI>
<LI><A HREF="https://www.windowmaker.org/">Window Maker</A></LI>
<LI><A HREF="https://cyber.dabamos.de/unix/x11/">X11 tools</A></LI>
<LI><A HREF="http://www.xpdfreader.com/">XPDF</A></LI>
<LI><A HREF="https://www.zsh.org/">ZSH</A></LI>
</UL></LI>
<LI>Texas Instruments<UL>
<LI>TI-83+<UL>
<LI><A HREF="https://www.ticalc.org/archives/files/fileinfo/435/43590.html">BatLib</A></LI>
</UL></LI>
<LI>TI-84+ CE<UL>
<LI><A HREF="https://github.com/CE-Programming/libraries/releases/tag/v8.7">C Standard Libraries</A></LI>
</UL></LI>
<LI>TI-89<UL>
<LI><A HREF="https://www.ticalc.org/archives/files/fileinfo/403/40314.html">Kana Trainer</A></LI>
<LI><A HREF="https://www.ticalc.org/archives/files/fileinfo/376/37692.html">LATIN translator (Latin to English only)</A></LI>
<LI><A HREF="https://www.ticalc.org/archives/files/fileinfo/342/34248.html">Memorize Morse Code v1.1</A></LI>
<LI><A HREF="https://www.ticalc.org/archives/files/fileinfo/456/45672.html">Morse Code Translator</A></LI>
<LI><A HREF="https://www.ticalc.org/archives/files/fileinfo/160/16061.html">TI89 TCP/IP suite</A></LI>
<LI><A HREF="https://www.ticalc.org/archives/files/fileinfo/80/8038.html">UPC Drawer</A></LI>
</UL></LI>
<LI><A HREF="http://www.ticalc.org/">TICalc</A></LI>
</UL></LI>
<LI>Windows<UL>
<LI><A HREF="https://www.7-zip.org/">7-Zip</A></LI>
<LI><A HREF="view-source:https://raw.githubusercontent.com/transcode-open/apt-cyg/master/apt-cyg">apt-cyg</A></LI>
<LI><A HREF="https://batterybarpro.com/basic.php">BatteryBar Basic</A></LI>
<LI><A HREF="https://www.softpedia.com/get/CD-DVD-Tools/CD-DVD-Images-Utils/BDlot-DVD-ISO-Master.shtml">BDlot DVD ISO Master</A></LI>
<LI><A HREF="https://nadgames.com/download/combat_reloaded.php">Combat: Reloaded</A></LI>
<LI><A HREF="https://download.cnet.com/CommView/3000-2085_4-10042988.html">CommView</A></LI>
<LI><A HREF="https://www.alcpu.com/CoreTemp/">Core Temp</A></LI>
<LI><A HREF="https://www.cpuid.com/softwares/cpu-z.html">CPU-Z</A></LI>
<LI><A HREF="https://cygwin.com/index.html">Cygwin</A></LI>
<LI><A HREF="https://www.diskgenius.com/">Disk Genius</A></LI>
<LI><A HREF="http://www.dvddecrypter.org.uk/">DVD Decrypter</A></LI>
<LI><A HREF="https://geekuninstaller.com/">Geek Uninstaller</A></LI>
<LI><A HREF="http://www.ridgecrop.demon.co.uk/index.htm?guiformat.htm">GUIFormat</A></LI>
<LI><A HREF="https://www.irfanview.com/">IrfanView</A></LI>
<LI><A HREF="http://imgburn.com/">ImgBurn</A></LI>
<LI><A HREF="http://mientki.ruhosting.nl/data_www/pic/jalcc/help/jalcc_ti84_editor.html">JALcc</A></LI>
<LI><A HREF="http://keysticks.net/site/">KeySticks</A></LI>
<LI><A HREF="https://www.helpinator.com/litehelp.html">LiteHelp</A></LI>
<LI><A HREF="https://sourceforge.net/projects/loic/">LOIC (Low Orbit Ion Cannon)</A></LI>
<LI><A HREF="http://makemkv.com/">MakeMKV</A></LI>
<LI><A HREF="https://www.mediamonkey.com/">MediaMonkey</A></LI>
<LI><A HREF="https://github.com/RoyalBingBong/meView/">meView</A></LI>
<LI><A HREF="https://dotnet.microsoft.com/download/dotnet-framework/net461">Microsoft .NET 4.6.1</A></LI>
<LI><A HREF="https://mingw-w64.org/doku.php">Mingw-w64</A></LI>
<LI><A HREF="https://notepad-plus-plus.org/">Notepad++</A></LI>
<LI><A HREF="https://web.archive.org/web/20190626195902/https://s3.amazonaws.com/MinecraftDownload/launcher/Minecraft.exe">Old Minecraft Launcher EXE</A></LI>
<LI><A HREF="https://github.com/Open-Shell/Open-Shell-Menu">Open Shell</A></LI>
<LI><A HREF="https://www.systemax.jp/en/sai/">PaintTool SAI</A></LI>
<LI><A HREF="https://www.partitionguru.com/">PartitionGuru</A></LI>
<LI><A HREF="https://arturlaczkowski.itch.io/ptemulation">PTE</A></LI>
<LI><A HREF="http://www.softwareok.com/?seite=Freeware/Q-Dir">Q-Dir</A></LI>
<LI><A HREF="https://www.majorgeeks.com/files/details/router_password_kracker.html">Router Password Kracker</A></LI>
<LI><A HREF="https://rufus.ie/">Rufus</A></LI>
<LI><A HREF="http://kilkakon.com/shimeji/">Shimeji-ee</A></LI>
<LI><A HREF="https://steamunlocked.net/">Steam Unlocked</A></LI>
<LI><A HREF="https://www.sumatrapdfreader.org/free-pdf-reader.html">SumatraPDF</A></LI>
<LI><A HREF="https://www.donationcoder.com/forum/index.php?topic=21944.0">T-Clock 2010</A></LI>
<LI><A HREF="https://www.howtogeek.com/howto/windows-vista/add-take-ownership-to-explorer-right-click-menu-in-vista/">Take Ownership</A></LI>
<LI><A HREF="https://elifulkerson.com/projects/tcping.php">tcping.exe</A></LI>
<LI><A HREF="https://github.com/mikeslattery/tunic">tunic</A></LI>
<LI><A HREF="https://archive.org/download/wlsetup-all_201704/wlsetup-all.exe">Windows Live Essentials 2012</A></LI>
<LI><A HREF="https://www.microsoft.com/en-us/download/details.aspx?id=54616">Windows Management Framework 5.1</A></LI>
<LI><A HREF="https://github.com/microsoft/winfile">winfile</A></LI>
<LI><A HREF="https://wpd.app/">WPD</A></LI>
<LI><A HREF="https://github.com/microsoft/WSLv2-Linux-Kernel">WSL2 Kernal</A></LI>
<LI><A HREF="https://www.highrez.co.uk/downloads/XMouseButtonControl.htm">X-Mouse</A></LI>
<LI>95<UL>
<LI><A HREF="http://www.stevemiller.net/punzip/">Pocket UnZip</A></LI>
</UL></LI>
<LI>2000<UL>
<LI><A HREF="https://sourceforge.net/projects/ext2fsd/">Ext2 File System Driver for Windows</A></LI>
</UL></LI>
<LI>XP<UL>
<LI><A HREF="https://github.com/blueclouds8666/pcsx2_XP">PCSX2 XP</A></LI>
</UL></LI>
<LI>7<UL>
<LI><A HREF="https://support.microsoft.com/en-us/help/3140245/update-to-enable-tls-1-1-and-tls-1-2-as-default-secure-protocols-in-wi">Update to enable TLS 1.1 and TLS 1.2 as default secure protocols in WinHTTP in Windows</A></LI>
<LI><A HREF="https://www.door2windows.com/windows-7-tray-icons-changer-change-default-volume-network-action-center-tray-icons/">Windows 7 Tray Icon Changer</A></LI>
</UL></LI>
<LI>10<UL>
<LI><A HREF="https://github.com/da2x/EdgeDeflector">EdgeDeflector</A></LI>
<LI><A HREF="https://github.com/microsoft/PowerToys/blob/master/src/modules/fancyzones/README.md">Fancy Zones</A></LI>
</UL></LI>
</UL></LI>
<LI><A HREF="https://www.adobe.com/support/flashplayer/debug_downloads.html">Adobe Flash Player Debugger</A> (<A HREF="https://web.archive.org/web/20200615185529/https://www.adobe.com/support/flashplayer/debug_downloads.html">Archive link</A>)</LI>
<LI><A HREF="https://aircrack-ng.org/doku.php?id=Main">Aircrack-ng</A></LI>
<LI><A HREF="https://altstore.io/">AltStore</A></LI>
<LI><A HREF="https://github.com/a2-4am/anti-m">Anti-M</A></LI>
<LI><A HREF="https://opensource.apple.com/">Apple Open Source</A></LI>
<LI><A HREF="https://www.aseprite.org/">Aseprite</A></LI>
<LI><A HREF="https://www.audacityteam.org/">Audacity</A></LI>
<LI><A HREF="http://basilisk.cebix.net/">Basilisk II</A></LI>
<LI><A HREF="http://aa-project.sourceforge.net/bb/">bb</A></LI>
<LI><A HREF="http://www.bluemsx.com/">blueMSX</A></LI>
<LI><A HREF="https://www.brow.sh/">browsh</A></LI>
<LI><A HREF="https://www.bzflag.org/">BZFlag</A></LI>
<LI><A HREF="https://www.google.com/chrome/">Chrome</A></LI>
<LI><A HREF="https://www.google.com/intl/en/chrome/?standalone=1">Chrome Standalone Installer</A></LI>
<LI><A HREF="https://www.chromium.org/Home">Chromium</A></LI>
<LI><A HREF="http://cinelerra.org/">Cinelerra</A></LI>
<LI><A HREF="https://www.clementine-player.org/">Clementine</A></LI>
<LI><A HREF="https://ide.cs50.io/">CS50 IDE</A></LI>
<LI><A HREF="https://notabug.org/RemixDevs/DeezloaderRemix">Deezloader Remix</A></LI>
<LI><A HREF="https://discordapp.com/download">Discord</A></LI>
<LI><A HREF="https://dolphin-emu.org/">Dolphin Emulator</A></LI>
<LI><A HREF="http://dos32a.narechk.net/index_en.html">DOS/32A</A></LI>
<LI><A HREF="https://www.dosbox.com/">DOSBox</A></LI>
<LI><A HREF="https://github.com/joncampbell123/dosbox-x">DOSBox-X</A></LI>
<LI><A HREF="http://www.doshaven.eu/">DOS Haven</A></LI>
<LI><A HREF="http://keyhut.com/pos.htm">DOS POS</A></LI>
<LI><A HREF="https://www.dragonframe.com/">DragonFrame</A></LI>
<LI><A HREF="https://github.com/GitSquared/edex-ui/">eDEX-UI</A></LI>
<LI><A HREF="https://www.gnu.org/software/emacs/">Emacs</A></LI>
<LI><A HREF="https://ffmpeg.org/">FFmpeg</A></LI>
<LI><A HREF="/shitlist#filezilla">FileZilla</A></LI>
<LI><A HREF="https://justgetflux.com/">f.lux</A></LI>
<LI><A HREF="https://www.freedownloadmanager.org/">Free Download Manager</A></LI>
<LI><A HREF="https://www.gbstudio.dev/">GBStudio</A></LI>
<LI><A HREF="https://ghidra-sre.org/">Ghidra</A></LI>
<LI><A HREF="https://github.com/NationalSecurityAgency/ghidra">Ghidra (Github)</A></LI>
<LI><A HREF="https://www.gimp.org/">GIMP</A></LI>
<LI><A HREF="https://www.gnu.org/software/gnuzilla/">GNUzilla</A></LI>
<LI><A HREF="https://hashcat.net/hashcat/">Hashcat</A></LI>
<LI><A HREF="https://hexchat.github.io/index.html">HexChat</A></LI>
<LI><A HREF="https://www.hpmuseum.org/software/">HP Museum</A></LI>
<LI><A HREF="http://www.httrack.com/">HTTrack</A></LI>
<LI><A HREF="https://github.com/jakubroztocil/httpie">httpie</A></LI>
<LI><A HREF="https://hyper.is/">Hyper</A></LI>
<LI><A HREF="https://github.com/jshackles/idle_master">Idle Master</A></LI>
<LI><A HREF="https://github.com/arc298/instagram-scraper">instagram-scraper</A></LI>
<LI><A HREF="http://instant-eyedropper.com/">Instant Eyedropper</A></LI>
<LI><A HREF="https://dist.ipfs.io/#ipget">IPGet</A></LI>
<LI><A HREF="http://ircd-hybrid.org/">IRCD-Hybrid</A></LI>
<LI><A HREF="http://jdownloader.org/home/index">JDownloader</A></LI>
<LI><A HREF="http://www.katawa-shoujo.com/">Katawa Shoujo</A></LI>
<LI><A HREF="https://www.kiwix.org/en/">Kiwix</A></LI>
<LI><A HREF="http://www.kvirc.net/">KVIrc</A></LI>
<LI><A HREF="https://github.com/jjkaufman/laptop.css">Laptop ASCII CSS</A></LI>
<LI><A HREF="https://github.com/intika/Librefox">Librefox</A></LI>
<LI><A HREF="https://librewolf-community.gitlab.io/">LibreWolf</A></LI>
<LI><A HREF="https://sourceforge.net/projects/mcomix/">MComix</A></LI>
<LI><A HREF="https://mcreator.net/">MCreator</A></LI>
<LI><A HREF="https://medibangpaint.com/en/">Medibang Paint</A></LI>
<LI><A HREF="https://www.memtest86.com/">MemTest86</A></LI>
<LI><A HREF="https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/">Microsoft Browser VMs</A></LI>
<LI><A HREF="https://miktex.org/">MiKTeX</A></LI>
<LI><A HREF="https://www.minecraft.net/en-us/">Minecraft</A><UL>
<LI><A HREF="https://files.minecraftforge.net/">Forge</A></LI>
<LI><A HREF="https://multimc.org/">MultiMC</A></LI>
<LI><A HREF="https://www.curseforge.com/minecraft/mc-mods/sodium/">Sodium</A></LI>
</UL></LI>
<LI><A HREF="https://www.mp3tag.de/en/">MP3Tag</A></LI>
<LI><A HREF="https://getmusicbee.com/">MusicBee</A></LI>
<LI><A HREF="https://www.netsurf-browser.org/">NetSurf Web Browser</A></LI>
<LI><A HREF="https://github.com/jarun/nnn">nnn</A></LI>
<LI><A HREF="https://sourceforge.net/projects/nokix/">NokiX</A></LI>
<LI><A HREF="https://panuworld.net/nuukiaworld/download/nokix/index.htm">NuukiaWorld's NokiX scripts</A></LI>
<LI><A HREF="https://obsproject.com/">OBS</A></LI>
<LI><A HREF="https://olivevideoeditor.org/">Olive</A></LI>
<LI><A HREF="https://onionshare.org/">OnionShare</A></LI>
<LI><A HREF="http://openmsx.org/">openMSX</A></LI>
<LI><A HREF="https://www.openshot.org/">OpenShot</A></LI>
<LI><A HREF="https://osgameclones.com/">Open Source Game Clones</A></LI>
<LI><A HREF="https://opentoonz.github.io/e/">OpenToonz</A></LI>
<LI><A HREF="https://open-vsx.org/">Open VSX Registry</A></LI>
<LI><A HREF="https://otter-browser.org/">Otter Browser</A></LI>
<LI><A HREF="https://putty.org/">PuTTY</A></LI>
<LI><A HREF="https://www.lexaloffle.com/bbs/?tid=33406">P-Zone</A></LI>
<LI><A HREF="https://www.qbittorrent.org/">qBittorrent</A></LI>
<LI><A HREF="https://quassel-irc.org/">Quassel IRC</A></LI>
<LI><A HREF="https://cancel.fm/ripcord/">Ripcord</A></LI>
<LI><A HREF="https://www.rockbox.org/">Rockbox</A></LI>
<LI><A HREF="https://www.fenrir-inc.com/jp/sleipnir/">Sleipnir</A></LI>
<LI><A HREF="https://github.com/khanhas/spicetify-cli">Spicetify</A></LI>
<LI><A HREF="https://store.steampowered.com/about/">Steam</A></LI>
<LI><A HREF="https://developer.valvesoftware.com/wiki/SteamCMD">SteamCMD</A></LI>
<LI><A HREF="https://sourceforge.net/projects/supergrub2/">Super Grub2 Disc</A></LI>
<LI><A HREF="http://syncterm.bbsdev.net/">SyncTERM</A></LI>
<LI><A HREF="https://www.technicpack.net/">Technic Launcher</A></LI>
<LI><A HREF="https://termshark.io/">TermShark</A></LI>
<LI><A HREF="https://www.texmacs.org/tmweb/home/welcome.en.html">TeXmacs</A></LI>
<LI><A HREF="http://www.xm1math.net/texmaker/">TeXMaker</A></LI>
<LI><A HREF="https://pcsupport.lenovo.com/us/en/products/laptops-and-netbooks/thinkpad-t-series-laptops/thinkpad-t420/downloads/driver-list">Thinkpad T420 Drivers</A></LI>
<LI><A HREF="http://www.toms.net/rb/">tomsrtbt</A></LI>
<LI><A HREF="https://www.torproject.org/">Tor Project</A></LI>
<LI><A HREF="https://github.com/Florane/TotallyNotMalware">TotallyNotMalware</A></LI>
<LI><A HREF="https://github.com/nneonneo/universal-doom">universal-doom</A></LI>
<LI><A HREF="https://www.codedojo.com/?p=2426">Universal Game Translator</A></LI>
<LI><A HREF="https://github.com/snovvcrash/usbrip">usbrip</A></LI>
<LI><A HREF="https://vdos.info/">vDOS</A></LI>
<LI><A HREF="https://www.ventoy.net/en/index.html">Ventoy</A></LI>
<LI><A HREF="https://www.veracrypt.fr/en/Home.html">VeraCrypt</A></LI>
<LI><A HREF="http://vetusware.com/">VetusWare</A></LI>
<LI><A HREF="https://www.vim.org/">Vim</A></LI>
<LI><A HREF="https://vimm.net/">Vimm's Lair</A></LI>
<LI><A HREF="https://www.virtualbox.org/">VirtualBox</A></LI>
<LI><A HREF="https://code.visualstudio.com/">Visual Studio Code</A></LI>
<LI><A HREF="https://www.videolan.org/vlc/">VLC</A></LI>
<LI><A HREF="https://github.com/VSCodium/vscodium">vscodium</A></LI>
<LI><A HREF="http://wiki.vuze.com/">Vuze</A></LI>
<LI><A HREF="https://github.com/wasm3/wasm3">wasm3</A></LI>
<LI><A HREF="https://www.wireshark.org/">Wireshark</A></LI>
<LI><A HREF="https://github.com/ytdl-org/youtube-dl">youtube-dl</A></LI>
<LI><A HREF="https://github.com/synox/youtube-dl-interactive">youtube-dl-interactive</A></LI>
<LI><A HREF="https://github.com/devenblake/ytfeed.py">ytfeed.py</A></LI>
<LI><A HREF="https://zdoom.org/index">ZDoom</A></LI>
<LI><A HREF="http://zenithos.org/">ZenithOS</A></LI>
<LI><A HREF="https://losttraindude.itch.io/zfrag">zFRAG</A></LI>
</UL></LI>
</UL>
<P>
Because we can't have nice things, I'm sure somebody will probably send me a DMCA for a link here.
I'd like to first say - <B><I>DMCA the actual site, not my link</I></B>. Moron.
Then - you can use the contact information on the root of the site to contact me.
I'll get back to you within 24 hours or so.
If I don't, escalate the issue to the host of this site (this can also be found on the site root).
</P>
<!--BMARKS_END-->
</BODY>
</HTML>
2023-11-01 23:39:57 -06:00
/blah/2023-11-01.html
Rabbit rabbit.
$ doas su -
# apk del rust cargo
# ^D
$ curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf >rustup.sh
2023-11-01 23:41:30 -06:00
$ more <rustup.sh # DO NOT PIPE CURL INTO SH!!!
2023-11-01 23:39:57 -06:00
$ sh rustup.sh
I went with a default installation because whatever. I just hope this doesn't
fuck up my system because I quite like my system as it's installed.
$ . .cargo/env
$ rustc --version
Error loading shared library libgcc_s.so.1: No such file or directory (needed b
Error loading shared library libgcc_s.so.1: No such file or directory (needed b
Error relocating /home/trinity/.rustup/toolchains/stable-aarch64-unknown-linux-
Error relocating /home/trinity/.rustup/toolchains/stable-aarch64-unknown-linux-
Error relocating /home/trinity/.rustup/toolchains/stable-aarch64-unknown-linux-
Error relocating /home/trinity/.rustup/toolchains/stable-aarch64-unknown-linux-
Error relocating /home/trinity/.rustup/toolchains/stable-aarch64-unknown-linux-
Error relocating /home/trinity/.rustup/toolchains/stable-aarch64-unknown-linux-
Error relocating /home/trinity/.rustup/toolchains/stable-aarch64-unknown-linux-
Error relocating /home/trinity/.rustup/toolchains/stable-aarch64-unknown-linux-
Error relocating /home/trinity/.rustup/toolchains/stable-aarch64-unknown-linux-
Error relocating /home/trinity/.rustup/toolchains/stable-aarch64-unknown-linux-
Error relocating /home/trinity/.rustup/toolchains/stable-aarch64-unknown-linux-
Error relocating /home/trinity/.rustup/toolchains/stable-aarch64-unknown-linux-
Error relocating /home/trinity/.rustup/toolchains/stable-aarch64-unknown-linux-
Error relocating /home/trinity/.rustup/toolchains/stable-aarch64-unknown-linux-
Error relocating /home/trinity/.rustup/toolchains/stable-aarch64-unknown-linux-
Error relocating /home/trinity/.rustup/toolchains/stable-aarch64-unknown-linux-
Error relocating /home/trinity/.rustup/toolchains/stable-aarch64-unknown-linux-
Error relocating /home/trinity/.rustup/toolchains/stable-aarch64-unknown-linux-
Error relocating /home/trinity/.rustup/toolchains/stable-aarch64-unknown-linux-
Error relocating /home/trinity/.rustup/toolchains/stable-aarch64-unknown-linux-
Error relocating /home/trinity/.rustup/toolchains/stable-aarch64-unknown-linux-
Error relocating /home/trinity/.rustup/toolchains/stable-aarch64-unknown-linux-
Error relocating /home/trinity/.rustup/toolchains/stable-aarch64-unknown-linux-
Error relocating /home/trinity/.rustup/toolchains/stable-aarch64-unknown-linux-
Error relocating /home/trinity/.rustup/toolchains/stable-aarch64-unknown-linux-
Hmmm.
$ doas su -
# apk add libgcc-chimera
# ^D
$ rustc --version
rustc 1.73.0 (cc66ad468 2023-10-03)
Cool.
Consultation with hosts: print!("{}", var); uses the display trait of var while
print!("{:?}", var); uses the debug trait of var.
At night I like to look around and feel the air on my skin. The air is still
but flowing because this place is well ventilated yet well heated and feels
nice, is a nice temperature. I like to look around at the walls and how they
blend into the ceiling, distinct only by texture and shade. There are no gaps
between them. Nor between the wall and the floor. The walls are clean here. So
is the floor. So is the ceiling. There are fire alarms and carbon monoxide
detectors and blinds on the windows and the air is nice but most importantly
the space is so big. A month ago I was waking up in a car, freezing. I was
freezing because the car had nearly no insulation and nearly no ventilation, so
my breath would condense onto any object that had some warmth to give it like
the windows or my blankets or sleeping bag. The condensation would cool me in
the night. I would wake up often in the very early morning hours shivering and
unable to get warm, kept awake by Kami insisting we not fall asleep or we could
die of hypothermia. I'd read Alias Grace or another book on my tablet, the
glass cold to the touch and foggy, wishing I was somewhere else, somewhere far
away where I couldn't touch the clean ceiling even if I stretched my arm out to
as far away as my fingertips could reach. Now I am here, the place of which I
dreamed. The walls are so far away and yet the air here, so much air, is so
warm. It's comfortable. I'm laying on a couch which is comfortable and using my
laptop comfortably and using wall electricity and laying in warmth and there's
a sink in this room or adjacent to get water on demand and there is fucking
laundry! I can do my fucking laundry! I can take a shower when I wish to! And
every night out of joy I cry myself to sleep. I sob like a little piss baby,
muffling my cries with my mouth or my will or when those fail the sleeping bag
in which I lay because I'm terrified that I will be back on the street again
and without the car and unable to get comfortable on hard surfaces anymore.
I met Toni in February, a 1999 green Subaru Forester or Forrester or something.
She was driven by my sidekick and in fine shape except for some difficulties
making it up hills. At the time my sidekick was considerably less so and I was
coming off some bad decisions with drugs and we were discussing some stuff and
I was in love with that car but never thought I would end up living in it. The
best weekend I'd ever lived.
I met Toni in a different light in September or so. I'd slept near a pile of
nearly unidentifiable corpses, the same hill about a hundred paces away, and
then went to work and pretended I hadn't. Then I scootered a ways down a hill
and up another to a different Burger King than the one at which I had worked
and crawled through the rear of the car, fringed with broken glass which did
cut me once or twice, and slept in the passenger seat in my sleeping bag. It
wasn't comfortable compared to where I am now but it was better than any of the
places I'd tried to sleep over that week and I got nine or so hours. I woke up
and went to work, the other Burger King, chipper. None of my coworkers knew I
was homeless but I didn't hide it. When I was homeless (technically I still am)
in Lewiston I wanted to actually let people know I was homeless because I
dispelled a lot of classic stereotypes about homeless people - I was educated,
sober, and employed. But rent money is not simply money but money in a bulk I
didn't have. The purpose of that job was to get the money to get where I am now
but I still can't believe I am actually here.
Sometimes when I close my eyes I see them, the corpses torn apart by something
of the forest, and I feel the exhaustion that rooted itself into my bones. And
I wake up and I'm hear under a clean ceiling and the walls are so far away. In
Toni I couldn't sit up without hitting my head, I had to duck or bend my back
somehow. I couldn't extend my legs. Here I can extend my legs however I want in
whatever direction I want. And pee as soon as I wake up.
I feel so fucked. My body is safe but my mind will not stop feeling like there
is something from which to run. I can't forget what I saw and what I felt and
who I was and what I did and being chased and losing trails and playing with
trails and tracers and the falling down hills and sirens and sillhouettes in
red and blue and making my way through dark alleys full of knives and shopping
knives and losing knives and cutting, others and myself, and biting belts as I
repaired my own mechanical faults and shocking myself until I forgot why and
waking up to screaming and waking up to screaming and waking up to screaming.
This is peace. What is peace?
Peace is the two library books I've read and returned since getting a library
card here. What If (2014) and What If 2 (2022). Neither really books I needed
to read or was recommended. Just books I wanted to enjoy. Peace is learning
Rust to contribute to friends' projects, using my laptop, drinking clean water
straight from the tap. Peace is riding in the car behind a few of the smartest
people I know who seem happy I'm here and safe, or at least that my body is
safe, but I don't tell them about the memories I can't get out of my head, just
the memories that haunt me but that are allowed to escape, to be forgotten
momentarily, that alone haunt my hosts. I still feel like I'm in the car
sometimes. I feel the old seat felt against the backs of my arms as I come to
from my sleeping bag. I see my breath fog in front of me. I don't but I do, I
see without seeing. Kami shakes me until I wake up. It's not safe. But it's
never safe, it's never safe because I'm still in the car and the lights are
pouring through the windows but it's the sun's light and it's through apartment
windows and it is safe here but it's not safe because the light is pouring
through the windows and I can be seen and someone is about to start yelling
that they will kill me because they don't see me as human and this was the only
secluded place I could find but it's not secluded because it's a floor behind a
locked door but it's not secluded so it's not safe and I'm taking up too much
space so my hosts are going to hate me but they tell me I can take up more
space certainly but I'm taking up too much space.
And I just want to go to sleep. I want peace. Peace was taken from me by those
who wage war on the proletariat. Whatever. I'm too tired. Could this even be
real? What happy existence? Am I really allowed to relax? Isn't it a trick?
o tenpo pimejo pona
= note: ld: error: unable to find library -lgcc_s
clang-16: error: linker command failed with exit code 1 (use -v to se
e invocation)
error: could not compile `clap_derive` (lib) due to previous error
# apk add gcc-aarch64-none-elf
# ^D
$ cargo run
Compiling clap_derive v4.4.7
error: linking with `cc` failed: exit status: 1
|
= note: LC_ALL="C" PATH="/home/trinity/.rustup/toolchains/stable-aarch64-unkn
[many lines abridged]
Okay, so Rust is having issues with the lack of gcc here. It kinda sucks that
clap is using C stuff. I'm not sure if I should get this C stuff working first
or switch to a pure Rust argument parser.
Looking at this command line, it's LC_ALL=C PATH=[...] VSLANG=1033 cc [and then
a whole bunch of bogus] [cflags] -lgcc_s lc [and then more cflags]. What
provides gcc_s?
$ ls /lib | grep gcc
drwxr-xr-x root root 4.0 KB Fri Sep 8 05:26:01 2023 gcc
.rwxr-xr-x root root 70 KB Wed Oct 25 16:41:53 2023 libgcc_s.so.1
Presumably libgcc_s.so.1 was put there by libgcc-chimera (I'm not gonna bother
checking). I'm just gonna search this error text because I'm not sure why the C
compiler wouldn't be checking /lib.
$ ldconfig -p
$ ldconfig
$ ldconfig --help
$ echo $?
0
$ ls $(which ldconfig)
lrwxrwxrwx root root 4 B Tue Oct 31 17:08:41 2023 🔖 /bin/ldconfig ⇒ true
Hahahahhahahaha. What. Where's ldconfig?!?!?!?!?!?!! I would assume this is the
root of the issue at hand.
At my most boring I have wished for a life worse than the one I have now. This
is the most enjoyable my life has ever been and yet it is unrelentingly
chaotic and I don't know how to get the pieces to fit. I feel irredeemable and
unable to relate to anyone or anything except perhaps a pebble being kicked
across the asphalt of the road or leaves falling off the trees, ripening,
wrinkling, from a soothing green to a reminder of the loss of youth.
One day I expected rain overnight so I slept in the passenger seat so I could
see the rain fall down the windshield. It was a view I had romanticized in my
head, one I wanted to pause and view for eternity. My sidekick did not. They
have places to go and things to do naturally so when it happened that we were
caught in rain and got to see rain fall over Toni we watched for a moment or
two and then drove onward toward the future, beckoning it without letting it
take its time. I was excited to be able to take this moment, though
unfortunately in solitude, at the pace by which I wanted to experience it. So I
fell asleep against the bitter cold of that parking lot and awoke to the pitter
patter of droplets against the glass before me and that was peaceful and I was
for a moment happy. But then I heard a colder, shriller tap from behind, and
turned around to find the cover for the rear window I'd fashioned out of
cardboard and plastic leaking by the seams, forming a puddle that would
inevitably fill with mildew and rot. I stared at this and realized my time in
Toni was limited. Toni would mildew, rot, and disintegrate, as had all my
relationships and all of my chances at housing.
After work I got back to the car and the puddle in the back was bad but in
getting into the car I had left my wet boots on the floor of the passenger seat
so the back was the only place in which I could sleep. My head curved away from
the active dripping I heard the clack clack behind me of rain making its way
through half a dozen layers of duct tape and mockig me before I sat up and just
fucking broke down. I couldn't stay in Toni but couldn't stay anywhere else and
I was out of options and just so fucking tired and cold and damp. There was no
one to comfort me and no solace to be had. My sidekick had left for another
style of adventure, everyone in my life had been either implicitly or
explicitly transphobic towards me, and I had inconsistent access to electricity
and clean water and hadn't showered in a week. It was the lowest point of my
life. To be wet and unable to be dry, to be cold and unable to be warm, to be
so tired and unable to sleep, to be so alone with nobody left. I sobbed like a
baby and didn't care who could hear me, the rain covered the sound and whomever
it revealed my cries could kill me for all I cared - I did genuinely want
someone to just open the car door and stab me, clutch me in a warm embrace and
spill my hot blood over me so I could just be warm for one fatal instant.
Nobody came. I fell asleep.
And from this dream I wake up to a ceiling so high and a floor so dry and air
unknowing of the sound of dripping agony but acclimated to my sobs which,
though muffled, do still call silently into the night after my hosts have
hopefully fallen asleep. And I don't know how to process being thrown from the
frigid shackles in which I'd been locked into the shocking freedom of domestic
cookie cutter monotony. I don't know how to fathom the stillness. I no longer
need to run but my muscles refuse to atrophy, instead slowly cycling in my
slumber lest I rise back to the street and to another abandoned car in another
parking lot. The gray pavement on which parking lots are drawn knows me better
than any four walls. Ceiling is not my usual blanket.
2023-10-31 22:57:48 -06:00
/blah/2023-10-31.html
: trinity writes a rust hello world
Where I now find myself living (though to say I live here would be a lie) I am
surrounded by a couple of the smartest people I know, and through some days of
wearing me down I am donning the programmer socks and writing a Rust Hello
World program.
I am now actually wearing thigh highs.
# apk add rust
I don't actually know how to get the Rust build system going but this seems
like the best option so I'll go with this which is already packaged for
Chimera.
Oh, I'll need cargo(1) too.
# apk add cargo
One of my friends built the Rust book PDF for me which is nice because I can
consult it on my tablet while programming on the laptop.
>Foreword
>It wasn't always so clear, but the Rust programming language is fundamentally
>about *empowerment*...
Okay, I get why so many chan-types are so against Rust. But seeing how people
who know Rust use Rust I am sort of starting to get it. It's a high level
language that can be used well for systems programming, basically?
>To check whether you have Rust installed correctly, open a shell and enter
>this line:
$ rustc --version
Okay.
rustc 1.73.0 (cc66ad468 2023-10-03) (Chimera Linux)
Awesome!
I don't have rustup so I can't read the Rust docs but I'll probably be around a
web browser when programming so I think it's fine?
Rust wants me to make a Hello, World! to start, but that's not super practical
code for me. I think I'm gonna start smaller and make a true(1) implementation.
```rs
fn main() {
}
```
Works.
```rs
```
Does not work; there's no `main` function so the program doesn't know how to
execute:
error[E0601]: `main` function not found in crate `r#true`
|
= note: consider adding a `main` function to `true.rs`
error: aborting due to previous error
For more information about this error, try `rustc --explain E0601`.
I really like the `rustc --explain` thing, this reminds me of Shellcheck.
Compare to the clang error message when compiling the same file:
ld: error: undefined symbol: main
>>> referenced by crt1.c:18 (../crt/crt1.c:18)
>>> /lib/Scrt1.o:(_start_c)
>>> referenced by crt1.c:18 (../crt/crt1.c:18)
>>> /lib/Scrt1.o:(_start_c)
clang-16: error: linker command failed with exit code 1 (use -v to see invocati
on)
There's a lot going on here that the beginner (or even proficient C programmer)
doesn't know and doesn't know how to start to know.
Alright, what about this:
```rs
fn main();
```
error: free function without a body
--> true.rs:1:1
|
1 | fn main();
| ^^^^^^^^^-
| |
2023-11-01 23:39:57 -06:00
| help: provide a definition for the function: `{ <body> }`
2023-10-31 22:57:48 -06:00
error: aborting due to previous error
Okay, so `fn main() { }` seems to be the simplest way to do this. How do I
return an exit code explicitly, though, so I can make a false(1)
implementation?
It was at this point one of the people I know who knows Rust came by and I told
them how I was coming along and they were really supportive of my very meager
progress.
I found some stuff here:
https://doc.rust-lang.org/std/process/struct.ExitCode.html
So instead of understanding everything that's happening I'll try just plugging
some code in, StackOverflow style:
```rs
use std::process::ExitCode;
fn main() -> ExitCode {
ExitCode::from(0)
}
```
TRIN: Can I name you in my blog? Or should I keep saying "it was at this point
one of the people with which I'm staying walked through on its pacing
route"?
MARS: You can say Mars, that's fine.
TRIN: So you can put a constant on the last line of a function
without a trailing semicolon to return that value?
MARS [paraphrased]: Yeah. It's less to say, "return that value" than it is to
say "this function has this value". Rust is a functional
language disguised as a procedural language.
Okay, that fucks. ExitCode has a SUCCESS constant I could also use, meaning the
equivalent to C's `E_OK` or whatever the constant provided by stdio.h is, but
I'm wary about using a library-defined constant less it changes because POSIX
does not change (much). So I think this is a good Rust true(1) implementation.
It can be found in src/true/true.rs. And src/false/false.rs:
```rs
use std::process::ExitCode;
fn main() -> ExitCode {
ExitCode::from(1)
}
```
I just had supper which was delicious, vegan hot dogs and some macaroni my
hosts had left over. They are really delightful.
Now I wanna make echo(1). This will serve as my HelloWorld as it uses stdout
printing and, beyond the usual HelloWorld, very light argument handling. The
book mentions cargo(1) which I will be using but for now I'll stick to single
.rs files because echo(1) shouldn't have any dependencies.
It looks like std::env will give me stuff relating to arguments, std::env::args
or std::env::args_os. According to StackOverflow the difference is in typing.
I've heard docs.rs has some documentation but looking at the site it looks like
it only documents third party cargo crates, which are like C libraries but (I
think) included per-project so as to not muck up the system (I hope). I looked
up "rust std env" and found docs.rust-lang.org which has /std/env which was
what I needed.
The Rust documentation summarizes more thoroughly but, basically, an OsString,
the type instances of which are iterated through by (oh my god this sentence is
a prepositional mess I give up) an OsString is a fat pointer or whatever the
Rust equivalent is while a String is probably just a nul-terminated sequence of
bytes. Implementation-defined of course but Rust documentation notes that
OsString should be converted to a CStr before being used in UNIX system calls.
A nice detail I'm happy to know! I shouldn't have to do any string conversion;
echo(1) should spit out *exactly* what it's given (opinion; implementations
differ) just with space delimiting and newline ending. Hopefully there's a way
for me to print out an OsString without conversion or anything. I need to `use
std::ffi::{OsStr, OsString};` or something like that I think but I'm gonna try
with just `use std::env;` at first.
2023-11-01 23:39:57 -06:00
The use of echo(1) is defined for argc<2 (print a newline alone; argc can be
2023-10-31 22:57:48 -06:00
zero without consequence here) and argc>=2, so it won't be necessary to return
a value from main(), Rust can just use the default successful value.
It looks like OsStr and OsString are from std::ffi which provides tools for FFI
bindings. This also notes that the Rust String is also fat and not nul
-terminated. It looks like the difference is that OsString represents an "owned
platform string" and an OsStr represents a "borrowed reference to a platform
string". This, I think, relates to memory management and a Borrow Checker
(spooky) about which I haven't gotten around to learning. Rust's std::ffi is
fascinating but while learning Rust I wanna be doing things oxidatiously or
whatever and not doing a thin Rust wrapper and then my usual C bullshit. One of
the things about Rust that excites me is that it seems to be able to make
guarantees about project stability C can't but I don't know much about that
except the stuff Mars has shown me that I don't quite understand.
So how do I iterate through env::args_os? According to its reference page,
```rs
use std::env;
fn main() {
for argument in env::args_os() {
println!("{argument:?}");
}
}
```
Wow! What the fuck is a println!? According to the Rust book all we need to
know is that the `!` suffix is some Hungarian notation esque marker that
println!() is a macro. The Rust documentation provides a definition, I think,
of println:
```rs
macro_rules! println {
() => { ... };
($($arg:tt)*) => { ... };
}
```
I think the `{ ... }` notes abridged portions and the [...]` => { ... };`
indicates that one case is triggered by println receiving no arguments and the
other case is triggered by println receiving any other amount of arguments. I
don't know if this is actual code or anything but yeah uh... Rust macros. Cool.
What I was actually interested in is how to print without a newline. I think
there's a macro for that too.
```rs
macro_rules! print {
($($arg:tt)*) => { ... };
}
```
Interesting. The documentation notes:
>Prints to the standard output.
>
>Equivalent to the `println!` macro except that a newline is not printed at the
>end of the message.
>Note that stdout is frequently line-buffered by default so it may be necessary
>to use `io::stdout().flush()` to ensure the output is emitted immediately.
I like the note that `fflush(stdout);` is needed because this bites C beginners
a lot when writing stuff that does something like `printf("> ");
fgets([...]);`.
I see stuff in here about `.unwrap()` and `stdout().lock()` but I hope I don't
need that because I don't understand it yet. I'm just gonna use print!. So how
2023-11-01 23:39:57 -06:00
do I print! an OsString? And how do I handle argc<2?
2023-10-31 22:57:48 -06:00
The book chapter 12 actually touches on a lot of this and I stumbled upon it
looking at std::env stuff. Here's a test I can run from the book:
```rs
use std::env;
fn main() {
2023-11-01 23:39:57 -06:00
let args: Vec<String> = env::args().collect();
2023-10-31 22:57:48 -06:00
dbg!(args);
}
```
I'll modify that a little:
```rs
use std::env;
fn main() {
2023-11-01 23:39:57 -06:00
let args: Vec<OsString> = env::args().collect();
2023-10-31 22:57:48 -06:00
dbg!(args);
}
```
$ rustc echo.rs
error[E0412]: cannot find type `OsString` in this scope
--> echo.rs:4:19
|
2023-11-01 23:39:57 -06:00
4 | let args: Vec<OsString> = env::args().collect();
2023-10-31 22:57:48 -06:00
| ^^^^^^^^
--> /builddir/rust-1.73.0/library/alloc/src/string.rs:365:1
|
= note: similarly named struct `String` defined here
|
help: a struct with a similar name exists
|
2023-11-01 23:39:57 -06:00
4 | let args: Vec<String> = env::args().collect();
2023-10-31 22:57:48 -06:00
| ~~~~~~
help: consider importing this struct
|
1 + use std::ffi::OsString;
|
error: aborting due to previous error
For more information about this error, try `rustc --explain E0412`.
Okay.
2023-11-01 23:39:57 -06:00
$ sed -e '1a use std::ffi::OsString' <echo.rs >echo.2.rs
2023-10-31 22:57:48 -06:00
$ rustc echo.2.rs
2023-11-01 23:39:57 -06:00
error[E0277]: a value of type `Vec<OsString>` cannot be built from an iterator
2023-10-31 23:00:08 -06:00
over elements of type `String`
2023-10-31 22:57:48 -06:00
--> echo.rs:5:43
|
2023-11-01 23:39:57 -06:00
5 | let args: Vec<OsString> = env::args().collect();
| ^^^^^^^ value of type `Vec<OsStri
ng>` cannot be built from `std::iter::Iterator<Item=String>`
2023-10-31 22:57:48 -06:00
|
2023-11-01 23:39:57 -06:00
= help: the trait `FromIterator<String>` is not implemented for `Vec<OsString>`
= help: the trait `FromIterator<T>` is implemented for `Vec<T>`
2023-10-31 22:57:48 -06:00
note: required by a bound in `collect`
--> /builddir/rust-1.73.0/library/core/src/iter/traits/iterator.rs:2049:5
error: aborting due to previous error
For more information about this error, try `rustc --explain E0277`
Oh shit, I forgot to change env::args to env::os_args.
2023-11-01 23:39:57 -06:00
$ sed -e '5s.args.os_args.' <echo.2.rs >echo.rs
2023-10-31 22:57:48 -06:00
$ rustc echo.rs
error[E0425]: cannot find function `os_args` in module `env`
--> echo.rs:5:36
|
2023-11-01 23:39:57 -06:00
5 | let args: Vec<OsString> = env::os_args().collect();
2023-10-31 23:00:08 -06:00
| ^^^^^^^ help: a function with a similar
name exists: `args_os`
2023-10-31 22:57:48 -06:00
--> /builddir/rust-1.73.0/library/std/src/env.rs:793:1
|
= note: similarly named function `args_os` defined here
error: aborting due to previous error
For more information about this error, try `rustc --explain E0425`.
Oops.
2023-11-01 23:39:57 -06:00
$ sed -e '5s.os_args.args_os.' <echo.rs >echo.2.rs
2023-10-31 22:57:48 -06:00
$ rustc echo.2.rs
$
So presumably it compiled.
$ ./echo
[echo.rs:6] args = [
"./echo",
]
Okay, that debug macro is kinda awesome. The 500K binary makes me kinda weirded
out, what's the size of the actual echo.c (which is the complete program) when
compiled for arm64 (my current architecture)?
.rwxr-xr-x trinity trinity 9.8 KB Tue Oct 31 21:01:27 2023 🏗 a.out
This output is prettier than usual because I'm using lsd(1), a reimplementation
of the standard POSIX ls(1). My girlfriend in Florida uses it and it's really
pleasant and color codes some stuff in a way that's very useful.
10K is a lot less than half a meg. I wonder if Rust is statically compiling
versus relying on system library stuff. I don't wanna bother looking this up so
I'll go ask Mars.
Its door is closed so I'll look this up. "why are rust binaries so big" popped
up a StackOverflow post that started with "Rust uses static linking" so that
answers my question. I would assume a statically linked C executable would be
about that big, from memory I think this is true but don't wanna bother testing
because I don't have the energy to look up clang arguments.
$ cc -static echo.c
ld: error: unable to find library -l:libunwind.a
ld: error: unable to find library -latomic
ld: error: unable to find library -lc
clang-16: error: linker command failed with exit code 1 (use -v to see invocati
on)
Yeah, I'm not sorting that out, I'm not building C stuff on here to distribute.
I think vec.len() will tell me how many arguments I've received?
```rs
use std::env;
use std::ffi::OsString;
fn main() {
2023-11-01 23:39:57 -06:00
let args: Vec<OsString> = env::args_os().collect();
2023-10-31 22:57:48 -06:00
dbg!(args);
dbg!(args.len());
}
```
$ rm echo.2.rs
$ rustc echo.rs
error[E0382]: borrow of moved value: `args`
--> echo.rs:7:10
|
2023-11-01 23:39:57 -06:00
5 | let args: Vec<OsString> = env::args_os().collect();
| ---- move occurs because `args` has type `Vec<OsString>`, which doe
2023-10-31 22:57:48 -06:00
s not implement the `Copy` trait
6 | dbg!(args);
| ---------- value moved here
7 | dbg!(args.len());
| ^^^^ value borrowed here after move
|
error: aborting due to previous error
For more information about this error, try `rustc --explain E0382`.
Okay, so now I'm talking to the borrow checker. Maybe if I assign the length to
a variable it'll work? I don't know what I'm doing.
```rs
use std::env::args_os;
use std::ffi::OsString;
fn main() {
2023-11-01 23:39:57 -06:00
let args: Vec<OsString> = args_os().collect();
2023-10-31 22:57:48 -06:00
let argc = args.len();
dbg!(args);
dbg!(argc);
}
```
$ rustc echo.rs
$ ./echo
[echo.rs:7] args = [
"./echo",
]
[echo.rs:8] argc = 1
Okay. I don't know why that works but it does. Something to do with memory
management. That's not a big deal to me because I understand when I do fucky
wucks like
```py
try: print("c = " + str(
(float(input("a = ")) ** 2
+ float(input("b = ")) ** 2)
** 0.5))
except ValueError: print("input must be a number")
except: pass
```
there's a lot of memory shit happening behind the scenes I don't have to worry
about, unlike in the equivalent C where I would have to handle buffer overflows
(I personally would toss the excess and skip to the newline) and string to
float conversion. Rust requiring some steps Python wouldn't makes sense to me
because while Rust is less pedantic it doesn't lie to me (much).
Let me try something now:
```rs
use std::env::args_os;
use std::ffi::OsString;
fn main() {
2023-11-01 23:39:57 -06:00
let argv: Vec<OsString> = args_os.collect();
2023-10-31 22:57:48 -06:00
let argc = argv.len();
2023-11-01 23:39:57 -06:00
if argc < 2 {
2023-10-31 22:57:48 -06:00
println!();
} else {
dbg!(argv);
}
}
```
$ rustc echo.rs
$ ./echo | hexdump -C
00000000 0a |.|
00000001
$ ./echo piss shit
[echo.rs:11] argv = [
"./echo",
"piss",
"shit",
]
Cool stuff. I don't think Rust has ternaries so I'm not gonna be able to do
language tricks to make the code really compact like my C implementation:
```c
2023-11-01 23:39:57 -06:00
#include <stdio.h> /* NULL, fprintf(3), putc(3) */
#include <stdlib.h> /* stdout */
#include <sysexits.h> /* EX_OK */
2023-10-31 22:57:48 -06:00
int main(int argc, char **argv){
if(*argv == NULL || *++argv == NULL){
argc = 1;
putc('\n', stdout);
}
while(--argc)
fprintf(stdout, "%s%c", *(argv++), argc > 1 ? ' ' : '\n');
return EX_OK;
}
```
Something I really like is that whereas in C I note what I use from headers in
comments like a total tool, Rust lets me bring individual structures and
functions in so I can keep track of my dependencies in code alone.
I wonder if I can
```rs
use std::env::args_os;
fn main() {
let argc = args_os().collect().len();
dbg!(argc);
}
```
$ rustc echo.rs
error[E0282]: type annotations needed
--> echo.rs:5:26
|
4 | let argc = args_os().collect().len();
| ^^^^^^^ cannot infer type of the type parameter `B
` declared on the method `collect`
|
help: consider specifying the generic argument
|
2023-11-01 23:39:57 -06:00
4 | let argc = args_os().collect::<Vec<_>>().len();
2023-10-31 22:57:48 -06:00
| ++++++++++
error: aborting due to previous error; 1 warning emitted
For more information about this error, try `rustc --explain E0282`.
Okay, how about
```rs
use std::env::args_os;
use std::ffi::OsString;
fn main() {
2023-11-01 23:39:57 -06:00
let argc = args_os().collect::Vec<OsString>().len();
2023-10-31 22:57:48 -06:00
dbg!(argc);
}
```
I guess function::type() specifies the type of which function should be
returning. That sort of makes sense? C doesn't have generic functions like that
but I think I understand some of what's happening there.
$ rustc echo.rs
error: generic parameters without surrounding angle brackets
--> echo.rs:5:35
|
2023-11-01 23:39:57 -06:00
5 | let argc = args_os().collect::Vec<OsString>().len();
2023-10-31 22:57:48 -06:00
| ^^^^^^^^^^^^^
|
help: surround the type parameters with angle brackets
|
2023-11-01 23:39:57 -06:00
5 | let argc = args_os().collect::<Vec<OsString>>().len();
2023-10-31 22:57:48 -06:00
| + +
error: aborting due to previous error
Okay. I'm changing that without copying my code because I'm not motivated to do
so. Also the actual errors are probably not byte-for-byte if for whatever
reason you're following along at home (why would you? I don't know what I'm
doing) because my code actually has a ton of snippets commented out so I don't
need to retype everything.
I made the changes it suggested and the program works. Neat. But do I need that
local variable?
```rs
use std::env::args_os;
use std::ffi::OsString;
fn main() {
2023-11-01 23:39:57 -06:00
if args_os().collect::<Vec<OsString>>().len() < 2 {
2023-10-31 22:57:48 -06:00
println!();
} else {
}
}
```
$ rustc echo.c
$
No I don't! Only if I'm using it more than once, which makes sense. I'd like to
forego println!() though because I have a feeling this prelude-provided macro
will do platform-specific things and differ on NT vs UNIX due to line ending
conventions. I don't like that for a program that's supposed to follow POSIX.
It looks like std::io::Stdout exists so I'm gonna use that and put a lock on
std::stdout so I can write to it. I think this works?
```rs
use std::env::args_os;
use std::io::{Write, stdout};
use std::ffi::OsString;
fn main() {
let mut stdout = stdout().lock();
2023-11-01 23:39:57 -06:00
if args_os().collect::<Vec<OsString>>().len() < 2 {
2023-10-31 22:57:48 -06:00
stdout.write(b"\n"); // Rust wants a 'b' prefix
} else {
}
}
```
$ rustc echo.rs
warning: unused `Result` that must be used
--> echo.rs:8:9
|
8 | stdout.write(b"\n");
| ^^^^^^^^^^^^^^^^^^^
|
= note: this `Result` may be an `Err` variant, which should be handled
= note: `#[warn(unused_must_use)]` on by default
help: use `let _ = ...` to ignore the resulting value
|
8 | let _ = stdout.write(b"\n");
| +++++++
warning: 1 warning emitted
Okay, a note that I should handle the possibility of an error. I don't know how
to do that so I won't, like a true in-the-field professional.
I guess b"\n" is a Rust byte string. I don't think it's super important just
yet for me to know what that is so I'm gonna assume I'm fine.
I'm feeling devious.
```rs
use std::env::args_os;
use std::io::{Write, stdout};
use std::ffi::OsString;
fn main() {
let mut stdout = stdout().lock();
2023-11-01 23:39:57 -06:00
if args_os().collect::<Vec<OsString>>().len() >= 2 {
2023-10-31 22:57:48 -06:00
for argument in args_os() {
stdout.write(argument);
stdout.write(b" ");
}
}
stdout.write(b"\n")
}
```
$ rustc echo.c
error[E0308]: mismatched types
--> echo.rs:9:26
|
9 | stdout.write(argument);
| ----- ^^^^^^^^ expected `&[u8]`, found `OsString`
| |
| arguments to this method are incorrect
|
note: method defined here
--> /builddir/rust-1.73.0/library/std/src/io/mod.rs:1461:8
error: aborting due to previous error
For more information about this error, try `rustc --explain E0308`.
So I could look up how to turn an OsString into a `&[u8]` but I need to know
what that is because echo(1) shouldn't be dependent on "proper input" (UTF-1
should work as well as UTF-8). I checked the std::ffi::OsString methods but
none of them really told me anything I think I can use so I'm gonna look at
std::io.
Looking at the primitive u8, it's an 8-bit unsigned integer which should be
fine for my uses. The method into_os_str_bytes() should work to convert
2023-11-01 23:39:57 -06:00
std::ffi::OsString into a Vec<u8> but the documentation notes that this is
2023-10-31 22:57:48 -06:00
"a nightly-only experimental API". Whatever, probably fine.
```rs
use std::env::args_os;
use std::io::{Write, stdout};
use std::ffi::OsString;
fn main() {
let mut stdout = stdout().lock();
2023-11-01 23:39:57 -06:00
if args_os().collect::<Vec<OsString>>().len() >= 2 {
2023-10-31 22:57:48 -06:00
for argument in args_os() {
stdout.write(argument.into_os_str_bytes());
stdout.write(b" ");
}
}
stdout.write(b"\n");
}
```
$ rustc echo.c
error[E0658]: use of unstable library feature 'os_str_bytes'
--> echo.rs:9:35
|
9 | stdout.write(argument.into_os_str_bytes());
| ^^^^^^^^^^^^^^^^^
|
2023-11-01 23:39:57 -06:00
= note: see issue #111544 <https://github.com/rust-lang/rust/issues/111544> f
2023-10-31 22:57:48 -06:00
or more information
error[E0308]: mismatched types
--> echo.rs:9:26
|
9 | stdout.write(argument.into_os_str_bytes());
| ----- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&[u8]`, fou
2023-11-01 23:39:57 -06:00
nd `Vec<u8>`
2023-10-31 22:57:48 -06:00
| |
| arguments to this method are incorrect
|
= note: expected reference `&[u8]`
2023-11-01 23:39:57 -06:00
found struct `Vec<u8>`
2023-10-31 22:57:48 -06:00
note: method defined here
--> /builddir/rust-1.73.0/library/std/src/io/mod.rs:1461:8
help: consider borrowing here
|
9 | stdout.write(&argument.into_os_str_bytes());
| +
error: aborting due to 2 previous errors
Some errors have detailed explanations: E0308, E0658.
For more information about an error, try `rustc --explain E0308`.
Okay, I'll add that ampersand the borrow checker desires. I'm not sure how this
works still.
$ rustc echo.rs
error[E0658]: use of unstable library feature 'os_str_bytes'
--> echo.rs:9:36
|
9 | stdout.write(&argument.into_os_str_bytes());
| ^^^^^^^^^^^^^^^^^
|
2023-11-01 23:39:57 -06:00
= note: see issue #111544 <https://github.com/rust-lang/rust/issues/111544> f
2023-10-31 22:57:48 -06:00
or more information
error: aborting due to previous error
For more information about this error, try `rustc --explain E0658`.
So how do I use an unstable library feature? I'll use the rustc facilities.
$ rustc --explain E0658
This brought me into a manual snippet shown in my configured pager (I think)
with instructions on how to add a feature flag. I then did what it said and
wasn't anywhere better so I wonder if there's another way to turn an OsString
into a &[u8].
Then Mars came into the room and greeted me and I asked it how to make this
shit work. Apparently an issue is I'm running stable rustc and in order to use
nightly rustc stuff I need nightly rustc provided by using rustup instead of
the packaged rust toolchain. I don't really wanna do that but I also don't
really wanna give up so I think I'm just gonna make this a shitty echo(1)
implementation that limits input to UTF-8. But first I wanna see how someone
else has done this already.
https://github.com/uutils/coreutils.git src/uu/echo/src/echo.rs L119:
2023-11-01 23:39:57 -06:00
>pub fn uumain(args: impl uucore::Args) -> UResult<()> {
2023-10-31 22:57:48 -06:00
> let args = args.collect_lossy();
> let matches = uu_app().get_matches_from(args);
>
> let no_newline = matches.get_flag(options::NO_NEWLINE);
> let escaped = matches.get_flag(options::ENABLE_BACKSLASH_ESCAPE);
2023-11-01 23:39:57 -06:00
> let values: Vec<String> = match matches.get_many::<String>(options::STRING
2023-10-31 22:57:48 -06:00
) {
> Some(s) => s.map(|s| s.to_string()).collect(),
> None => vec![String::new()],
> };
>
> execute(no_newline, escaped, &values)
> .map_err_context(|| "could not write to stdout".to_string())
>}
Those rat bastards did std::env::args.collect_lossy()! Those utter tools! I
imagine this doesn't work for binary data but I don't know and I'm not building
this because I don't wanna figure out how to right now.
Everyone is going to sleep now except me so I now feel like I need to get an
echo(1) implementation working on this, the first day I've actually started to
learn Rust. I'm just gonna go with std::env::args and Strings.
Mars also mentioned some Rust types stuff, namely &[u8] being a borrowed slice
of u8s or something. I sort of got it and sort of didn't, I did at the time I
just forgot. Sorry!
Also it came back out after I wrote that to greet me and then promptly
disappeared.
This spits out a lot of warnings:
```rs
use std::env::args;
use std::io::{Write, stdout};
fn main() {
let mut stdout = stdout().lock();
2023-11-01 23:39:57 -06:00
if args().collect::<Vec<String>>().len() >= 2 {
2023-10-31 22:57:48 -06:00
for argument in args() {
stdout.write(&argument.as_bytes());
stdout.write(b" ");
}
}
stdout.write(b"\n");
}
```
This is nice but print!() handles errors I think so I'm just going back to
that.
```rs
use std::env::args;
fn main() {
2023-11-01 23:39:57 -06:00
if args().collect::<Vec<String>>().len() >= 2 {
2023-10-31 22:57:48 -06:00
for argument in args() {
print!(argument);
print!(" ");
}
}
print!("\n");
}
```
$ rustc echo.c
error: format argument must be a string literal
--> echo.rs:6:20
|
6 | print!(argument);
| ^^^^^^^^
|
help: you might be missing a string literal to format with
|
6 | print!("{}", argument);
| +++++
error: aborting due to previous error
Okay.
```rs
use std::env::args;
fn main() {
2023-11-01 23:39:57 -06:00
if args().collect::<Vec<String>>().len() >= 2 {
2023-10-31 22:57:48 -06:00
for argument in args() {
print!("{}", argument);
print!(" ");
}
}
print!("\n");
}
```
$ rustc echo.c
$ ./echo hello world
./echo hello world
The issue is the first argument is coming along for the ride in that for loop.
How do I skip the first iteration of an iterator?
[trial and error with .rs files and rustc omitted]
Oh.
```rs
use std::env::args;
fn main() {
2023-11-01 23:39:57 -06:00
if args().collect::<Vec<String>>().len() >= 2 {
2023-10-31 22:57:48 -06:00
for argument in args().skip(1) {
print!("{} ", argument);
}
}
print!("\n");
}
```
$ rustc echo.c
$ ./echo Hello, world!
Hello, world!
$ ./echo Happy Halloween!
Happy Halloween!
That's where I'm leaving my Rust education today. And this is day 1. Pretty
good!
2023-10-31 17:13:05 -06:00
/blah/2023-10-29.html
Another journal, in its entirety
2023-09-??
TODO
TODAY
x WORK 1130-2000
x GRANDPARENTS
* PRACTICE Sx Sy ? S S S Sy S S S [I was practicing writing Ses to make my
handwriting look more like Ditko's]
* DOWNLOAD "PI"
* DOWNLOAD "TRINITY"
* DOWNLOAD "BARBIE"
* DOWNLOAD "OPPENHEIMER"
TOMORROW
x CLEAN [...]'S LAPTOPS
x REPACK + DECIDE WHAT GOES TO C.O.
* TEXT [...]?
LEWISTON
* MAIL [...] EDIBLES
x MAIL [...] LAPTOPS
x MAIL COLORADO
* MAKE SURE MAL'S OK
2023-09-30
x 2W NOTICE
2023-10-14
x LEAVE FOR [...]
LEWISTON
x FLIPPER x MODEM
x REPACK x BAG + BIVY
[...] x SD ADAPTER
MAL x CABLES
CALEB x SCOTT
GRANDPARENTS x GOIN POSTAL
[...] [...]
x [...] x [...]
x [...] ~~[...]~~
x ~~[...]~~ [...]
x [...]
2023年09月24日
Beginning to plot my way out of here...
I'm back because I was overencumbered. Now I've mostly repacked, not
enough to leave but enough to be mobile. I still have too much stuff.
Old socks stick to the bottom of your feet. Your soles meld with the
thread and ache from the dull torture. Old underwear's seams dig into you and
leave marks or acne on your ass. It's unavoidable.
The worst parts of homelessness are the lack of regular showers or
laundry. You can survie without regular showers. Your body stops stinking so
much, your hair stops being oily to compensate for your shampoo, your learn to
live without that feeling of dry freshness. But your clothes rot. Not your good
clothes, if you were smart enouugh to plan ahead and get a wool shirt and
sturdy pants, but the clothes you don't think about - socks, underwear, bras.
Cycling through articles only delays the inevitable.
"du" followed by 17 'h's. "Du"+17*"h"
2023-09-??
Looking at me ' up and down
thick left thigh, '' pupils blown out
I'm leaning onto brick and his pace changes tempo
2023-11-01 23:39:57 -06:00
- -- bitch keep walking \<
2023-10-31 17:13:05 -06:00
decelerates, ' my voice decrescendoes
VV I'll tear your neck open and piss in your windpipe
song of the city plays still and I \<
take out my bubble gum, my flavor's out \<
swallow, chew another, passing kid begins to
open his mouth
bitch keep walking ||
and the time goes by \<
leaning onto brick imagining piss in a windpipe
pneumonia \<
car ' after car ' after car \<
bitch keep walking '
butterfly knife in my pocket \<
no I do not have spare change \<
I don't open my wallet '
wish I was back in the office '
yes it's dark and damp but at least \<
there's free coffee '
bitch keep walking '
bitch keep walkking \< (don't stop) \<
anywhere other than here \< (there's nothing here) \<
I do not want to fight \<
but if I fight it'll be ^ (quick) \<
but if I fight then I will ^ (win)
->bitch keep walking<-
everyone packs heat but I pack nothing ''
how many will die ' for a fucking macguffin
t's so pointless but it's a check and my assignment ''
don't ask me again \<
bitch keep walking | ||
six foot three built like a bee
~~~~~~~~~~~
twelve large holes around my abdomen
~~~~~~~~~~~
can't touch me
my nest is rot infested
my head is shedding centipedes
call me Blowfly Girl
I want my pestilence degree
bee threesome
poly pollinators
2023-??-??
it's the end of the line
the line down the road
and I am so thirsty
and I'm so alone
my crimson elegy
falls to the floor
the blood isn't clotting
and I'm letting go
I've made my fair share
of crossings the street
and all for attention
but it never mattered to me
when I needed space
I was given so little
when I hit my rock bottom
you said it was the middle
and I walked the line
the line down the road
because I was so hungry
now I'm so alone
the rations were scarce
and the others hardly rational
I need unconditional love
but to you it's transactional
it's the end of the line
the line down the road
I used a rusty knife
I'm not worried about tetanus anymore
and I've formed a puddle
I'm curled in a ball
everything's uncomfortably sticky
but I'm not worried at all
and when one day they ask
if my passing was mourned
you better look them in the eye
and say you wish you caught the warnings
and the casket carriers marched
me from my rest to my grave
and I lay there lazily motionless
as you'd say, I slept too late
and now I'm late and they've formed a line
the line down the road
to witness my drained body
as I'm still, so alone
2023-??-??
one don't you touch me
don't you
don't you touch me
don't you
ding ding ding ding ding ding ding ding
don't you fucking cross that line
dark avenue alley
three hundred year old
don't you fucking cross that line
I'm a Hollywood star
you ungreatful little
A-------------------
this night
is the last night
is the last night
I'm alone
there is no one
baby no one
I am the one
so alone
wretched
in my harbor
and my dark
dark avenue
and the needle
sewing needle
I'm your pillow
in you go
~~~~
don't you
fucking touch me
fucking touch me
warm pillow
don't you
fucking touch me
fucking touch me
warm ~~~~~ below
~~~
don't you
fucking hurt me
fucking hurt me
down below
don't you
fucking shoot me up
your loading
gun below
2023-??-??
I LIE HERE IN A POOL OF MYSELF
THE WATER IS COLD AND DROWNS THE NOISE OUT
I FOLLOWED THE LINE JUST TO GET HERE TODAY
NOW THE BLADE'S ON THE FLOOR AND I LINGER IN PAIN
I LIE HERE IN A POOL OF MYSELF
THE CHOIR IS FAINT AND THE SIRENS FADE OUT
IT'S THE END OF THE LINE AND SO DESPERATELY
I TRACED IT INTO THE FAINTLY BLUE VEIN
WHO KILLED ME? YOU KILLED ME
WHO PULLED THE YOU PULLED THE
TRIGGER AT NOON? TRIGGER AT NOON
WHO KILLED ME? YOU PUSHED ME
ANGELS BECKON ME INTO THIS HELL
INTO THE GLOOM BECKONING YOU TOO
IT'S SO MURKY IT'S SO MURKY
I'M RUNNING OUT OF TIME I'M RUNNING OUT OF TIME
TO KNOW WHODUNNIT TO SAY I'M SORRY
JUST TELL ME I'M NOT READY
PREACH MY FATE TOUCH MY FACE
AND HAIL TO THE SUN AND THEN SAY IT'S DONE
I LIE HERE IN A POOL OF MYSELVES
RECKLESS DICHOTOMY NEVER WORKED OUT
IT'S THE END OF THE SHOW AND THE CURTAINS COME DOWN
I'M THIRSTY BUT IT'S QUIET NOW
2023-10-23
panel 1: [person running], thinking: GOD DAMN NECESSARY EXERCISE
panel 2: [person in baseball cap behind other person, under a starry night]
panel 3: [person in baseball cap]: I WONDER HOW MUCH BLOOD THAT GUY HAS
panel 4: [x]
[5 legged cat cartoon]
[happy kitty cartoon]
2023-10-26
TEXT [...] [x] P.O. BOX [-]
V / | V
APPLY FOR JOBS [x] | I.D.
| V
[...]'S TIRE [ ] | MEDICAID
V PHOTOGRAPHY [x] |
PINEPHONE OS [ ] | [...] LUNCH [-] TOMORROW
| V
MOP [ ] CASH [x] \ LIBRARY
V V
[...] LIBRARY CARD
[...] 1072
[...]
1068
[...]
2023-10-??
P.O. BOX
|
'----> get proof of having
P.O. box
|
V
https://dmv.colorado.gov/documents
"Homeless applicants without a residential
address must provide a letter from
a government entity, or not-for-
profit organization with its letterhead
showing the facility's name, address,
and telephone number, including the
legal representative's name, signature,
and signature date. The letter must
state, 'will accept delivery of mail
for the customer.'"
2023-10-26
THURS 10-27
[...] lunch
FRI 10-28
SAT 10-29
[...] & [...] out for party afternoon/eve
SUN 10-30
2023-10-??
Emulsify, motherfucker!
-- Mx. Clean
2023-10-??
Deven Trinity Blake is currently
physically resident at
2023-10-??
PINEBUDS
_____ _____
| . . | | . . |
| . ._|_ _|_. . |
| / \ / \ |
|_L_\_*_/ \_*_/_R_|
TX RX TX RX
5V Gnd 5V Gnd
2023-10-??
[...] [...]
[...] [...]
2023-10-24 07:25:56 -06:00
/blah/2023-10-27.html
Someone killed a couple dozen people in my hometown a week or two after I left.
They did it with an assault rifle and went to the bowling alley where in my
childhood I attended birthday parties and a bar or something near a place at
which I used to work.
My gut reaction is very callous because I was treated very poorly in this
hometown. I and many of my friends were harrassed by the police that are now
being lauded for their unsuccessful work on finding the perpetrator of this
mass killing who fled or possibly committed suicide. On one of the streets on
which innocent people were shot en mass I was chased out of tree cover under
which I was sleeping by someone who yelled at me that they were going to kill
me because I was homeless. I know more people than were killed who died from
lack of resources and lack of help in the same town who were equally innocent.
I feel for the residents of Lewiston, Maine. I feel for the families and
friends of those who lost their lives and I am sad for those who died. But
rather than draw attention to the mental health crisis and resulting drug
crisis in Maine and helping those who are needy and suffering this slaughter
which is unprecedented in Maine history will likely be used to argue for
stricter gun laws in a refreshingly free state, and I find that really
unfortunate. However I will not ever return to Lewiston, Maine, ever, for any
reason. Once I'm established here I'm going to make a fake background and
forget I ever came from Maine. I want to never again be associated with the
place that bore me. I say this as a Mainer and as a Mainer this will be my last
thought.
I'm finding employment here, far away from Maine, and I have found a happiness
I have never known and didn't know existed. I am now of here and here is
beautiful.
2023-10-26
[1307] trinity: mountain far above
rising against the sun's fall
tell me where it's home
/blah/2023-10-25.html
Trinity: The [Pinephone] will turn on in your pocket and then die.
Mars: It's just like me, narcoleptic and suicidal.
2023-10-23 21:54:09 -06:00
/blah/2023-10-23.html
: i just want to play the cannibalism game
Here's the current plan
__ Linux (arm64) ______________________________________
| Chimera |
| __ X11 ____________________________________________ |
| | __ QEMU _______________________________________ | | ; # apk add qemu-\
| | | | | | ; system-arm
| | | __ Linux (armhf) __________________________ | | | ; $ git clone \
| | | | | | | | ; https://github.com\
| | | | | | | | ; /dhruvvyas90/qemu-\
| | | | | | | | ; rpi-kernel
| | | | Raspberry Pi OS | | | | ; $ curl -O http://\
| | | | | | | | ; downloads.\
| | | | | | | | ; raspberrypi.org/\
| | | | | | | | ; raspios_full_armhf\
| | | | | | | | ; /images/raspios_\
| | | | | | | | ; full_armhf-2021-11\
| | | | | | | | ; -08/2021-10-30-\
| | | | | | | | ; raspios-bullseye-\
| | | | | | | | ; armhf-full.zip
| | | | | | | | ; $ unzip 2021-10-30\
| | | | | | | | ; -raspios-bullseye-\
| | | | | | | | ; armhf-full.zip
| | | | __ X11 ________________________________ | | | |
| | | | | __ Box86 __________________________ | | | | |
| | | | | | __ WINE _______________________ | | | | | |
| | | | | | | | | | | | | |
| | | | | | | The Coffin of Andy and Leyley | | | | | | |
| | | | | | |_______________________________| | | | | | |
| | | | | |___________________________________| | | | | |
| | | | |_______________________________________| | | | |
| | | |___________________________________________| | | |
| | |_______________________________________________| | |
| |___________________________________________________| |
|_______________________________________________________|
Nevermind, I used [...]'s computer to boot Windows 10 and play it. It took me
two hours and I finished in one sitting. What an excellent game.
[ 8:59 PM] trinity: finished episodr 1
[ 9:00 PM] trinity: fuck. i should make andy my pfp
[ 9:00 PM] [...]: real
[ 9:00 PM] trinity: doing it
[ 9:00 PM] trinity: l8r
[ 9:00 PM] trinity: gotta play gamez
[ 9:00 PM] [...]: @[...] see u can match w/ trin now too
[ 9:04 PM] [...]: wyh
[ 9:04 PM] [...]: huh
[ 9:04 PM] [...]: hfbd
[ 9:04 PM] [...]: hsha
[10:16 PM] trinity: kin andy
[...]
[10:19 PM] trinity: god FUCK
[10:20 PM] trinity: how can there be such a perfect game
[10:20 PM] [...]: I KNOW
[10:20 PM] trinity: took me 2hrs to finish
[10:20 PM] [...]: it's so fucking good
[10:21 PM] [...]: can i be the third sibling
[10:21 PM] trinity: third?
[10:21 PM] trinity: kin andrew*
I cannot describe my thoughts on this game here where it will be associated
with my real identity.
2023-10-22 20:29:47 -06:00
/blah/2023-10-22.html
: more adventures trying to run a .exe file
So long as you can get QEMU.
qEMU?
qEmu?
QEMU according to its website.
I grabbed the RAR file of this Windows game and now I desperately want to run
it because it looks really cool. Now that I figured out unRARing it's time to
play it. However WINE (an API conversion layer from Win32 to Linux+other OSes)
won't work on the Raspberry Pi because this is an ARM processor which can't
execute x86 code, even if the API calls are translated. So I've decided this
game warrants mucking around in a lot of complicated compatibility shims.
The stack will look something like this:
__ Raspberry Pi 4B+ 8GB _______________________________
| |
| __ Linux __________________________________________ | ; I'm including the
| | | | ; kernel as its own
| | Chimera | | ; layer-maker
| | __ X11 server _________________________________ | | ; because QEMU will
| | | | | | ; be booting the
| | | WINE display<---------------------------------------. ; kernel image
| | | __ urxvt __________________________________ | | | | ; itself without a
| | | | | | | | | ; bootloader and
| | | | __ QEMU amd64 _________________________ | | | | | ; from the kernel
| | | | | | | | | | | ; init etc will be
| | | | | __ Linux __________________________ | | | | | | ; spawned. The
| | | | | | | | | | | | | ; Raspberry Pi also
| | | | | | Alpine | | | | | | | ; basically just
| | | | | | __ WINE _______________________ | | | | | | | ; boots the kernel
| | | | | | | ^-(X11 client)--------------------------' ; image sans loader
| | | | | | | | | | | | | | ; because U-Boot.
| | | | | | | The Coffin of Andy and Leyley | | | | | | | ; The details
| | | | | | | | | | | | | | ; mentioned are the
| | | | | | |_______________________________| | | | | | | ; ones I expect to
| | | | | | | | | | | | ; add non-trivial
| | | | | |___________________________________| | | | | | ; overhead to
| | | | | | | | | | ; processor load,
| | | | |_______________________________________| | | | | ; which might be a
| | | | | | | | ; problem in
| | | |___________________________________________| | | | ; practice.
| | | | | |
| | |_______________________________________________| | |
| | | |
| |___________________________________________________| |
| |
|_______________________________________________________|
This seems fine!
I had sex four times tonight and this is what I'm doing with the clarity.
So the first order of business is QEMU. This is packaged for Chimera in
multiple variants. I don't know what I'm doing so I looked it up and I think I
need qemu-system-* because I'm emulating the processor as well as the software.
# apk add qemu-system-x86_64
Now I need Alpine. I think it comes in really small images for containers.
$ curl -O https://dl-cdn.alpinelinux.org/alpine/v3.18/releases/x86_64/\
alpine-virt-3.18.4-x86_64.iso
Let's try booting.
$ qemu-system-x86_64 -cdrom alpine-virt-3.18.4-x86_64.iso
Error relocating /lib/libspice-server.so.1: __aarch64_ldadd4_acq_rel: symbol no
Error relocating /lib/libspice-server.so.1: __aarch64_ldset4_acq_rel: symbol no
Error relocating /lib/libspice-server.so.1: __aarch64_ldclr4_acq_rel: symbol no
Error relocating /lib/libspice-server.so.1: __aarch64_cas4_acq_rel: symbol not
Hm. Same thing as root. Maybe I need a kernel image outside of the ISO? Let me
try something:
$ curl -O https://dl-cdn.alpinelinux.org/alpine/v3.18/releases/x86_64/\
alpine-minirootfs-3.18.4-x86_64.tar.gz
$ tar tf alpine-minirootfs-3.18.4-x86_64.tar.gz | head
./
./sys/
./srv/
./run/
./root/
./opt/
./mnt/
./media/
./media/usb/
./media/floppy/
$ mkdir amd64
2023-10-22 20:32:16 -06:00
$ <alpine-minirootfs-3.18.4-x86_64.tar.gz gzip -cd | tar x -C amd64
2023-10-22 20:29:47 -06:00
$ man -k qemu
qemu(1) - QEMU User Documentation
qemu-img(1) - QEMU disk image utility
qemu-storage-daemon(1) - QEMU storage daemon
virtfs-proxy-helper(1) - QEMU 9p virtfs proxy filesystem helper
qemu-block-drivers(7) - QEMU block drivers reference
qemu-cpu-models(7) - QEMU CPU Models
qemu-ga-ref(7) - QEMU Guest Agent Protocol Reference Contents 0.0 • 2 QEMU Gu
qemu-qmp-ref(7) - QEMU QMP Reference Manual Contents 0.0 • 2 QEMU QMP Referen
qemu-storage-daemon-qmp-ref(7) - QEMU Storage Daemon QMP Reference Manual Con
qemu-ga(8) - QEMU Guest Agent
qemu-nbd(8) - QEMU Disk Network Block Device Server
$ man qemu # brb...
$ ls amd64 | grep linux
$ # fuck... I'm just gonna look up a tutorial
The good news is I don't think X forwarding will be necessary so that saves a
lot of trouble. The bad news is I don't know what I'm doing and am tired so
this will wait for tomorrow.
https://git.sr.ht/~sircmpwn/builds.sr.ht/tree/master/item/images/alpine/genimg
How does Drew do it?
It was at this point the file got corrupted so here's my reconstruction of this
section based on the nvim swapfile:
I return well rested, ten hours later.
# apk add qemu-img
[ 1:20 AM] trinity: trying to figure out qemu
[ 1:20 AM] trinity: not going well
[ 1:21 AM] trinity: trying again with the sun up
[ 1:21 AM] [...]: I remember I used that for the class where we
re-implemented a lobotomized risc-v operating system
[ 1:22 AM] trinity: i just wanna play this rpgmaker game
[ 1:24 AM] [...]: which one?
[ 1:29 AM] trinity: coffin of andy and leyley
[ 1:29 AM] trinity: i think i can figure this out tomorrow
[ 1:29 AM] trinity: \/when i wake up
[ 1:29 AM] [...]: why do you need qemu to run a rpgmaker game?
[ 1:30 AM] [...]: they run in wine
[ 1:30 AM] [...]: someone must have built some wrapper for them if
wine/proton does not work
[ 1:30 AM] [...]: you just need the fonts
[ 1:31 AM] [...]: also I remember running touhou mother in easyrpg on my
steam deck
[ 1:31 AM] trinity: not on arm64
[ 1:31 AM] [...]: oh i see
[ 1:32 AM] [...]: WHYYYYYYYY
[ 1:32 AM] [...]: WHY HAS THIS SPREAD SO FAR
[ 1:32 AM] [...]: is that the incest canibalism one?
[ 1:33 AM] [...]: no comment
[ 1:33 AM] [...]: :3
Drew bootstraps an extremely minimal Alpine x86_64 image with just enough
packages to self-host. However in the genimg script there is this one line:
30 dd if=/usr/share/syslinux/mbr.bin of=/dev/nbd0 bs=1 count=440
which relies on there being an existing SYSLINUX installation on the host. This
won't work on ARM64 for which there is no SYSLINUX and Chimera doesn't have a
GCC x86_64 cross compiler packaged and I don't wanna have to compile gcc for
this so I'm just gonna find a way that's different from Drew's way.
I'm gonna try using the standard ISO now because that should have a kernel and
means to boot on x86_64 already. I wonder if I can boot it as a live system and
no shit it has no X server. Maybe it wouldn't be too bad to install?
Fuck this shit. I'm just gonna figure out Box86.
Actually Box64 because I don't wanna figure out armhf stuff today.
; doas gmake
[ 1%] Building C object CMakeFiles/interpreter.dir/src/emu/x64run.c.o
/usr/local/src/box64/src/emu/x64run.c:1351:47: error: expected expression
emu->segs[_ES] = *(__uint16_t*)(((char*)ED)+4);
^
/usr/local/src/box64/src/emu/x64run.c:1351:36: error: use of undeclared identif
ier '__uint16_t'
emu->segs[_ES] = *(__uint16_t*)(((char*)ED)+4);
^
/usr/local/src/box64/src/emu/x64run.c:1364:47: error: expected expression
emu->segs[_DS] = *(__uint16_t*)(((char*)ED)+4);
^
/usr/local/src/box64/src/emu/x64run.c:1364:36: error: use of undeclared identif
ier '__uint16_t'
emu->segs[_DS] = *(__uint16_t*)(((char*)ED)+4);
^
4 errors generated.
gmake[2]: *** [CMakeFiles/interpreter.dir/build.make:76: CMakeFiles/interpreter
.dir/src/emu/x64run.c.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:113: CMakeFiles/interpreter.dir/all] Error
2
gmake: *** [Makefile:166: all] Error 2
it is all so tiresome. This also matters less because I'm gonna need Box86
anyway. Maybe I should make a QEMU virtual machine for Raspberry Pi OS, install
Box86 and Box86's packages on that, and then have it all nice and dandy?
# apk add qemu-system-arm
# apk del qemu-system-x86_64
End recovered segment.
I'm gonna use the armhf image because I don't think this EXE is 64-bit and
it'll cut out all of the compat stuff.
$ curl https://downloads.raspberrypi.com/raspios_armhf/images/\
raspios_armhf-2023-10-10/2023-10-10-raspios-bookworm-armhf.img.xz \
| xz -cd \
>2023-10-10-raspios-bookworm-armhf.img
1238MB... jeez... time to plug in the laptop fan
The tutorial I'm following provided a link to a GitHub repo with a Raspberry Pi
QEMU Linux kernel image which is awesome. Except there's no Linux 6.1 so I'm
gonna have to go a version behind. This is all to play one video game so we can
move fast and break things without risking all hell breaking loose.
$ rm 2023-10-10-raspios-bookworm-armhf.img
Except where are the old OS versions? I can't find them on the Raspberry Pi
website.
Found by looking up, good old no-TLS HTTP: http://downloads.raspberrypi.org/
The newest kernel provided by the GitHub repo is 5.10.63, which corresponds
according to the Raspberry Pi OS Full armhf release notes (raspios_full_armhf
/release_notes.txt) to the 2021-10-30 release. But that download isn't in this
HTTP source. I think 5.4.51, which is provided in the repo, will work with
2020-08-24, though that version isn't mentioned in the release notes, because
the release notes' mentioned 2020-08-20 does have that version. The issue is
the release notes' dates don't line up with the actual downloads provided.
Strange. Whatever. Let's just try this and hope it works.
Oh, what the fuck? The dates in the folders are different? fucking hell
look at this fucking URL:
http://downloads.raspberrypi.org/raspios_full_armhf/images/
2023-10-22 20:32:16 -06:00
raspios_full_armhf-2020-08-24/ <- 2020-08-24
2020-08-20-raspios-buster-armhf-full.info <- WTF?????
2023-10-22 20:29:47 -06:00
I'm so tired and just want to read about hot cartoon characters butchering
people. Kernel 5.10.63! 2021-10-30! Of course, in the 2021-11-08 folder! I
should have known!
$ curl -O http://downloads.raspberrypi.org/raspios_full_armhf/images/\
raspios_full_armhf-2021-11-08/2021-10-30-raspios-bullseye-armhf-full.zip
$ # .zip? are you kidding me? 3.0GB??? This is gonna be an hour download...
Fucking hell. See you tomorrow.
/blah/2023-10-21.html
: fuck unrar
I run Chimera Linux, an Alpine-based operating system still in its very early
stages but stable enough that I trust it for my meager, mostly console and X11
based workflow. It can run a C compiler, so good enough for me. The only issue
is, despite being based on Alpine, a popular operating system not for desktop
but for embedded environments like containers, for which a lot of software is
packaged and available in system repositories, Chimera does not have a lot of
packages. I'm going to package UNRAR, a non-free ("freeware") tool that has no
dependencies aside from the C++ standard library, to get a feel for Alpine
packaging.
UNRAR is an almost delightful little tool with the unfortunate, heinous problem
of being non-free, and its license forbidding the use of the provided source
code for reimplementation - otherwise I would just rewrite it in sane C89
without encumbrence. But we don't need to read the source code in order to
compile the C++.
The Alpine Wiki section on Creating an Alpine package says to apk add
alpine-sdk but Chimera has no such thing so hopefully that's fine. It says to
check out the aports tree but I don't want to put my packages upstream (dealing
with large software projects is tiresome and I know Chimera is in a constant
state of flux).
I did this:
# mkdir -p /var/cache/distfiles
# chmod a+w /var/cache/distfiles
I now need abuild-keygen according to the wiki but it isn't installed.
$ apk search abuild-keygen
pulled up nothing. Nor did a package contents search. Maybe it's fine? On a
whim I searched cbuild* in the contents search and found apk:base-cbuild-progs.
# apk add base-cbuild-progs
(1/1) Installing base-cbuild-progs (0.1-r2)
OK: 2083 MiB in 896 packages
On the Chimera Linux website I found the Chimera-specific packaging stuff.
There is a cports repository with Packaging.md but it's kind of long so I'll
use it as a reference while following the less complete Alpine guide. This is
the rat bastard approach to software but I am doing this for my own uses and
for pleasure and I don't wanna spend five hours contributing to this project
right now because I am tired.
I need newapkbuild but don't have it so I'll try to find the default template
on-line or go off an existing thingy.
I found contrib/jq/template.py so I'll copy that.
pkgname = "unrar"
What's the pkgver?
$ cd /usr/local/src/unrar
-sh: 5: cd: can't cd to /usr/local/src/unrar
$ cd /usr/local/src
$ ls
$
Connection to tebibyte.media closed.
; # oops
; cd /usr/local/src/unrar
; cat version.hpp
#define RARVER_MAJOR 6
#define RARVER_MINOR 24
#define RARVER_BETA 1
#define RARVER_DAY 17
#define RARVER_MONTH 9
#define RARVER_YEAR 2023
# apk del qemu-system-x86_64
2023-10-21 14:56:12 -06:00
/blah/2023-10-21.html
: fuck unrar
I run Chimera Linux, an Alpine-based operating system still in its very early
stages but stable enough that I trust it for my meager, mostly console and X11
based workflow. It can run a C compiler, so good enough for me. The only issue
is, despite being based on Alpine, a popular operating system not for desktop
but for embedded environments like containers, for which a lot of software is
packaged and available in system repositories, Chimera does not have a lot of
packages. I'm going to package UNRAR, a non-free ("freeware") tool that has no
dependencies aside from the C++ standard library, to get a feel for Alpine
packaging.
UNRAR is an almost delightful little tool with the unfortunate, heinous problem
of being non-free, and its license forbidding the use of the provided source
code for reimplementation - otherwise I would just rewrite it in sane C89
without encumbrence. But we don't need to read the source code in order to
compile the C++.
The Alpine Wiki section on Creating an Alpine package says to apk add
alpine-sdk but Chimera has no such thing so hopefully that's fine. It says to
check out the aports tree but I don't want to put my packages upstream (dealing
with large software projects is tiresome and I know Chimera is in a constant
state of flux).
I did this:
# mkdir -p /var/cache/distfiles
# chmod a+w /var/cache/distfiles
I now need abuild-keygen according to the wiki but it isn't installed.
$ apk search abuild-keygen
pulled up nothing. Nor did a package contents search. Maybe it's fine? On a
whim I searched cbuild* in the contents search and found apk:base-cbuild-progs.
# apk add base-cbuild-progs
(1/1) Installing base-cbuild-progs (0.1-r2)
OK: 2083 MiB in 896 packages
On the Chimera Linux website I found the Chimera-specific packaging stuff.
There is a cports repository with Packaging.md but it's kind of long so I'll
use it as a reference while following the less complete Alpine guide. This is
the rat bastard approach to software but I am doing this for my own uses and
for pleasure and I don't wanna spend five hours contributing to this project
right now because I am tired.
I need newapkbuild but don't have it so I'll try to find the default template
on-line or go off an existing thingy.
I found contrib/jq/template.py so I'll copy that.
pkgname = "unrar"
What's the pkgver?
$ cd /usr/local/src/unrar
-sh: 5: cd: can't cd to /usr/local/src/unrar
$ cd /usr/local/src
$ ls
$
Connection to tebibyte.media closed.
; # oops
; cd /usr/local/src/unrar
; cat version.hpp
#define RARVER_MAJOR 6
#define RARVER_MINOR 24
#define RARVER_BETA 1
#define RARVER_DAY 17
#define RARVER_MONTH 9
#define RARVER_YEAR 2023
I guess it doesn't matter because the download link says 6.12.2, so I'll just
put that. Maybe I have a different version. I don't care.
pkgver = "6.12.2" #
pkgrel = 0 # default
build_style = "makefile"
make_cmd = "gmake" # this probably doesn't matter, it worked with bmake too
make_dir = "."
hostmakedepends = [ "gmake" ]
pkgdesc = "Extracts from RAR archives"
2023-10-22 20:32:16 -06:00
maintainer = "trinity <trinity@trinity.moe>"
2023-10-21 14:56:12 -06:00
# license is tricky. how does alpine do it?
# checked. alpine does not do it, because unrar is non-free
What is this license, anyway?
; cat license.txt
****** ***** ****** UnRAR - free utility for RAR archives
** ** ** ** ** ** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
****** ******* ****** License for use and distribution of
** ** ** ** ** ** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
** ** ** ** ** ** FREE portable version
~~~~~~~~~~~~~~~~~~~~~
The source code of UnRAR utility is freeware. This means:
1. All copyrights to RAR and the utility UnRAR are exclusively
owned by the author - Alexander Roshal.
2. UnRAR source code may be used in any software to handle
RAR archives without limitations free of charge, but cannot be
used to develop RAR (WinRAR) compatible archiver and to
re-create RAR compression algorithm, which is proprietary.
Distribution of modified UnRAR source code in separate form
or as a part of other software is permitted, provided that
full text of this paragraph, starting from "UnRAR source code"
words, is included in license, or in documentation if license
is not available, and in source code comments of resulting package.
3. The UnRAR utility may be freely distributed. It is allowed
to distribute UnRAR inside of other software packages.
4. THE RAR ARCHIVER AND THE UnRAR UTILITY ARE DISTRIBUTED "AS IS".
NO WARRANTY OF ANY KIND IS EXPRESSED OR IMPLIED. YOU USE AT
YOUR OWN RISK. THE AUTHOR WILL NOT BE LIABLE FOR DATA LOSS,
DAMAGES, LOSS OF PROFITS OR ANY OTHER KIND OF LOSS WHILE USING
OR MISUSING THIS SOFTWARE.
5. Installing and using the UnRAR utility signifies acceptance of
these terms and conditions of the license.
6. If you don't agree with terms of the license you must remove
UnRAR files from your storage devices and cease to use the
utility.
Thank you for your interest in RAR and UnRAR.
Alexander L. Roshal
Line omitted before signature because of how this blah is formatted.
This is fucking bullshit. I'm already in violation of clause 6 because I wish
Alexandar L. Roshal to eat flaming death and be obliterated from this mortal
plane but I won't be fucking anyone over legally by copying the code.
2021-10-20
[ 9:52 PM] trinity: bsdtar WORKS ON FUCKING RAR FILES?????
[ 9:52 PM] trinity: 7z DID NOT DO THE JOB BUT bsdtar DID?
[ 9:58 PM] [...]: that's shocking actually wtf
[10:03 PM] trinity: bsdtar errors out too :(
[10:03 PM] trinity: no unrar package for chimera
[10:04 PM] trinity: not pkgsrcing it because 500 deps compiling on a raspberry
pi
[10:18 PM] trinity: figured out how to build unrar from source. NO DEPS!
[10:18 PM] trinity: for nonfree software it sure is easy build
[10:21 PM] [...]: why somebody would ever use a nonfree compressed archive
format is beyond me
[10:21 PM] [...]: .tar.gz is standard. .arc and .zpaq are fucking insane with
compression ratios.
2021-10-21
[12:12 AM] trinity: i really dont understand use of rar
[12:12 AM] trinity: as mainstream archives go 7z is a lot better
[12:13 AM] [...]: yeah
[12:13 AM] [...]: I see rar used a lot in piracy stuff and I'm not rlly sure
what that's about
[12:19 AM] [...]: wait i can use bsdtar for unrar
[12:19 AM] [...]: pog
[12:20 AM] trinity: unrar works better
[12:20 AM] [...]: i dont have any way to unrar things atm because i
uninstalled unrar for being nonfree
[12:20 AM] trinity: unrar for nonfree software is not very bad. i oughtta just
rewrite it in C
[12:20 AM] [...]: someone has done that
[12:21 AM] [...]: you could build on their work
[12:21 AM] trinity: wouldnt that be free software
[12:21 AM] trinity: fuck actually i dont like unrar's everything i should just
make my own unrar based on the nonfree code
[12:22 AM] trinity: license forbids this :(
[12:22 AM] [...]: violating proprietary licenses is based
[12:23 AM] [...]: unrar (super illegal edition!!)
[12:23 AM] [...]: it doesnt currently work afaik. it works for older rar files
[12:24 AM] trinity: is there much difference
[12:26 AM] trinity: REing rar seems to not be that useful because soon everyone
that uses it will be dead and everyone will be using
something open
[12:27 AM] [...]: idk
[12:27 AM] [...]: rarverse engineering
[12:28 AM] [...]: ill probably just write a wrapper for bsdtar that can be
called on rar files
2023-10-22 20:32:16 -06:00
[12:28 AM] [...]: rawrverse engineewing~ >.<
2023-10-21 14:56:12 -06:00
[12:29 AM] trinity: because unrar, while proprietary, can be compiled with any
C++ compiler and make tool and works with standard POSIX
APIs, i don't think the ability to decompress will be
threatened any time soon. best rebellion is just to decomp
and recomp rar files into better formats
[12:30 AM] trinity: did you know that rawr means i love you in dinosaur
AAAA I give up.
Chimera docs say very little about -doc packages, which should have the license
file for the current software if the license is custom, which UnRAR's is. So
license.txt should go in "$pkgdir"/usr/share/licenses/$pkgname/COPYING
Wait I get it. The cbuild will automagically add that license to the -doc
package for me. Nevermind. So I just have to
license = "custom"
def post_install(self):
self.install_license("license.txt")
url = "https://www.rarlab.com/rar_add.htm"
source = f"https://www.rarlab.com/rar/unrarsrc-{pkgver}.tar.gz"
Okay, this would probably work, but I don't care to actually button this up and
PR it so that's all it will be. Here's how it looks in my src/Makefile which
works better for my uses:
# depends on
# apk:g++
$(PREFIX)/bin/unrar:
git clone https://github.com/pmachapman/unrar.git "$(PREFIX)"/src/unrar
$(MAKE) -C "$(PREFIX)"/src/unrar
$(INSTALL) -Dm0755 "$(PREFIX)"/src/unrar/unrar "$(PREFIX)"/bin/unrar
To be honest, I copied the install(1) permission from somewhere else. Not sure
if 0755 is the best config. But I don't care because FUCK UNRAR!!!!
2023-10-14 14:43:48 -06:00
/blah/2023-10-14.html
: no filter
When I started at Burger King in 2020 I started at a location I would learn was
known for its bigotry, low food quality, and exceptionally shitty workforce.
Though most could be known for this, this Burger King in particular was quite
bad at all of those things and I would come to learn its employees gave zero
shits about even the barest of standards. I would see employees drop bottles of
sauce on the ground and pick them up without cleaning them or even changing
their gloves in the process, contaminating food with floor bacteria. Employees
dropping raw chicken using their gloves and no tongs and continuing to make
sandwiches with the same gloves used to touch raw chicken. Cross contamination
between all raw and cooked food and often between their phones, and the floor,
and the food. After the age of 17 I started eating at restaurants a lot less.
I applied to Burger King as a joke while on call with my Information Technology
class in school in 2020. School during 2020 was, due to the COVID-19 pandemic,
virtual and hosted on-line in Zoom meetings, so on one monitor (a 70Hz NEC
MultiSync) I had Zoom running and on another (a slightly newer, higher-
resolution Acer monitor) I had the Carrols application process. I needed money.
A job - a legitimate job, which I had never had before, nor one where the end
wasn't defined at the start - seemed like an easy solution. I set my
availability to 1700-2000 after school days so I could get 15 hours a week in
three hour spurts, not much but enough to wet my whistle and get a taste for
the work if I wished to continue.
They gave me a call that day maybe, or the day after. I sounded good on the
telephone so I was brought in for an interview. I arrived an hour early and sat
in a nearby parking lot playing Chocolate Doom on my netbook running Debian, I
think, and trying to page through Simulations and Simulacra though it took me a
month to get through the first paragraph because of how dense it is and the
confusing nature of the initial parenthetical statement. But the general
manager who interview me didn't know that, instead he saw a book with a
confusingly worded cover and a high school student who was also attending two
colleges (officially; taking classes at one and dually enrolled in the other)
and a technical school (for Information Technology) and who wanted to learn to
cook. After forty-five minutes of waiting I went into the building, told them I
had an interview, waited twenty minutes (five minutes past when the interview
was set), and interviewed for ten minutes where the manager clarified some
stuff on my application and hired me on the spot. I accepted.
The job was meant to be a temporary job, at least when I accepted. It was close
to Staples where I could apply my IT certifications once I finished them and
then mosey my way onto better jobs while going to college. Then while I was
working there the Staples went out of business and I watched one of my
classmates a year ahead of me quit the computer store nearby because the
management was abusive. So I would have no computer-related job.
My first day, Halloween 2020, a Saturday if I recall correctly, I was sat in
front of a computer after walking across town to the job (this was something
like a ninety minute walk because I was at the time very fat, very out of
shape, and very slow) and spent three hours first filling out my application
and then watching videos explaining the job.
When prompted for my gender I filled out "Prefer not to say" on the computer,
knowing I was a woman but could not safely come out especially in that school
with those parents and knowing those people. I later watched the same manager
get prompted by the computer to answer the question I didn't. He chose Male.
I memorized the cards hanging from the ceiling showing how to build the
sandwiches. The Whopper: mayo, lettuce, tomato, onion, ketchup, pickle. Wrong,
actually; mayo, lettuce, tomato, pickle, ketchup, onion. And later the meat
came before the mayo rather than before the pickle. But this explanation is
best for another time. Yesterday, my last day, a co-worker who was there my
first day that Halloween remembered me standing there trying to memorize the
cards. I was green and wet behind the ears and everything else that applies to
those who are new to what they are doing but think they will not only have fun
but quickly become very good at their job. I did neither.
My first day on the job I was placed in a little-used area of the kitchen and
trained with a classmate from the year behind me on making the Whopper. Grab a
five-inch sesame bun, toast it, take out a paper and place it on the board.
Place the bun, spread mayo on the top bun, add a dusting of lettuce, two
tomatoes, get the patty, four pickles, three rings of ketchup, and three rings
of onion. My turn. The mayo hard a hard time staying on the spatula and I had
to dip the spatula many times to finish spreading it on the bun. The lettuce I
couldn't figure out, I always did too much or too little. Tomatoes, fine, but I
went and grabbed one and placed it, grabbed the other and placed it. Meat,
fine. Pickles, I always grabbed too many or too few, and it took me a moment to
place them. Ketchup I used my forearm to move the bottle rather than the wrist
as I should have. Onions I couldn't grab correctly and it took me a moment to
spread them. My initial time spent making one Whopper was three or four
minutes.
I came in at probably 1500 or so and left at 1800. I can't say for sure but
that's what I would imagine because my first many shifts were three-hour stints
and this would be from a little after I got out of high school to when the
kitchen started to get busy. The person with which I trained left Burger King
maybe a couple months ago.
After proving my ineptitude when it came to the kitchen, but being too socially
awkward to interact with customers, I was put on videos again. The videos
explained simple things about sanitation that even at first were clearly not
accurate to what was happening in the kitchen. I naively assumed this
difference came from my coworkers not knowing the contents of the videos and so
started to mention these differences in hopes we could make food properly and
safely. After a little while these corrections started to be less and less well
received.
I don't remember much of Winter 2020 because I was busy with school, struggling
with my parents - about whom I write very little, because I try not to speak
ill of others - and trying to figure out how to get out of my current and
stifling situation.
My coworkers frequently used slurs of ableist, homophobic, and transphobic
natures. Among them r-----, f-----, and tr---- were common utterances and I
pretended they didn't affect me despite falling into the categories
particularly insulted by all three profanities. It was the heyday of anti-
Capitalist Twitter and the same time period in which I started engaging with
higher level philosophical thingies like gender accelerationism, anarchism,
juche. The time period where I discovered nuances even in things where I didn't
expect them like the DPRK's place within the world. I knew what the "triggered
Liberal" acted like and I knew what the stereotypical tr---- looked like. My
gender identity was expressed only in private among friends with the exception
of losing a bet I knew I couldn't win and wearing a dress in class. However I
was too fat for it and ended up getting stuck in the dress. I've lost 55 pounds
in the years since.
2023-10-14 15:36:04 -06:00
Things came to a head when, one day when I mentioned to a co-worker that they
should use tongs rather than their gloved hands to scoop chicken nuggets into a
bag for a customer, that co-worker started to rant about how slow I was in the
kitchen and how customers didn't need their food made well, they needed it made
fast. I responded with my own soapboxing saying that while my food was made
slowly I was one of few that could actually meet basic standards and that a
sandwich made missing a tomato or pickle or with the wrong amount of ketchup,
or a chicken nugget bag missing a chicken nugget or a fry pod filled with too
few fries couldn't justify even the minimum wait for the food and that making a
customer come back to get correctly made food would take even longer than my
making the food slowly but correct the first time. The assistant manager agreed
with me but admitted that management had been discussing ways to get rid of me
because I took too long in the kitchen and was too adamant about things not
being picked up off the ground and tongs being used.
When, a week later, I mentioned I was thinking about trying another store, they
sent me to the other Burger King location in the town for a 9.5 hour shift, the
longest shift I had worked at that time. When I said I liked it they sent me
for a second shift. That manager said it was great to have me there as one of
their own, and I said that would be cool, wouldn't it, and he looked confused
and asked me if I knew I had been transferred permanently.
2023-10-14 14:43:48 -06:00
2023-10-13
[ 4:36 PM] trinity: this burger king is so funny. it's amazing it functions
[ 4:38 PM] trinity:
ricky: "i say what i want, i have no filter. i dont
care who i offend"
trin: "wow ricky you're so cool for having no self
control"
ricky: "okay, this shit is seriously starting to piss
me off."
**WALKS OUT OUT OF ANGER AT MY JOKE**
[ 4:38 PM] trinity: the assistant manager said holy shit did that really just
happen and this morning told the gm and the gm thought it
was funny as fuck
[ 4:39 PM] [...]: lmfaoo
[ 4:39 PM] [...]: ricky sounds like such a guy
[...]
2023-10-14 15:36:04 -06:00
[10:18 PM] [...]: he got offended
2023-10-14 14:43:48 -06:00
2023-10-08 11:17:59 -06:00
/blah/2023-10-08.html
An angel commits to sin...
I'm hallucinating, just a little. I think it's exhaustion. Everything is just a
little unreal.
Yesterday I had a cigarette. The day before I did too. That's four since
starting to quit.
Today I read Blood Stained Teeth #2-5 (2022). I've recently read The Vampyr
(1816), Tales to Astonish #1-2 (1958), #3-9 (1959), #10-17 (1960), #18-29
(1961), #30-41 (1962), Fantastic Four #1-3 (1961), #4-5 (1962), The Incredible
Hulk #1-4 (1962), V for Vendetta #1-6 (1988), #07-10 (1989), and the entirety
of Death Note. Oh, also Injection #1-5 (2015), #06-10 (2016), #10-15 (2017), No
Longer Human (2019), and some other stuff. Reading Alias Grace (1996) and quite
enjoying it.
I've been reading a lot lately. I have a lust for passive but self-paced
entertainment and adult-oriented comic books have been hitting the point
between candy for eyes and food for thought. Particularly V for Vendetta, which
has excellent and distinct artwork, and Blood Stained Teeth which is a visual
fever dream very different from but reminiscent of Panty and Stocking with
Garterbelt, an animation from Gainax. Art overflowing with passion.
I think Anarchism most closely resembles my political beliefs but I'm not sure.
I don't particularly care about labels but as a word-as-summary they are
useful. When someone falls in the mosh pit you help them up, there's no more to
it.
[...] has been discussing Zen Buddhism in [...] and it's fascinating, and not
quite what I had thought it was from pop culture education.
I've been learning Toki Pona passively and it is a very fun language.
I have my Raspberry Pi set up perfectly. Absolutely perfectly. This is my ideal
setup for a computer. It's such a shame that this is a temporary setup; it will
be replaced by my ClockworkPi uConsole when it comes ("this" being a CrowPi2
with the disadantage of not having a battery and thus being tethered either to
the wall (via AC adapter) or my power pack (via DC 5525 or whatever it is)
which can't injest power while delivering voltage out of the barrel jack
("power pack" being the Shargeek Storm2 or whatever it's called now).
I discovered strerror(3) recently and my life has become a lot easier.
Fight or flight? I flap my angel wings and am spirited away.
I talked to Usagi for the first time in a while. I was so weird to her. So
weird. And she is still my friend. I was so weird and she has no problem with
it whatsoever. Acceptance is so rare.
Yesterday I wanted to die. Today I am ready to accept death should it happen to
me, but I will do what I can to prevent it. I don't think I'll ever fear death
but I don't long for it when I'm doing decently. Yesterday I was not doing
decently. I have been cold and nervous for a long while now and have not known
genuine safety since August. My body is in fight or flight mode and has been
for a while. I am less a rabbit and more a hare.
I've been using Chimera Linux and absolutely love it.
2023-10-04 22:35:54 -06:00
/blah/2023-10-05.html
Today taking my bag of trash out I noticed my old kitchen manager, one of those
partly to blame for my training, doing the same with the restaurant's trash. He
asked me if I'd heard from my sidekick using a name that while attributable to
her was not her herself - too formal and she would say in more words
incongruous [is that a word?] to her being. This was my first red flag of the
day but the person himself is a walking one his own, a Lady Gaga song glorifier
and notorious gossip not to mention lacking in empathy or humbleness, afflicted
even worse by the latter two than myself.
I cannot think of him without thinking of my training in 2021 when I was
seventeen and he in twenties and I pulled a trash can from one inaccessible
location to a better one and I by himself was pulled aside and told unkindly
not to meddle with any sort of kitchen organization whatsoever, because he was
running the kitchen and his food making ship needed to be tight and
disciplined. Perhaps this was true, but whatever discipline he taught was yet
unaware of the basics of food safety as he gripped the trash bag liner to bring
the can back and forth on wheels from under the preparation table where he kept
it, contaminating the gloves with which he would make food with the retch
byproducts from the junk we organized.
The same supposed manager, at that time technically the same role as my own
though given authority by that which did have it to give, that would tell me I
was a fool for going from chicken to beef - both cooked - without changing my
gloves and washing my hands, would go from raw meat to cooked comfortably with
contaminated tongs sitting in the no doubt E. Coli plentiful meat well
protecting food from bacteria, and do the same when tending to chicken between
frozen bird and fried. This is extremely common in food preparation and I
encourage any reader not to consume that which you did not produce or at least
prepare. I've never seen the use of preventing food from touching food when
both are flesh and both thoroughly dead and thoroughly cooked, nor have I ever
seen the sense in crossing the dead and preserved with the dead whose food
safety is preserved. Nor have I ever seen how his taking me out of line and
chewing me out for moving a trash can was justified when I was trying to
guarantee the food safety that was not my responsibility but his.
TRINITY: She's not doing well- I thought it was kind of obvious. You
should talk to her yourself.
[...]: You and she both have this thing where you're rude- whatever, I
guess I'll just go fuck myself.
TRINITY: Enjoy fucking yourself then.
And then I left on my scooter and heard him say something behind me. My
assumption though not charitable is he made a remark either about my being
transgender or being homeless, both things that while he may accept he is glad
certainly to not experience. But I can't say for sure. And I could say while I
may not have a ceiling or roof, at least I have my heart.
2023-10-04 21:29:34 -06:00
/blah/2023-10-04.html
2023-09-28 I woke up a little after midnight at my workplace to my coworkers
finishing close. I put my backpack on and scooted out and down the hill to find
the old lookout point one of my former roommates had mentioned once.
The path was blocked by three boulders placed so as to prevent automobile
through-traffic. I walked by them and up the hill through the path. The
streetlight faded behind me and soon I was alone among the dark silence save
for the chatter of the crickets and varied twig-snapping of unseen nocturnal
creatures, the friends of Nowhere, Maine.
I came to a pile of strewn trash among, if it had been warmer, which would have
been flies I suppose and bits of nastiness that are begotten by nastiness.
Hoping this was the only bit decrepid in this desolation I walked further. It
was cold and I was tired so when I saw the needles and blood I made no reaction
even after my slow realization of what had happened there.
It was not a place of honor, there was nothing to be had or found there, and
had I known better I would have fled immediately to avoid the fate that had
befallen what was left of whomever that had found ruin among the brush and
uncaring wilderness. This was the fate of the addict when they find an
apathetic owner of a chainsaw and these were the pieces that, should I chose to
indulge in mainlined drugs, will compose myself as well. Dogs or cats or foxes
or wolves had got to what was left but what had happened was apparent. The baby
stroller and diapers and formula pouches told the rest of the story. I stood
for a while comprehending this mess, processing without being able to process.
Nor it being safe to do so.
My grandmother has no sympathy for addicts though even she wishes they'd get
better and supports the free dispersal of naloxone for those that need it. She
doesn't see why an addict should redose rather than purchase warmth or water,
not to mention inhabit a crack shack rather than find work and hearth and life.
She's smart. She's never looked down drunkenly at an empty bottle or
experienced lethargic purple haze and stupefied daze that accompanies the
shortening of a rolled joint. She's never craved a cigarette like I have. She
couldn't imagine it. She couldn't imagine my knowing the feeling. She can't
answer my questions for her - how sober lukewarm shelter could compare to pure
happiness coursing through a vein, or how hydration could compare to not
needing to care about any need, physical or emotional. Perhaps money can't buy
one love, but there are things a person enjoys more. At least at first.
I've been through the downward spiral slipping from shelter to smaller shelter
like a sieve, looking only for acceptance and a place to sleep and finding
scarce the former and only more expensive the latter while my pay doesn't
increase nearly as quickly as the cost to live. One shot would kill me years
later after hundreds more, perhaps not as directly the first as the last, but
the first would be my death all the same. I know this. The sound ice makes when
it hits water and feels the sharp difference in temperature accompanied by the
whoosh of butane and naked laugh of the crazed fiend hungry for more pleasure,
more solace, a hoard of catharsis never to be experienced, only kept like a rat
keeps food for winter, and the drawing in of the needle and the flick and snap
of the glass and rubber band and push of it in and the mind out and let the
reason bleed out of you in transparent drool and snot and let the eyes droop
and heart swell with unearned passion. As much as it would be my comfort then
it is my recurring nightmare now. And it's not inevitable, because I will make
it out of this hell before it chains me and loses the key.
Hyperlinks relating to moulage
https://www.atlasobscura.com/places/narrenturm
https://en.wikipedia.org/wiki/Moulage
https://www.unmc.edu/newsroom/2014/01/07/unmc-history-101-medicine-in-wax/
https://blog.unmc.edu/2013/09/04
/dan-brick-lays-the-foundation-for-realistic-simulation/
https://upload.wikimedia.org/wikipedia/commons/b/bd
/The_Dead_Pearl_Diver_by_Benjamin_Paul_Akers_2.jpg
https://www.aoc.gov/explore-capitol-campus/art/ulysses-s-grant-statue
Hyperlinks relating to CrowPi2 programming
https://github.com/WiringPi/WiringPi
http://wiringpi.com/examples/blink/
https://github.com/Elecrow-RD/CrowPi2/tree/main/known_issues
https://github.com/Elecrow-RD/CrowPi/blob/master/Examples/segment.py
https://www.adafruit.com/product/877#description
https://github.com/adafruit/Adafruit_LED_Backpack
https://cdn-shop.adafruit.com/datasheets/ht16K33v110.pdf
http://wiringpi.com/reference/i2c-library/
[Xlib](https://www.x.org/releases/X11R7.7/doc/libX11/libX11/libX11.html)
/blah/2023-10-03.html
everything sucks so fucking hard
So. Roommates got evicted. Seeing the writing on the wall I packed my shit up
and left. Now that my repack's done I am now comfortably contained in a
backpack with strapped on sleeping bag and scooter on my shoulder. Where to go
next, though, was complicated.
2023-09-26 I got out of work and went back to my roommates. They were squatting
and for lack of space elsewhere I slept in the kitchen in my clothes and jacket
next to the litter box. The cats kept staring at me. It smelled like shit and
piss and the cats would paw at the litter to toss it on me. I got an hour of
sleep and went to work early.
2023-09-27 I got out of work and scooted up the street to a Dollar Tree around
which I scooted and found a nice clear area behind a railing next to a parking
lot. At work I had debated leaving the scooter. It's weight and something else
to carry. Eventually I just brought it though and it lay next to me in the
brush.
I laid out my sleeping bag, opened a book on my tablet, and silently and
comfortably if a little bit chilly read Hulk comics until I heard a distant
yell.
You mother fuck!
I looked up but I couldn't see the source.
Get out of here!
Perhaps it was voices. Perhaps it was a trick of the air. I laid back down. I
was wearing all black and my bivy was green against the olive brush. They
couldn't see me.
I see you out there! If you're still there I'm going to fucking kill you!
Night had by this time fallen. I sat up and got out my telescope.
At work I had also considered leaving it behind.
Two camoflouged cameras against the walls and two doors. The second one opened
and then closed. I was visible and I had probably been made. I began to pack my
stuff, quickly. Then the SUV arrived. Black, big, and it circled the parking
lot like a cat about to pounce on me. It's at this point I strap my sleeping
bag on halfway and with a glance at my former spot I got on my scooter and
sped. It started following me.
I scooted for a cliff, jumped off my scooter and jumped down onto the wet grass
sliding to a stop. I took the time to strap the rest of my sleeping bag on and
then from that ledge jumped down and scooted down a side street. Left. Right.
Left. Right. Left onto Lisbon St and eventually I was back at work.
[10:46 PM] trinity: outran an suv on a kick scooter
[10:46 PM] trinity: i am so swag
[11:03 PM] [..1]: i read that in your voice and it made me smile
[11:05 PM] [..2]: gayass
I was huffing and puffing and tuned my UV-5R to the county dispatch but there
was nothing, city dispatch is encrypted and I don't wanna bother figuring it
out so I assume whoever was after me was not police.
2023-03-06
post meta coital meta cigarette
pixelated bodies having meta sex
meta kids meta hacking both our meta eyes
peeping meta Toms in the same meta lie
/blah/2023-09-26.html
01 "It's pretty nice." Nice didn't begin to cut it. In fact, it was the
most beautiful wax sculpture I had ever seen. It depicted a life-sized nude
woman with intricate detail: hair so fine you could trace individual strands
down to their split ends, make out the scoring of her flesh and the lines in
her palms - including wrinkling that on the animate would indicate lack of
moisture. "Why the injury?"
3: Is your dog nice?
?: All dogs are nice.
3: Like. Can I pet your dog?
?: That's up to the dog.
2023-09-25 06:11:52 -06:00
/blah/2023-09-25.html
horizontal six letters; poly pollinators
that's a bee threesome. right!
shit you sunk my battleship
red peg in hole strike
vertical nine letters; alley alligators
that's a crocodile dealer. nice,
i want a pet reptile
but the vet bills are so high
i keep pissing washing my hands stepping out
my fly is down
i can't finish jack shit
and it's written on my frown
can you bind my knees together and sit me at my writers chair
and bring me coffee daily
and can you pet my floofy hair? no!
well i can't write about that
in a magazine like this
you're describing graphic violence
I write a nature column for the kids
you're reprehensibe
defending serial killers who pass laws
it's upsetting to my senses
from my cat ears to my paws
pin me by my bee wings 'cause the hive is dying out
repopulate our hexing nest babe breed me til the sun is down
no really! i'm so fucking weak i don't work out and i'm so pettable
tie me up take out a knife and then do something reprehensible
2023-09-23 21:25:03 -06:00
/blah/2023-09-23.html
My paycheck was $548.
no tape assembly
easy carry handles with lift off lid
strong, double wall construction
reusable
no tape
we're sticky ourselves
while our words bounce off your skin
they reflect and cut into our shells
so many razor blades in my back
i look like i lost a saw trap
easy carry so easy to get carried away
last time i was told to make them get the message
they almost got carried away on a stretcher
bury a stray
bullet in your heart and lift off the lid
see the lead beat with your organs
warm metal surgery
the wall is textured like the painter didn't care
because he didn't
your wallet's empty like your broke ass didn't work
because you didn't
bitch keep walking
bitch keep walking
butterfly knife in my right hip pocket
button quietly pops a scooter handle off it
and i have an EMP just in case shit gets rough
you never know what could happen getting groceries
times is tough
bitch keep walking
AC hum
a hostess apple pie gets eaten in a rush
"become ungovernable" bitch that's us
sisyphus in zeno's paradox only rolls up
twenty million sisyphuses surrounding the top
any rookie with a boulder is a threat
sell space at the zenith make amateurs pay rent
get defenestrated by straight finesse
another has been for the history texts
and yet
the only ones with the truth
are the ones who can't use it
or the ones who are useless
or the ones who have interests so vested
they can't wrestle their mind away. they lose it
to multibillion dollar trademarked facelessness
empathy's a weapon and capital can't stop testing it
and your heaven sent neolib is already in the dem trenches
"thank bernie for giving the overton window to leftists"
puppet parrot puppy left it for lobby dollar moral debting
netorare
i've been having car troubles bang bang
from the engine keeps me up bang bang
in the streets keeps me up bang bang
when i find my crew slacking bang bang
knock at the door, classy bang bang
bitch too loud, so i slap him bang bang
in the head disrespecting me bang bang
in the head dissecting me bang bang
in the head expecting me bang bang
in a bitch's head for testing me bang bang
and i'm home and in bed and free bang bang
the metal arm strikes the bell bang bang
shoes hit doorstep on the way out bang bang
get in and start the car bang bang
/blah/2023-09-19.html
I'm tired and I'm not recovering from things from which I should be recovering.
Everything hurts and the bruises are only ever replaced with new wounds. The
bruises aren't even from anything cool like [...] with [...] or [...].
I need headpats.
The Ballad of Sean and Josh
Sean is forty-eight
and Josh was twenty that
when Sean took Josh away
from the closet in the flat
where Josh had made his home
with a dealer selling crack
Sean lived with his ma
and Josh would live alone
in Sean's house room he'd lay
until fin'ly to Sean he said hello
they learned about each one's
/blah/2023-09-18.html
WITH THIS TECHNOLOGY
[kim jong un holding a floppy disk]
WE WILL BRING THE UNITED
STATES TO ITS KNEES
The first time I saw this image macro was in 2012 and I thought it was so funny
I laughed about it for a week.
Today [...] posted horg.com in [...].
The DPRK is kinda swag.
Once I transcribe all my GitHub repos to either this blah or src I can delete
them and finally have nothing on GitHub. I'm still keeping my account to track
contributions to GitHub repositories but I'm no longer using GitHub for even
things that aren't meaningful. I'm not super up to date on everything with it
but I don't like that CoPilot could be trained on my code and I don't like that
it looks like social media when I log in nowadays. Gotta remove all my stars...
2018-05-20
# GUESSNEXT
A guessing game for the TI-83/84(+).
## Installation
### Required software:
- [TI-Connect](https://education.ti.com/en/products/computer-software
/ti-connect-sw "ti.com")
- [TokensIDE](https://www.ticalc.org/archives/files/fileinfo/433/43315.html
"ticalc.org")
### Installing from the source code:
01. Download GUESSNXT.txt.
02. Install TokensIDE.
03. Open GUESSNXT.txt in TokensIDE.
04. Delete the documentation (lines preceded by a "//").
05. Remove any empty lines.
06. Compile the program by pressing F5 or going into the BUILD MENU and
selecting 8X>8XP.
08. Install TI-Connect.
09. Plug in your calculator.
10. Open TI-Connect.
11. Open your file explorer and navigate to the directory with GUESSNXT.8XP in
it.
12. Copy GUESSNXT to your calculator.
13. Wait for the copy process to finish and wait an additional ten seconds for
TI-Connect to finish calibration.
14. Unplug your calculator.
15. Enjoy your game!
## Compatibility
TI-83 - Unsupported
TI-83+ - Should work; untested
TI-84+ - Tested working
TI-84+ SE - Should work; untested
2018-05-20
40 - Disp "OUT OF GUESSES.
40 + Disp "OUT OF GUESSES.","IT WAS:",B
2018-05-22
16 16 //Main loop
17 17 Lbl B
18 18 Disp D," TO",E,"","YOUR GUESS?
19 - Input "> ",C
19 + Input "> ",Str0
20 + If Str0="B
21 + Then
22 + Disp "CHEATER!!!
23 + Return
24 + End
25 + expr(Str0)->C
26 + Delvar Str0
20 27 A-1->A
21 28 If C=B
22 29 Disp "CORRECT","
2018-05-30
6 6 ### Required software:
7 7 - [TI-Connect](https://education.ti.com/en/products/computer-software
/ti-connect-sw "ti.com")
8 - - [TokensIDE](https://www.ticalc.org/archives/files/fileinfo/433/
43315.html "ticalc.org")
8 + - [TokensIDE](https://www.ticalc.org/archives/files/fileinfo/433/
43315.html "ticalc.org") (if installing from the source code)
9 9
10 10 ### Installing from the source code:
11 11 01. Download GUESSNXT.txt.
[...]
22 22 13. Wait for the copy process to finish and wait an additional ten
seconds for TI-Connect to finish calibration.
23 23 14. Unplug your calculator.
24 24 15. Enjoy your game!
25 +
26 + ### Installing a release:
27 + 01. Go to the releases page and grab GUESSNXT.8xp.
28 + 03. Install TI-Connect.
29 + 04. Plug in your calculator.
30 + 05. Open TI-Connect.
31 + 06. Open your file explorer and navigate to the directory with GUESSNXT
in it.
32 + 07. Copy GUESSNXT to your calculator.
33 + 08. Wait for the copy process to finish and wait an additional ten
seconds for TI-Connect to finish calibration.
34 + 09. Unplug your calculator.
35 + 10. Enjoy your game!
26 - Delvar Str0
26 + DelVar Str0
2023-09-17 22:53:58 -06:00
/blah/2023-09-17.html
[10:33PM] trinity: i like puzzling out timeframes. the more the past makes
sense the more the present does
I'm twenty years old. Two decades old. No longer teenage by any stretch of the
word.
Dear future self -
you better be kicking as much fucking ass as I have kicked and am
presently kicking. We have a reputation to keep.
I was hoping to have a book published by the time I turned 20. I think I tossed
the manuscript. The plot was meandering and while it was serviceable I think
I'm just gonna write something else.
My paycheck last Friday was $555.28.
I read Tank Girl and liked it. Tank Girl 2 I liked less but liked a whole lot
more high than sober. Chronologically the next one is the movie novelization
but it's a little harder to find for download and my texts SD card shattered
due to high stress (I get it).
We arrived at the Orlando Greyhound station, kissed, and I went inside to
double check whether my bus was there yet. They had a different time listed for
my bus than what I had on my ticket so I went to the information desk for help.
They said I needed to jet over to the address on my ticket, which, rather than
the place at which I had been dropped off, that place, which I had foolishly
assumed was the same place I should depart, was a small bus tours business in
an Asian marketplace. So we went over there.
The car ride took a bit and it was stressed about me missing my bus. I was
stressed too but pretended not to be. I asked if I could get my ticket
rescheduled and the clerk told me in broken English I should catch the bus at
the station we had just left. I said it would be impossible to catch the bus
because it had left by the time we got to Atlanta Bus Tours and the clerk said
that was a real shame because I couldn't reschedule my ticket or get a refund,
but that I should check the Greyhound website. The website was barren except a
cancellation page that errored on my ticket number.
However before determining I was stranded in Orlando Florida I, heroically,
told my girlfriend it could drop me off and I would Figure It Out. I am averse
to asking for help, severely and perhaps it is terminal without intervention.
But then I would have to bother someone to intervene. I slept that night under
a palm tree across from an abandoned Magic Outlet Mall. I thought this was a
franchise but looking it up it is in fact the one and only Magic Outlet Mall.
The reviews are good.
The original plan for Orlando was to spend my time browsing the city and visit
a friend in the area (now girlfriend) and the plan slowly morphed into spending
most of the week in a bed and being really well rested. It felt really good to
be well rested, actually. My head was clear. The plan was originally to sleep
in forgotten areas of Orlando but I couldn't have imagined how sparse the city
is. Cities should be dense, naturally developed, zoned curiously and built
vertically where space was no longer available otherwise. Orlando is the
opposite. My time in Florida was the best week of my life despite all of this.
Easily.
Spotify Playlist: florida
Billy Knows Jamie 100 gecs
Kiss My Own Dick David Shawty, Yungster Jack
dui estelle allen
CREEP U Black Dresses
Tell Me Your Secret death's dynamic shroud
うずまき Machine Girl
I Slept With Someone in Fall Fall Out Boy
Out Boy And All I Got Was This
Stupid Song Written About Me
Somebody's Watching Me Rockwell
Revenge Captainsparklez, Tryhardninja
N95 Kendrick Lamar
Nightcall Kavinsky
Cops and robbers underscores
Loansharks underscores
Old money bitch underscores
2023-08-28
[ 8:53 AM] trinity: fuck plato
[ 8:53 AM] trinity: plato would fuck a mcchicken and say hey guys look i had sex
[ 8:55 AM] trinity: stupid motherfucker
2023-08-29
[12:33 AM] [...]: wgat
[12:33 AM] [...]: what
[12:33 AM] [...]: real
[ 9:05 PM] trinity: full moon. spooky
[ 9:05 PM] trinity: why was i so angry at plato
[ 9:05 PM] trinity: i think i wrote that at a wendys
[ 9:05 PM] trinity: wendys seasoned potatoes sorta fuck
[ 9:19 PM] [...]: cause plato sux
2018-05-20
Disp "GUESSNEXT","CODED BY","DEVEN BLAKE 2018
Pause
ClrHome
2023-09-17 22:58:02 -06:00
5->A
2023-09-17 22:53:58 -06:00
//Prepper
Lbl A
2023-09-17 22:58:02 -06:00
5+A->A
2023-09-17 22:53:58 -06:00
Disp "GUESSES:",A
Pause
2023-09-17 22:58:02 -06:00
randInt(1,100)->B
1->D
100->E
2023-09-17 22:53:58 -06:00
ClrHome
//Main loop
Lbl B
Disp D," TO",E,"","YOUR GUESS?
2023-09-17 22:58:02 -06:00
Input "> ",C
A-1->A
2023-09-17 22:53:58 -06:00
If C=B
Disp "CORRECT","
//Seperate IFs so as to avoid memory leakage
If C=B
Goto A
2023-09-17 22:58:02 -06:00
If C<B
2023-09-17 22:53:58 -06:00
Then
Disp "TOO LOW
2023-09-17 22:58:02 -06:00
If C>D
C->D
2023-09-17 22:53:58 -06:00
End
2023-09-17 22:58:02 -06:00
If C>B
2023-09-17 22:53:58 -06:00
Then
Disp "TOO HIGH
2023-09-17 22:58:02 -06:00
If C<E
C->E
2023-09-17 22:53:58 -06:00
End
2023-09-17 22:58:02 -06:00
If A<1
2023-09-17 22:53:58 -06:00
Then
Disp "OUT OF GUESSES.
Return
End
Goto B
2023-09-16 21:03:29 -06:00
/blah/2023-09-16.html
The pages got disorganized in my backpack, so here they are as I dig them out.
The View from Halfway Down is definitely from before any of the other pages, I
decided to change the name after the person for which I went to Florida noted
it was the name of a Bojack Horseman episode.
---
Homelessness is a crime few want to commit. Dear vagabonds and ruffians, the
former being my category, do, though I thought carefully before deciding. Most
don't. Human beings need creature comforts, consistency, safety. Maybe I'm not
a __real__ vagabond. I'd like housing. I just can't fathom honest safety;
acceptance.
Salsa shark.
I'm not a real programmer, not a real writer, not a real vagabond, not a real
human, not a real woman, barely a cook - a bad one, and a burden on my loved
ones. The voices in my head disagree. When did I become the negative one?
I imagine if I don't catch a bus in 7 hours I will be swept into the ocean. I
understand - no, kin - Dostoevsky.
I will start asking others to help me. I sort of wish my ancestors stayed in
Finland. But I wouldn't have met [...], [...], [...]...
Draft kinlist
- Patrick Bateman
- Ryan Gosling
- ANARCHY Stocking
- IBUKI Maya
- AMANE Misa
- My friend Lily from Maine
- Saul Goodman
- Mike from Breaking Bad
- Mr. Triangle from Gravity Falls
- Charlie Chaplin
- Dostoevsky
- Franz Kafka
- Abandoned Magic Outlet
- Randall from Clerks
- Rorshach
---
Rules for the road: charging
Charge your biggest battery first. Use it last. Batteries before devices.
If near a power source, use it. 1% is a text message.
Charge as much as possible; if there are as many power sources as you have
devices, all your devices should be charging.
Use 1 device at a time, if necessary, if you can help it.
Internet takes battery. Cell networks take more.
2117: Departing Jacksonville
---
THE VIEW FROM HALFWAY DOWN (pg. 1)
My job is to separate the bones. I stand at South Station in front of a
conveyer belt - my conveyer belt, just for me - and dip my hands through the
skim and pick the bones out of the line. The bones go to the vat to my right,
to level twenty-something, where the marrow is extracted and they make the
jelly. The meat, the fat, and most importantly, the blood, go further down the
line and to level 31 which I can see below me. Level 31 is where the content is
homogenized.
I saw and talked to someone when I was in training. I don't remember its name.
It handed me my scalpel and taught me where to cut. The torso is handled by
those before me, whose work I admire. I admired the eyes to whose nose I
talked. The stainless steel. Smell of warmth. Blood from limb.
Those before me cut a Y into the chest and take the organs. My turn is already
hollowed so I use my scalpel to - efficiently - extract the bones from the
forearm, the upper arm, calves, thighs. Cut dip pull move. Cut dip pull move.
I can tell when a new hire takes over. The cuts aren't as neat, more is taken
with the organs than necessary.
It's so loud. Something always needs chopping, grinding. I hear dremels above
me sawing through bone. Everything is red.
I separate the bones because I was told to do so, and separating the bones is
how I am let live, let breathe, let sip, let eat the meat. My first day is my
breath, my second water, my third my apartment, my fourth this. This meat.
It is ground and turned to food. People beget people beget me. Simply. I
remember it that begot me. My handcuffs were unlocked in front of a
blue-painted skyscraper, my home.
---
Today I woke up next to [...]
and the [...]
oh, to think, since it's been 48 hours
today's four days long shoulda already been home
I can't remember yesterday, it's sure been a while
Since I asked did we - did you - while reaching for my phone
[...]
it's been two days since yesterday and I still haven't seen [...]
I missed my bus, shit, went to the wrong station
the agent told me there wasn't any way to change it
$250 down the drawin and I slept under a palm tree
a friend booked the next ticket, owed me, now I'll pay the difference
---
machine
and no there won't
be a sequel
---
[grossly inaccurate drawing of the fifty United States
---
THE VIEW FROM HALFWAY DOWN (pg. 2)
From the top of the skyscraper I heard the bellows of the heavens. The distance
made the roar fade and twist into a melodious drone that seemed to be the tone
of the local crimson soil and the resonance of being. I clutched the railing of
the lift upwards, 33 stories minus none, that carried me into the low ashen
clouds. The noise crescendoed.
It was halfway up that lift, 16 stories or so, that I met my predecessor. We
made eye contact, me slowly going up and it, stained all over in various films
of scarlet, swiftly descending. In a second I heard vague yowls of excitement
far below me.
Suicide is the most natural way to die. By choice rather than by chance. In my
opinion to die in such a way as to mix impure brain or spine with meat is to
end in selfishness, to ensure death with one's calories.
To say nothing of the crime. I stayed on the lift because that is my job and my
duty, and I realize that now. I committed a heinous act. I don't remember it
and naturally could not therefore defend myself. I now commit all my heinous
acts to memory.
I was a cook. My job was to render meat into meals; patties, stew, sausage, and
sometimes delicacies if a person to me noble came to the kitchen. I thought the
work was difficult.
I like to think about dying. To be separating my own bones on line. When I die
I'd like my cuts to be beautiful, sharp and clean, by those professional
processors that have honed their craft with their blade.
Sometimes the bones are broken. Sometimes all the bones are broken. Nothing was
not deafening. But nothing, too, became deafening. The drone joined my silence,
residue in my riddled brain. I lie awake at night, if for nothing else then the
cacophony.
---
THE VIEW FROM HALFWAY DOWN (pg. 3)
I have been chauffered from place to place, as if I am cattle, since I was very
young. Perhaps it has been this way forever. I love my job. I love the smell.
It may seem unbelievable but it's true, I was raised in the smell, I know the
scent of blood better than flesh, I love the smell. I have also made my peace
with the unending mechanical thunder. I can't hear much else. My fingers may as
well have been tattooed red. Cut dip pull move.
I don't know where the people came from. Nor do I know whom I would ask. I live
just as well.
---
2023-08-19 T 1400
ON A GREYHOUND...
An hour or so ago, between Lewiston (Maine) & Portland (Maine), the driver
stopped the bus, opened the door, stepped out, took some paces into Maine's
ubiquitous forest, and out of our sight, pissed.
There's something about commercial transit in this state that makes ya gotta
go, I suppose.
I'm sitting wedged against my pack and carryon, Lynn, never before mentioned
stuffed IKEA shark, above me, wondering when I can smoke my next cigarette.
I imagine Lynn is wondering when I'll again quit.
Greyhound is comfortably, perhaps haphazardly, disorganized. I was hoping I
could stow my pack under the bus. Funny thing about hope... I've been rereading
Watchmen and listening to the driver's radio. 80s? 60s-80s?
I wanna see [...]. 150mins down. 2790mins to go. At least by my small mental
scratchpad. I'm embarrassed to do the math out on this real pad. I have 3
calculators...
---
PHONE ATT.
------------- -------------
| INT SDA SCL | | SCL SDA INT |
| DCIN 5V GND | | GND 5V DCIN |
------------- -------------
-------------
| 1 _ DCIN ___|
| 2 _ VOUT ___|
| 3 _ GND ____|
| 4 _ SCL ____|
| 5 _ SDA ____|
| 6 _ INT ____|
-------------
---
2023年08月27日
I SHOULD BE ON A GREYHOUND...
Today is sunday so I guess I'll start from last Monday.
On the 21st, 1300 or so, I arrived in Orlando Florida, city - city? - of dear
hearts and weak knees. I was here to see a beloved someone and soak up some sun
and have a good time. I've never been to Florida before - in fact, I'd only
been as far as Virginia, which I didn't particularly like. I remember being
disappointed we couldn't go to a Kentucky KFC. How goals change...
I called an ex-roommate and we spoke about how things were up in Maine: not
great. Then I called [...] who was on its way over to pick me up, on a car trip
longer than I would expect (20mins? 30?). After confusion about where it was
going (the nearest Family Dollar so I could get deodorant after spending 49
hours on a bus) it arrived.
It was shorter in meatspace than I expected. More beautiful. We met on-line in
[...] after a video call in which I noticed it and got flustered at how hot it
was and it got flustered at my calling it fucking stunningly gorgeous and
everyone else in the video call in the programming community sat in silence. I
threw my backpack and carry-on in the back of the car and got in the passenger
seat and I got flustered and it got flustered still more than half a year later
for the same reasons.
Every siren makes me nervous. I know how this city treats its homeless. City?
---
Orlando isn't what I, a Mainer, imagine a city to be. Before Florida's
colonization and sterilization it was just a swamp or something like that -
every presence, as well as every absense, is deliberate. It's strange how much
absence there is. Sprawling empty parking lots, five-lane roads, lines of palm
trees and now cars and the empty Magic Outlet in front of me. A city is dense.
You can walk to another restaurant in less than five minutes if you're not
enjoying your meal. People talk to you, maybe not in your language but a little
gesturing goes a long way. There is nobody in Orlando except the sun and the
heat.
1730. No new text messages. I'm considering pawning my sleeping bag.
1804. 1 new text message.
On the 21st, 1500 or so, after some typical affection - as in, the act, not as
in what it meant to me - I took my first shower since about 2300-0100 between
the 18th and 19th in Maine. The water in Orlando is excellent. Ice is a must as
most taps only allow a selection between hot and lukewarm due to the
temperature.
Then I don't remember. And what I can remember doesn't belong here.
I thought nechan was eye-chan, but eye is me [this is Japanese; pronounced
"meh"]. Its eyes are beautiful. Much of this week I was paralyzed in awe at how
beautiful my girlfriend is. It is also just in general an excellent person. We
cooked dinner together nearly every night, it learning my rat bastard scarcity
recipes and I learning what real food tastes like and how to pronounce
jalape~no (hah lah peh nyo).
"There's something inside you. It's hard to explain. They're talking about you,
boy, but you're still the same."
---
I think it's going to rain and I have no shelter. Maybe I could figure a way
into that Magic Outlet but I have too much in my backpack to hop a fence and no
decent tools for lockpicking.
1833. No new text messages.
Received SMS from ??? ([...]) at 2023-08-27T17:07:38-0400:
stay as safe as you can please
TRINITY: Would you still love me if I was a worm?
[...]: No.
TRINITY: ...
I would still love you if you were a worm.
[...]: You love me?
I'm sorry for not showing it with my actions. Of course I love you. That was
what I was figuring out while I disappeared.
I don't know how to ask for what I need.
Magic Outlet Mall: Brand Names for Less
says the sign's faded vestige on tan-gray bricks
above palm trees yellow tape abandoned commerce sign
the magic outlet tapped out ain't that just the way
I don't miss my bed because I never had a bed
I had an air mattress flattened every morning by seven
then I got a foam slab but I'd still feel the bedframe
I don't miss my bed, I miss having my own space.
Magic Outlet Mall: Brand Names for Less
now here we both lie in the dirt at sunset
the light here is different prettier in many ways
better home than my last home, no roaches or sleeping bag cat spray
1-800-FL-LEGAL I just keyed a Tesla
my magic outlet sleeping space saw a rich asshole intruder
where will you deport me bitch barely of this earth
I'm from an orbiter of mars and polycule network
---
2004. No new messages.
I just heard a cicada for the first time. They're deafening. Like a car alarm
in immediate proximity. They make a piezo buzz like they're charging up a
missile and continue to target you with an otherworldly humm until the sun
finishes its descent.
The sun and his heat are gone. It is me and Luna and Gaia that remain. Lights
are on at the magic outlet. I guess it had a little more power.
I did not need my laptop, tech repair kit, phone parts, or two tablets. I
should have brought 1 tablet, my phone, and that's it. I needed a UV5R with
extended battery. I did not need the condoms. Gay sex is better anyway. I miss
my 5.11 RUSH 48. The ALICE's organization isn't great and it's harder to pass
unnoticed. Better would be TSA carry-on sized, then I wouldn't need to part
with my luggage. Greyhound never searched me. I'm covered in mosquito bites.
---
2023年08月28日
Hurricane Idalia - maybe only a tropical storm, I'm not sure - hits Florida
tomorrow, and for that I will need to either stay with a friend or find a
strong umbrella.
My bivy didn't survive the night, kinda shit but makes good insulation from the
ground. I could have roughed it but I wanted to be comfortable and I was
worried about bugs. I'm really unfamiliar with the local flora and fauna.
I had tickets to Billy Joel and Arctic Monkeys. I was only excited to see the
friend with which I booked them. And now the plan is to go back to our
hometown.
I'm scruffy and my hair is wack. We - as in, my girlfriend and I, which is a
delight for me to write - were planning on watching a lot of vampire movies:
Nosferatu, Only Lovers Left Alive, and Shadow of the Vampire. We ended up
watching the old classics American Psycho, Clerks, and Drive. It had never seen
Clerks and I had never seen Drie. Nor had [...] who was there Saturday. I
didn't catch a lot of the plot of Drive as I was distracted but [...] explained
it in the morning and it seems like a good movie. I was surprised at how
graphic [...]'s death in the movie was, it was a little triggering to be
honest.
It feels good to be bitten. Bitten hard. Bitten so hard you have a mark the
next day, a bruise after a week. It feels good to bite. I bite weakly,
cautiously. I bite worried about the mark and tearing flesh and the pain. It
feels better to be bitten by one that does not care. But I feel bad when I
don't care.
/blah/2023-09-09.html
western mysticism influencers stick
dispensing business stickers onto crosswalk notices
and say that mary jane is the merriest trick
and that egotistic bourgouis corpos shouldn't be so rich
2023-09-04 15:48:55 -06:00
/blah/2023-09-04.html
Regarding something I read.
I feel some guilt for not really having a lot of trans pride.
I grew up on /b/. Post golden era, when /pol/ started festering in its second
coming and pseudoanons started spiking the machine, everything got a lot more
transphobic. I didn't give a shit what the r/greentext exiles bore in prejudice
but I knew their opinions roughly reflected the 20% or so and life would be
easier if I lived without making them piss and shit themselves. But being
dishonest with myself, or being honest with myself but hiding who I was, didn't
work for me. I felt nothing as I breathed nothing and I worked on hidden
projects and scum agendas with the pitch hands of a tear in space, wordlessly
and heartlessly to test the limits to which a person could influence. Rage
against the biomass. I also wasn't able to safely come out in meatspace but to
a few at the time friends who still misgender me after years.
My dream was not to be accepted and trans, but to be ignored and a cis woman.
Or pass as a cis woman.
I too started programming on graphing calculators but I felt invalid, not a
true programmer, so I called it coding, and myself a coder, as evident by the
splashes I put before my TI-BASIC programs. Deven Blake is not my deadname, by
the way - I had my name changed when I was very young. I still don't see myself
as a programmer. Insecurities.
I had other thoughts but I forgot them.
2023年06月27日
When I started learning to program all I had was FreeBASIC and I just. Didn't.
Get it. Nor did I get PetitComputer which I got for my DSi XL. The first time I
made anything was when I was 11, 3 years after I started learning, and made a
simple drawing demo in Processing.JS.
I was not a natural programmer. Lacking any sort of lessons or guidance or a
lot of motivation I floundered, and floundered, and floundered, and tried and
failed a dozen times. Pascal, Fortran, Petit Computer, FreeBASIC, Microsoft
Batch, SmileBASIC, a dozen more. Now I work in C and shell, only because I
learned shell to script tasks and learned C to understand my scripts better.
A lot of people see expert programmers and get discouraged. My advice: Pick a
_good_ tool ~~(C or shell)~~ and stay until you know it. Python!
OK I'm done shitting
need more fiber
I'm elsewhere, AFK - I wanna add this to the blah though.
Undated; maybe from a year ago? Written on a paper bag in black sharpie
soy sauce -> dill
-> teriyaki
-> avocado
-> salt
no too
Na
coffee
avocado -> ? brown ?
chai honey
blueberry lemon
green tea maple
pineapple -> oat soggy?
-> grape
key of C cheese
cream cheese
sat atop a
speaker playing
435Hz until
the Cc is
extra soft
"dream cheese"
-> orange zest
mainly -> chamomile
-> green tea
lemon
honey
"mean cheese"
-> jalapeno
chili powder
cinnamon?
orange zest?
~~paprika?~~
~~turmeric?~~
pumpkin?
cinnamon?
kale?
salt?
pepper?
mint -> lavendar
-> coconut
-> garlic?
garlic rosemary
licorice + lavendar?
malta cream cheese
-> how?
[ -> why? ]
dandelion?
dandelion maple?
wasabi?
birthday cake?
bubblegum?
matcha!
cinnamon ginger
cola?
moxie!!!
mountain dew?
doritos?
fritos?
"team cheese" blueberry
for olympics strawberry
season (2024?)
2023年07月03日
07-05 wisdom
teeth recheck
8AM be there @ 7
commie gets fucked by capitalist,
well he was so hot
can't afford the rent
and he drives mercedes benz
and we did it in the parking lot
all of the fucking jacked in bullshit
went to law school on daddy's nest egg
and I'm stealing toilet paper out of the store
I had a good thing and I fucked it up
everyone I know has gone
came down into the mosh pit so I can push you away
just hit your head get out and run
I had a good thing and fucked everything up
all my friends moved on
I'm still here sleeping on the floor
yeah didn't we have so much fun
2023年07月04日
July 4 - when the
USA declared independ[...]
from Monarchist cunts.
I'm hiding in a parking
lot far from the hordes
that have invaded the
~~areas of~~ usual areas
of congregation. Loungi[...]
against my backpack
among Razor scooter
and Sony camera
watching the st[...]
sky
Amateur pyrotechnicians,
like teenagers on prom
night, put all their
effort into the first
five minutes of their
shows that blaze
occasionally during
twilight. The pre-show
to the fireworks
demonstration - paid
for by your tax dollars
- performed by the
city. I'm considering
breaking into an old
mill to see sky from
roof.
But that's so much
effort and the crisp
air hasn't yet cooled
me after my frantic
dash on two cheap
wheels from unnerving,
unthinking, unpredictable
crowds. A pack of
wild children crosses
my turf before deciding
to continue up Canal St.
My face itches. The
sweat and my
moisturizer are
considering waging
war on my dry skin.
2023年07月12日
[...] appt 18日1000
2023年07月13日
methamphetamine
took all his molars
and then crack cocaine
only left his front teeth
Paul always yearns
for steak medium rare
but the man only has
cans of soup to eat
consumption begets
more of the same
when it doesn't,
it's illegal
give me your money,
shoes, or brain
you're not allowed
to call me evil
I am the capital
meth took my molars
crack took my canines
lying on a park bench
what took my mind
i can't sleep in a bed
won't sleep in a bed
i can't sleep in a bed
what took my mind
the gray matter bubbled
bends made me all fried
I keep tossing & turning
what took my mind
how do you fix that?'
death
but I love life and I love
sex
my friends all died and I'm
left
but it's not now my turn to
end
I just want a steak
but crack took my canines
my destructive consumption
what the hell took my mind
methamphetamine
took my molars
crack cocaine
took my canines
then life decided to
dissolve my gray matter
please, Gaia
who took my mind?
destructive consumption
oh how badly I crave steak
all I've got's my two front teeth
can't eat even if I have my cake
my nerves shoot my eyes
head won't stop. someone end my pain
please, Gaia
who did this to my brain
2018-08-30
Disp "SCHEDULE","CODED BY","DEVEN BLAKE 2018
Pause
ClrHome
//Menu
Lbl M
0→Z
Menu("LHS SCHEDULE","VIEW SCHEDULE",A,"EDIT SCHEDULE",B,"QUIT",C
Stop
//View
Lbl A
ClrHome
For(A,1,8
"!D:→Str1
A
Asm(prgmLBLRW
Output(A,1,Ans
End
0
While Ans≠21
getKey
If Ans≠0
Output(8,1,"2ND TO QUIT
Goto M
//Edit
Lbl B
ClrHome
Output(1,1,"1-8 TO EDIT
Output(2,1,"OTHERS TO QUIT
0→A
0
While Ans=0
getKey
If Ans=72
7→A
If Ans=73
8→A
If Ans=82
4→A
If Ans=83
5→A
If Ans=84
6→A
If Ans=92
1→A
If Ans=93
2→A
If Ans=94
3→A
End
If A=0
Goto M
ClrHome
Disp "ENTER NEW DATA
Input "",Str1
"D:"+Str1→Str1
A
Asm(prgmLBLRW
ClrHome
Disp "DATA CHANGED!
While Ans≠21
getKey
End
Goto M
//Quit
Lbl C
ClrHome
Stop
//Data
Lbl D
PERIOD ONE
PERIOD TWO
PERIOD THREE
PERIOD FOUR
PERIOD FIVE
PERIOD SIX
PERIOD SEVEN
PERIOD EIGHT
2023-08-26 16:26:35 -06:00
/blah/2023-08-25.html
the voices in my head just gave me a pep talk
i was wondering if my presence had done harm
because my host just went away said they thought they felt pent up
now i'm sitting here in the dark on my laptop
i can't justify my presence if i've done harm
can't justify existing if my presence won't let pain stop
i worry about hurting everybody i love
they say it's not my fault but would say the same if it was
i'm not feeling great it's not my stomach it's my head i
think it's the static state of my location i've been in i
was wondering if i could get some space for a minute i
am going out i'll be back or if not i will text you back bye
i cleaned the room i'm staying in it's not my room it's its
it's its near institution living space i've invaded and its
floor is taken over by my shit from my backpack it is
now in the corner so it's not so claustrophobic inducing
i should shit or get off the pot but i still won't turn the light on
i would rather sit in darkness than walk over to the switch my
laptop is light enough and i don't like disturbing the air
2023-08-23 18:37:31 -06:00
/blah/2023-08-23.html
roses are red
the warmest color is blue
holy fuck i'm in florida
and i'm on your todo
it's so nice to be normal
but there's nothing normal about you
you are so fucking special
and i know you're kind of weird too
I feel good. Really good. This is the best vacation of my life.
2023-08-23 14:50:49 -06:00
/blah/2023-08-20.html
On a Greyhound...
I'm in South Carolina, or maybe Georgia. A long way from Maine - don't remind
me. Or do.
I have made it out of Lewiston.
The most tearful goodbye was my sidekick with whom I have resolved to join in
four months. I'm considering returning to Lewiston because I am so worried
about her alone in the colloquial "dirty Lew". Atlanta is 130 miles away, so
this must not be Georgia.
I wouldn't go to Hell if it was the only way I could see her. But if it was the
only remaining way to see my sidekick I would think about departing every hour.
Now the notion for myself is out of the question, completely, absolutely, not
even by accident. I'm more careful now. Fewer risks taken. Healthier choices.
Which isn't to say our separation would destroy us. We take measures to ensure
minimal if any codependency. But a wrongful separation, too soon or too early,
would.
The skyline has McDonald's, Arby's, Exxon. It could be a Maine skyline if the
Makku didn't have neon on its fringe, if the gas station was by a different
name, if there wasn't also a Waffle House. I hadn't seen a BP gas station in
my life until Virginia or so when I first noticed a "green Irving".
Anderson, South Carolina. I need to take my estrogen. Done. I am so thoroughly
farther from the place from which I was I can already scarcely remember the
sparse urbanoid environment. The forested ghetto.
The local accent has in common with mine that Atlanta is "et LANna". I wonder
what the older, thicker Maine accent would say.