💾 Archived View for nytpu.com › flightlog captured on 2023-11-04 at 11:05:45. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2023-03-20)
-=-=-=-=-=-=-
\.\. ,/,/ _______ __ __ \\\\ //// / __/ (_)___ _/ /_ / /_ _\ \ -/ / / /_/ / / __ `/ __ \/ __/ -\_>) _/>-) / __/ / / /_/ / / / / /_ \-\\/-///, /_/ /_/_/\__, /_/ /_/\__/ < \ /____/ / /___ ____ _ //,<-___-\(,\ / / __ \/ __ `/ /// / \ \) / / /_/ / /_/ / /'/ /\ \\ /_/\____/\__, / ( )) ( )) /____/
Sorry for the spam on the Comitium feed, I added a ton of Phlogs because I want to read more Gopher content.
Why not get your own .xyz domain consisting solely of 6–9 digits for 99¢ a year!
Oh yeah I made a page on my capsule with furry art I've commissioned, maybe check it out:
I don't mind writing C—I actually enjoy it a lot of the time—but every time I use it I get more and more annoyed at it's error handling. Looking at all the function bodies in this codebase I'm working on, ~20% of all the lines are solely checking return values for errors, and that's with condensing error-checking ifs onto one line when possible and using goto to jump to cleanup parts (Go is even worse since the mandatory Go style enforces 3-line-minimum ifs and don't have goto for cleanup). Using Hare/Zig/whatever's error-propagation operators combined with defer/errdefer would be so much nicer, but alas. Also figuring out what error occurred sucks unless the authors of all of your libraries were kind enough to provide actually useful return codes instead of just -1.
Honestly I don't really like exceptions either, I really prefer Hare and Zig's error handling that uses return values like C but isn't pure pain. Although nothing can top Common Lisp's condition system, the most flexible, most powerful error handling system in any programming language I'm experienced in (like so much else with CL)
I just finished my second reading of “The Day of the Jackal”, and I quite enjoyed reading it again. I decided to read the history of the book's writing since I like doing that, and stumbled on this factoid:
[Publishers rejected the book because they] believed a fictional account of the OAS hiring a British assassin in 1963 to kill Charles de Gaulle would not be commercially successful, given the fact that he had never been shot and, when the book was written, de Gaulle was in fact still alive … [as such] readers would already know it would not and could not possibly have been successful.
— Wikipedia: “The Day of the Jackal” Publishing History
Now, maybe it's just me, but that's just about the dumbest thing I've read in recent memory. Did publishers that ostensibly know how books work somehow not know that a book can be about events that didn't actually happen? Like I know the Michael Crichton style of mixing in real-life facts and events to make a fictional book feel real wasn't en vogue at the time, but wow just how dumb could they be? Like sure, it'd be hard to gamble on a first-time author with a book about the OAS—who were mostly dissolved ~10 years before the book was written, i.e. not likely to be interesting to the public at the time. But the reason they (supposedly) gave about rejecting it is just about the dumbest reason I've ever heard. So much so that I went and wrote this about it…
You should go read “The Day of the Jackal” though, it's pretty great.
Just for fun I wrote Ada Lovelace's Note G in Ada, the eponymous programming language.
I first thought about it when I realized that Ada's “decimal fixed-point” types were perfect to emulate the Analytical Engine since the analytical engine used fixed-point base 10 gears to store numbers, so I figured I should just try it out. It turned into a fun little thing, I read through the Sketch on the Analytical engine and all the notes and tried to cross-reference the program with them, and hopefully provided good explanations for what each operation is doing as well.
I read 239 pages, or ~34.1 pages per day; barely above the 🥈 medal.
A lot less than I wanted to, but this week I happened to get caught up working on a project, did some hardware mods for my NEC PC-8201A, and also played a lot more video games than typical (I picked up Super Meat Boy! again) so it was a bit less time for reading than I intended. Not unhappy with the week though because I actually did stuff rather than just… nothing like I typically do in my free time.
I have a follow up challenge: I want to sustain my 35 pages-per-day for another three weeks, for a full month of consistently reading (even if it's less reading per day then I'd like).
Super Meat Boy PS Vita old music patch
I'm gonna participate! I haven't been reading very much lately and was just yesterday thinking I should start reading regularly again.
According to my Kindle I'm currently on page 1019 of 1689 in my The Lord of the Rings reread, so 670 pages to go (around thirteen days if I read approx. fifty pages per day). In the event I magically read a lot more than that and finish it by the end of the Reading Challenge I'll probably read Standard Ebooks' translation of Caesar's Commentaries on the Gallic War for the ol' 2000 year throwback.
It sounds weird but Valonia ventricosa is on the list of my favorite organisms. I saw one while scuba diving one time, I'm digging around to see if I got a picture of it and I'm gonna be pretty sad if I didn't.
Since they're regular cells they undergo cell division. I would love to see a video of one dividing, because they're so big it must look interesting.
Yay I posted more photos finally! There's some ospreys and sharks and alligators and even more and you should go check them out
I'm starting a dotfiles repo, again. I've rarely, if ever, mantained a dotfiles repo, for a variety of reasons.
I tried stow but it was annoying sometimes and some programs didn't like that their config files were symlinks so I just gave up for that. I then tried the dotfile setup with a bare repository like mentioned on the Arch Wiki, but that was a PITA to get stuff working right and to see if files changed that I needed to commit, and in general I just wasn't a fan of it. Plus my home directory is a mess of files with sensitive information, leftover files by stuff I don't use anymore, etc. so I just never kept up with it and eventually gave up.
the arch wiki's recommendation, and this actually seems to be the general advice for dotfiles repos
I just came across this older post by Drew DeVault about managing dotfiles though, and it's so much easier and yet I've never seen anybody mention maintaining them this way. I also have some spare time so it's inspired me to slowly go through my whole home directory and clean out all the cruft, where possible configure stuff to keep secrets in pass(1) rather than in the config itself, and then adding them to my dotfiles repo. Once I get everything set up hopefully it'll be easy and convenient enough for me to continue maintaining it.
I just saw this post by Juan:
Sure the Gemini spec just added that close_notify is required, but it's been mandatory in TLS since forever. In fact, since before TLS has existed. That's right, close_notify has been REQUIRED since SSL 3.0, from 1996. Implementations have 1) never not been required to send it and 2) have had over twenty-five (25 (0b11001)) years to implement support for it. At this point there is objectively no excuse for implementations to not support close_notify properly.
The best thing to do, that I would consider 100% legitimate and valid to do, would be to (politely) nag the maintainers of your TLS stack to properly support close_notify. It's not your fault your server doesn't support it, you're just a user of a poorly-written and non-conformant library (and for many programming languages you have no other choice or even worse other choices).
At any rate, I wouldn't stress too much about your server being "non-conformant." Writing your own server should be fun and really, at this point no one's going to start blocking capsules that don't properly send it.
Keith Aprilnight's post on Cicada 3301
If I was running a mysterious ARG I would find it personally satisfying and extremely amusing to have a bunch of solvable and very difficult puzzles, and then have the final puzzle be unsolvable (such as generating 55 pages of random nonsense and then hiding that behind real puzzles).
It's probably pretty likely that it's a real and just very difficult puzzle, but it's an amusing thought.
If you want another unsolved crypto(graphy) puzzle, the fourth panel of the Kryptos sculpture is still unsolved, maybe check that out too?
I'm trying out Scheme again for the fifth (sixth?) time. I'm going in with a completely open mind and totally ignoring all my past attempts; I'm choosing an implementation and finding learning resources and such from scratch.
I'm going to go as far as I can but in the event that I end up not getting into it again I'm going to try regular Common Lisp. Hopefully it'll stick this time because I really do want to like Scheme.
Does anyone have tips on writing portable Scheme? Both in the sense of “porting the implementation to new systems” as well as “using this code on different implementations.” That's my one lingering qualm because I really can't stand writing code that's inextricably tied to precisely one implementation, especially when that implementation isn't easily portable to new architectures and OSes.
After a look through the tilde.chat channels list and searching through libera.chat's channels I couldn't find a channel for general smolnet disucssion, so I went and made one myself, it's #smolnet on tilde.chat
I wonder how old people would think I am if they looked at my capsule and fedi profile with anything that directly says my approximate age removed.
Idiomdrottning — Proof of work
Earlier this year I wrote about bitcoin's energy usage in comparison to the global banking system, and also from a logical “tranaction fees” perspective:
While the ecological angle is more important, if you're trying to convince somebody that's on the fence then it might be better to target the crypto asshole's selling points about it being better than regular money (along with every other argument you can make). One thing I think would be super useful is a single comprehensive treatise on the harm of cryptocurrency (and adjacent stuff such as NFTs), free of ad hominem and other fallacies that give the crypto bros easy targets to discredit the article. Unfortunately I'm neither skilled nor motivated enough to write anything like that.
I've started shutting down my computer (and all my devices) if I'm going to be away from them for more than an hour or two and I've found it's really helped me reduce my needless computer usage; I'm less likely to go back to my computer just to shoot the shit and will only boot it back up if I actually need to do something on it. It's not too annoying either though because I have my computer tuned to have a twenty to thirty second boot time (most of which is typing the LUKS and login password) so it's not getting in the way when I do actually need to do something.
Searching Through Browser History?
Re: searching through browser history
I think an HTTP version of this would be good as a qutebrowser extension since you get access to the browser state and DOM (and it could be written in python instead of javascript). Of course, at this rate qutebrowser won't get extensions until like 2099 so it's probably not even worth elaborating on right now, but it is nice to think about because it'd probably be easier to write and more full-featured than a webextension to do the same thing.
For something simpler and a bit more realistic maybe something that periodically parses the browser's sqlite history file and fetches pages either directly or from the wayback machine and caches them rather than trying to intercept the original request. Obviously would break on sites with login and such though.
Or as the bare minimum just lets you search through whatever minimal metadata the browser stores without intercepting or fetching anything itself.
It's been a while since I've gone looking for new feeds to add to comitium, so just now I went through Antenna, gmisub, CAPCOM, and Spacewalk and added a whole bunch of new feeds. I'm still sticking to English feeds because I only speak English, sorry everybody that posts in multiple languages (lots of Russian feeds on Gemini which is interesting).
In adding the new feeds, there's a few minor subtle bugs in comitium that I've noticed that have to do with the way I designed it internally, I might do a minor rewrite or refactor if I can ever stomach writing in Go again.
Also I totally forgot this flight log exists lol. I think it's probably pretty untenable for me to have more than one microblog and I can't easily post here from my phone so I've been mostly sticking to the fediverse.
If you're actually interesting in me shitposting and talking about tech stuff you can find me here.
I've been musing about fantasy consolesᵃ a lot on the fediverse. I've come up with an idea for a vector-basedᵇ console, and I really am going to try starting work on it. However, I have never once used SDL, nor have I embedded Lua in a program, nor have I written my own assembly, nor have I written an emulator for an existing console. Pretty much the only thing I have going for me going into this is my pretty deep knowledge of the internal workings of retro consoles.
Well, I guess I'll just learn as I go, I'm about to jump in. If I don't make it out of the SDL docs in the next week then start preparing my funeral
[a]: If you don't know what it is, a fantasy console is a fake emulated console that's meant to mimic the hardware limitations of 1980s video game consoles.
[b]: most fantasy consoles, just like real consoles, use raster-based tile graphics
Vaguely inspired by to ew0k’s post “Re: Small request to Geminauts”
I think any half-decent Gemini client should have “go up” functionality, and if it doesn't then it's the client's fault that it doesn't support the conventions used.
However, I mirror my capsule to the web, and so I leave the navigation links strewn everywhere so my web visitors can still navigate. I really want to remove them though, so possibly I might update my patch of kineto to add navigation links in the header so I can remove them from the gemtext itself.
Before removing them, I'd like to know how many people actually use them, and how many people use the “to parent” functionality in their client instead.
solderpunk's proposed Mercury protocol.
Mercury is irritating to me, because you could just use Gopher. Gemini is meaningfully different from Gopher in more ways than just "the request is different", while the proposed Mercury protocol is literally Gopher, changed just enough to be 0% compatible. Sure Gopher is suboptimal sometimes, but going with an established but slightly finicky standard will almost always be better than making your own carbon copy with one or two minor changes.
If you want to make something new in very lightweight smolnet stuff, your time would be much better spent writing better software and resources for Gopher rather than fracturing the community by creating a competing protocol (and yes, Mercury would compete with Gopher much more than Gemini is). I know it was just a thought experiment rather than a serious proposal, but when there were discussions on the mailing list about making it a serious new protocol, it hit a nerve with me just because I don't like the thought of fracturing the Gopher community. I already feel bad that Gemini has siphoned some users from Gopher.
I just converted DevKitPro's horrible pile of GNU Makefiles for the GBA to a single 86-line, pure POSIX Makefile and a 58-line configure script. It's stripped down a bit to only what I'm using, but bringing it to feature parity with DevKitPro's would not take that much.
See DevKitPro's horrible chain of makefiles:
https://github.com/devkitPro/gba-examples/blob/master/template/Makefile
https://github.com/devkitPro/devkitarm-rules/blob/master/gba_rules
https://github.com/devkitPro/devkitarm-rules/blob/master/base_rules
https://github.com/devkitPro/devkitarm-rules/blob/master/base_tools
And see my single makefile and configure script. It doesn't have anything for C++ or audio, but it'd be trivial to add in.
https://paste.nytpu.com/bTxkMGsm
I switched my server from jetforceᵃ to gmidᵇ, should be no changes, the certs are all the same and everything.
Mostly switched because the configuration of gmid is very easy without having to write python code like for jetforce. I can easily set up redirects (the biggest thing) without a CGI script or writing python, the configuration is as easy and flexible as nginx configuration. gmid has a lot of the actually good features of advanced web servers, like being able to reload the daemon without restarting it completely. I also trust C to be actually performant while I absolutely do not trust python to work at even a “reasonable” speed, not that my server ever gets enough load for it to be noticeable anyways.
[a]: jetforce by michael lazar
Today I decided to go “full Gemini.” I decided to take down my HTTP site and have my site just be a kineto proxy to my capsule. Now there are those that would say “Everybody knows you never go full Gemini” but I did it anyway.
Now, this isn't as an extreme measure as it sounds. The HTTP-only part of my site consisted entirely of links to my proxied capsule anyways. The only part I had to migrate over was my `files/` directory which acts like a poor-man's pastebin, I'd just rsync files into it. But, I just copied that over to my Gemini directory and it worked all fine and dandy.
However, there is one minor performance issue: /all/ content is being proxied through kineto, including stuff that could just be served by nginx directly. When I first set it up everything was just passed directly to kineto, including stuff like images that don't need to be proxied. Well, I just plopped this in my nginx config to have it directly serve those files:
...headers and charsets and server name and all that jazz... location / { ...proxy stuff blah blah blah... } root /var/gemini/nytpu.com; location /files/ {} location /main.css {} location ~ ^/photos/(.+).png {} location ~ ^/gemlog/files/(.+)(?!\.gmi) {} ...a few redirects and logging and stuff...
There, now nginx just serves most of the non-gemini resources in my capsule directly.
I was also very unhappy with my self-written stylesheet so I decided to theme my site like Lagrange. Skyjake's website was already Lagrange-styled, so I just ripped the stylesheet off from that.
I first just changed the colors to match what Lagrange generated for my capsule. However, there were a few issues with the stylesheet, and also a few things I just didn't like, so there were more changes. You can see the stylesheet and also a list of what I changed here:
Also available through Gemini since it's just sitting in my Gemini folder.
Well, that's it. I guess I should mention that I made a fork of kineto. All I really changed was adding a header talking about Gemini, add a little ⇒ arrow before links, and support external stylesheets rather than inline styles.
I translated The King in Yellow by Robert W. Chambers to the gempub format.
If you don't know what The King in Yellow is, it's a short story collection, the first four of which are horror stories centered around the titular play, which is almost like a necronomicon. Those stories inspired writers like H.P. Lovecraft and H.G. Wells. There are a few darker or semi-horror stories later, but by the end the stories are romance. Even if you don't like the later ones, at least read the first four, they're really good.
I have nothing to do for school today, I just finished loading 31 new cheetah pictures into the bot, and I now have nothing else to do today. I guess I'll ramble a bit here.
I guess the only thing I have to write about right now is my new Keychron K3 keyboard that arrived a few days back. I'm really liking it so far, but it is the first keyboard I've ever had that isn't built into a laptop or the literal cheapest keyboard you can get at walmart. The bluetooth has no noticable latency which is pretty surprising, and it feels good without being so loud that I can't use it at night. It's slightly different dimensionally than my laptop keyboard so I accidentally hit enter instead of apostrophe a lot, which is pretty annoying especially on IRC and XMPP. I really like the page up/down and home/end keys though, it's really nice to have those off to the side.
Now that I don't have any more to say here, maybe I'll go for a walk if it warms up. Maybe also try to get into OpenTTD.
For reference for people with little experience with them, PDAs were not meant to be mini standalone computers, they were meant to be companion devices that would sync with your computer. For instance, you'd be taking notes on your PDA, then plug it into your computer, sync up your notes, and keep writing. Or add a meeting on your computer and be able to reference it on your PDA later.
I'm really disappointed that there's no sort of syncing feature. I remember reading about one Punkt phone or another a while back, and wishing that it'd be like what a PDA was. I think a simple, minimalistic device that synced my notes, calendar, and contacts with my computer would be amazing. And since we have the power of The Internet™ now, you don't even need a dock plugged into your computer all the time, you can sync wirelessly. I can obviously just sync up with my smartphone, but 1) smartphones don't have any physical buttons and are objectively the shittyist medium to type on; and 2) there's way too many distractions. While it's /possible/ to have a minimalist experience on a smartphone, the sheer force of will required to do so is beyond my reach.
Honestly, despite the steep price tab if I could get a contemporary, aethetically pleasing PDA-like device I would 100% go for it. I guess I'll keep trying to get JPilot and a Serial to USB adapter working to get my Palm Pilot hooked up.
Or maybe I'll write something for the PocketCHIP…
I finally saw the Red-Tailed hawk mating pair that lives near me again, for the first time since last year. I knew they were still here because I can sometimes see them off in the distance but I’ve not gotten close enough to get a picture. Pretty exciting to see them again, the open space that I see them hunting in has gotten pretty crowded recently so I’m surprised that they didn’t move somewhere else.
i added some pics to my photos page, you can see them at the top here.
Well I will admit that I saw ~ew’s post right before writing that flight log post, I wasn’t targeting that at them specificially, more at the flood of posts on fedi/reddit/twitter every time daylight savings comes around. The wording makes it seem personally directed in hindsight, so sorry.
I will say that I’ve never really personally known anyone that gets more than a little disrupted by DST (and usually it’s more from having to track down all the clocks that don’t automatically change than the change itself), so I never really thought about the people with sleep schedules that don’t change easily.
A good lesson on trying to actually be considerate and think about other people since they tend to have very different experience than you. I tend to sometimes be an asshole for no good reason, so I’m sorry about that :(
A lot of my lowest-quality (IMO) content will consistently get lots of “interaction”—likes & boosts on fedi; likes, comments, & responses on Gemini—while my higher-effort content that I’m really proud of gets ignored (relatively). It’s just an unpredictable trend I’ve noticed that’s interesting.
I don’t really crave attention (consciously at least), even if no one ever acknowledged anything I wrote I’d still write here and on my gemlog just because it’s become therapeutic for me. Even though I’m not really talking about my personal feelings anywhere, being able to write about stuff I enjoy really makes me feel good even if I am just shouting into the void. Obviously people enjoying what I write is great too, but it’s just a bonus rather than the reason I write.
⁂