Home | Notifications | New Note | Local | Federated | Search | Logout
Harblinger@harblinger@wizard.casa
The outer darkness has the best memes!!!
GPG Key: https://wizard.casa/post/018e8759-69a2-8764-908d-458f5366855a
XMPP: harblinger@chat.wizard.casa
Joined: 2026-07-20 21:07:10
26 notes, 0 following, 0 followers
Harblinger@harblinger@wizard.casa (2026-08-17 09:21:54)
CHANGELOG.md
- Index view now exists for boards that can support it (everything besides /likes/, /bkmks/ and /dm/)
- 9 digit decimal hashes instead of the truncated hex ones for post ids
- Media uploads work on Pleroma now (multipart/form-data)
- Compose post preview
- Pinned/Sticky posts for profiles now supported
and more
---Attachments---
video: https://wizard.casa/media/d2077fa80e924df016fa99c09da08c3d9c8ec8cc3d2a70c5fddc3ab76c6cbf3c.mp4
Harblinger@harblinger@wizard.casa (2026-08-16 05:09:31)
Thrift store impulse purchase
---Attachments---
image: https://wizard.casa/media/cb6253a7e91c6a6e17250d1516c8714c2a869675f49575567f2ad7690655aa79.jpg
Harblinger@harblinger@wizard.casa (2026-08-06 08:29:03)
looked up these pics from the depression era, but the post I was going to reply to was deleted
>Farmers “arrest” the sheriff who was attempting to evict a woman from her farm on behalf of an insurance company. Michigan, 1952.
and
>This haunting photograph from 1936 captures a penny auction at a foreclosed farm in Michigan, one of the most defiant and ingenious acts of resistance to emerge during the Great Depression. When banks repossessed farms after families could no longer meet their mortgage payments, local communities often took matters into their own hands.
>Farmers would gather in large groups and agree beforehand to bid only pennies on each item — from livestock to land — driving the auction prices down to virtually nothing. The final “buyer,” usually a trusted neighbor, would then return the property to the original owner, ensuring the family could remain on their land.
>The nooses seen hanging in the background weren’t decorative; they served as chilling warnings to outsiders who might attempt to outbid the crowd. These were not empty threats — solidarity and survival left little room for betrayal.
---Attachments---
image: https://wizard.casa/media/c758a4d68875362e0b611144eac8ae42b096162048c414a72f30f095953b0f62.jpg
image: https://wizard.casa/media/14c351a8014fadb84e1220bcdfc0d119ebaebd508273bac44fdcc22f1842b49e.jpg
Reply to @pwm@darkdork.dev
Harblinger@harblinger@wizard.casa (2026-08-05 19:17:38)
>>272205707
yeah, might need the oob type of oauth, I forget, so don't worry about it @sun
Reply to @sun@shitposter.world
Harblinger@harblinger@wizard.casa (2026-08-05 19:11:41)
>>528286514
what appears in the dev console when I try and oauth into the shit.nexus link you posted from @test123
Reply to @sun@shitposter.world
Harblinger@harblinger@wizard.casa (2026-08-05 18:57:43)
>>324027132
I tried and got this with the test account here:
GET https://haruspex.shit.nexus/oauth/browser/callback?code=...&state=... 400 (Bad Request)
Harblinger@harblinger@wizard.casa (2026-08-04 18:05:17)
ayy that's pretty cool
https://hackaday.io/project/206145-unbeatable-purely-mechanical-tic-tac-toe-machine
Reply to @mischievoustomato@tsundere.love
Harblinger@harblinger@wizard.casa (2026-08-03 07:46:15)
Haven't heard of Glimpse
>The initial aim is to provide a downstream fork of the GNU Image Manipulation Program that has a less problematic name
lol
it's some .eu thing: https://www.betterbird.eu/ seems like basically the same thing as TBird, but a long time contributor got mad and made a fork. Too bad the fork didn't fix my issue :'(
>Betterbird is better than Thunderbird in three ways: It contains new features exclusive to Betterbird, it contains bug fixes exclusive to Betterbird and it contains fixes that Thunderbird may ship at a later stage.
Harblinger@harblinger@wizard.casa (2026-08-03 07:41:40)
Tried out the Thunderbird fork "Betterbird" hoping it wouldn't have the issue where new messages won't land until I restart the client (I notice this because they show up on my phone)
and nope, still the same thing.
Harblinger@harblinger@wizard.casa (2026-08-02 13:00:48)
yet another slop-fe, but it's been my daily driver
>>526cf444 (Cross-thread) Previous thread
https://git.wizard.casa/nak/chan-fe/releases/tag/v0.2.0
Highlights:
- /dm/ board for your direct messages
- Draggable compose panel, allows for multi >>reply tagging
- Link menu on posts, exposes originating post URL, >>(Cross-thread) markdown copy and quote posting
- More configurable (video looping, mute defaults, auto-refresh options)
- Multi-account drifting: sign into multiple accounts across instances and easily switch
- Mitra XMR subscription support
Special thanks to @silverpill for upstreaming some API changes to Mitra v5.8.0 :mitra: which reduces API hits by a lot :blebcatheart:
---Attachments---
image: https://wizard.casa/media/5ece09c35d6a0142340905f3901cab8a475d2f268a2ca01c54b2ea1f1fe61e5f.png
Reply to @kumicota@akkoma.kumicota.moe
Harblinger@harblinger@wizard.casa (2026-08-02 11:13:48)
have you tried their free trial searches? give it a comparison
I've heard Brave search is decent for a freemium search, but I haven't tried it
Harblinger@harblinger@wizard.casa (2026-07-31 07:14:07)
how about a mediocre fedi posts
or milquetoast fedi posts
or like you know lukewarm fedi posts
meta example right here btw
Reply to @sun@shitposter.world
Harblinger@harblinger@wizard.casa (2026-07-30 17:25:29)
look into that as your next vibe project, sounds weird
Reply to @sun@shitposter.world
Harblinger@harblinger@wizard.casa (2026-07-29 17:39:14)
really? didn't someone point out a .claude dir in the repo, or did you do the thing I do a lot of the time with claude spec and gpt implement?
Harblinger@harblinger@wizard.casa (2026-07-29 08:49:12)
we should get a Mitra-chan :should_cat:
Reply to @silverpill@mitra.social
Harblinger@harblinger@wizard.casa (2026-07-28 06:45:40)
@silverpill
Sounds good!
>Do you intend to send a patch?
I could definitely do that and exercise your new forgejo instance (unless you want me to press the new 'berg ToS, either way)
Reply to @silverpill@mitra.social
Harblinger@harblinger@wizard.casa (2026-07-27 14:57:13)
Okay, this is above my pay grade (I'm an SQL noob), and I hope it's not annoying slop, let me know if you want me to run any further tests:
Numbers, from a copy of a production instance: 59,720 conversations, 256,613 posts, post is 562 MB against 128 MB shared_buffers, so it doesn't fit in cache. Postgres 18.3. Public-catalog variant, 40 rows,
warm, EXPLAIN (ANALYZE, BUFFERS).
Ordering by a lateral max, no stored column:
page 0 1621 ms 356,442 buffers
offset 5000 1784 ms 349,889 buffers
Stored conversation.last_activity_id with a btree index:
page 0 0.388 ms 183 buffers
offset 5000 1.183 ms 188 buffers
Both return the same 40 conversations in the same order (EXCEPT between them is 0 rows).
The flat cost across page depth in the first pair comes from where the cursor lands in the plan:
-> Subquery Scan on last_post
Filter: (last_post.id < '019fa02a-...'::uuid)
-> Limit
-> Sort (Sort Key: p.id DESC)
-> Index Scan using post_conversation_id_btree on post p
Index Searches: 58835
The cursor is a filter on the lateral's output rather than an index condition, so all 58,835 candidate conversations are probed on every page. With the stored column it's Index Cond: (last_activity_id < ...):
one btree descent, and constant with depth.
One structural difference between the two queries: get_direct_conversations filters conversation.audience IS NULL, which on this instance is 467 of 59,720 rows, applied before the sort. The public variant has
no equivalent — its candidate set is every conversation with a public root, 58,804 here — so that predicate doesn't carry over to the sibling.
A third shape worth recording: drive from the post index instead of from conversation, scanning post by id descending and deduping on conversation_id. 26.6 ms, 2,187 buffers, page 0. It's window-approximate —
2,000 posts yielded 1,477 distinct conversatio
Reply to @silverpill@mitra.social
Harblinger@harblinger@wizard.casa (2026-07-26 18:52:59)
Got around to it, here's the "slop" proposal (actually pretty good until item 6 "not part of this proposal" which snuck in, can be ignored)
https://git.wizard.casa/nak/chan-fe/src/branch/main/docs/mitra-catalog-endpoint-proposal.md
Reply to @captainepoch@stereophonic.space
Harblinger@harblinger@wizard.casa (2026-07-22 16:03:34)
cool, well I don't think using butter to scramble eggs is American, I learned my scramble egg technique from out local Frenchman Jacques Pepin https://youtu.be/bqKq0bQHnZU?t=122
ewww look at that butter lol where are you from??
Reply to @captainepoch@stereophonic.space
Harblinger@harblinger@wizard.casa (2026-07-22 15:28:47)
like scrambled eggs? What do you use lard?
Harblinger@harblinger@wizard.casa (2026-07-20 19:48:15)
these people should make the PoW fold proteins or search for extraterrestrial life or something useful
fighting fire with fire I guess, but imagine the virtue signalling they could be pulling off
---Attachments---
image: https://wizard.casa/media/d35cfe1afa8feaf2950a47ab25cf23fde796c9cd874a8596825c5111eaaf857e.png
Reply to @silverpill@mitra.social
Harblinger@harblinger@wizard.casa (2026-07-15 04:17:52)
I figured that was the Mitra vibe (polling)
and it's not really needed, just the convo went that direction after pointing out how chan-fe needs to walk threads hitting the statuses api a ton to calculate bump order from replies. Definitely not a priority imo, but could make things a bit snappier, and push notifs would be nice, etc.
Reply to @sun@shitposter.world
Harblinger@harblinger@wizard.casa (2026-07-14 16:28:08)
I'd have to look around and see what other servers do, sounds like it could be worth it
Reply to @tyler@nicecrew.digital
Harblinger@harblinger@wizard.casa (2026-07-14 16:24:09)
No websockets on Mitra
The problem is just trying to squeeze the timeline API shape into an image board shape
I haven't really looked into the FChannel project but they were doing the full stack https://github.com/FChannel0/FChannel-Server so no problems with the "shape" contortions chan-fe has to go through
Reply to @tyler@nicecrew.digital
Harblinger@harblinger@wizard.casa (2026-07-14 16:13:24)
it's really tempting to make a custom endpoint for some things, like loading catalog views hits the /statuses/ endpoint pretty hard because it has to check which threads are "bumped" from replies, that could all be done backend with postgres instead (and ffmpreg thumbs!)... a bit slow on the initial load, but not unusable. Still absolute webshit :why:
---Attachments---
image: https://wizard.casa/media/90e540b4dce0f1cfc98df12548297c7e0fe6fdc984e784bdc94eefdcf1a7ffa6.png
Harblinger@harblinger@wizard.casa (2026-07-14 15:32:10)
Still hands off on backend stuff, I just embed full on video elements in the catalog and thread views :fatrat:
I haven't thought about taking the quoted media and making it the parent though, definite think :thinking_rotate: