diff --git a/html/9yearanime.html b/html/9yearanime.html deleted file mode 100644 index a3b60c6..0000000 --- a/html/9yearanime.html +++ /dev/null @@ -1,244 +0,0 @@ - - - - - - -Reflections on ~9 years of anime - - - - - - - - - -
- -
-
- - -
-

Reflections on ~9 years of anime

-
-

-It’s hard to accurately(?) estimate how long I’ve been watching anime. My AnimeBytes account is about 9 years old, so that’s a lower bound. -

- - -

-last modified: 2022-10-03 -

-
-
-
-
- -
- - \ No newline at end of file diff --git a/html/about.html b/html/about.html index 9306932..a595200 100644 --- a/html/about.html +++ b/html/about.html @@ -1,7 +1,7 @@ - + About @@ -211,7 +211,7 @@ TODO

-
- -
-

Reserved Jabbing with Pokey Words

-
+
+

Reserved Jabbing with Pokey Words

+
-
-

Digesting the Writing Advice

-
+
+

Digesting the Writing Advice

+

I was reading a little style guide on Slate Star Codex. Now truth be told, I generally find this kind of “don’t say this, say that instead” style guide somewhat patronizing and quite irritating (more of a testament to my own rebellious spirit than any indictment of any author) and unhelpfully unnuanced (a more practical complaint), and my first instinct was to want to argue this lack of nuance. On the other hand, Scott is a very skilled communicator and an examplar in how being an enormous dork need not be a barrier to popularity, and there is a more helpful general principle hidden in these rules.

@@ -235,10 +234,9 @@ I am fairly sure this is all supposed to be strongly related to the linguistic p

- -
-

Further Thoughts

-
+
+

Further Thoughts

+

Having arrived at a nice concise principle of communication, let’s take a step back and generalize a bit, because I think this idea of the brain as constantly predicting sensory input and responding to surprises is useful and interesting. Specifically, while writing this it called up something I have read about schizophrenia. In a nutshell, schizophrenics commonly experience something what is called “delusions of reference”, in which they interpret innocuous things (e.g. newspaper headlines, things said on radio) as having special meaning to them. In some theories of brain function, there is an explanation for this that goes as follows: the brain is constantly predicting upcoming stimuli. In people with schizophrenia, this sometimes goes awry in a way that makes the brain flag something innocuous as deeply surprising. To the schizophrenic person, this feels as though the stimulus in question is somehow deeply meaningful to them personally, presumably in the same way that choosing an unusual “pokey” word instead of a more common synonym feels deliberate and meaningful.

@@ -251,7 +249,7 @@ This is all related to the neuroscientific paradigm of predictive coding.
-
- -
-

todo title

-
+
+

todo title

+
-
-

I

-
+
+

I

+

Sacramento, California, 2355. Jesus Salvador Rodriguez was a teacher and healer. Working two jobs was hard work, but he liked the extra income, hoping the size of his palestial two-bedroom apartment would help attract a mate. Long ago, before the Singularity, there had been many jobs; now it was down to just two. There were healers, who worked in healthcare administration, and teachers, who worked in college administration. Rumors had it that somewhere out there the Digital Nomads yet roamed, traversing the galaxy in a bid to get ever further away from California. Scientific concensus dismissed these rumors as a hoax, holding that the universe held nil but Earth and Paperclip.

@@ -223,10 +222,9 @@ Naively reasoning one would suggest that, with nanobots supporting one’s e

- -
-

II

-
+
+

II

+

It was Thursday afternoon, and Jesus was at work. When not? Long ago, there had been the matter between Working From Home and Living In The Office, and the office had won. Everyone was, of course, well aware of the irony of living at the office for the sole purpose of renting an apartment, this being the subject of a centuries-old comedic tradition. A tale as old as time; so as the peacock shows its fitness by painting a target of auspicious technicolor plumes on its own back, so must humans do retarded shit to get laid.

@@ -248,10 +246,9 @@ He finished his meal and went back inside, making his way past the office and to

- -
-

III

-
+
+

III

+

