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-11-22 08:42:17 -07:00
/CNAME verbatim
2023-11-22 08:40:14 -07:00
www.trinity.moe
2023-11-22 08:42:17 -07:00
/BANNER.txt verbatim
/\ |/||\|| _\|||\ |||||/||\|\\// |\ /|/ \||\|
/ \ || || /|||\\|||| || || ||\/|| | ||>
/____\ _||__||\\||||\\|||__||_ _||_()||\/||\_/||/|
2023-11-22 08:44:47 -07:00
/license.html
<P>Except where noted, www.trinity.moe is available under the Blue Oak Model
License 1.0.0 as defined below.</P>
<PRE>
Blue Oak Model License, Version 1.0.0
Purpose
This license gives everyone as much permission to work with this
software as possible, while protecting contributors from liability.
Acceptance
In order to receive this license, you must agree to its rules. The
rules of this license are both obligations under that agreement and conditions
to your license. You must not do anything with this software that triggers a
rule that you cannot or will not follow.
Copyright
Each contributor licenses you to do everything with this software that
would otherwise infringe that contributor's copyright in it.
Notices
You must ensure that everyone who gets a copy of any part of this
software from you, with or without changes, also gets the text of this license
or a link to <https://blueoakcouncil.org/license/1.0.0>.
Excuse
If anyone notifies you in writing that you have not complied with the
Notices, you can keep your license by taking all practical steps to comply
within 30 days after the notice. If you do not do so, your license ends
immediately.
Patent
Each contributor licenses you to do everything with this software that
would otherwise infringe any patent claims they can license or become able to
license.
Reliability
No contributor can revoke this license.
No Liability
As far as the law allows, this software comes as is, without any
warranty or condition, and no contributor will be liable to anyone for any
damages related to this software or this license, under any kind of legal
claim.
</PRE>
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-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>
2023-11-22 00:58:31 -07:00
/style.css verbatim
2023-11-22 00:49:07 -07:00
2023-11-22 01:15:34 -07:00
@font-face {
2023-11-22 00:49:07 -07:00
font-family: "unscii16";
src: url("unscii-16.ttf") format("ttf"),
url("unscii-16.woff") format("woff");
}
2023-11-24 00:51:50 -07:00
a { color: #fff; }
2023-11-22 08:28:23 -07:00
body { /* copied from a textfile site because idk css */
2023-11-24 00:51:50 -07:00
background: #000;
color: #ffdbdb;
2023-11-22 08:28:23 -07:00
display: grid;
grid-template-rows: auto 1fr auto;
margin: 0 auto 0 auto;
2023-11-24 00:51:50 -07:00
text-align: left;
2023-11-22 08:28:23 -07:00
width: 80ch;
}
2023-11-28 07:41:42 -07:00
2023-11-28 07:58:58 -07:00
.txt {
2023-11-22 08:28:23 -07:00
font-family: "unscii16", monospace;
font-smooth: never;
-webkit-font-smoothing: none;
-moz-osx-font-smoothing: grayscale;
}
2023-11-22 00:49:07 -07:00
2023-11-28 07:58:58 -07:00
pre { /* DRY who? */
font-family: "unscii16", monospace;
font-smooth: never;
-webkit-font-smoothing: none;
-moz-osx-font-smoothing: grayscale;
}
@media (prefers-color-scheme: light) {
2023-11-28 22:35:27 -07:00
a { color: #000 !important; }
2023-11-28 07:58:58 -07:00
body { background: #eee !important;
2023-11-28 22:35:27 -07:00
color: #333 !important; }
2023-11-28 07:58:58 -07:00
}
2023-11-28 07:41:42 -07:00
2023-11-22 00:49:07 -07:00
2024-02-06 23:20:12 -07:00
/blah/2024-02-06.html
Read Herogasm (2010).
Read Highland Laddie (2011).
psychosecurity - relating to organizational or personal security against
psychic tampering (mind control & hypnosis, cognitoviruses
& memetics, ethereal processes, et cetera)
I want to proteinmax and get lots of muscle so I taste really good when I'm
killed and eaten. I'm at 7.5lbs on biceps curls but I think I might be close to
being able to move up to 10, though I think my form is wrong. I want a gym
membership.
Typing on the HHKB is still pure sex all these moons later.
I can't think of much to say, my life is a bit mundane lately.
Watching someone text and drive at the same time.
I got a sweater so now I can dress like Andy from The Coffin of Andy and
Leyley. Now I just need my hair dyed black. I swore that would be one of the
first things I'd do upon arriving to this new land but money ain't for nothing
and the chicks sure as hell ain't free.
serotonin softly stole
by postage acid-dipped and sold
lab made a buck
are your eyes wide enough
that you can see life unfold?
I think ESP is going to be an actual security issue within the next hundred
years but I wouldn't bet on it. I do think fringe ether stuff like that is
possible.
1346
"Wow, you're really tense."
Read Butcher, Baker, Candlestickmaker (2011).
Read Hanging Not Punishment Enough (1701).
Read The GNU Manifesto (2008).
Read Evil Maid Just Got Angrier (2013).
Read PRINCE - Modern Password Guessing Algorithm (2014).
Read Measuring Real-World Innacuracies and Biases in Modeling Password
Guessability (2015).
Yeah I'm really fucking tense. I thought I heard something getting out of the
shower so I drew my (3 inch - pathetic) knife and cleared the corridor kitchen
and living room just like old times. Nothing of course. C'est ne rien.
I want so bad to fucking kill someone. Anyone. I miss the feeling of quickening
pulse beating against my palms and then its slowing and cessation. I come from
a land where gazelles grazed freely in the pairie, unaware their world could
end.
My memories of my former land blur together into one montage of death and life
and love and hell. I remember beating the shit out of- that's not believeable,
I don't believe it. I remember hotboxing my manager's car, habitually. Smoking
everyone else's weed. Being owed a thousand dollars by someone who tried to
strand me in Manhattan. Getting a PS2, giving it to people I thought I liked,
realizing. Getting a Gamecube, loving it, realizing I didn't have anyone with
which to play it, selling it for much less than for which I bought it. Getting
a Wii when I was very young, treasuring it, letting it collect dust as I moved
on to handheld pastures, finding it again, using ponyhax to homebrew it,
treasuring it, sending it along to someone I still think is cool.
I dislike most people I used to know, especially in hindsight. I can't believe
the things I did, nor can anyone else. I tried my damndest to not get any scars
because when I was done what I was doing I wanted to be Done - not marked by my
past. I wore a big, heavy jacket, and big, heavy pants, and big, heavy boots,
and they all got beat to shit really quickly but kept me alright in them. All I
have now are marks from old roadrash and a couple dozen burns on my arms from
work and play. And how did you get in so much trouble if you don't have any
scars...
Cryptanalysts have the upper hand.
2024-02-04 08:35:03 -07:00
/blah/2024-02-04.html
Read The Boys Omnibus 1 (2009).
Read The Boys Omnibus 2 (2010).
I'm counting each of these as a book because they were like 500-600 pages each.
6/100.
2024-02-02
there's something gross about my liver
think my brain's gonna decay
I'm twitching, can't steady my fingers
organs filled; contaminate
I need a drink, oh god I'm dying
I'm fucking dying of this thirst
I think withdrawal's gonna kill me
that is, if I don't kill me first
I need to sanitize my kidneys
need to sterilize my flesh
give me something I can swallow
as the draught runs to my chest
I know it's what you wanted
saw you building up a set
of surgical supplies so you can
dissect me once I'm dead
you know when someone leaves a party
you can talk about them without fear
I never really gave a shit
I'll talk shit when they're here
is that how you will mourn me
when my picture sits on my box
after all the pain that I've made
will my stone say mother fuck
her all she ever did was drink and
bet and fuck and smoke and hurt
all she ever did was lie around
waiting for someone to save her
2024-02-02 06:28:19 -07:00
/blah/2024-02-02.html
Broke up with my girlfriend. Single. Next question.
Read Recursive Programming (1960).
Read A Speech to IBM Field Engineering Branch Managers (1967).
Read Go To Statement Considered Harmful (1968).
Read MIT Guide to Lock Picking (1991).
Read The Code Book (1999).
Read Drive (2005) yesterday.
I'm gonna count the MIT Guide, the Code Book, and Drive as books, bringing my
year's total read books up to 4/100. Pretty sure I'm not gonna make it to 100.
2024-01-21 10:02:20 -07:00
/blah/2024-01-21.html
: hungover diaries
0734 wake up go back to sleep
0800 alarm. ding. text girlfriend. sleep.
0805 alarm. ding
0810 alarm. i'm up i read articles about the spanish (i think) football
president or whatever forcibly kissing a player and getting booted from
football itself (they can do that?). it was hyperlinked from a
web3isgoinggreat site or whatever. neato.
0830 regretting things i messaged people last night but also some of what i
messaged was really sweet. hemingway was right
0840 kettle on stove water in pot heat in burner
0845 pouring green tea. before this also i unloaded and reloaded the dishwasher
because we forgot to do it last night (can you guess why)
0850 timer's up, add milk (oat), consider adding vodka, no trin that's why that
fucker from maine still owes you $80
0900 check bus time tables, sit down, play some angry birds on the 3ds. why was
angry birds on the 3ds? we were watching jacksfilms and one of the skits
had angry birds in it
0910 start writing
I am not extremely hungover because I drank a shit ton of water last night,
probably 2-3 liters. I also never really blacked out or did things that were
against my inhibitions. But I also didn't drink a whole lot anyway.
While drinking last night I was overcome with waves of joy so intense I
collapsed and couldn't help myself laughing and rolling on the ground, feeling
the vinyl floor underneath my back.
I've finished my tea and it was really good so I'm making another one. I put
four tea bags in my pocket so I could make green tea at work too.
really the lilies on the ocean floor
would drown in the salt of the churning sea shore
the tide would come swallow the petals in foam
and draw lily petals away from their loam
if i had a mill'on and ni-ne-ty two
dollars i'd hide them in calcified tombs
wooden and brass chests buried on the beach
so i could suffocate my slow-rottin peach
and all of the lillies in under the sea
and all of the flowers drowning in the deep
and all of the orchids awash in the waves
and all of the fruits of the labors of slaves
and all of the gold buried in the ocean
and all of the riches hoarded from their friends
and all of the rockets that reach for the stars
and terraformed rocks glowing red from afar
the rich and the few terrorize many who
would rather send riches so far from the view
of innocent bunches collected for quite
an innocent task, helping others get by
for where there's no gold there's no greed any all
for where there's no wine there's no fight any all
for where there's no load there's no weight any all
for where there's no pain there's no death any all
really the beauty that lounges in calm
dissappears when there is conflict in the song
really the beauty that i've tried to save
rots in its darkness until it's too late
if i had a million and ninety two
dollars i'd find and kill those bastards who
have more money than i and keep it on lock
then i'd burn it and then i'd bury myself
in oil and then i'd fly myself away
to a hot red rock in the middle of space
just to ensure that the ashes themselves
are kept from those who would remake my lived hell
2024-01-20 10:47:18 -07:00
/blah/2024-01-20.html
: why mm(1)
I started working on mm(1) probably around 2020-2021, when I was first
acquainting myself with the inner workings of UNIX-like operating systems which
I had been using for a couple years by then. I can't remember how I noticed it
but it bothered me that there was this cat(1p) utility which took multiple
input files and streamed them successively to standard output:
[ input ] [ input ] [ input ]...
|_______ | _______|
_|_|_|_
| |
|cat(1p)|
|_______|
|
V
standard output
And then this tee(1p) utility which took from standard input and streamed its
bytes to multiple outputs:
standard input
V
___|___
| |
|tee(1p)|
|_______|
______| | |__________
| | |
[ output ] [ output ] [ output ]...
And they were separate utilities despite both doing the job of writing input(s)
to output(s). I imagined a hypothetical utility mm(1) that does it all:
[ input ] [ input ] [ input ]...
|_______ | _______|
_|_|_|_
| |
| mm(1) |
|_______|
______| | |__________
| | |
[ output ] [ output ] [ output ]...
And attempted to write this magical "mm" (as in, "middleman") utility that
would act as a "middleman" for streams before giving up (due to lack of C or
POSIX API experience) for a couple years to practice making easier programs in
UNIX environments.
There are a couple reasons to implement cat(1p) and tee(1p) as separate
utilities:
1) Ease of implementation
Differentiating input arguments from output arguments would require
either having a separator mark (which would be ineligant and exclude
that mark from being a useable file name) or option parsing.
Imagine a separator mark in the context of a hypothetical utility
insouts(1):
$ PS1='\n$ '
$ insouts -h
Usage: insouts (input...) "][" (output...)
$ printf %s\\n hello\ world
hello world
$ printf %s\\n hello\ world >in1
$ insouts <in1
hello world
$ insouts in1 ][ out1
$ insouts <out1
hello world
$ insouts <in1 >][
$ insouts ][ ][ /dev/stdout
Usage: insouts (input...) "][" (output...)
$ insouts ./][ ][ /dev/stdout
hello world
What a mess! The file ][ can no longer easily be used with insouts(1),
which may be acceptable (it's not a sensible file name anyway), but
it's sacrificed for horrendously ugly syntax featuring stressfully
unmatched square brackets.
I've written programs that have used separator marks for arguments,
namely pscat(1), psrelay(1), and psroute(1) so far, and there are a
number of additional caveats that come with their particular flavor of
marker and I've been hesitant about the syntax since I came up with it
half a year ago. Best not to make more things about which to fret.
Now imagine option parsing:
$ PS1='\n$ '
$ insouts
Usage: insouts (-i [input])... (-o [output])...
$ insouts -i in1
hello world
$ insouts -i in1 -i ][ -i out1
hello world
hello world
hello world
This works for everything and is how mm(1) works. The issue is with
regards to code itself. Imagine a very basic cat(1) implementation in
C:
#include <stdio.h>
int main(int argc, char *argv[]){
int c;
FILE *f;
int i;
for(i = 1; i < argc; ++i){
if((f = fopen(argv[i])) == NULL){
perror(argv[i]);
return 1;
}
while((c = getc(f)) != EOF)
putchar(c);
fclose(f);
}
}
This doesn't conform to POSIX (which requires 'cat -u' to be supported)
but illustrates the ease of using cat(1)'s arguments: For each
argument, open it as a file, write it out, close it, and that's it.
mm(1)'s option parsing for '-i' and '-o' alone, as of writing, are 24
lines alone, excluding the functions they call. The above program is 16
lines of code. This weight does also come from supporting "-" as a
euphemism for /dev/stdin or /dev/stdout depending on whether it was
used for '-i' or '-o' and trying to create an output file if it doesn't
exist and without these two features that are unsupported by the above
program the code for '-i' and '-o' would be considerably lighter, but
the point is that option parsing adds complexity that can be avoided by
simply having two utilities.
Furthermore, options have drawbacks for users.
2) Ease of use
One relatively common use of cat(1p) is to catenate all files matching
a glob pattern. Imagine:
$ PS1='\n$ '
$ ls
in1
in2
in3
$ cat <in1
hello
$ cat <in2
world
$ cat <in3
!!!
$ cat in*
hello
world
!!!
This use becomes much more tedious with argument parsing:
$ for f in in*; do mm -i "$f"; done
hello
world
!!!
And is difficult when it comes to multiple outputs rather than inputs,
like tee(1p):
$ ls
in1
in2
in3
$ touch out1 out2 out3
$ ls
in1
in2
in3
out1
out2
out3
$ cat in* | tee out*
$ cat <out2
hello
world
!!!
$ for f in out*; do for g in in*; do mm -i "$g"; done >"$f"; done
$ mm <out2
hello
world
!!!
3) Separation of concepts
cat(1p) accepts inputs. tee(1p) accepts outputs. It's possible to pipe
cat(1p) to tee(1p) to glean the benefits of multiple inputs and
multiple outputs without mm(1).
So why on earth should cat(1p) and tee(1p) be supported by the same utility?
Both cat(1p) and tee(1p) according to POSIX must support options, necessitating
the use of getopt(3p) from <unistd.h>. While '-i' and '-o' are 24 lines in
total, the rest of the options logic is necessary for cat(1p) and tee(1p) and
is unavoidable and outweighs the '-i' and '-o' options, plus much of the '-i'
and '-o' logic is still necessary in both cat(1p) and tee(1p) (supporting "-"
and, in tee(1p)'s case, creating an output if it doesn't exist). Though there
is additional memory juggling due to supporting arbitrary inputs and outputs,
in most uses actual memory use isn't noticeably affected (10 extra bytes for 5
file arguments, or one tenth of the data used by this parenthetical statement).
It is possible to write implementations of cat(1p) and tee(1p) in POSIX shell
script as wrappers on mm(1) and I have done so, so users who want to use globs
can simply call cat or tee as usual.
mm -i input -o output tends to be intuitive for existing shell users once they
learn the name "middleman".
/blah/2024-01-17.html
Read American Psycho (1991). I need a cigarette really, really bad.
I can't afford to renew my SourceHut account right now so these blog posts are
going up on my wobsite in A Bit, whenever I get around to manually building
them. I might set up a build server on feeling.murderu.us for small jobs but I
don't know. I also want to set up a proper VPS for trinity.moe but $60/year
(for Capsul) is a hell of a lot more than $20/year for SourceHut.
It feels weird to have long fingernails.
The Japanese Zen monk tradition according to No Recipe (2018) which someone
with which I'm staying is reading is to not have animals killed specifically
for you but always eat what you are served. I interpret this as well-spirited
and not a rule to dance around, having others act as go-betweens, because that
would suck. I sort of like this and have been rethinking veganism because it is
really inconvenient to have to restrict others' treatment of me; that is, I
can't eat meat that was prepared for me by people who don't know I'm vegan.
Most people don't have a good conception of what is and isn't vegan and will
serve me things that aren't vegan unknowingly.
I wish everyone was vegan but I don't wish to impose my will on others.
I feel shame at the notion that I have eaten something that died, except when
it comes to humans, at which notion I instead feel powerful, because I'm fucked
in the head.
2024-01-12 09:08:16 -07:00
/blah/2024-01-12.html
Read Finding the Still Point (2007).
2024-01-04 21:17:01 -07:00
/blah/2024-01-03.html
states to which i've been
- Maine
- New Hampshire
- Massachusetts
- Vermont
- Rhode Island
- Connecticut
- New York
- New Jersey
- Delaware
- Maryland
- Virginia
- North Carolina
- South Carolina
- Georgia
- Florida
- Pennysylvania
- Ohio
- Indiana
- Illinois
- Missouri
- Kansas
- Colorado
2024-01-01 22:22:28 -07:00
/blah/2024-01-01.html
This year my goal is to read 100 books. I'm digging into the 1980 book Coded
Character Sets, History and Development first, a 535 page tome that is luckily
mostly figures and diagrams. I'm 72 pages into it and it's written not too
dryly which is good because the subject matter is boring as shit (the
ratification of ASCII). Not actually very boring, something that is relevant to
work being done on Bonsai, but still just a slog. I consider it required
reading, though. I think after this I'm gonna read some comics though counting
books will be tricky (per issue? per volume? per arc? per compendium?).
I read No Longer Human (1948) after having already read the Ito adaptation
which was in comparison total dogshit. Read the original only.
I'm applying to another, different fast food joint, for the referral bonus. I
love money.
I'm tracking my cash flow in/out. Let's see how long that lasts.
I stopped biting my nails. That Will last because I've always hated that I do.
I haven't had any Monsters since 2023-12-22.
Hopefully I can keep all of this going. But if I keep just one it'll be good
enough for me.
2022-05-18
: /etc/motd
Welcome to Trinity's Thinkpad X200T.
Unauthorized access is a violation of
United States federal law according to
the Computer Fraud and Abuse Act, 18
USC Section 1030.
Mess with the best, die like the rest.
2023-12-31 09:54:11 -07:00
/blah/2023-12-31.html
I switched to the Helix text editor. I can't figure out syntax highlighting
but everything else works so well it doesn't really matter to me.
Emma gave me an Acer Aspire One to loan indefinitely. It's really nice. I'm
running Alpine x86 right now and can't figure out how to get XOrg or Sway
working. It also uses a hard drive rather than solid state storage. I'm gonna
have to change that. I don't know what its power draw is. Probably a little
more than the Raspberry Pi, but I'm happy to be out of the hell that is
Raspberry Pi Linux distributions. More Rust stuff compiles on x86 than on
arm64.
This is the best life has ever gone for me. It's not perfect but it is really
pretty good. I've been less down lately too.
I think when I live alone I'm gonna go nocturnal and get a night job. I just
don't know what night jobs exist. Maybe I could find some way to work from
home. Home. I'm gonna have one. It looks like I could be a night stocker at a
grocery store. Hm.
I'm really optimistic for the future.
Looking back on this year is trippy. Maine feels like a bad dream. I can barely
remember 2022 so I probably won't do one for it.
: the story so far (2023)
Season 2: maladjustment
January
Episode 01: "breaking bad"
Trinity arrives from New York tired and near broke and starts looking
for ways to quickly make back its savings. It attends a party hosted
by one of its friends.
February
Episode 02: "speak"
The ongoing stress from arranging its get-rich-quick scheme causes
Trinity to start making people bark for it.
Episode 03: "the eye of the needle"
Trinity starts talking with someone new. [...] and [...] start looking
for an apartment.
Episode 04: "of an age"
Trinity tries marijuana for the first time. Trinity goes axe throwing
with someone from the party and the meetup goes longer than planned.
Episode 05: "mary jane"
Trinity realizes it's gonna need to move out of [...]'s and the
consequences of its get-rich-quick plan. Trinity starts smoking weed
habitually.
March
Episode 06: "phone baseball"
Trinity's marijuana habit gets cozy with her mental illness. Trinity
goes vegan and starts writing a book.
April
Episode 07: "isolation"
Trinity builds a new computer and moves in with [...] and [...] to help
pay the rent.
Episode 08: "trigger discipline"
Trinity discovers a dangerous new line of work.
Episode 09: "the void stares back"
M-- moves in with the party host from episode 1. Trinity starts
smoking and learns its wisdom teeth are growing in. [...] is fired.
May
Episode 10: "tablet baseball"
M-- and Trinity find a fun new way to destroy evidence of Trinity's
propaganda studies. M-- overworks herself to pay rent and starts
sleeping over at [...] and [...]'s.
June
Episode 11: "i got my tooth removed"
Trinity gets her wisdom teeth out and M-- pays Trinity back for her
computer. M-- and Trinity go to [...]'s.
Episode 12: "fuck teeth"
The drugs wear off and Trinity struggles to figure out how to treat its
wisdom teeth sockets, gets a dry socket, and is wracked with terrible
pain. M-- goes on a date.
Episode 13: "a hunger artist"
Trinity goes back to work before recovering from its wisdom teeth
surgery and struggles to find anything it can eat. M-- finds things of
theirs missing and suspects [...] is to blame.
Episode 15: "make it double"
M-- continues to overwork themself and go on dates with [...]. Trinity
goes to the train tracks to think, gets a second dry socket, and
realizes its wisdom teeth aren't healing. More of M--'s things go
missing.
Episode 16: "portland"
M-- and Trinity go to the Pride festival in Portland, meet some of
M--'s old friends, and realize they're stranded in Portland. M-- gets a
skateboard.
Episode 17: "see you tomorrow"
M-- goes to [...]'s and, overwhelmed by the situation in Lewiston,
stays there a while. Trinity starts talking with an old flame and gets
a scooter.
July
Episode 18: "seven"
Trinity realizes M-- isn't coming back and entertains leaving Maine
before having an epiphany at work and walking out.
Episode 19: "deadly"
Trinity keeps applying to new jobs but realizes it can't get a job in
the timeframe it needs. It turns to temp labor. Meanwhile, M-- tries
to leave [...]'s.
Episode 20: "sins"
Trinity finds a new, higher-paying job, with added risk, and buys
Greyhound tickets out of Maine. It starts talking with another new
person and has apprehensions about its work.
August
Episode 21: "sean and josh"
Trinity gets used to its job and starts downsizing, including giving
away its television collection. [...] and [...] start fighting about
their division of labor.
Episode 22: "one last time"
Trinity meets Usagi again before it leaves for Florida. M-- comes back
to Lewiston.
Episode 23: "the bus out"
Trinity nearly misses the bus to Florida. It spends a couple days on
Greyhounds and finally arrives in Orlando.
Episode 24: "the best week ever"
Trinity stays at its girlfriends'.
Episode 25: "stranded"
Trinity misses the bus back from Florida.
September
Episode 26: "fast forward"
Trinity narrowly makes it out of Florida before a tropical storm hits.
It goes back to Maine to pay off some debts.
Episode 27: "reunited"
Trinity meets M-- in Lewiston and begs for its fast food job back, but
gets hired on different terms.
Episode 28: "decay"
Trinity goes back to [...] and [...]'s but finds them in a domestic
spat and the apartment falling apart even worse than before.
Episode 29: "the first time the third time"
Trinity goes back to its usual job in a less usual place. [...] and
[...] get evicted.
Episode 30: "negotiations"
[...] and [...]'s landlord starts to threaten them for money. A
familiar coworker joins her new workplace.
Episode 31: "toni"
Trinity struggles to find a place to sleep. M-- breaks down.
Episode 32: "riverbanks"
Trinity makes improvements to Toni but struggles to stay cool, meets a
guy at work with an abusive girlfriend, and meets up with its high
school crush.
Episode 33: "no helmet"
Trinity takes increasing risks and puts in its two week notice. Toni
leaks in the rain.
October
Episode 34: "the postal service"
Trinity mails packages out from Maine and receives equipment for the
move. [...]'s girlfriend gets worse. [...] stops returning Trinity's
calls.
Episode 35: "live fast, die young"
Trinity relapses back into smoking. [...] and [...]'s car rusts out on
the highway.
Episode 36: "ramona flowers"
[...] breaks up with his girlfriend. [...] starts to get angry at
Trinity. [...] finds Toni's location. It starts to get colder.
Episode 37: "the great escape"
Trinity angers [...] to the point of his walking out and comes clean to
[...]. [...] visits Toni. Trinity boards the Greyhound to Illinois.
Episode 38: "transit"
After some days on a Greyhound Trinity finally arrives in Lincoln,
Illinois.
Episode 39: "carnality"
Trinity can't find food in Lincoln. [...] takes Trinity on a date.
Episode 40: "springs before winter"
Trinity finally makes it to a new place, meets its idols, gets a
library card, realizes it needs an address, and starts attending
Sangha.
November
Episode 41: "number four"
Trinity takes a familiar job in an unfamiliar place. [...] takes a
similar job. M-- struggles to find work in Maine.
Episode 42: "safe and sound"
Trinity struggles to adjust to comfort.
Episode 43: "in this economy"
Trinity, [...], and [...] struggle to pay rent. [...] and Trinity meet
a presenter after a talk at the library.
December
Episode 44: "what goes around"
Trinity starts to overwork herself to afford rent. M--, with a new job
and in a new place, starts to get antsy.
Episode 45: "comes back around"
Trinity starts to break down and limits its caffeine intake, realizes
it'll be able to afford to live alone and starts getting its paperwork
in order, and sprains its foot
: the monster logs
2023-12-16. This bus route is usually free. They lack the usual buses and so
use smaller buses that can't accomodate bicycles. But today it's seven quarters
and I believe this will persist. So I've paid my dollar and seventy five cents.
I'm going to work, but first Wallgreens (is that possessive? Wallgreen's?
Wallgreens'?). I haven't decided which Monster I'm gonna start with. I'm not
big on planning. Best to see what the future holds. This driver is taking his
time counting something out at his seat. I'm not big on being late. I won't be,
because I make sure to take the bus to work on a route where, if I miss it, I
can take the next bus and won't be late for work. But I don't like being later
to things than I plan. Best to be able to see what the future holds. This bus
is dirty, not in an unpleasant way but literally covered in dirt that has been
brought up on the exterior by splashing slush left over from snow. It's
unseasonably warm out and I'm still wearing my usual winter layers. I planned
poorly. I can't see out of the bus windows so I'm forced to look at the front
windshield to have my bearings. I don't like to do so in case the driver thinks
I'm looking at them and feels prompted to talk. I'm not big on talking. I'm a
little hungry, not sure why. I ate at the apartment, a peanut butter sandwich
and some oatmilk. Protein. I'm a little tired and I do know why, I slept enough
last night but not late enough, today's gonna be a long day. 1400-2230. Eight
and a half hours, boo hoo, but the part I dislike is working with the night
crew. Night crew is dirty in an unpleasant way. Their lazy approach to food
safety is disconcerting and their idea of fun is watching puppies decapitated
on Facebook while standing around until forced to actually labor. I'm not
particularly disturbed by cruelty but am by the work ethic and the slack which
I'm forced to pick up. I've been managing my will to death in healthier ways
lately but working with night crew, even the thought, makes me want to taste
the handle of a machete. I only took one caffeine pill today, 200mg, knowing
I'd supplement it with a Monster. The bus is nearly to my stop. I'm here at
work before work. My tray is dirty with old salt and oil because nobody here
knows how to do a damn dish. I got Khaotic at Wallgreens, confirmed to have no
apostrophe. It opened with a crisp snap and I'm holding it in my mouth. It
tastes a bit like fruit punch, better than fruit punch, some amount of citrus
to it. Another sip. Pineapple? Time to read the label. Blah blah blah no flavor
description. Ingredients. Battery acid, horse piss, orange, peach, tangerine,
pineapple, grape, chemicals to kill and sugars to addict. Plus caffeine,
another 160mg for the liver to chew on. Lunchtime. Shitty fries, less shitty
onion rings. Ketchup because I want to feel like a child again. Unrealistic, I
have friends. There are people who don't work here, who pay for this. Why?
There are no onions in the onion rings, just an onion flavored paste. Their
usual sauce for onion rings, some type of horseradish, has cow milk so I can't
eat it. Dropped a ketchup laiden fry, now there's sauce on my pants. Fucking
hell. Nobody here can make a sandwich to save their life. I asked for heavy
mustard. I wonder where it is. Probably a glob in the center. Or in a bucket
teetering on a door so it can fall on me like an office prank. I wish I worked
in an office. This sandwich is okay. Probably the sugar content is what makes
it bearable. And salt. I wonder if anyone who made this sandwich washed their
hands or even changed their gloves between handling raw meet and my lettuce.
The Monster is the best part of this meal by far. It doesn't take much. I'm
accompanied by Gorillaz' album The Now Now and awful Christmas music playing
over the speaker here. All hail consumerism. This Monster was something like
$3.50. The price makes me sick and so does this food. I wish I wasn't here.
The Monster has a sweet citrus tang. It's nice. Fuck you. 3 stars out of 5.
2023-12-17. The days go by so fast. Bloom by Radiohead off King of Limbs. I
don't know if I can justify $20/week on Monster. Whatever. Bus stop. I have a
metro card now. I couldn't figure out how to use it so I used quarters. Bus
now. This is a good song. Today's 1100-2100. Now's 0955. I'm sitting between
two seats like an asshole but there's nobody else on this bus so an asshole I
can be. I'm halfway through reading Kafka's In the Penal Colony. I've now
finished it. I want to fuck Franz Kafka so much it's unreal. I just realized
the bus announcement mispronounces one of the street names it passes, French
but pronounced as if English. The bus is clean today. It's now my stop. Now I'm
at work. I got the Monster at a Kum and Go but didn't take care to note the
price. Rehab: Wild Berry Tea. I've not had this one before that I can remember.
But first a large hash brown. I don't feel much of anything about it. This snap
of the can is less crisp. This is good stuff. I think I taste raspberry.
Strawberry? The tea for sure. Description label: none! Just some infographical
blurbs about vitamins, coconut water, electrolytes. Ingredients. Tea, apple
juice, ginseng, coconut water, acai, "natural flavors". I definitely taste the
ginseng and the apple, and the sweet aftertaste from the coconut. They're
playing Christmas music, shitty as always. This isn't carbonated and it's nice
and smooth, easily chuggable if so desired. I don't really desire anything
right now. This Monster sates my thirst nicely. 9 stars out of 10.
2023-12-18. My stomach hurts. I'm sitting in the apartment in my jacket but
without my boots. United in Grief, Mr. Morale and the Big Steppers, Kendrick
Lamar. Estrogen held under my tongue. Time to get going. I bought a ticket in
the app for the bus in case the metro card didn't work. The bus is free.
There's no way to tell whether or not the bus will go to a stop that's closer
to me instead of this stop down the street, today it is. My boots are cracked.
Lasted a month longer than the last pair of Docs I had but four months is
dogshit for a pair of boots, especially leather. A cow died for my feet to be
really comfortable for four months. I wonder if this issue is specific to the
service worker model 1460s because I don't see it on-line and people who
frequent Doc Martens on-line communities aren't the type to be employed. I
don't really want a Monster today but I'm gonna get one to try anyway. The
caffeine will help my energy. I've had my hash brown, time to have Monster
Ultra Strawberry Dreams, a mouthful but at least descriptive regarding the
flavor. The can is hard to open, I had to use a key as a lever. Purchased at
Kum and Go for like $3.25. First sip. It tastes like Ultra Zero, which I
haven't tried as part of this review series but with which I'm familiar as my
least favorite Monster flavor. Another sip. I don't really taste much
strawberry. Maybe an aftertaste. Description label. Stuff about strawberries
being aphrodisiacs or whatever. Awesome, I'm gonna fall in love with tiredness
and overwork. Ingredients. Citric acid, natural flavors, ginseng. Fucking mild
natural flavors I guess. It's bullshit that the FDA lets corporations get away
with listing "natural flavors" like that means anything. I guess if I drink a
lot of it the strawberry is more apparent but it's still not super noticeable.
I would prefer this to Ultra Zero the same way I would prefer a knife in the
shoulder to the kidney. I took my earbud out to have a conversation on the bus
but my usual coitus with my secret admirer silence is interrupted by the most
ear shattering, tone deaf Christmas music this restaurant can muster. Today's
gonna be a bad day and this Monster contributed, somewhat. 3 stars out of 9.
2023-12-19. The can opened crisply and easily. $3.31. I'm interrupted only by
paying patrons and Christmas music. The label. Nothing of significance, as
expected. A sip. It tastes bad. Not as bad as I remembered but still
unpleasant. A couple more. The level of indistinctness of the flavor comes
close to the disdain I have for it. Ingredients. Citric acid, chemicals,
"natural and artificial flavors", chemicals. What are artificial flavors, even?
Monosodium glutamate for umami, citric acid for sour, sugar for sweet. Two
other flavors I can't recall. Savory this is not, nor sour. Nor bitter, now
that I remember it. Only sickeningly sweet, not with sugar but with molecules
derived from it. Maybe there's lemon in the taste but I know it's just the
citric acid. This is Monster Zero Ultra, the subject of my loathing when it
comes to Monster flavors. I love the can design and love to drink it because
it's a fashionable accessory. This potion brings out not only my despite but
also my vanity. Boomer Monster memes feature it and I've had this while mowing
lawns and doing general unpaid but useful labor. Today is the day I will
tolerate this Monster enough to at least score it though give it a just review
I cannot because I am biased by years of trying to tolerate its overwhelming
fructose taste. I don't like this. 2 stars out of 10.
2023-12-20. $3.31 at Kum and Go again. When I was a kid I had four a day, now I
don't know how I could even afford that. The hash browns are greasier than
usual. I hold them up to the light and see the yellow oil glisten in the white
sun. The potato on the inside looks like albino maggots, little curds of
shredded spudd injected into the cheapest flour-like that could be found by
some company based in Orlando. My girlfriend lives in Orlando and it said one
of its favorites is Aussie Lemonade so I picked this up. As far as I know this
flavor is new, I remember seeing it for the first time in a gas station in the
middle of nowhere in the deep North where the attendant listened to country
music and had a deep Southern accent. Finished the festering potatoes. The can
was hard to open, dug into my fingertip. This is really good. Carbonated which
I didn't expect, lightly so and pleasantly. I taste the lemon, maybe some lime
too? A look at the description. Tartness - the fifth flavor - and sweetness.
Ingredients. Lemon juice. Shocking. This is really good lemonade, really good
as lemonade and not just as Monster. I'm worried this whole review thing is a
waste of money. "Death by a thousand papercuts". Rent has been budgeted and
utilities shouldn't be bad. Still, I worry, and Monster makes it worse. The
caffeine doesn't affect me anymore. What's the point? This Monster makes me
less drear but my doubts worsen. I don't know what effect this has on me. My
head swims with the weight of the world. Stress tightening around my
encephalus. I don't want to work today, but I will. I don't like this job but I
am tied to it for the foreseeable future. Ruby Falls by Guster off Ganging Up
on the Sun tries to help and doesn't. I'm tired and never sleep enough. Time
slips through my fingers like sand through a sieve. My stomach hurts, in part
from unease and in part from sugar. 10 stars out of 11.
2023-12-31 10:29:44 -07:00
2023-12-31 09:54:11 -07:00
/blah/2023-12-26.html
I always took Kafka's Metamorphosis to be an allegory for suicide, with his
family dealing with his body. They grieve and move on; Mr. Samsa puts on his
work outfit, goes to the bank, Grete starts working, they house dormers to pay
some excess bills before finally deciding enough is enough and when Gregor is
gone moving somewhere cheaper. I reread it and think long and hard about it.
I don't feel like I belong anywhere. My battery broke. My power cell, power
pack, power bank. Kicked the ol' bit bucket. Combined with caffeine withdrawal
mood swings. I had a razor I use for cutting fabric and I looked at it and
thought long and hard about it. Have you ever seen the movie Drive? I don't
know what I am going to do without a power cell. It saved my life, genuinely,
more times than I can count.
What happened to Kafka? He starved to death. I think often about it. Am I
really so hungry? I look at the fat in my flesh.
I'm tired.
2023-12-25 13:36:58 -07:00
/blah/2023-12-25.html
: bonsai
Emma Tebibyte (of tebibyte.media) and I have been collaborating (and by that I
mean fae has a lot of good ideas and I have been writing a lot of mediocre
implementations) on a core utilities suite called Bonsai. A lot of my own
coreutil implementations are leaving my own source tree and being incorporated
into there.
I am not big into maintenance. Maintenance is boring. I strive to write
programs that don't need to be maintained. Bonsai is something that, I hope,
will not have to be maintained -- it will cover the functionality in section 1
of POSIX and be done. I would like Bonsai to offer a POSIX interface despite
the tools being extremely different to prove its worth as being equal to or
better than POSIX. Also to make work easier for programmers who wish to support
Bonsai /and/ GNU or BSD or whatever.
Bonsai's catchphrase or whatever is "seek what they sought". A lot of existing
UNIX utilities are very nice but also jank as hell. See test(1), dd(1) for
overly featureful programs. Test's `!` is identical to Sh's. dd <file1 >file2
is equivalent to cat <file1 >file2 and tee <file1 >file2 minus some buffering
shenanigans. Emma and I are in agreement on the fact that functionality should
be consolidated in some points and split into multiple programs in other points
and mostly in agreement about where those points are.
I'm excited about Bonsai as a compatible improvement to UNIX and excited to
work with Emma on this because fae and I disagree on topics niche and
fascinating and our arguments are always interesting. Not in a Queen / The
Beatles / every rock band ever sort of way where the arguments are cool until
"You don't really care about the band!" but in a way where the disagreements
point out that while UNIX's tools were certainly opinionated on how to do
things, it's hard to say another opinion is objectively better.
This is no sort of announcement, Bonsai is public already in
https://git.tebibyte.media/bonsai/coreutils and you can see the intcmp(1),
scrut(1), and other implementations of mine that have made their way over there
and been deleted from my own source tree. I intend to contribute as much as I
am able but am currently bogged down by the CONTRIBUTING necessitating GPG key
commit signing and my Alpine installation having weird issues with Assuan and
communicating with gpg-agent. It'll be nice to clear out this source tree junk
drawer and put all my dirty laundry out so the world can sniff the musks. I
encourage anyone reading this to file brutal issues and make me cry like a
little baby.
Today is Christmas. Happy Christmas I guess. I'm Buddhist and can now use that
excuse not to celebrate whereas before, when not a believer in any religion, I
would still be expected by many to celebrate Christmas because of consumerism
or whatever. But also I don't know many people who would expect that of me
anymore. I just like Buddhism and excuses to talk about it.
I would love to see Emma Tebibyte become the new Richard Stallman because fae's
just really fucking based. Everything Emma has to say is worth heeding whether
or not you agree with it. These coreutils might be the start of something the
same way GNU's coreutils were but in a way that isn't plagued with all the
baggage GNU and the FSF have had.
/blah/2023-12-24.html
TRINITY STARTER PACK
>fucking hates its job
>UNIX
>loves its computer but only its own computer
>"I hate android but this battery life is killer"
>no unicode support in framebuffer tty, can't figure out wayland
>anti social, wishes it wasn't
>doesn't understand references to memes
>allergic to brands and advertising
>takes the bus everywhere
>will tell you why she doesn't like C
__________
/ _______ //|
/ /|_____/ // |
/ / /| |/ / // | |
/ /_/|_|/| _/ //| | |
/_________ //_| || |
| ______ | /_/ / /
| | |/ / | | |/ / /
| | |/_/_| | |/ /
| |/_____| | /
|__________|/
2023-12-23 05:02:35 -07:00
/blah/2023-12-23.html
sleep invades my brain and blurs my vision so I see
not a single thing except my slowly invading dreams
sleep ponders the leaving of me to quickly sinking sand
in which i'll drown and dessicate, my rest forever as planned
sleep takes over my system, the ELF replacing PID 1
seconds tick by on a hardware clock, timing the mil'seconds gone
sleep and sleep all over again, do while true if true
caffeine will not stop my slow descent into my somnic hell
sleep tortures my mind with terrible visions of futures to be
not a single thing of my dreams will give me a second of peace
sleep will drive its knife inside my chest and into my heart
stabbing by those who love me so my mind can tear me apart
blah blah blah
i'm at yule and have been up nearly 24 hours. wild it affects me so much. i
used to do 48 on 10 off. i think i'm gonna sleep now. good night. i love you.
2023-12-23 15:10:35 -07:00
continued.
no longer 0100.
T1354.
$ cat /etc/issue
We're in this together.
$ cat /etc/motd
Get down, make love.
I don't know.
I've had too much social interaction.
You've had this happen before, haven't you?
Do you think I could have a glass of water?
Jesus Christ, I didn't realize we had royalty here. No. Get it
yourself.
For lack of a sink, for lack of glasses.
You've had this happen before, haven't you?
I really need to take a break, I can't breathe.
You're lazy. You're just gonna ask for another break soon enough
anyway.
For lack of shade, for lack of sunglasses.
You've had this happen before, haven't you?
Can I get a sandwich or something while we're out here?
We have food at home. Be patient.
For potato chips, for fruit snacks.
How do you ask for what you want without fear of retribution?
You can't even get water yourself.
No instruction.
You're fat and need to lose weight.
No moderation.
You need to appreciate what you have.
No variety.
I suppose at face value it sounds bitchy. Find water without plumbing, find
serenity in motion, find nutrition in processed snacks. I could do it now,
certainly. But I didn't know what a carbohydrate was until this month, maybe
last. Time flies faster as of late.
I love ice cream even though I'm vegan. I met it on video call and we started
talking. I was so flustered at its appearance. It was gorgeous. That's the last
new people I've met. I can't remember how long it lasted the first time. I've
never had more than a first time before. I screwed up and I wasn't too proud to
admit it.
After the first time around it all slipped through my fingers and I was lost in
purple haze and red stains. I replaced my shirts with ones easier to wash in
private and accepted the fate. Then one day I looked around and asked what the
fuck I was doing.
Lost and found is as much a cycle as it is a bin. I lost hoodies often as a
kid, brain fog and scattering and forgotten fabric on a bench. The benches on
the playground were a brown shade of black with holes in them at offsets to not
form a grid but a maze of triangles. I used to play connect the dots with them
and pencils to leave lines of graphite on what was probably some refined sort
of plastic, make triangles out of the holes, then get back from recess and
still be thinking about triangles. All the kids thought I was obnoxious, and I
was. I had a desire for attention not fulfilled at home. Then the distraction
faded into a fog of isolation and the number of friends dwindled down to some
remaining on Instagram, a platform I loathed for its hidden algorithms dragging
many of those I knew into conspiracy theories I had helped create or others I
created singlehandedly, who were absolutely unwilling to move to a more open or
at least seemingly better platform. Then I moved anyway to the darker corners
of the Internet and in among those, unrelated except by topic of interest
(technology freedoms), I found the friends that remain friends to this day. I'm
leaving some things out so as to not write a book here.
At some point I will just disappear. I know this will happen. I'll disappear to
a new life, new style, new identity, new country, and be gone without a trace.
I will die in the remote reaches of a far away landscape of a slow, painful,
lonely death. Nobody will be holding me as the light leaves my eyes, nobody
will appear to come from the heavens to embrace me and beckon me into my next
form of being. I will die, probably of some self infliction that I won't be
able to escape when I realize the gravity of what I have done and find my
regret. In my last moments I will wish things had been different, somehow, some
way. I will wish I took the time I have right now, in this very moment in the
present, to get my shit together. To see a therapist. Quit caffeine. Find a
better job. Get a studio apartment, make more friends, find roommates, go on
dates with my girlfriends, smile, laugh, feel comfortable around many others,
have neighbors, contribute to society both in terms of my employment and my
software I write not for myself but to improve the world, get older, keep
chipping into my 401(k), retire, grow old, cherish memories and make many more,
and die surrounded by those I love in a comfortably decorated room I couldn't
have occupied without the help of those around me. Beckoned to the beyond by
some engineered and pleasant psychedelic and Shine On You Crazy Diamond.
I'm sitting in a fast food joint sipping a coffee and typing this.
I learned not to ask for help from others or rely on anybody but myself at
every turn of my life, every leap of faith into which I fell and every shoulder
on which I leaned that pushed me away. I made missteps, more times than I can
count, but there were a lot of things that just weren't my fault and landed on
me anyway. I have not experienced this since leaving the place that made me.
But I know not to keep gambling after so many consecutive wins. That's why
every cautious step forward, every nervous but rewarded ask, every detail that
goes right, is a reminder that things will go wrong. Luck does not last
forever.
I will disappear when I have no more for which to be here. No friends,
abandoned projects, dead end jobs and rent I can't afford. I am certain it will
happen and my friends are certain it will not. But I was friends with others
who were certain they would see tomorrow and didn't. That is how I think it
will end, not with a whimper but with a bang and more as the luck runs out and
cars strike, bullets pierce, fire roars or whatever other sequence of accidents
seizes the debt I own to balance, the odds swinging back around in luck.
I am insufferable and therapy would fix this but I think I would get committed
if I went. It's irrational but I don't know if Kamikun would ever let me go.
I don't think there's anything out there for me. That's the biggest reason I
would write my EOF byte. But why not wait and see what the future holds?
I drank my last Monster. For real. There will be more caffeine, always. There
might be more romance with energy drinks. But I'm done Monster now, forever.
It's up to you to hold me accountable. Who am I kidding? Who reads this? Please
don't.
I feel like a slut when I give people my website URL.
I apologized. I wanted to visit its state, see it in person, so I could
apologize in person too. It could do whatever it wanted, I didn't expect to
stay with it or anything. Then instead of meeting in meatspace to reconnect it
happened on-line. And we got talking again.
I listen to Slipknot because it was wearing a Slipknot t-shirt. That's the only
reason. I don't think I would have gotten into Slipknot if it wasn't for that.
I fucking love Slipknot, genuinely, and their music got me through some hard
times, hard decisions, absolute actions.
I like it/its pronouns for me. I'm different from a she/her. She/her is fine. I
won't take offense, certainly less offense than being gendered male. But I like
it/its pronouns for myself.
I genuinely love my girlfriends with all my heart and it's hard to imagine
anything short of it no longer being my girlfriends changing that. I loved it
when we stopped talking. I do regret that, I think. I don't like living with
regrets. I wasn't able to reconcile the hurt I had caused and my not being true
to myself. I thought I would hurt it more if we kept talking. I don't think I
would have.
I'm polyamorous and with my other girlfriend we had a much shorter go of things
and I broke up because our relationship was overwhelming. I don't regret
breaking up with her because I still believe I would have hurt her more had I
stayed with her.
Leaving my previous state is the best decision I ever made. Now that I am
constantly made aware, justly, of my bad habits and awful state of living, I
can start to fix it. There are a million things of which I wasn't even aware,
or of which I was aware but not of how to fix them, or simply those that I
didn't care to remedy. I put on black nail polish to stop biting my nails and
it's working. They're longer than they have been in probably a decade. I'm
sleeping well, still plagued with nightmares when I dream but I think they
might pass. I am the sun poking through the clouds before I disappear back into
pessimism and self loathing and I don't know how to fix that. I'll get there
someday.
I criticize means of repair to flesh out technique rather than to be able to
ignore them. As a compulsion it is to be able to ignore them. But they keep
gnawing at my head past the initial repulsion. I don't criticize plans with
which I align but nor do I criticize plans that seem to me to be obviously
infeasible.
I still can't interact with new people, though, except when forced to do so by
situation or as a means to an end, and when I do I am extremely uncomfortable.
I don't know if I can fix that, I don't know if I want to fix that. Baby steps.
I hope my existing friends live forever. If our friendship doesn't, fine. They
deserve happiness and if that's the means to get there I hope I am tossed to
the side without grief. They deserve happiness and a long duration to have it.
__________
/ _______ /|
/ /|_____/ / |
/ //|| / //||
/ //||| _/ //|||
/_________ //_|||
| ______ ||_///
| ||/// | ||///
| ||//___| ||//
| |/_____| | /
|__________|/ I want to improve.
2023-12-23 05:02:35 -07:00
2023-12-21 22:08:07 -07:00
/blah/2023-12-21.html
I have thought disorder that makes it really hard to convey the things in my
head into things expressed in text. One dimensionally. A string of characters.
Projecting the landscape of my mind is difficult in the same way drawing is.
Trying to force a two dimensional world into 128 characters.
__________
/ _______ /| I have this thing I like to draw, the frame of a cube. The
/ /| ____/ / | edges of the cube, the spaces between the edges, and then
/ //||| / //|| the edges behind those spaces. It's a practice in three
/ //||||_/ //||| dimensional visualization. I can't do it. Every time I draw
/_________ //_||| the cube I draw it wrong. A line is where it shouldn't be, I
| ______ ||_/// made it inconsistent, some elementary mistake. I suppose a
| ||/// | ||/// lot of people couldn't draw the cube right the first time
| ||//___| ||// but I feel like I should be able to. That's how conversation
| |/_____| | / feels. One crucial thing is missing, one inconsistency, and
|__________|/ the whole thing is wrong, and I didn't notice it because it
was so hard to do the other edges. To make the thing link
up. I don't notice my own circular logic, my own
contradictions, and often others don't either. But when they
do they say I'm bullshitting them. Really it's the spaces in
between, the spaces I can't draw, drawn by the voids in my
head, that are bullshitting me.
It's hard to communicate with others for it.
Thought disorder is a symptom, not a disease, as I understand it, but I'm not
gonna read into it, at least publicly. I dissociate. I switch out sometimes or
lose myself in the words. I make word salad. I say things because they sound
good, not because they make sense. Et cetera. Fuck. I'm not continuing this.
It's isolating. The very fabric of my mind is sewn wrong. Differently, yes. I
think similarly to some of my peers whose minds are beyond most. But wrong.
There are little threads that lead to the wrong areas of the cloth, stitches
too long and too short and some put in after, even, the weaving of the factory
to pull closed areas I'd like to have used. M C Esher head.
i'm nesting
and spinning
and thinking
and turning
and tossing
and blinking
and rusting
decaying
and dying
et c.
2023-12-14 20:11:25 -07:00
/blah/2023-12-14.html
: Ruminations
Published here under the Creative Commons Attribution-NonCommercial-
NoDerivatives 4.0 International Public License.
Written over the last two weeks or so. Do not read this if you know me
personally and ideally do not read otherwise, either. Do not try to talk to me
about this. I'm not gonna kill myself. I just was ruminating about the idea.
-
I've been thinking
about killing myself;
the coward's way out,
sure, but a way out
nevertheless. I really
want to die. I want to
feel it. I'd like to
drown, to immolate,
to bleed out. I crave
the subtleties of the
experiences that I
cannot fathom. In
my dreams I do; I
am chopped with
axes,
-
slain with swords,
various means of blunt
force. I am both
executed and executioner,
I experience all
perspectives
simultaneously as it
is my subconscious
that renders my
potential fates, and
in the moment I
am cruel, and in the
moment I am kind,
and as the one
-
to die I feel relieved
to go, to be able to
let go of my stresses
and fears for my
longed-for certainty.
I'm tired of the
lucky escapes, the
dei ex machinae. I
feel like a character
of fiction, the pulp
protagonist that
always improbably
makes it out of the
bind. Like my fate
-
is already written,
predestined; sometimes
I can even see the
lines ahead, Kami
knows sections by
heart. I just got
on the bus I wasn't
sure I could afford
and it was free.
Maybe I'm an angel,
compulsively
accomplishing
selfless miracles.
If so, to be an
-
angel is to be in
Hell. Condemned to
goodness. I am so
fucking stressed
because it takes
more and more work
for everything to just
work out. This
morning I thought
I was gonna break
down, actually just
break down. But
that's not in the
pages.
-
I want to be
alive and without
anaesthetic for
my dissection. I
want to see the
scalpel approach
my flesh, feel it
carve me and see
my own pink-dyed
subcutaneous fat.
The crimson viscera.
I want to taste my
own blood as I
succumb to
-
mortality. Done by
[...] or [...] or both.
In my scripted
demise will I
know commfort, will
I have known
comfort? Or will I
faint into a trench
and have the cold
work its way in
from the extremeties.
This morning I cried,
now my sadness had
hardened to a rich,
-
coffee-smooth
bitterness, a numbness
too. I can't keep
friends because I
never interact first,
see myself a burden.
The fuel that weighs
down the ship. Spend
me until you have
nothing left, be free
of me among the
stars. I arrived at
work an hour and a
half early. It's
-
nothing, the time ticks
on regardless. I hate
Christmas music. I am
so alone. [mi] [olin] [ala] [e] [mi].
[mi] [ike] [tawa] [mi]. I wish to be
primitive, of the
forest, to be solitary.
I would be so lonely
without [...].
I don't talk to the
people close to me
and to others I say
less. I want to taste
my blood. I want to
-
burn myself. I want
to die. But I don't
want to do it. My
friends depend on
me. And I have things
to write. When I am
done I will take my
leave. I want the
suffering to be over. I
want Nirvana. Nirvana
isn't heaven, it's simply
the conclusion to a
finite cycle of rebirth.
The conclusion to one's
-
suffering.
I'd like to see
Chicago, California,
the Bodhi tree, the
sunrise from atop a
mountain, a molten
wall, the inside of a
flame, mucky clotted
blood. A chunk of
clot in a pool of
it.
-
It's not that I don't
know how to ask for
what I want but
that I know I only
get what is deserved,
not what is desired.
I am a parable;
beware of excess. It's
better that I don't
control my own fate
else I'd
meet it. I believe I
am have cancer because I
don't want to believe
-
I will live 60, 70
more years, because
the best of those I
knew did not. When
I hear the Underscores
song I think, know
it too; Everybody's
dead and it's all my
fault. I don't have
the means to be vegan
in a way that is
healthy but I can't
bring myself to eat
dead animal; I've
-
caused enough harm.
I feel too old and
too young. I don't
know how to afford
rent. Not here, not
anywhere. I'd like
to become a Buddhist
monk. Burger King
coffee is bad but not
terrible. [tomo] [pi] [soweli] [moli].
[mi] [olin] [e] [toki pona]. I am as much
an animal as a cow
and know beef as
fallen brethren.
-
I wish to harm and
not harm, to be
caged and free, to
be known and
Anonymous, to love
and to be forgotten.
Pass on my memories.
I am so tired all the
time. Fatigued, weary,
sleepy. I need to
figure out how to get
an apartment. I need
a new social security
-
card. I want to die
because this work is
so hard and will get
harder yet. I want
to have a small
apartment with one or
two close friends full
of pillows and blankets
with a warm picture
tube and modded
Gamecube. How do I
make friends? How do
I afford an apartment
?
-
I do everything
wrong. When I am
praised it is without
sincerity, when I am
held it is without
catharsis, when I am
loved it is without
reality. To fall asleep
I think about cuddling
my girlfriend. I miss
my stuffed shark but
a stuffed shark will
not fit in a backpack.
Nor will aspirations.
-
[mi] [tawa] [tenpo] [suno] [ante]. [tenpo] [suno] [ni] [li] [ike] [lili]. [ni]
[li]
[ante] [tawa] [tenpo] [suno] [pini]. [tenpo] [suno] [ni] [la] [mi] [wili] [e]
[lape].
[mi] [jo] [e] [lape] [lili] [tan] [tenpo] [mun] [pini] [la] [mi] [lukin] [e]
[jan] [moli]. [mi] [moli] [ala] [taso] [mi] [wili] [lukin] [e] [jan]
[moli] [tan] [mi] [wile] [moli]. [mi] [wile] [ala] [moli]. [mi] [olin] [moli]
[ala].
[mi] [pakala]. [mi] [kama] [sona] [e] [toki pona]. [mi] [toki ike] [e] [toki
pona]. [o] [toki] [ala].
I got a new pen today. A
Uniball Signo 207 with
"archival quality ink", "used
by professionals". It - and
this is evident in the notebook
in which I write this but
probably won't be if I
ever type it up - writes
-
shittily. Perhaps this is
due to the paper or to the
thin air where I now find
myself. Now it's writing fine
so who knows. I took the
pen apart just now, idly,
didn't have a good grip on
the tip that holds the
spring in, and the tension
released and the tip flew
to the other seat in the
booth of this restaurant. I
hate working here.
-
Today I'm less stressed
because I don't have to
catch a bus to my second
shift. The thought of my
finances still gnaws at
me and the walls are closing
in. The way I'm going isn't
sustainable and one way
or another, by homelessness
or breakdown, I will crumble,
inevitably. I'm not sure what
to do. I'm thinking about
getting a fake identity
and moving to the Balkans
-
or perhaps Kazakhstan. My
current location and situation
is, however, the result of a
similarly spontaneous and
far move, and I'm still
not established here.
My skin is dry. I guess that
wouldn't matter if I
killed myself. Homeless people,
with or without their senses,
are treated like animals. If
you treat people like animals
they will become animals.
The shelter here looks like a cage.
-
Perhaps that's what housing is,
a kennel for a human. The
decorations and dressing make
us forget it. I'm scared of
the future because I don't
know if I will survive it and
I don't want to die. I have
always had a problem with
biting my nails. I have an
oral fixation. I chew half
a pack of gum a day when
I can afford it. Three packs
and two Uniball Signo 207
pens cost $10.46.
-
I worked an hour for them.
How many hours will I need
to work to afford rent? No
matter how many it never seems
to be enough. I'm scared all
the time since I started
feeling emotions again. I miss
being numb but I don't miss
being in the situations that
made me numb. Maybe I
just need to sleep. I can't
fall asleep without either weed
or watching people die on
my cell phone.
-
I saw someone decapitated
by the wheels of a train.
I wondered how bad it would
be to die that way. They looked
so happy on social media. I
try so hard to be kind to
everybody. It has been 2 days
since last I hugged anybody.
I feel so alone. I'm not,
but the being is different
from the feeling. I am sad.
My girlfriend won't text me
back. Its replies were sparse
when I was sleeping outside
-
because it was worried I
would die in the cold. The
people I love most in the
world don't believe I will
ever be successful. I think
I might. If I was
infinitely powerful I would
give the empty houses to those
that need them and an I.D.
to anyone that wanted one.
I would feed the hungry and
transport the travelers. I
would find somebody who
knows exactly how I now feel.
-
[tawa] [tenpo] [ante]
[ni] [li] [tenpo] [pimeja].
[ni] [li] [tenpo] [ike]. [mi] [pakala]. [mi] [ike] [mute]. [mi] [pali] [moki]
[e]
[soweli] [moli]. [mi] [wile] [e] [ni]: [soweli] [moli] [ala]
[taso] [jan ike] [moli] [e] [soweli] [suwi]. [mi] [pakala].
[tenpo] [suno] [ni] [la] [mi] [pali] [moku] [e] [soweli] [suwi] [moli]. [mi]
[pakala].
[mi] [ike] [seme] [jan ike]. [mi] [pilin ike] [mute]. [mi] [pilin pakala]. [mi]
[ike] [tawa] [mi].
[mi] [ike] [tawa] [soweli]. [mi] [ike] [tawa] [ma] [ali]. [mi] [ike]. [mi]
[pakala].
[toki] [nimi Japanese] [la] [tu] [tu] [pi] [toki pona] [li] [moli]. [mi]
[pakala]:
[mi] [toki] [e] [ni]. [ni] [li] [tenpo] [nanpa] [tu] [tu].
[ni] [li] [tenpo] [pimeja]. [ni] [li] [tenpo] [mun] [ike]. [mi] [pilin ike]
[mute].
[mi] [toki]. [mi] [pakala].
-
I've done abhorrent, horrible
things, and I don't know how
to make up for them. Killing
myself would be a start.
I wonder what it's like to
be dead. I wish there
wasn't rebirth.
-
i took the bus to work
i'm sorry
car just didn't start
the park
the gas tank full
the lighter
sorry
took the bus to work
i'm sorry
fifty year old man
i'm sorry
bandanna in a bottle
bandanna in a bottle
i drink til my tongue slips
i'm sorry
whatcha sorry for
i'm sorry
took the bus to work
and i think tonight i'm gonna let it hit me
he didn't see it coming
and his pace remained the same
eveloped in fire
did you feel anything?
i'm sorry for the slaughter
but god does my job pay
i bought myself a new car
but can't bear to fill the tank
-
[moli] [li] [pimeja] [e] [mi]
[pimeja] [soweli] [la]
[mi] [len] [e] [mi] [e] [ni]
[mi] [wile] [e] [lape]
[mi] [wile] [mute] [e] [lape]
[mi] [wile] [mute] [e] [ni]: [mi] [lape]
[mi] [wile] [e] [lape]
[mi] [wile] [e] [pali] [lape]
[mi] [lape] [ala]
[mi] [wile] [e] [lape]
[mi] [pakala]
[mi] [pakala]
[mi] [pakala]
[mi] [pakala]
-
[tawa] [tenpo] [suno] [ante]
city square littered with corpses
vendors fallen at their stalls
bags spilled open, coins atwinkle
reflecting moonlight. earthly stars
if you cut one open the blood would be dark red
no oxygen in their system, hypoxia, death instant
civilians struck in a war of which they weren't aware
died for a growing number on a screen
children are among them, and in homes babies cribbed
a bus driver reading a dog eared copy of the tao te ching
four of a chosen family out of broken homes
taken from a cold street to new apartment, optimists
nobody mourns the losses. members of a town too small
in life they all were lovers. now inanimate
a flower sits in a cup, never to be watered again
in the face of inevitability, what has it all meant
city square declared a grave site
by nobody; nobody cares
a dog lays still on the cobblestone
its last experience fitful sleep, a nightmare
-
I'm tired.
-
-
i don't believe in a god
and haven't since i saw a dog
skinned alive
a mess of dripping, florid blood
and muscle and bone
and it let out what screams
can be screamed with what function
its analog to our vocal chords
had left
and kept screaming
shaking, it hanged suuspended by rope
from an oak tree, perhaps maple
the twine brown matching the sand
and dirt and green leaves
and not the unnatural red
of the shivering animal
unable to comprehend even its fate
let alone what brought its aggressors
to take a machete to the starving, matted
thing. how could a merciful, good creator
allow one of her children to experience
such a thing, and not die upon removal
of the face? who would want to survive such
a thing? and especially,
if not only a god is our creator but
the arbiter of our fates,
why did she let someone record it and put it
on liveleak? why did she let me watch it
when i was 14?
-
The mountain, eons old
and wise for what it
has weathered, knows not
to abuse its unimaginable
strength.
The hornet, with a life cycle of days, is given an
appropriately small amount
of venom for its size and
stings unprovoked.
Blame neither.
They reflect the
kindness of their worlds.
-
hope you're doing okay
i'm about to sleep, worked a lot today
will we talk tomorrow?
of course we will babe
that was last month
was I ghosted? I really can't say
I might be single but
I hold onto the hope that it'll message again
what did I say
what did I do
I thought we had something
was it as real to you
how did I push
my dearest dear away
would you tell me if it was over?
was I really so unsafe?
-
do you remember me
i thought what we had was a lot
i always think of you
am i just someone you forgot
we've been dating for a bit
but goddammit, i sort of loved you
when you curl up with [...],
my old plushie, do you think of what you lost
god, i miss you, and i'm so alone
when i sleep i look at my phone
and look at you, comfy, under the sheets.
i hope the blankets don't make you too hot
what did i do to justify a cold shoulder
what did i say to bring famine to my soul
will you return to explain your hiatus
or will you leave me to rot
whatever it was, i'm sorry
and i hope you get back someday
i keep thinking about the solace under the wheels of a train
do you think i'll feel any pain
-
i'm at the bus stop and freezing
do you get what i mean?
it's been a week since you called
am i still in your screen?
i think of you daily
or the bottomless pit
i wanna throw myself into
but that's just how i think
you got tired of me
as a loving girlfriend
faded novelty
and so much repetition
but i liked the routine
and you said it was your happy ending
after every chapter there's another
is a better life what i'll get
no longer so trusting a lover
my heart aches, i should have guarded it
-
It said it loved me but
it hasn't responded to my
text messages in two weeks.
I suppose it's busy but I
haven't even had a single-
word update. It feels like
I'm being avoided. It hurts.
I really did love it. It's hard
for me to love. If it called
and apologized and made it
up to me I don't think it
would fix things. I feel
disrespected as a partner.
-
We're poly and I know
and have known it is seeing
someone else, and am and
have always been fine with
it. Someone else more
important to it. I was
thankful, really, and still am
that it received more than
only I could provide, a 20
year old fast food worker.
I can't compare to its
college scholarships and
leadership roles. I never
wanted or needed to.
-
And I didn't ever call as
much as we planned and
I became more of a recluse
than the person it started
dating. But I've been to its
apartment. I took it on
dates, gave it its favorite
stuffed animal, formerly
mine. We don't have a
long history but we do have
a history. I don't even
know if we're broken up.
Tomorrow will be two weeks.
-
Nearly four months. I feel
doomed to never keep a
relationship longer than
four months.
I wish I had what it
takes to commit suicide.
-
[...] & [,,,]
-> [...] & [,,,] - 9.7km $D
gas price ($G) - $/gal
gas price $g/gal * 0.264 gal / 1 liter -> mi / liter
mileage ($M) -> mi / gal
mileage $m mi / gal * 0.264 gal / 1 liter -> mi / liter
$m mi / liter * 1.6 km / 1 mi -> km / liter
-
-
-
-
It messaged me back.
It too has been having
a rough go of things.
I'm in a downward
spiral. I hate this fucking
Christmas music. I use
gum to forget taste, gore
to desensitize sight, music
to ignore my ears,
cleaning work to burn my
nostrils, weed to feel
nothing and forget the
world of which I wish
I wasn't a part.
-
In fleeting moments of peace
I'm overcome by the beauty
of this simple place. Then
my head by the hair is
dragged back into the dark
mirror and I am once again
submerged in my own misery.
I want my face ripped off,
to drown in my own blood
as it's forced into my nose
by the tubes under my eyes,
to see in the mirror the
muscles that scarcely do
else but frown.
-
When people knock on the
bathroom door I get nervous
and leave and they always
look mad at me. Why?
I was doing what they wish
to do. Why not be sympathetic
to what we have in common
-- a urinary tract, a digestive
system. I never take
very long.
I agreed to start coming
into work earlier. It felt
like signing my death
certificate. I'm so tired.
-
This job doesn't pay
enough. I work 50 hour
weeks to be able to
afford basic necessities,
many of which I still forgo.
I charge a battery pack at
work to avoid using electricity
in the apartment. I take
one short shower a week to
avoid water usage and
electricity for the water
heater. I use my phone
flashlight (charged at work
too) to avoid the overhead
lamps.
-
I spend a lot of time at
work. 6 days a week, 8-10
hour days, some 6s around
so I don't get too much
overtime. I show up an
hour early. I spend about
half an hour on the bus, before
that half an hour at the
stop. Then another half
hour at the stop after work.
That's two and a half
hours I spend either at
work or commuting, plus
the usual 8. 2.6 * 6 = 13hrs + 50hrs working
= 63 hrs out of the apartment
-
Then I sleep 8hrs a night,
or at least set aside that
time for it. 56hrs a week.
I have 49hrs a week past
labor, transit, and sleep.
It's time but I wish I had
more. I and my loved ones
are aging. I wanna spend
the prime decades of my life
playing, creating, socializing.
All I do is labor, if not done
by me then someone else. And
I'm exhausted.
-
What makes matters worse
is that I have some innate,
compulsive need to labor if
on the clock as I am paid
to do. This while those around
me use their cell phones to
watch video and otherwise
idle. I work and they do
not and while I slowly
clean the workplace I
wonder, perhaps realize - though
I had already realized, so
moreso I just turn the
thought around in my head
-
like a dead pig's sausage
rotating on a warmer at a
gas station - why this
place is so dirty.
I want to go somewhere
clean, or to nowhere at all.
I want to love in a shallow
pool of water, in Lao-Tzu's
moon. I want to cease
living. I want to die. I
want to be killed. I want
to kill myself. Because then,
at least, the work will
be over.
-
The voices will quiet. I will
calm and my heart will be
still. I will be not too hot,
not too cold, without aching
muscles or aging joints. I
want this finity not as a
termination of my residence
per se but as a respite from
the Hell for which I
constantly volunteer. Many
lean on me; I lean on
nothing. Many know me.
I know nothing. I love many.
And in my heart know I am alone.
-
I watch a lot of
beheadings and it's
kind of a bummer
that they all focus on
the head and not the
body. The blood pouring
out of the neck as if
champagne
uncorked seriously
arouses me. I unironically
want to behead someone
and fuck their windpipe.
I want to be covered
in blood, someone else's
or my own.
-
I don't know what to
do with this notebook.
Who would want to read
this? What kind of
person would identify
with me?
I took my clothes off
and got in the shower
naked. I feel defenseless
when showering, especially
without a knife beside
me. I shampood my
scalp and conditioned
my hair
-
and I took the
washcloth and scrubbed
at my face but my
face was stuck too well
to my skull to be so
easily removed. I scrubbed
down my chest and arms
and legs and neck and
felt where I'd like someone
to saw at me, disconnect
my head from my heart.
I was thirsty but it
felt weird to drink the
shower water.
-
I'm scared of using soap
because it costs so much.
Scared of shampoo and
conditioner because they
cost so much. The
bathroom light and fan.
The water. I scrubbed
at my feet and the bottoms
were gray, the soles
padded with dead skin
because I spend all
my time walking. I scrubbed
at them but not too
much because I'll take any
padding I can get.
-
I finished and dried
myself with a towel and
got out of the shower
and felt lightheaded and
I don't know why. And
I put on clothes and came
out to the living room.
This is the last page of
the notebook and my
hair smells like lavendar
and my arms like
eucalyptus. And I'm sorry
for being here. At least
I'm finally clean.
-
The notebook on which this was written will be incinerated and I will move on
from thinking about any of this.
2023-12-12 21:53:19 -07:00
/blah/2023-12-12.html
Didn't have time to figure out how to set up TeX. Still don't. Don't have time
to explain. I'm so tired. I'm wearing raw. Like skin torn apart by a fall at
high speed onto a road. Flesh torn from bone, then bone itself ground against
sandpaper. My girlfriend stopped texting back two weeks ago. Marrow leakage.
I'm at the bus stop and freezing
Do you get what I mean?
It's been a week since you called me
Am I still in your screen?
I think of you daily
or the bottomless pit
I wanna throw myself into.
But that's just how I think.
You got tired of me, maybe,
as a loving girlfriend
perhaps the novelty faded
into repetition.
But I liked the routine
and I thought it was a happy ending.
After every chapter there's another
is a better life what I'll get?
Or an ache in my side and
my catacomb cage quiet.
I can't sleep anymore without watching people die on-line. I spend one or two
hours a night on watchpeopledie.tv and I've probably seen most of the videos on
the site, I made an account to track my viewing history so I don't watch the
same stuff over and over. I long to know what it feels like to drown, to burn
alive, to bleed out, to be crushed in the cogs of an industrial machine, to be
shredded, beheaded, to die alone in the cold or the heat or a swampy summer
day. I'm kept alive by decision paralysis and the bitter responsibility to make
the world a significantly better place than I found it. I'm so tired.
I imagine, engulfed in flames, or at the edge of consciousness under the sea,
or within the swiftly closing steel maws of an unknowing automaton, or just
after the machete starts sawing, or at the second gush from the vein, or
simply looking at a dirty brick wall as the last sight on this plane, there is
a moment, brief but potent, of realization and acceptance of what has happened,
and that that one moment is the sweetest bliss of certain finity that could be
given to a mortal. Just a tick, one sixty-fourth of a moment in a snap. I hope
decades from now I can experience it and that it's as serene as I hope.
I wonder if I'm just forgettable. Maybe that's all it is. I don't want to be
forgotten but I do. If my words fade into aether I want my kharma to persevere.
/blah/2023-12-10.html
I feel alone and I wish I wasn't.
I don't think Chimera has tex so I'll figure out how to compile it.
2023-12-03 23:04:04 -07:00
/blah/2023-12-03.html
theater of years
10 George woke up behind the curtains on a mat at the same time as some of
the older folk. Two of them were rocking babies, one nearly a newborn and the
other slightly older.
mod me
1 Kaoru Akimoto - Dress Down
2 Weezer - Beverly Hills
3 Miki Matsubara - Mayonaka no Door / Stay with Me
4 Blood Red Shoes - It's Getting Boring By The Sea
5 Talking Heads - Psycho Killer
6 Penelope Scott - Cigarette Ahegao
7 Fall Out Boy - Thnks fr th Mmrs
8 Crystal Castles - Courtship Dating
9 Junko Yagami - [kanji] no BAY CITY
10 Ben Folds - Bitch Went Nuts
This is from the Ben Folds album Way to Normal. I went to the
titular Normal on my way to Lincoln and its Amtrack station was just excellent.
11 I DONT KNOW HOW BUT THEY FOUND ME - Sugar Pills
12 Violent Femmes - Blister In The Sun
13 I DONT KNOW HOW BUT THEY FOUND ME - Leave Me Alone
14 MGMT - She Works Out Too Much
15 Weezer - Ain't Got Nobody
16 Gorillaz - Tranz
17 Steve Lacy - Dark Red
18 Fall Out Boy - American Beauty/American Psycho
19 Richard Cheese - Gin & Juice
20 Liza Anne - I Love You, But I Need Another Year
21 C418 - Mellohi
22 Led Zeppelin - Immigrant Song
23 Worthikids - Up
24 Austin Weber - Mamma Mia
25 Her's - Speed Racer
26 glass beach - cold weather
27 Machine Girl - Athoth a Go!! Go!!
I've seen them live and it was with the exception of Knocked
Loose the best pit I'd ever been in.
28 Elvis Costello & The Attractions - Pump It Up
29 Tally Hall - Cannibal
30 Oinga Boinga - You Really Got Me
31 Minus the Bear - My Time
32 Red Hot Chili Peppers - Californication
33 Gotye, Kimbra - Somebody That I Used To Know
34 TeddyLoid - Fly Away
35 Gorillaz, Beck - The Valley of The Pagans
36 Weezer - Hash Pipe
37 nelward - Ghost
This plays on King Possum radio every so often.
38 Magdalena Bay - Killshot
39 Electric Wizard - Funeralopolis
40 Tessa Violet - Wishful Drinking
I saw half alive live in Boston and Tessa Violet opened. It was
kind of uncomfortable because while I am into women and I think Tessa Violet is
also into women her stage presence wasn't really anything I was into nor
anything with which I strongly vibed. Maybe it's just something for those who
are younger than I.
41 R.I.P. - 1-800-Sins
42 Talking Heads - Road to Nowhere
43 Eyeless in Gaza - Seven Years
44 my bloody valentine - Lose My Breath
45 The Cure - Play For Today
46 Marina and the Diamonds - Venus Fly Trap
47 Cyclope - L'hymne a l'amour
Minus diacritical marks.
48 IVE - ELEVEN
49 Superorganism - Something For Your M.I.N.D.
50 Marina and the Diamonds - Bubblegum Bitch
51 Marina and the Diamonds - Primadonna
52 ATARASHII GAKKOI - Pineapple Kryptonite
53 Mareux - The Perfect Girl
christmas music
1 100 gecs - sympathy 4 the grinch
2 I DONT KNOW HOW BUT THEY FOUND ME - Merry Christmas Everybody
3 Gorillaz - Broken
4 Gorillaz, Bootie Brown - Dirty Harry
5 Tears For Fears - Everybody Wants To Rule The World
Coincidentally, I received a Tears concert ticket for Christmas
from either my roommate or his family last year or so.
6 Wham! - Last Christmas
7 My Chemical Romance - All I Want for Christmas Is You
8 Roar - Christmas Kids
9 Mother Mother - Hayloft
10 Misfits - You're a Mean One, Mr. Grinch
11 Paul McCartney - Wonderful Christmastime
12 John Lennon, Yoko Ono - Happy Xmas (War Is Over)
Found on /f/.
13 Epic Rap Battles of History, Snoop Dogg - Moses vs Santa Claus
14 K.able, Hatsune Miku - Santa-san wa ROKUDENASHI
15 Jose Feliciano - Feliz Navidad
16 Mag.Lo, O Super - Never
17 Vierre Cloud - moment
18 Gorillaz - DARE
batteries included
1 LVL1 - FVN!
2 TANUKI - Babybaby No Yume
3 TeddyLoid - Fly Away
4 Vierre Cloud - moment
5 Grimes - Shinigami Eyes
6 Perfume - Electro World
7 3l3d3p - lbitbt
8 100 gecs - bloodstains
This playlist is loosely copied from Usagi's Welcome to Hell
Spotify playlist which I won't be putting here. It accompanied me in 2021 and
2022 but I mainly associate it with my senior year of high school which felt
very fast and very loose and had a lot of parts where I thought I wasn't going
to survive to 18.
9 plasterbrain - Nimbasa CORE
10 Honey Claws - Digital Animal
I can't see the dates on Spotify for Android and I can't use
the web browser open.spotify.com for lack of WideVine on Firefox for the
Raspberry Pi nor the Electron app for lack of a lot of things but this is
definitely from 2022 or so because I recalled this song talking with a coworker
who mentioned this was in Breaking Bad.
11 100 gecs, Fall Out Boy, Craig Owens, Nicole Dollanganger -[...]
The artist credits overflow so hard none of the title can be
shown. This is the Fall Out Boy cover of hand crushed by a mallet by gecs.
12 Hoshina Anniversary, Kodai of KinKieS - EPTM
13 TeddyLoid - Theme for Scanty & Knee Socks
14 TeddyLoid - Corset Theme
15 100 gecs - mememe
16 Ado, TeddyLoid - [kangi] no piero - TeddyLoid Remix
17 Mitsunori Ikeda, Aimee B - Fallen Angel
18 Grimes - Kill V. Maim
19 Bring Me The Horizon, BABYMETAL - Kingslayer
When this song leaked it leaked as When Will We Be Free and
Kingslayer tied into a single MP3. It may be my favorite of both bands' work.
I looped it while playing through GZDOOM on my Thinkpad T420 on a really nice
NEC SyncMaster or something like that 70Hz LCD display.
20 The Living Tombstone - Five Nights at Freddy's
21 Danny Brown - Ain't it Funny
22 clipping. - Story 2
23 Zack Fox - fafo
I always associate Ain't it Funny / Story 2 / fafo with each
other as a series of tracks. Or maybe in the reverse of that order. It makes
sense lyrically and rhythmically and the first time I heard them was something
like that order in the car with Usagi coming back from the bagel place.
24 Mitchie M., Hatsune Miku - ageageagein
Transliterated from katakana.
25 Badflower - Girlfriend
I've seen Badflower live but I didn't think the track selection
of the set was that great - he opened for My Chemical Romance in September
2022, the day the Queen of England died (REST IN PISS IMPERIAL FUCK).
26 Pisse - Fahrradsattel
27 The Moldy Peaches - Little Bunny Foo Foo
I really love the video vewn did to accompany this song. My
only cotton T-shirt is vewn merch that I got for Christmas from Usagi, I've
seen all their videos on recommendation from Usagi and they're one of if not my
favorite animator.
28 LIZ - When I Rule the World
29 Slayyyter - Hello Kitty
30 Kyary Pamyu Pamyu - PONPONPON
I can't help thinking of the awful webm Pomf Pomf Pomf when I
think of this song but I really love the song.
31 Fandroid! - You Signed a Contract
Cuphead music is a nice niche.
32 Laura Les - Haunted
33 WAKUSEI ABNORMAL - furare [kanji]
34 Sidhu Moose Wala - Mafia Style
35 Magdalena Bay - Mercurial World
36 quiizzzmeow, Midix - KATANA
37 Poppy - All The Things She Said
Lily (the one from Maine whom I kin) hates this cover and only
likes the original track.
38 Poppy - Fear of Dying
39 Mindless Self Indulgence - Bitches
40 Ck9c, Elizabeth Ann - You Can't Hide
41 Sleeping With Sirens - Better Off Dead
42 Marina and the Diamonds - Homewrecker
When I came back to Maine from Florida and got another Burger
King job I met this dude named Austin and told him, slowly over the course of
many shifts, about how I was going to move across the country on a whim and
that he should live for pleasure and be unafraid of taking risks. He also had
a seemingly abusive girlfriend with whom I encouraged him to break up because
she was seemingly abusive - she threatened to commit suicide when he brought up
maybe taking a break or something, made him cut off contact with his friends
and forbid him from talking with any other women, and just generally seemed
very controlling. He didn't wanna break up with her because he didn't want to
Be Single, as if that was a sordid label. I said honestly man I would rather be
single than be in that relationship. Since that, I associate this song with my
own actions. I didn't fuck him though. Not my type.
43 Marina and the Diamonds - Power & Control
44 Mindless Self Indulgence - What Do They Know?
45 Coco & Clair Clair, Okthxbb - Pretty
I used to play this song while doing reprehensible things to
others while also wearing really nice outfits. My goal was to give at least one
guy a humiliation fetish while I beat the shit out of him.
46 Breathe Carolina - Blackout
I will black out, actually - I always fall asleep 1-2 hours
after getting high. I don't get enough sleep.
47 t.A.T.u. - All The Things She Said
48 Poppy - Girls In Bikinis
One of my sidekick's best catchphrases is "God I love women".
Same, bestie.
49 100 gecs - money machine
50 TeddyLoid, Giga, LOLUET - desperate
Translated from katakana.
51 JVNLIII - Physical Self
52 Rebzyyx, hoshie star - all I want is you
Disassembled my GitHub; deleted the last few remaining repositories, made my
account private, and changed the username to trn1ty as well as cleared some
info boxes. Fuck proprietary services.
2023-12-02 11:17:33 -07:00
/blah/2023-12-02.html
depression sterilized
1 Lipps Inc. - Funkytown
The first time I heard this song I was probably very young and
listening to 70s radio on a real, FM radio, which is now somewhat rare in a
world of Spotify (the platform on which I made this playlist in 2015-2017) and
FLACs. But I grew up with this song on Windows XP, using the On-Line Radio
feature in Windows Media Player to stream Laut FM, which I think is a German
radio station. Laut's cut of Funkytown was, in my faint decade-since
recollection, only the verses and not the choruses? Which seems wrong but is
what I remember. I would play PrxCraft, Project X Craft, I think named after
Project X Zone, a popular video game, which was at the time still administered
by KevinEssence. After he lost a lot of money gambling in CsGoLotto or whatever
it was he sold the Minecraft server to some other entity and it passed through
many hands and lost value each time, much like Tumblr. PrxCraft had Factions,
essentially typical Survival-mode Minecraft, and I think some other cool game
modes, but my favorite was Skygrid which left you on a grid of blocks in the
sky to slowly find resources and build out an almost normal-looking farm.
Microsoft Windows XP had, and later Windows didn't, the ability to
place the music controls on the taskbar itself for Windows Media Player so you
could control the music from any other app. It was snazzy stuff at the time
though Linux kids were doing way cooler stuff.
2 Pink Floyd - Time
3 I DONT KNOW HOW BUT THEY FOUND ME - Do It All The Time
4 Paramore - Hard Times
5 Nena - Irgendwie, irgendwo, irgendwann
6 Eagles - Hotel California
7 The White Stripes - Seven Nation Army
8 Bobby "Boris" Pickett, The Crypt-Kickers - Monster Mash
9 Gerard Way - Baby You're a Haunted House
10 Elvis Presley - Can't Help Falling in Love
11 The Andrews Sisters - Rum and Coca Cola
12 Guster - Great Escape
13 America, George Martin - A Horse with No Name
14 The Beatles - Eleanor Rigby
15 Bob Dylan - All Along the Watchtower
16 Horace Silver - Song For My Father
In high school I had a crush on a jazz band bass player and at
a band concert the jazz band played this song with his part very noticeable and
some improv near the end. I wanted to know the song well so I could impress him
somehow by knowing of it. High schooler logic. I did eventually get with his
twin brother through a very complicated and convoluted chain of happenings
nobody really expected.
17 Steve Miller Band - Fly Like An Eagle
18 M.I.A. - Paper Planes
19 R.E.M. - Crush With Eyeliner
I had this tape which is why I love this album so much. My cell
phone died whenever it got chilly, which is a common occurence in Maine, but my
Walkman kept trudging through whatever I threw at it whether rain, sleet, or
snow. My first tapes were (in this order) Blue Hawai'i, Monster, Awesome Mix
Vol. 1, and Goldfly. The first two found at a thrift store along with a shitty
wowing cassette player (which I scrapped soon after purchasing) and the second
two I wrote to tape by first burning CDs and then using a Sony combination
boombox.
20 Genesis - Land of Confusion
This was my Current Events teacher's favorite song.
21 The Moody Blues - Nights In White Satin
22 The Licks - Lavender Kiss
This was the favorite song of an Anonymous person I was talking
to on-line. They were in my area, I think, but we never met.
23 R.E.M. - I Don't Sleep, I Dream
24 Peking Duk - Wasted
25 The Postal Service - Such Great Heights
I got this out of a LinusTechTips YouTube video about making
art for one's self and the love of creation.
26 Childish Gambino - Sober
27 Portugal. The Man - Feel It Still
28 Caroline Rose - Soul No. 5
She opened for Guster and I bought the tape of Loser. Really
good album, I used to stay up late to listen to it.
29 The Beatles - Helter Skelter
I saw Marilyn Manson and Rob Zombie sing this together on the
second Twins of Evil tour.
30 Charli XCX, Troye Sivan - 1999
31 AWOLNATION - Table for One
They opened for Panic! at the Disco.
32 The Killers - Mr. Brightside
33 Gorillaz - Feel Good Inc.
34 Credence Clearwater Revival - Fortunate Son
35 Flatsound - If We Could Just Pretend
I've probably cried to this song more than half the times I've
heard it. The guitar tabs are easy and I've cried while playing it, too.
36 Justice - D.A.N.C.E
37 Dire Straights - Money for Nothing
38 Beach Bunny - Prom Queen
39 Kero Kero Bonito - Flamingo
40 Michael Gray - The Weekend
41 Skeeter Davis - The End of the World
Heard on 1470 WLAM but also as the end song in Granite Flats.
42 Miki Matsubara - Mayonaka no Door / Stay with Me
43 half alive - still feel.
44 Radiohead - Videotape
This song fills me with raw emotion and I can't bear to listen
to it anymore. I skip it when it comes on after the rest of In Rainbows.
45 Elton John - I'm Still Standing
I'm deleting my Spotify. No more proprietary services.
++work
1 Daft Punk - Harder, Better, Faster, Stronger
I impressed the rest of the kids at science camp by making our
Lego EV3 bot play this song while doing the rest of what it was supposed to be
doing. This playlist was my learning to program playlist.
2 Boney M. - Rasputin
3 TOTO - Africa
4 Dizzee Rascal, Armand Van Helden - Bonkers
I got this from a Rick and Morty trailer. This felt really real
to me because by this point I had done some jarring stuff on the Internet.
5 Guster - Great Escape
I love this song.
6 Bob Dylan - All Along the Watchtower
7 Creedence Clearwater Revival - Fortunate Son
8 Justice - D.A.N.C.E
9 Michael Gray - The Weekend
10 Oliver Tree - Fuck
I loved Oliver Tree who was recommended to me by a friend in
Saudi Arabia. I heard he took tabs of his music off some guitar sites recently
though so that's a bummer.
11 Sex Bob-Omb - Garbage Truck
I've seen the 2010 movie Scott Pilgrim Vs. The World many times
and love it. Haven't read the comic or seen the anime though.
12 Rob Zombie - Living Dead Girl
13 Joan Jett & the Blackhearts - Bad Reputation
The theme for Freaks and Geeks.
14 Metric - Black Sheep
15 Blood Red Shoes - It's Getting Boring By The Sea
16 Rob Zombie - Dragula
17 R.E.M. - Let Me In
18 R.E.M. - I Don't Sleep, I Dream
19 Gerard Way - Baby You're a Haunted House
20 Tears For Fears - Everybody Wants To Rule The World
Tears For Fears is still rocking. I went to a recent tour and
they were awesome, their latest album is also really good.
21 Weezer - Thank God for Girls
22 Weezer - Island In The Sun
Usagi's favorite Weezer song.
23 Yung Bae, Natvnomvzik - Bae City Rollaz
24 Night Tempo - Koi
25 T. Rex - Teenage Dream
26 Gloria Gaynor - I Will Survive
I also love Cake's cover.
27 Weezer - Jacked Up
28 Arctic Monkeys - No Buses
Recommended to me by Usagi. So was Flatsound now that I think
about it. At first I thought she was talking about the band No Buses who I
remember liking too but I haven't heard them in a long while.
caffeine
1 Japanese Breakfast - Planetary Ambience
I found this playlist as an Evangelion-themed playlist on
Spotify and stole it. I'm unfamiliar with most of these artists.
2 Wishing - Emptiness Is a Closet Full of Your Old Clothes
3 eevee - early mornings
4 Beach House - Space Song
5 Alex G - Sportstar
6 Dan Deacon - When I Was Done Dying
7 Little Dragon - Crystalfilm
8 The Knife - I Just Had To Die
9 Radiohead - How To Disappear Completely
10 Anamanaguchi - Planet
11 Explosions In The Sky - Your Hand In Mine
12 Anamanaguchi - Endless Fantasy
meister'd
1 Yoko Takahashi - The Cruel Angel's Thesis (Director's Edit[...]
Usagi made this playlist for me. I made one for her, too.
2 The Moldy Peaches - Anyone Else But You
3 Roberta Flack - Killing Me Softly With His Song
I used to listen to this at work. Flack's album of the same
name is really good. I've never been able to listen to this full playlist
without crying.
4 Vicke Blanke - Slave of Love
5 Unknown Mortal Orchestra - Ffunny Ffrends
6 Roland Faunte - Hand Over Hand
This was the first playlist I'd download when putting Spotify
on a device. That way if I lost Internet access I could still hear it.
7 Tally Hall - You
8 Jack Stauber - Coconut Ranger
9 Sunbeam Sound Machine - In Your Arms
I haven't seen Usagi in some months now. I miss her. We text.
10 Grandaddy - A.M. 180
We're just friends now but very, very good friends because we
shared a lot of time together. Usagi's like a sister to me. We always imagined
we'd someday be crochety old-timers rocking in chairs on our porch yelling at
the dang kids to get off our lawn.
11 Crywank - This Song Title Was Too Long (So Now It's Shorter)
Usagi's the second person to which I came out.
12 The Drums - Money
Usagi was my pet name for her and she had one for me. I use the
pseudonym out of respect for her privacy - she's as privacy conscious as I am.
13 Jinsang - Smile from U.
14 Car Seat Headrest - It's Only Sex
15 Sex Bob-Omb - Garbage Truck
Usagi's car used to be a big, loud Volvo minivan which handled
poorly and took a lot of skill to drive. She's a damn good driver.
16 The Growlers - Rare Hearts
17 Mitski - Goodbye, My Danish Sweetheart
18 The Voidz - Human Sadness
19 Lustt - Pillow Talk
We would get sushi together at the supermarket in Auburn. Last
time we did I broke down sobbing in her car because I knew it wouldn't happen
again. I'm half a country away now, also vegan but I guess we could have Oreos
if we went out again. She moved too though.
burger emporor
1 Weezer - Mirror Image
2 Weezer - Undone - The Sweater Song
3 Weezer - Buddy Holly
4 Weezer - Beverly Hills
5 Neutral Milk Hotel - In the Aeroplane Over the Sea
6 Dropkick Murphys - I'm Shipping Up To Boston
As a former Mainer I'm used to thinking of Boston as South.
7 Mother Mother - Hayloft
8 Mindless Self Indulgence - Never Wanted To Dance
This music video made Dance Dance Revolution look Intense.
9 Mindless Self Indulgence - Shut Me Up
10 Weezer - Pork And Beans
11 Twenty One Pilots - Level of Concern
Technically I was in this music video.
12 Twenty One Pilots - Morph
13 100 gecs, Charli XCX, Rico Nasty, Kero Kero Bonito - ringtone
14 Bring Me The Horizon, YUNGBLUD - Obey
15 LMFAO, Lauren Bennett, GoonRock - Party Rock Anthem
16 Death Grips - Get Got
17 Black Eyed Peas - Pump It
18 AC/DC - Highway to Hell
19 Rob Zombie - Living Dead Girl
20 Michael Gray - The Weekend
21 Smash Mouth - All Star
22 Tape Five - City of Lights
On a High School band field trip to Virginia the other trombone
player couldn't sleep without listening to metro jazz or whatever so I got used
to it. It's good stuff and wasn't a problem, usually I just fell asleep to a
Saw movie or at the time probably Bloodnun.
23 Weatherday - Come In
24 Shiro SAGISU - Fly Me To The Moon - Instrumental Version
25 Tally Hall - Ruler of Everything
26 Tally Hall - Banana Man
I discovered Tally Hall through this music video which was
uploaded as a .swf to 4chan/f/.
27 Le Tigre - Deceptacon
28 Plustwo - Melody (1983 Club Vinyl Remix)
29 A/V Heroes - Pretty Pink Television
I met the lead singer through, I think, Instagram, maybe a meme
page - @ifuckinghatestuartlittle or something. Really cool guy.
30 Cypie - Gdzie jest bialy wegorz ? (Zejscie)
Minus the diacritical marks. I don't have a compose key.
31 Jim Croce - You Don't Mess Around with Jim
32 Dolly Parton - 9 to 5
33 Kenny Rogers - The Gambler
34 100 gecs - stupid horse
35 Brooksie - Not Into You
36 Fall Out Boy - THnks fr th Mmrs
37 Tally Hall - Turn the Lights Off
38 Frank Sinatra - My Way
39 Carpenter Brut, Yann Ligner - Maniac
40 Frank Sinatra, Count Basie - Fly Me To The Moon
41 Frank Sinatra - That's Life
42 Jim Croce - Time in a Bottle
43 MGMT - She Works Out Too Much
44 The Beatles - And Your Bird Can Sing
45 The Beatles - Drive My Car
46 The Beatles - I'm Looking Through You
47 Thundercat - Them Changes
48 Freddie Scott - (You) Got What I Need
49 The Animals - House Of The Rising Sun
50 America, George Martin - 5 O'Clock World
51 Eagles - Hotel California
52 The White Stripes - Seven Nation Army
53 Bob Dylan - All Along the Watchtower
54 Steve Miller Band - Fly Like An Eagle
55 Creedence Clearwater Revival - Fortunate Son
56 half alive - still feel.
57 Skeeter Davis - The End of the World
58 Elton John - I'm Still Standing
This was my Burger King playlist, before I got transferred the
first time.
59 Billy Joel - Zanzibar
60 The Strokes - The Adults Are Talking
61 The Strokes - At The Door
I found The Strokes because Drew Gooden recommended them in a
YouTube video.
62 Dead Poet Society - .getawayfortheweekend.
I later did what this song described.
63 Dead Poet Society - .georgia.
Dead Poet Society's song titles remind me of BSD Make
extensions.
64 Teddyloid - Fly Away
65 Hoshina Anniversary, Kodai of KinKieS - EPTM (Booty Bronx [...]
66 TCY FORCE, Mariya Ise - CHOCOLAT
I tried to find more Mariya Ise but I think the only other
stuff she's done is voice acting.
67 Teddyloid - Corset Theme
68 TCY FORCE, Emyli - Champion
69 Mitsunori Ikeda, Aimee B - Fallen Angel
70 Weezer - Hash Pipe
71 Carly Rae Jepsen - Call Me Maybe
72 Vierre Cloud - moment
I can't listen to this song without thinking about winter 2020
where at many points I thought I was going to freeze to death on walks between
my parents', school, and work.
73 Gotye, Kimbra - Somebody That I Used To Know
74 The Beatles - Helter Skelter
75 ABBA - Mamma Mia
76 Paramore - Misery Business
77 Linkin Park - One Step Closer
I 100%ed this on Expert on Guitar Hero for the Nintendo DS. I
also used this as a backing track for my YouTube clip where I shot a grenade
mid-air with a sniper rifle in Combat Reloaded, a CounterStrike ripoff for the
web browser.
78 Radiohead - 15 Step
79 Radiohead - Electioneering
80 Glen Campbell - Southern Nights
81 Sweet - Fox On The Run
82 MGMT - Little Dark Age
I got this out of Nazi propaganda on /b/ or /gif/.
83 Daryl Hall & John Oates - Out of Touch
84 The Cardigans - Lovefool - Radio Edit
85 Polarkreis 18 - Unendliche Sinfonie
Found on /f/.
86 Junko Yagami - BAY CITY
I can't read the kanji, it's [something] no BAY CITY
87 Gloria Gaynor - I Will Survive
88 Outkast - Hey Ya!
89 Sean Kingston - Eenie Meenie
90 Fall Out Boy - Dance, Dance
91 The All-American Rejects - Dirty Little Secret
100%ed on Expert on Guitar Hero for the Nintendo DS.
92 Nelly Furtado - Maneater
93 The All-American Rejects - Gives You Hell
94 Avril Lavigne - Sk8er Boi
95 Estelle, Kanya West - American Boy
96 Gwen Stefani - Hollaback Girl
97 Lady Gaga - Bad Romance
By this time I had definitely transferred to the other Burger
King. This was one of my old kitchen manager's favorites. Spot the red flag.
98 Katy Perry - Hot N Cold
99 Toploader - Dancing in the Moonlight
100 Steven Universe - Let Us Adore You
101 3l3d3p - lbitbt
102 The Living Tombstone - It's Been So Long
103 The Living Tombstone - Five Nights at Freddy's
104 Mindless Behavior, Diggy Simmons - Mrs. Right
105 Mag-Lo, O Super - Never
This I also associate with nearly freezing to death.
106 plasterbrain - Nimbasa CORE
107 Kesha - TiK ToK
108 Ashnikko, Hatsune Miku - Daisy 2.0
109 The Beatles - With A Little Help From My Friends
110 Boney M. - Rasputin
111 Sex Bob-Omb - Garbage Truck
112 Tears For Fears - Shout
113 Elvis Presley - Can't Help Falling in Love
114 The Beatles - Eleanor Rigby
115 M.I.A. - Paper Planes
116 R.E.M. - Crush With Eyeliner
117 Peking Duk - Wasted
118 The Postal Service - Such Great Heights
119 Childish Gambino - Sober
120 Portugal. The Man - Feel It Still
121 Kero Kero Bonito - Flamingo
122 Miki Matsubara - Mayonaka no Door / Stay with Me
123 Mitski - Me and My Husband
124 Mitski - Nobody
125 The Beatles - Maxwell's Silver Hammer
The guy on which I had a crush in high school (not the bass
player, his twin) started a high school club for secular humanism which
espoused the values of atheism and anarchism. I was at the time more an atheist
than an anarchist but joined the club for moral support and because I didn't
have much better to do. One day he said he hadn't heard Abbey Road before so we
listened to the album from end to end with my ASUS Aspire One running mocp on
Debian 9.
126 The Beatles - Oh! Darling
127 The Beatles - Back In The U.S.S.R.
128 The Beatles - Rocky Raccoon
129 The Beatles - Everybody's Got Something To Hide Except Me [...]
130 The Beatles - I Am The Walrus
131 The Beatles - Doctor Robert
132 The Beatles - Twist And Shout
133 Blood Red Shoes - It's Getting Boring By The Sea
134 OneRepublic - Good Life
135 Owl City - Fireflies
136 insaneintherainmusic, Gabe Nekrutman, Chris Allison - Mii [...]
137 Coolio, L.V. - Gangsta's Paradise
138 Foo Fighters - My Hero
139 DMX - X Gon' Give It To Ya
140 Gorillaz - Tranz
141 Fatboy Slim - Weapon Of Choice
142 The Rolling Stones - Paint It, Black
143 CAKE - Short Skirt / Long Jacket
144 Fountains Of Wayne - Stacy's Mom
145 Childish Gambino - Redbone
146 The Weeknd, Daft Punk - Starboy
147 Jay & The Americans - Come A Little Bit Closer
148 Dean Martin - Ain't That A Kick In The Head
149 Weezer - No Scrubs
150 Joy Division - She's Lost Control
151 Violent Femmes - Blister in the Sun
152 Taeko Onuki - 4:00A.M.
153 Fitz and The Tantrums - Out of My League
154 The London Orchestral Symphony - Paint It Black (Orchestra[...]
155 Radiohead - Follow Me Around
156 Radiohead - Spectre
157 Bring Me The Horizon, BABYMETAL - Kingslayer
158 Nothing But Thieves - Forever & Ever More
159 Nothing But Thieves - Futureproof
160 Fleetwood Mac - The Chain
161 Aliotta Haynes Jeremiah - Lake Shore Drive
162 Looking Glass - Brandy (You're a Fine Girl)
163 Panic! At The Disco - I Write Sins Not Tragedies
164 Crystal Castles - Untrust Us
165 Crystal Castles - Courtship Dating
166 My Chemical Romance - Helena
167 MGMT - Electric Feel
168 Franz Ferdinand - Take Me Out
169 The Buggles - Video Killed The Radio Star
170 The Wannadies - You & Me Song
171 Candi Staton - Young Hearts Run Free
172 Stevie Wonder - Superstition
173 Blue Oyster Cult - (Don't Fear) The Reaper
174 CAKE - Short Skirt / Long Jacket
175 SEATBELTS - Tank!
176 Gloria Gaynor - I Will Survive
I just noticed this playlist has this song twice.
177 The B-52's - Love Shack
178 War - Low Rider
179 Yeah Yeah Yeahs - Heads Will Roll
180 Rick James - Super Freak
181 Commodores - Brick House
182 Kid Cudi - Day 'N' Nite (nightmare)
183 Ween - Ocean Man
184 Daniel Tidwell - At Doom's Gate (DOOM E1M1)
185 Talking Heads - Psycho Killer
186 Talking Heads - Once in a Lifetime
187 Grimes - Shinigami Eyes
188 Kero Kero Bonito - Pocket Crocodile
189 Kero Kero Bonito - Small Town
190 Tsuko G. - Gas Gas Gas (Initial D)
191 Red Hot Chili Peppers - Can't Stop
192 Red Hot Chili Peppers - Californication
193 Steve Miller Band - Abracadabra
194 Steve Miller Band - Jet Airliner
195 Steve Miller Band - The Joker
196 Blondie - Heart Of Glass
197 King Harvest - Dancing In The Moonlight
198 Kansas - Carry on Wayward Son
199 Elton John - Bennie And The Jets
200 Warren Zevon - Werewolves of London
201 Blondie - One Way Or Another
202 Daryl Hall & John Oates - Rich Girl
203 Stevie Wonder - Superstition
This also seems to be a duplicate.
204 Jim Croce - Bad, Bad Leroy Brown
205 AISHA, Arc System Works - The Disaster of Passion
206 Guilty Kiss - Shooting Star Warrior
207 Mother Mother - Hayloft II
208 Iron Maiden - Run to the Hills
209 Louis XIV, Jason Hill, Brian Karscig - God Killed the Queen
210 Taco - Puttin' on the Ritz
211 Daft Punk - Give Life Back to Music
212 Daft Punk, Pharrell Williams, Nile Rodgers - Get Lucky
213 Daft Punk - Harder, Better, Faster Stronger
214 Elton John, Kiki Dee - Don't Go Breaking My Heart
215 Gorillaz, Robert Smoth - Strange Timez
216 Gorillaz, Beck - The Valley of The Pagans
217 Gorillaz - Clint Eastwood
218 Gorillaz - Kids with Guns
219 Gorillaz - Feel Good Inc.
220 Gorillaz, Bootie Brown - Dirty Harry
221 Gorillaz - Broken
222 Gorillaz, Hypnotic Brass Ensemble, Mos Def - Sweepstakes
223 Linkin Park - What I've Done
224 The All-American Rejects - Move Along
225 Simple Plan - What's New Scooby-Doo?
226 The All-American Rejects - Dirty Little Secret
227 Steve Miller Band - Take The Money And Run
228 Village People - Y.M.C.A.
229 Coldplay - Paradise
230 LeviathanJPTV - Chug Jug With You
231 Desired - Eyes on Me
I've long associated a picture of Desired with WSJ because he
posted that picture and said it was himself - a fit-looking man holding a rifle
surrounded by photoshopped-in anime girls.
232 Kero Kero Bonito - Only Acting
233 Heart - Barracuda
234 Ram Jam - Black Betty
235 Cascada - Everytime We Touch
236 TANUKI - Babybaby No Yume
237 Perfume - Electro World
Originally in katakana.
238 Oliver Tree - Life Goes On
239 Jun Senoue, Ted Poley, Tony Harnell - Escape From The City
240 The Rapture - Sister Saviour
241 Aretha Franklin - Son of a Preacher Man
242 The Rolling Stones - Sympathy For The Devil
243 Queen - Bohemian Rhapsody
244 Queen - I Want To Break Free
245 Pink Floyd - Another Brick In The Wall, Pt. 2
246 Johnny Cash - Ring of Fire
247 AC/DC - Thunderstruck
248 Chuck Berry - Johnny B. Goode
One of the best guitar lines in history.
249 Creedence Clearwater Revival - Run Through The Jungle
250 David Coffin - Roll the Old Chariot Along
Found on /gif/, a video of this shanty performed by a crowd
relatively near to where I lived. This is my favorite shanty and universally
disliked by those to whom I show it. Last time I showed it to someone they said
they didn't wanna hear the whole thing and skipped to Wellerman.
251 Bob Dylan - The Times They Are A-Changin'
252 Metallica - Enter Sandman
253 Men Without Hats - The Safety Dance
254 Dead Kennedys - Holiday In Cambodia
255 Kanye West, Jamie Foxx - Gold Digger
256 Queen, David Bowie - Under Pressure
257 R.E.M. - It's The End Of The World As We Know It
258 Pink Floyd - Comfortably Numb
My Latin teacher's favorite Floyd track.
259 Cage The Elephant - Ain't No Rest For The Wicked
I used to listen to this on repeat while playing Battlefield
1942.
260 The Rolling Stones - Satisfaction
261 Foo Fighters - Kids In America - Demo - 1991
262 The Rolling Stones - Jumpin' Jack Flash
263 Duran Duran - Hungry Like the Wolf
264 The Beatles - Ob-La-Di, Ob-La-Da
265 Nirvana - Smells Like Teen Spirit
266 100 gecs - mememe
267 ABBA - Gimme! Gimme! Gimme!
268 ABBA - Waterloo
269 ABBA - Super Trouper
270 Jet - Are You Gonna Be My Girl
Also 100%ed on expert on Guitar Hero for the Nintendo DS.
271 Jimmy Eat World - The Middle
272 Nirvana - Come As You Are
273 Rupert Holmes - Escape
I have fan theories about this song.
274 Weezer - Island In The Sun
275 AmaLee - My Soul, Your Beats!
In my time as moderator for Socks' Discord server I was often
compared to Tachibana from Angel Beats, so I watched the anime. It made me cry.
276 The White Stripes - Fell In Love With a Girl
277 Radiohead - 15 Step
278 I DONT KNOW HOW BUT THEY FOUND ME - Leave Me Alone
279 Gorillaz - Tomorrow Comes Today
280 Weezer - Jacked Up
281 Weatherday - Porcelain Hands
282 AWOLNATION - Table for One
283 The Beatles - For No One
284 Ben Folds - Bitch Went Nuts
285 I DONT KNOW HOW BUT THEY FOUND ME - Sugar Pills
286 Violent Femmes - Blister In The Sun
287 I DONT KNOW HOW BUT THEY FOUND ME - Leave Me Alone
Duplicate.
288 Weezer - Ain't Got Nobody
289 Radiohead - Follow Me Around
Duplicate.
290 Blondie - Heart Of Glass
Duplicate.
291 The Strokes - Ode To The Mets
292 Joy Division - Disorder
293 Gorillaz, Beck - The Valley of The Pagans
Duplicate.
294 Kensuke Ushio - Judgement
295 Booker T. & the M.G.'s - Green Onions
296 This Will Destroy You - The Mighty Rio Grande
297 LVL1 - FVN!
298 Perfume - Electro World
Duplicate.
299 3l3d3p - lbitbt
Duplicate.
300 100 gecs - bloodstains
301 plasterbrain - Nimbasa CORE
Duplicate.
302 Honey Claws - Digital Animal
303 Ado, TeddyLoid - [kanji] no piero - TeddyLoid Remix
304 Grimes - Kill V. Maim
305 Pink Floyd - Time
306 Paramore - Hard Times
307 Nena - Irgendwie, irgendwo, irgendwann
308 Gerard Way - Baby You're a Haunted House
309 Elvis Presley - Can't Help Falling in Love
310 Guster - Great Escape
311 The Beatles - Eleanor Rigby
312 Horace Silver - Song For My Father
313 M.I.A. - Paper Planes
314 R.E.M. - Crush With Eyeliner
I can't keep track of the duplicates so I'm not gonna note them
anymore.
315 R.E.M. - What's The Frequency, Kenneth?
316 R.E.M. - I Don't Sleep, I Dream
317 Genesis - Land of Confusion
318 Weezer - Surf Wax America
319 Weezer - Long Time Sunshine
320 Weezer - We Are All On Drugs
321 Weezer - Miss Sweeney
322 Weezer - Automatic
323 Weezer - I Don't Want Your Loving
Death to False Metal and Everything Will Be Alright in the End
were the two albums that defined my September 2019 to March 2020.
324 Weezer - Memories
325 Weezer - Ain't Got Nobody
326 Weezer - Back To The Shack
327 Weezer - Da Vinci
328 Weezer - Wind in Our Sail
329 Weezer - Do You Wanna Get High?
I stopped listening to Weezer when I lost my virginity.
330 Pink Floyd - When the Tigers Broke Free
331 Pink Floyd - The Fletcher Memorial Home
332 Pink Floyd - Astronomy Domine
333 Pink Floyd - Lucifer Sam
334 Boney M. - Rasputin
335 Dizzee Rascal, Armand Van Helden - Bonkers
336 Daft Punk - Harder, Better, Faster, Stronger
337 TOTO - Africa
338 Justice - D.A.N.C.E
339 Joan Jett & the Blackhearts - Bad Reputation
340 Metric - Black Sheep
341 R.E.M. - Let Me In
342 Tears For Fears - Everybody Wants To Rule The World
343 Yung Bae, Natvnomvzik - Bae City Rollaz
344 Night Tempo - Koi
345 T. Rex - Teenage Dream
346 Arctic Monkeys - No Buses
347 Ramones - Blitzkrieg Bop
348 The Beach Boys - I Get Around
349 Billy Joel - We Didn't Start the Fire
350 Bee Gees - How Deep Is Your Love
351 Electric Light Orchestra - Don't Bring Me Down
352 Bee Gees - Stayin' Alive
353 Don McLean - American Pie
354 Bee Gees - You Should Be Dancing
355 Lynyrd Skynyrd - Free Bird
356 Fleetwood Mac - Go Your Own Way
357 Sam Cookie - Wonderful World
358 Van Morrison - Brown Eyed Girl
359 Marvin Gaye, Tammi Terrell - Ain't No Mountain High Enough
360 The Beach Boys - Surfin' U.S.A.
361 The Mamas & The Papas - California Dreamin'
362 The Beach Boys - Wouldn't It Be Nice
363 The Beatles - Twist And Shout
364 The Beatles - She Loves You
365 The Bobby Fuller Four - I Fought the Law
366 Donovan - Mellow Yellow
367 Creedence Clearwater Revival - Bad Moon Rising
368 Johnny Cash - Ring of Fire
369 Neil Diamond - Sweet Caroline
In summer camp in third or fourth grade I had a crush on a girl
named Caroline with hair like fire and freckles like falling leaves. Never saw
her again.
370 Marilyn Manson - KILL4ME
371 Marilyn Manson - The Beautiful People
372 Marilyn Manson - Sweet Dreams
373 Marilyn Manson - Fated, Faithful, Fatal
374 Marilyn Manson - Cupid Carries A Gun
375 Ramones - Pet Sematary
376 Lenny Kravitz - Are You Gonna Go My Way
377 Radiohead - Karma Police
I consider myself a Buddhist; I "converted" (seems like a
strong word) about a month ago. I do seek to follow the Dharma. nasin sewi pona
li pona.
378 Wild Cherry - Play That Funky Music
379 Hombres G - Devuelveme a mi chica
Minus diacritical marks.
380 Tennessee - Te vi correr
381 Owl City - When Can I See You Again?
382 Panic! At The Disco - Sarah Smiles
383 Panic! At The Disco - There's a Good Reason These Tables A[...]
384 Panic! At The Disco - I Write Sins Not Tragedies
385 Twenty One Pilots - Fake You Out
386 Twenty One Pilots - Fairly Local
387 Twenty One Pilots - Polarize
388 Twenty One Pilots - Choker
389 Billy Joel - We Didn't Start the Fire
390 chelmico - Easy Breezy
391 TWRP - Atomic Karate
I can't see TWRP without thinking of the TWilight Recovery
Partition tool for Android devices.
392 The Aquabats! - Cat with 2 Heads!
393 Sex Bob-Omb - Threshold
394 Gorillaz - 19-2000
395 Talking Heads - Burning Down the House
396 Christian French - avalanche
397 Joji - Gimme Love
398 a-ha - Take on Me
399 Bruce Springsteen - Dancing In the Dark
400 Whitney Houston - I Wanna Dance with Somebody
401 Survivor - Eye of the Tiger
402 Soft Cell - Tainted Love
403 Huey Lewis & The News - Hip To Be Square
404 Suzanne Vega - Tom's Diner
405 Daryl Hall & John Oates - Private Eyes
406 Kenny Loggins - Danger Zone
407 Rick Astley - Never Gonna Give You Up
408 Daryl Hall & John Oates - You Make My Dreams
409 The Police - Every Little Thing She Does Is Magic
The only non-creepy Police song.
410 Eurythmics, Annie Lennox, Dave Stewart - Sweet Dreams
411 Daryl Hall & John Oates - I Can't Go for That
412 My Chemical Romance - The Ghost of You
413 Shiro SAGISU - ANGEL ATTACK
414 Shiro SAGISU - MISATO
415 Shiro SAGISU - Next Episode
416 Daler Mehndi - Tunak Tunak Tun
417 Mariya Takeuchi - Plastic Love
Something is off because this playlist should have 420 songs.
Whatever. My fingers are tired.
intermission
1 Weezer - Mirror Image
This is my breakup playlist after Usagi and I split.
2 Weezer - Jacked Up
I wanna say April or so 2020? 2021? Probably 2020.
3 Arctic Monkeys - Do I Wanna Know?
It hurt and it took me a long time to get over it.
4 Weatherday - Porcelain Hands
5 Jim Croce - Time in a Bottle
6 Tame Impala - New Person, Same Old Mistakes
7 AWOLNATION - Table for One
8 The Beatles - For No One
9 Plustwo - Melody (1983 Club Vinyl Mix)
2023-11-28 23:08:52 -07:00
/blah/2023-11-28.html
the the the end end end of of of
end end end of of of the the the
my friends have accepted their fate now
i've found solace in my misery
and the light in their eyes isn't there
and some hope in the emptiness here
how the beauty fades so softly here
but it looks like my soul's failing me
is a testament to what we bear
because i still hold onto my fear
poverty, death in this city life
i met a hobo on north union
seventy hour weeks in fast food
she looked like me with differing clothes
everyone here just keeps suffering
i asked her how she fell in the hole
and i sing to my violent tunes
she said you're already here, you know
(together)
and my metal music plays at night
and the skyline's littered with debris
of a simpler, hospitable time
how the hell will i afford to eat
2023-11-27 21:41:21 -07:00
/blah/2023-11-27.html
Dear Princess Celestia,
Today I learned that the strongest ship is a friendship and that if it
isn't canon you can't accept it as part of the lore without noting the caveats.
Rainbow Dash has never actually worked at a factory that ground young fillies
and colts up into rainbows.
2023-11-25 13:56:08 -07:00
/blah/2023-11-25.html
Neon Genesis Evangelion | My Little Pony: Friendship is Magic
---------------------------|------------------------------------
Three kids | Six ponies
are taught to harness the weapons only they can use because the
weapons are
their mothers | inside them
. They're assigned this task by the government, lead by
Gendo Ikari | Princess Celestia
, who
have captured God | is God
, because they need to vanquish forces of evil that are
threatening their world. The
kids | ponies
are lead by
Misato Katsuragi | Twilight Sparkle
because only she
recognizes they are human. | can bring the Elements of Harmony
| together with their friendship.
Along the way the
children | ponies
will grow
father apart | closer
due to their shared
trauma | friendship
. You can watch their journey together on
Cartoon Network's Adult | Discovery Family
Swim |
in
2005-2006. | 2010-2019.
2023-11-24 00:36:52 -07:00
/blah/2023-11-24.html
: phones
Phone | Battery | Charging jack
Samsung SCH-R390 | Good | Micro USB-B, no OTG
LG UN280 | Decent | Micro USB-B, no OTG
iPhone SE (2016) | Dismal | Proprietary
Unihertz Titan | Excellent | USB-C PD
Pinephone | Upgradeable | USB-C PD
Punkt MP-02 | Excellent | USB-C but no PD
Google Pixel 3A | Excellent | USB-C PD
Phone | Codecs | Firmware | Headphone jack
Samsung SCH-R390 | No FLAC, no Vorbis, no VP8 | Proprietary | 3.5mm
LG UN280 | No FLAC, no Vorbis, no VP8 | Proprietary | 3.5mm
iPhone SE (2016) | No FLAC, no Vorbis, no VP8 | Proprietary | 3.5mm
Unihertz Titan | Configurable | Proprietary | 3.5mm
Pinephone | Configurable | Changeable | 3.5mm
Punkt MP-02 | No FLAC, no Vorbis, no VP8 | Proprietary | over USB-C
Google Pixel 3A | Configurable | Proprietary | 3.5mm
Phone | Keyboard | OS | SD | WLAN
Samsung SCH-R390 | Hardware | Proprietary | Micro | No
LG-UN280 | Hardware | Proprietary | Micro | No
iPhone SE (2016) | Software | Proprietary | None | Yes
Unihertz Titan | Hardware | Proprietary | Micro | Yes
Pinephone | Software or hardware | Open | Micro | Yes
Punkt MP-02 | Hardware | Proprietary | None | Yes
Google Pixel 3A | Software | Open | None | Yes
Samsung SCH-R390
Also known as the Freeform 4.
I used this extensively and enjoyed it at the time.
Samsung SCH-R480
Also known as the FreeForm 5.
No significant changes from the FreeForm 4 beyond aesthetics.
LG UN280
Also known as the Freedom II.
I used this extensively and enjoyed it at the time.
iPhone SE (2016)
I used this extensively and despise it.
Unihertz Titan
I used this extensively and despise it.
Bad hardware keyboard (no dollar sign).
Vendor unlawfully non-compliant with GPL 2 licensing on Linux,
for this reason I would avoid this phone like the plague.
Pine64 Pinephone
I love this phone a lot.
Hardware keyboard available as an extension;
hardware keyboard also adds a second battery,
tripling the battery life of the phone.
Firmware is proprietary by default
but the vendor allows using free firmware.
Punkt MP-02
Sucks.
Google Pixel 3A
The official OS is proprietary so I use an old GrapheneOS build.
100% FOSS phone but reliable unlike the Pinephone.
2023-11-23 21:25:56 -07:00
/blah/2023-11-23.html
Today's Thanksgiving in the United States which historically is a holiday of
some sort that I learned about in school and soon forgot because I didn't get
it. The day's significant to me as a day where usually I can find a good bite
to eat for cheap (though this is my first Thanksgiving vegan) and as a day on
which I am reminded how thankful I am for life as it is right now.
I'm thankful for the ceiling above my head and the couch under my feet. The
walls around the room. The warmth. I'm thankful for the people with which I'm
staying allowing me to be here and I'm thankful for their friendship. One I've
known a couple years but it might as well be forever and they've been there for
me however they could when times were dire and all else was far away, despite
us not being super close super often. The other I knew in passing and now I get
to interact with them in person and they're even cooler than I thought they
were from seeing their stuff on-line. I'm thankful to them for allowing me to
stay here, and thankful to them for being friends of mine, and thankful to them
for what they contribute to the world in kindness in general.
I'm thankful for my backpack and what's in it. I have a number of niceties I
could do without, including the laptop on which I'm typing this, and I'm glad I
have these luxuries and for my luck in this. I'm thankful for my luck in
general. There are many who cannot be inside today. Restaurants close on
Thanksgiving and I worry for those who usually refuge with coffee and their
belongings at tables in the darker areas of dining rooms. It's cold outside.
I'm thankful for the food in my belly and the clothes on my back, especially
for how good the food is here and how clean the clothes are that I'm wearing.
I'm thankful for the shirt I'm wearing which was given to me by Usagichan and
I'm thankful for Usagichan's friendship. I'm thankful for my gym pants I use as
pajamas which were given to me by one of the people who let me stay here. I'm
thankful to my employers - there will be three to consider this tax season -
for the wages with which I provide myself the things I need. I'm thankful for
dry socks and showers and being able to sleep in one layer of clothing.
I'm thankful for my girlfriend and its putting up with my distance, not just my
physical distance but my emotional distance. I don't have the words to express
how much I am thankful for it and I am still as amazed by everything it does as
when we first met. I'm thankful for the lessons partners of the past and recent
past have taught me. I'm thankful for the love that is given to me and has
been.
I'm thankful for my sidekick, my roommates' families, my old friends and future
co-conspirators.
I'm thankful for the contributors to the free software I use. Bastien Dejean
for bspwm, q66 for Chimera Linux, Torvalds for Linux, the thousands of
contributors to the bigger projects, particularly Firefox, Xorg, GrapheneOS.
Emma Tebibyte, Marceline Cramer, and Sasha Koshka are people I talk to on-line
and who make programs I use, and I'm thankful for them.
I would not be the person I am today without the generosity of others and I am
humbled by the ease with which good people do amazing things for the world.
/blah/2023-11-22.html
: getting rogue to compile on chimera linux
BUT automatically and from the netbsd source tree because i <3 netbsd
$ git clone https://github.com/NetBSD/src
$ ^C # never mind it's 2GB
$ curl https://raw.githubusercontent.com/NetBSD/src/trunk/games/rogue/Makefile
note to self meli mail client looks pog
nvm im gonna go get high
2023-11-18 15:49:31 -07:00
/blah/2023-11-18.html
One of the details about Slipstream and its universe of media (that I will
eventually get around to expressing) is that computers are largely invisible,
relegated to the spaces in the walls or servers in cities far away.
Technological literacy, like the skill to repair a car or radio, only persists
among the very highly educated so they may design the infrastructure through
which the Restovus live. This is a time that resembles a hundred years ago more
than today, despite being hundreds of years in the future, with minor details
lost in the fog of sight such as entropy being in places reversed. This also
explains airily notions of "magic" and "time travel". Slipstream in particular
is hard to follow in terms of understanding the underlying technologies, but
they're less to understand and more to accept, like all things far from one's
reality.
/blah/2023-11-17.html
installing the internet archive `ia' client
$ python3 -m pip install internetarchive
/blah/2023-11-16.html
: adding a user to feeling.murderu.us, an alpine linux host
https://wiki.alpinelinux.org/wiki/Setting_up_a_new_user
$ scp id_ed25519.pub feeling.murderu.us:/home/trinity/
$ ssh feeling.murderu.us
$ doas su -
# adduser -D user
# adduser user wheel
# mkdir -p /home/user/.ssh
# mv id_ed25519.pub /home/user/
# chown -R user:user /home/user/.ssh
# exit
$ exit
$ exit
2023-11-15 08:48:24 -07:00
/blah/2023-11-15.html
It is hard to cope with happiness. This is the best period of my life ever, bar
none. I have time to learn, discuss, work, clean, I'm wearing clean clothes and
can take regular showers. I don't know how to process it. I've never in my life
been in such a good environment with such good friends and I don't know how to
cope with getting rides everywhere, having meals made for me, my laundry done
by someone else.
I've been very self sufficient for a little while now. I did my laundry at
either a laundromat with money I had earned from work or with my own hands in a
work sink with soap purchased with money I had earned from work. Often the
latter so I could afford to eat food I had prepared with ingredients I had
purchased with money I had earned from work, or food I had prepared during
work. A washing machine doesn't fit in a backpack, nor a dryer, though in a
pinch when walking I could hang clothes off the backpack to get at least a side
of them dry before getting to where I could change out of what I was wearing.
In order to change my clothes I had to find a public bathroom, ideally a Burger
King because I was an employee there but in a pinch if I was fast enough a gas
station would work, put my backpack and clothes on the often dirty floor, and
strip down in a stall or in better cases when a stall was a room a full
restroom. I had to do it fast because gas station attendants and fast food
workers can smell homelessness on you, the hopelessness and stench of hand
washed clothing. It is in the modern era equivalent to smelling addiction and
on occasion I would be accused of taking so long in the bathroom to shoot up
heroin. There was never sympathy or understanding or even acceptance. Because I
was homeless, noticeably so, I was considered subhuman, vermin.
There was no way to take a shower. Gym bathrooms work if you're cisgender or
living in a generally trans-friendly area. I was not. A shower for me was the
bathroom at work, before work, where I used my laundry soap and a bandanna to
swab my arms, face, neck, chest, and armpits. I had to be quick because the
morning workers liked to spread rumors about my being a homeless addict,
an immediately obvious falsehood to those who knew me but slander for those who
didn't. I wasn't troubled that people knew I was homeless because while
violence likes to come for those on the streets, vermin that can be tortured
and killed the same way rats and cockroaches are in apartments, I was charming,
witty, somewhat educated or seemingly, and tried to be as kind as possible to
others. I tried to be a representable member of the unhoused and of the
trannies, to appeal to those cretins with their ceilings and simpler thoughts.
In order to change my clothes, if in the apartment, I take my clothes off and
put different clothes on. In order to take a shower I go to the bathroom, take
my clothes off, and turn the shower tap. Less pain, less ink. Can I get used to
this? Should I? When I see Subarus outside I wonder if I could have survived
the winter. It was cold as fuck sleeping outside in October. Sometimes I wonder
if I did die in that car. If this is heaven. I wonder if I did die in that car
and so now if I am a different person than who entered. I wonder if Toni is
still where I left her in the parking lot, if she's rotting from disuse and if
the cardboard I used to seal the rear window is molding. The picture of Dorian
Grey.
/blah/2023-11-12.html
Happy birthday my dears.
Oedipus
1 Iam nocte Titan dubius expulsa redit
now night Titan doubt expel I return
1 I return at night now to dubious Titan
2 et nube maestus squalida exoritur iubar,
& to cloud sad foul become radiance
2 and to the foul, sorry smog that had become its radiance,
3 lumenque flamma triste luctifica gerens
4 prospiciet avida peste solatas domos,
5 stragemque quam nox fecit ostendet dies.
2023-11-08 11:36:10 -07:00
/blah/2023-11-06.html
2023-07-15 21:44:35 -06:00
2023-11-08 11:36:10 -07:00
Some stuff is failing in Rust. I'll put this stuff here which is part of the
Hearth running processs as a note but I still don't have this working. I got a
job and have been working the last couple days.
2023-07-15 21:44:35 -06:00
2023-11-08 11:36:10 -07:00
$ cargo install cargo-update
$ cargo install cargo-xtask
$ rustup target add wasm32-unknown-unknown
$ git clone https://github.com/hearth-rs/kindling
$ sh -c 'cd kindling; cargo build-root'
I don't remember what I was doing on here. I see these errors:
= note: clang-16: warning: argument unused during compilation: '-no-pie' [-Wu
ld: error: unable to find library -lssl
ld: error: unable to find library -lcrypto
ld: error: unable to find library -lz
clang-16: error: linker command failed with exit code 1 (use -v to se
In installing cargo-update, so I guess I'll try
# apk add openssl-devel # did nothing; is installed
# apk add libssl3 # did nothing; is installed
Okay I give up. Whatever.
--> src/main.rs:23:48
|
23 | if let Ok(val) = if let Ok(val) = reqwest::blocking::get(jasima_remote
|
Cargo.toml:
- reqwest = "0.11"
+ request = { version = "0.11", features = ["blocking"] }
/blah/2023-11-03.html
Rest in peace Jayden Cho-Sargent. 2003-2016.
[05:33] q66: sanchan: that's not a solution and you should not do that
[05:33] q66: libgcc-chimera exists purely for compatibility with prebuilt
binary software
[05:34] q66: you should fix whatever to not link gcc_s instead
FROM: ckie
TO: trinity
SUBJECT: why do thaaattt
DATE: 2023-11-03 05:36:26 +0200
why do thaaattttttttttttttttttttttttt
~>~:::
😭
why do that
Why OD THAT ~???
Why Do that.
That's so evil trinity, you could . Like., Not do that. Please?
[cirno_actually_plays_zelda_in_terminal.png]
WH??? y...y....
🥺 🥹 🥹 🥹 😭
x∅x∅
[return address]
ne hone ronnewrn nenh..n rkmrawr ) :
WA waoo ohoooo o
w hy yyy mREAWmmmmm
cc [...] says u might'v listenef in so hi u hearxd me ig maybe
( only if fae not wearin heapdohn )
FROM: trinity
TO: ckie
SUBJECT: Re: why do thaaattt
DATE: 2023-11-03 07:09:06 +0000
do i have permission to put this on my blah https://trinity.moe/blah/
FROM: ckie
TO: trinity
SUBJECT: Re: why do thaaattt
DATE: 2023-11-03 14:31:44 +0000
sure maybe leave the attachment out it's meow [...]
[...]
Friendship formed! Hell yeah!
Readers should e-mail me stuff I can respond to on my blah like I'm a real
Buzzfeed journalist or as if I was writing the next Dracula. Epistular
storytelling.
$ ssh root@all.evil
ssh: Could not resolve hostname all.evil: Name does not resolve
allevil.org is available but I don't have money to blow on domains right now.
E-mailing entities like ckie is delightful. What is "e-mail" in toki pona?
toki pona la E-mail pi toki inli li seme? Maybe toki lipu kiwen - metal
documented speech? How can uncertainty be represented in toki pona?
They discussed continental philosophy last night at Sangha. I'm gonna need to
read Anti-Oedipus. Or actually Descartes.
There's a project some friends of mine are working on called Hearth. It just
merged in a sister project, Flue, last night. It's written in extraordinarily
clean Rust and is the reason I'm learning Rust. It's going to be a big deal.
$ git clone https://github.com/hearth-rs/hearth
$ cd hearth
$ cargo build
error: failed to run custom build command for `msdfgen-sys v0.2.1`
Caused by:
process didn't exit successfully: `/home/trinity/hearth/target/debug/build/ms
dfgen-sys-3ee3a8b654b57797/build-script-build` (exit status: 101)
--- stderr
thread 'main' panicked at /home/trinity/.cargo/registry/src/index.crates.io-6
f17d22bba15001f/msdfgen-sys-0.2.1/build.rs:33:13:
No prebuilt bindings. Try use `bindgen` feature.
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...
$ cp hearth/crates/font-mud/Cargo.toml hearth/crates/font-mud/Cargo.toml.orig
$ <hearth/crates/font-mud/Cargo.toml >hearth/crates/font-mud/Cargo.toml.orig \
sed '8c msdfgen = {version = "0.2.1", default-features = false, features = ["bindgen", "ttf-parser", "png"]}'
$ cargo build
error: failed to run custom build command for `msdfgen-sys v0.2.1`
Caused by:
process didn't exit successfully: `/home/trinity/hearth/target/debug/build/ms
dfgen-sys-80b011bd235771f0/build-script-build` (exit status: 101)
--- stdout
cargo:rerun-if-env-changed=TARGET_SYSROOT
cargo:rerun-if-env-changed=CXX_STDLIB
--- stderr
thread 'main' panicked at /home/trinity/.cargo/registry/src/index.crates.io-6
f17d22bba15001f/bindgen-0.63.0/./lib.rs:2338:31:
Unable to find libclang: "the `libclang` shared library at /usr/lib/libclang.
so.16.0.6 could not be opened: Dynamic loading not supported"
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...
$ doas su -
# apk add clang-devel
$ cargo build
$ # [no dice]
2023-07-15 21:44:35 -06:00
2023-11-03 00:52:18 -06:00
/blah/2023-11-02.html
$ ldconfig -p
$
Oh, right. Hm.
https://pkgs.chimera-linux.org/packages > contents > "ldconfig"
ldconfig belongs to apk:musl-progs.
# apk fix musl-progs
fetch https://repo.chimera-linux.org/current/contrib/aarch64/APKINDEX.tar.gz
fetch https://repo.chimera-linux.org/current/main/aarch64/APKINDEX.tar.gz
(1/1) Reinstalling musl-progs (1.2.4-r4)
OK: 2623 MiB in 982 packages
# ls -l $(which ldconfig)
lrwxrwxrwx 1 root root 4 Nov 2 09:48 /bin/ldconfig -> true
Hm.
# unlink /bin/ldconfig
# ls -l $(which ldconfig)
lrwxrwxrwx 1 root root 4 Nov 2 09:49 /bin/ldconfig -> true
Uh. I guess I'll ask OFTC#chimera-linux.
This being caused by a system upgrade would explain the initial timestamp of
yesterday at 1700, when probably I ran `# apk -U upgrade` out of habit. I can't
find much on the package browser or anything so I guess I'll just wait for
somepony to get back to me on IRC.
[09:52] sanchan: hey how come ldconfig is linked to true by musl-progs?
[09:53] sanchan: i think this happened after a recent update. i'm on aarch64
but a $ unlink /bin/ldconfig; doas apk fix musl-progs re-links
ldconfig->true
[10:17] q66: it's supposed to be, what else would it be
[10:18] q66: it always was too
[10:46] sanchan: i'm trying to get some rust stuff working and cargo is failing
to compile a C dependency for lack of -lgcc_s
[10:46] sanchan: i installed gcc-chimera or whatever it's called but still no
dice
[10:47] q66: okay
[10:48] sanchan: ,/lib/libgcc_s.so.1 exists so it seems like an ldconfig issue,
online troubleshooting said ldconfig -p might tell me what's
going on
[10:49] sanchan: this isn't my area of expertise
[10:49] q66: i don't understand how you get to that conclusion
[10:49] q66: ldconfig isn't a thing with musl
[10:49] q66: libgcc_s isn't a thing with compiler-rt
[10:49] sanchan: blindly following troubleshooting guides
[10:49] sanchan: i see
[10:51] q66: glibc has a dynamic linker cache for library lookups, ldconfig
controls that cache
[10:51] q66: musl doesn't have a cache
[10:52] q66: that's why ldconfig is a symlink to true
[10:52] q66: so that when something hardcodes calling it, it's a noop
[10:54] sanchan: interesting
[10:55] sanchan: cargo must just not be checking the right dirs or something.
i'll play around with it
[10:55] sanchan: thank you!
[10:55] q66: <@q66> libgcc_s isn't a thing with compiler_rt
[10:55] q66: something hardcoding lgcc_s is wrong
[10:55] q66: it shouldn't be doing that
The Chimera Linux IRC channel is really valuable for figuring out system
weirdness but I always feel weird bugging the Professionals^TM for my awful
computer issues.
Rust tickles my brain so I'm gonna work on that instead of this.
Rust says: Package openssl was not found in the pkg-config search path.
I say: # apk add openssl-devel
And so it worked.
Rust says: = note: ld: error: unable to find library -lgcc_s
I say: Shit.
Okay, so this is an ld error (actually an error in that -lgcc_s shouldn't be
required but whatever).
fn jasima_get() -> Result<json::JsonValue> {
if let Ok(val) = if let Ok(val) = reqwest::blocking::get(jasima_remote()) {
let file = File::create(jasima_local());
file.write_all(val.text());
Ok(val.text())
} else if let Ok(val) = read_to_string(jasima_local()) {
Ok(val)
} else {
Err("Unavailable")
} {
json::parse(val)
} else {
Err("Unavailable")
}
}
MARS: That should compile, but also, what the fuck is wrong with you?
I'm never going back to C.
Marcie checked out my cargo stuff and said "Hmm. Wack" or the equivalent dog
noise.
Burgered king; regiphagia.
Beat Mars at 2048. I feel accomplished. Also I got a job today.
I am just sort of here. I don't live here or anywhere else or anywhere in
particular and just come with my hosts when they do cool stuff and chip in
however I can in terms of housework or finances. This is a really pleasing
existence but I can't help thinking I can and should be doing more.
$ ld -L/usr/lib -lgcc_s
ld: error: unable to find library -lgcc_s
https://stackoverflow.com/questions/335928/ld-cannot-find-an-existing-library
>A quick hack is to symlink libmagic.so.1 to libmagic.so
# ln -s /usr/lib/libgcc_s.so.1 /usr/lib/libgcc_s.so
# ^D
$ ld -L/usr/lib -lgcc_s
ld: warning: cannot find entry symbol _start; not setting start address
You're fucking shitting me.
We're all just chilling in Samsara.
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.