SPIDER!!!. Now that I have your attention, SPIDER!!!. It’d bit him. It shouldn’t have been there. After months of negotiation, a deal’d been reached. Clippy, the universe. Humans, the Earth. Spiders, Australia. This was not Australia. Thus the Tripartite Partition Treaty designated the spider as an enemy combatant, overruling the California Bill of Animal Rights’ prohibition on killing insects. Jesus shot at it with his web. Web? Web! Spider silk! Strong as steel, tough as kevlar, a wonderful material. Extremely illegal, as it was not listed on the California State Whitelist Allowlist of Materials Known Not To Cause Cancer (Superintelligence offered to provide a much longer list, but since the bulk of chemicals is not carcinogenic, the list would’ve required Randian amounts of paper to print and this was deemed environmentally unfriendly).

@@ -265,10 +262,9 @@ Enfin, since carcinogenic compounds were considered Schedule I drugs (the era of

- -
-

IV, or as Uccello Knew It, IIII

-
+
+

IV, or as Uccello Knew It, IIII

+

Skirt. Crop top. Boots; leather. Jacket; leather. Socks - long, green; nails, too. Victoria. And her guitar. Not the kind that goes pling plong. The kind that makes an onomatopoeia befitting very aggressive electric guitar playing. She looked like a relic. Fashion from when old was new again in her great-great-great-grandmother’s days. Loved to smoke the ganja. Everyone smoked, as cannabis consumption had been made compulsory in California, but she really enjoyed it.

@@ -294,10 +290,9 @@ Jesus’ apartment. Wanna come in, have a smoke?

- -
-

V

-
+
+

V

+

Before the cloud had left her black lips, she’d already pinched the pegs of her axe - she carried it with her everywhere - and started tuning it. Looking down, blushing, wanting to look at anything but Jesus. Cute. Cutecutecutecutecutecute, he thought. The damn guitar obscures her belly, he thought. She, on her part, thought something perhaps best transliterated as asodifhweofnoqfc. She was no good with this kind of thing. She couldn’t deal with emotions using words. She’d rather play than speak; her fingers outskilled her tongue.

@@ -315,19 +310,17 @@ Jesus felt for her. He wanted to hear it. He wanted all of her, the song of her

- -
-

VI

-
+
+

VI

+

Jesús webbed.

- -
-

notes

-
+
+

notes

+

something something violin string it’s a sexual metaphor @@ -341,7 +334,7 @@ spider silk bdsm

-
- -
-

My Experience with the Framework Laptop

-
+
+

My Experience with the Framework Laptop

+
-
-

Ordering

-
+
+

Ordering

+

I’d been eyeing the Framework laptop since somewhere in October 2021, but the EU release got delayed and they were very hesitant to give time estimates. I only managed to get my hands on it in late February, and I ended up having to have it delivered to France. I understand the difficulty of setting up logistics especially these days, but I broke my previous laptop and being stuck in limbo like this was not fun.

@@ -224,14 +223,13 @@ I asked their customer service to make a small change to the delivery address, b

- -
-

Set-up

-
+
+

Set-up

+
-
-

Hardware

-
+
+

Hardware

+

I got the DIY edition with the (lowest-end) i5-1135G7 CPU, 2x16GB RAM. I brought my own 1TB SSD. The higher spec CPUs didn’t seem worth the money to me. The RAM is probably overkill.

@@ -258,10 +256,9 @@ The more you look at it, the nicer it gets!

- -
-

Software

-
+
+

Software

+

I installed Gentoo GNU+Linux on the laptop, just like I have on my desktop. I used an Ubuntu live CD as the install medium together with the Gentoo stage3 tarball, and it worked well. I didn’t really have to jump through any laptop-specific hoops, it was a very nice experience. I did use the dist-kernel rather than configuring my own.

@@ -270,10 +267,9 @@ I installed Gentoo GNU+Linux on the laptop, just like I have on my desktop. I us The laptop held up well during compiling. It’s not as fast as a desktop of course, but compile times are not limiting. I’ve put this thing through bootstrapping GCC for a cross-compilation toolchain, which is just about the biggest compile job I’ve ran, and it wasn’t that painful.

- -
-
Display scaling
-
+
+
Display scaling
+

Simply setting Xft.dpi: 192 in .Xresources was enough for the vast majority of applications to use 2x scaling, which looks very good on this display. This is on X11 obviously; I don’t use Wayland.

@@ -283,36 +279,33 @@ The odd application requires its own scaling setting. Rofi requires setting
-
-
Display manager
-
+
+
Display manager
+

I used SDDM which works very well. I wanted to go for something a bit fancier looking, and this delivers. I don’t usually use things in the whole QT ecosystem, so it’s refreshing.

- -
-
Hibernate/suspend-to-disk
-
+
+
Hibernate/suspend-to-disk
+

This required setting up a swap file and setting a kernel command line parameter to refer to it, but it was easy to do. It works well. I’ve observed the laptop auto-hibernating when the battery runs out, but it doesn’t do this reliably, so I should probably configure it myself.

- -
-
Guake-like transient terminal
-
+
+
Guake-like transient terminal
+

-Using some fish scripts, bspwm, picom and xst I rigged up a transient, transparent terminal to use for quick shell jobs. I used the scripts and config file in Appendix A to do this. The implementation is a bit hacky, and it’s not impossible to break, but it serves my purposes well (and more important, it was fun to make)! +Using some fish scripts, bspwm, picom and xst I rigged up a transient, transparent terminal to use for quick shell jobs. I used the scripts and config file in Appendix A to do this. The implementation is a bit hacky, and it’s not impossible to break, but it serves my purposes well (and more important, it was fun to make)!

- -
-
Wallpaper-setting script
-
+
+
Wallpaper-setting script
+

I wrote a script to set a random wallpaper.

@@ -322,28 +315,27 @@ I wrote a script to set a random wallpaper. import os from random import choice -pape_path = os.path.expandvars("$HOME/Pictures/Wallpapers") +pape_path = os.path.expandvars("$HOME/Pictures/Wallpapers") def set_wallpaper(): - files = os.popen(f"ls {pape_path}").read().split('\n') - pape = choice(files) - pp = os.path.join(pape_path, pape) + files = os.popen(f"ls {pape_path}").read().split('\n') + pape = choice(files) + pp = os.path.join(pape_path, pape) os.popen(f"hsetroot -full {pp}") os.popen(f"echo {pp} > /tmp/wallpaper") -if __name__ == "__main__": +if __name__ == "__main__": set_wallpaper()
- -
-
Lockscreen
-
+
+
Lockscreen
+

-I hacked together some pretty crappy code to lock the screen using i3lock, with my wallpaper composed with a little lock icon as the background. Very overengineered. +I hacked together some pretty crappy code to lock the screen using i3lock, with my wallpaper composed with a little lock icon as the background. Very overengineered.

@@ -356,35 +348,33 @@ Is there a better lockscreen out there that will let me set my own image as the

- -
-
TODO
-
+
+
TODO
+
    -
  • Battery level notifications
  • -
  • sleep-then-hibernate
  • -
  • Battery tuning
  • +
  • Battery level notifications
  • +
  • sleep-then-hibernate
  • +
  • Battery tuning
-
-

Impressions

-
+
+

Impressions

+
-
-
Build Quality
-
+
+
Build Quality
+

The laptop is made of aluminium and feels solid but light. The screen does seem pretty flimsy, though. I probably wouldn’t want to drop this thing. It looks sleek and elegant, but pretty muted.

- -
-
Screen
-
+
+
Screen
+

This is my first time ever using a high-DPI screen, and I’m very impressed by it. Text looks unbelievably crisp and pleasant to read. I was somewhat worried about the linux high DPI situation, but I am having no issues whatsoever.

@@ -398,57 +388,51 @@ The brightness goes up quite high, but colours feel somewhat washed out at high

- -
-
Keyboard
-
+
+
Keyboard
+

Framework seems to advertise their keyboard as having particularly deep travel, but it mostly just feels like any chiclet keyboard to me. Not a bad chiclet keyboard, but not that great, either. The layout is fine, but it makes me miss the thinkpad.

- -
-
Touchpad
-
+
+
Touchpad
+

I’ve never had a decent touchpad before, so I was pleasantly surprised. I expected to miss the trackpoint on the thinkpad a lot, but this is fine, though it’s still a step down. Pinch to zoom doesn’t work very well, but I don’t use that functionality a lot. I miss having dedicated mouse buttons; the clicking functionality on this touchpad works fine for me, but it’s hard not to mess up left/middle/right click. That’s a good incentive for me to practice relying on the mouse less, though. There’s plenty of work being done on the Linux touchpad experience software-side, too. It’s a nice time to be a linux laptop user!

- -
-
Battery
-
+
+
Battery
+

With the disclaimer that I haven’t tested very intensely and I haven’t tuned power settings very much.
I seem to get about 6.5 hours of real-world use time when using Emacs and doing light web browsing. I don’t have a good benchmark for more intensive tasks, but compiling does hit the battery pretty hard. All in all I’m very happy with it, getting decent battery life on Linux is hard. It might be worth eventually buying a power bank for it though, for travel~

- -
-
Expansion cards/ports
-
+
+
Expansion cards/ports
+

The little expansion cards are one of Framework’s big marketing things. I think they’re pretty neat, though I don’t always quite understand the way people talk about them, as “dongle killers”. I would find hotswapping these about equally obnoxious as carrying dongles. The idea of aftermarket expansion cards is interesting, though - these are low level, high bandwidth ports, with I think similar capabilities to the ExpressCard ports on old business laptops, but more modern with a USB-C port. I’m looking forward to the USB4 era!

- -
-
Performance
-
+
+
Performance
+

So far I haven’t felt limited by performance at all, the experience has been really snappy. I haven’t thrown particularly difficult things at it, though, but that’s fine - most of what I do on a laptop is reading, web browsing, and text editing. I played some Factorio on it and that seemed fine, but using the touchpad felt limiting so I didn’t play very much.

- -
-

Closing words

-
+
+

Closing words

+

Getting this laptop set up has been really fun! It’s a good opportunity to take stock of where we’re at. On the hardware side, I am very impressed that it’s now possible to make a laptop that’s this user-servicable, this well-specced and still not that expensive. It’s a reminder of how much better things could be.

@@ -463,10 +447,9 @@ Personally, I’m getting a rare chance to critically examine all the little
- -
-

Appendix A: Transient Terminal Sources

-
+
+

Appendix A: Transient Terminal Sources

+

togglescratch

@@ -519,9 +502,9 @@ Personally, I’m getting a rare chance to critically examine all the little

picom.conf

-
-fading = true;
-#no-fading-openclose = true;
+
+
fading = true;
+no-fading-openclose = true;
 fade-delta = 5;
 vsync = true;
 backend="glx";
@@ -530,25 +513,25 @@ opacity-rule=["90:name = 'scratchterminal'"];
 
- -
-

Appendix B: lock.py

-
+
+
+

Appendix B: lock.py

+
#!/usr/bin/python3
 import os
 import sys
 import time
 
-if __name__ == "__main__":
-    width, height, lwidth, lheight = 2256, 1504, 320, 320
-    icon = "$HOME/Pictures/lock_small.png"
-    pape = os.popen("cat /tmp/wallpaper").read()[:-1]
-    cache = os.popen("cat /tmp/lockscreen_cache").read()[:-1]
+if __name__ == "__main__":
+    width, height, lwidth, lheight = 2256, 1504, 320, 320
+    icon = "$HOME/Pictures/lock_small.png"
+    pape = os.popen("cat /tmp/wallpaper").read()[:-1]
+    cache = os.popen("cat /tmp/lockscreen_cache").read()[:-1]
 
-    if pape != cache or '--ignore-cache' in sys.argv:
+    if pape != cache or '--ignore-cache' in sys.argv:
         os.popen(f"convert {pape} -resize {width}x{height} -background black -gravity center -extent {width}x{height} /tmp/wallpaper.png").read()
-        os.popen(f"convert -composite /tmp/wallpaper.png {icon} -geometry +{width//2 - lwidth//2}+{height//2 - lheight//2} /tmp/wallpaper.png").read()
+        os.popen(f"convert -composite /tmp/wallpaper.png {icon} -geometry +{width//2 - lwidth//2}+{height//2 - lheight//2} /tmp/wallpaper.png").read()
         os.popen(f"echo {pape} > /tmp/lockscreen_cache")
 
     os.popen("i3lock -u -i /tmp/wallpaper.png")
@@ -560,7 +543,7 @@ opacity-rule=["90:name = 'scratchterminal'"];
 
-