we have achieved PLYWOOD

Jul. 7th, 2026 10:59 pm
kaberett: Trans symbol with Swiss Army knife tools at other positions around the central circle. (Default)
[personal profile] kaberett

(by which I mean, A very bravely ventured back to B&Q again, this time DID get The Goods, aaaaaaaand then discovered that even cut down they didn't fit in the car so they still needed to be attached to the roof rack with ratchet straps--)

we have achieved PROOF that the windows CLOSE when they have ratchet straps slung around both TOP and BOTTOM

we have a house at 26.7°C and an outside world at 26.1°C and it's time to go to bed

[Gru's plan goes here]

-- but hey, maybe at least we'll manage to discourage it from getting significantly warmer in here? and maybe I'll wake up early enough to open the house up usefully while we're still below 20°C tomorrow morning?

github: shadowy octopus with the head of a robot, emblazoned with the Dreamwidth swirl (Default)
[personal profile] github posting in [site community profile] changelog

Hoist per-viewer trustmask lookup out of the tag loop (#3646) (#3647)

  • Hoist per-viewer trustmask lookup out of the tag loop (#3646)

Rendering a tag list called LJ::S2::TagDetail once per tag, and for a logged-in non-owner that recomputed the viewer's trust relationship (trusts_or_has_member + trustmask) for every tag. Both resolve to _trustmask($u, $remote), an unmemoized memcache round-trip, so a journal with thousands of tags fired thousands of redundant gets and took ~20s.

The relationship is identical for every tag, so compute it once via the new LJ::S2::tag_viewer_context and pass it into TagDetail. As defense-in-depth, memoize trustmask per request in a dedicated %LJ::REQCACHE_TRUSTMASK (cleared in start_request, invalidated on edge changes) rather than the bare %LJ::REQ_CACHE, which is never cleared between requests and would leak stale masks across viewers.

Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com

  • Trim comments in the trustmask fix

Cut a redundant per-line comment, condense two headers, and drop duplicate issue references left over from the first pass.

Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com

  • Drop the redundant %LJ::REQ_CACHE warning from the memoization comment

Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com

github: shadowy octopus with the head of a robot, emblazoned with the Dreamwidth swirl (Default)
[personal profile] github posting in [site community profile] changelog

Load LJ::Location where it's used so entry locations render again (#3645)

  • Load LJ::Location where it's used so entry locations render again

LJ::currents renders an entry's current location by calling LJ::Location->new inside an eval, but nothing on the render path ever loaded LJ::Location -- it was only ever called, never used/required. Once Apache/mod_perl (which broadly preloaded modules at startup) was retired in favor of Starman-only, the module stopped being resident, so the eval died silently, $loc came back undef, and the location was dropped from every entry. Mood and music don't go through LJ::Location, which is why they kept working.

Add use LJ::Location to the three files that call it: LJ::Entry (the user-visible display path), LJ::Protocol (current_coords validation), and LJ::Hooks::Setters (the icbm/location setter). Add t/currents.t, which exercises LJ::currents without loading LJ::Location itself and asserts the location renders -- it fails against the pre-fix tree and passes now.

CODE TOUR: If you set a "current location" on a post, it recently stopped showing up on the entry even though mood and music still did. The value was being saved correctly -- the site just wasn't displaying it. This restores the current location on entries.

Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com

  • t/currents.t: use the Dreamwidth-only license header

It's a new file, not forked from LiveJournal; drop the fork boilerplate.

Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com

slippery_fish: (triumph & disaster)
[personal profile] slippery_fish
During the Covid pandemic, Cora loses her sister. She is murdered right in front of her, a stranger pushing her in front of a train. Months later, she is a crime scene cleaner. And scene after scene, she cleans up the remains of another Asian woman. Murders all of them.

And then, there is the hungry ghost.

Cora is somewhere on the spectrum, and she is suffering from trauma. It took me a while to get used to the writing style for her inner voice but after I did, this really worked for me and I think it was a great portrayal of her grief and the way her mind works.

The novel also was pretty gory at times, maybe a bit too gory for me. I was kinda glad that I'm pretty bad at imagining anything visually (or at all, I probably have aphantasia). It doesn't pull punches when it comes to character deaths, something that kinda surprised me. Also, the creppyness factor got pretty high at times. So yeah, all elements of a good horror novel.

Spoilers )

I wouldn’t recommend for everyone, if you’re have a lot triggers, you better check if this novel isn’t too much for you.. But I thought it was clever and a good read.

vital functions

Jul. 5th, 2026 10:40 pm
kaberett: Trans symbol with Swiss Army knife tools at other positions around the central circle. (Default)
[personal profile] kaberett

Reading. I have... restarted... Polysecure (Jessica Fern), this time having set up some space in my notebook to Take Notes, because oof. I am still at Baby's First Introduction To Attachment Theory, and I am having Thoughts.

(I am Noticing that I procrastinated on actually picking it up until it was in the final days of the loan, with enough of a hold queue that if I don't finish it in the next 36 hours I will either be buying my own copy or sulking a bunch. This is definitely a reversion to employing Deadline Panic to get a thing done.)

Playing. Puzzle! We have COMPLETED the pond and the various rivers are beginning to coalesce. I am definitely having Thoughts about design, on which more soon/later maybe.

Cooking. We wound up with a paucity of broad beans and an excess of broccoli, so I dumped a bunch of broccol in the broad bean kuku and that worked pretty well.

I have managed to process Some of the redcurrants. There are So Many redcurrants. I really need to go and harvest more raspberries so I can make the jam, and am gently cursing myself for not having achieved this before the next round of heat wave arrived...

Eating. So many strawberries. Also we had an excellent date night dinner sat outside at Wagamama, where it turns out I do in fact really enjoy the gochujang tamarind corn ribs.

Making & mending. ALAS FOR US we have not Made The Window Covers, because our local B&Q had the appropriate plywood but a broken industrial saw for cutting it to size, and the next closest B&Q, which we called to confirm did have a working saw, despite its inventory claims did not have the appropriate plywood. Ergo this week we will be once again resorting to the space blankets.

Growing. I... repotted the pineapple thereby discovering that despite Remaining Alive it was NOT Happily Growing Roots in the medium it was in? So. We will see if it survives the relocation.

Observing. A Jersey Tiger!

Yesterday we wandered down via the bakery to the river (dropping off a bike with the local nice bikes autistic en route) and spent a while watching the various waterfowl: a gaggle of awkward teenage ducks; a separate gaggle of awkward teenage coots, still all trying to pile onto the one nest; a bundle of tiny flufflings all following mama duck, one of whom was consistently making a noise exactly like the PLIMK of a water drop in a space that amplifies the sound; and Six Quiet Orbs on the nest down the river, still with one (1) teenage coot tucked into the side of it. It was a very good walk for waterfowl.

Fannish Expertise

Jul. 5th, 2026 03:27 pm
[syndicated profile] fanhackers_feed

Posted by fanhackers-mods

Returning to Price’s examination of fannish information behaviours, we are introduced to four related areas that this research can contribute to. One of them being education, which is, in a sense, a negotiation of different information behaviours in as much as learning is acquiring new information and organising and using that information in certain ways. 

Price brings examples from the scholarship of more explicit learning relationships in fandom: that of creative writing - and game modding mentors. 

However, as we have already addressed the unique  information behaviours of fandom, these behaviours are also learned in some way. This less explicit and formalized learning of less easily defined skills or information defying easy categorization might be more telling about fandom. 

Price, Ludovica. 2017. “Serious Leisure in the Digital World: Exploring the Information Behaviour of Fan Communities.” PhD diss., City University of London. https://openaccess.city.ac.uk/id/eprint/19090

Author: Szabo Dorottya

github: shadowy octopus with the head of a robot, emblazoned with the Dreamwidth swirl (Default)
[personal profile] github posting in [site community profile] changelog

Don't memoize the trusted-anon verdict in %LJ::REQ_CACHE (#3644)

%LJ::REQ_CACHE is never cleared between requests, so the cached verdict leaked across requests -- and therefore across visitors -- on a persistent worker. Drop the caching entirely: validation is one HMAC plus an already-request-cached load_userid, and only runs where a captcha would otherwise be shown. Adds a regression test simulating back-to-back requests from different browsers on one worker.

Co-authored-by: Claude Fable 5 noreply@anthropic.com

Commit: ca89c2f6 Author: Mark Smith

github: shadowy octopus with the head of a robot, emblazoned with the Dreamwidth swirl (Default)
[personal profile] github posting in [site community profile] changelog

Skip captchas for logged-out browsers that recently held a good session (#3643)

  • Fix DW::Captcha->site_enabled when called as a class method on the base

3594 changed the abstract base's implementationenabled to return 0, which

made every class-method DW::Captcha->site_enabled call return false -- so require_captcha_test bailed early (disabling all comment captchas) and the per-journal comment captcha setting hid itself. Have the base report whether any implementation is enabled instead; subclass behavior is unchanged, and a fallback base instance still cleanly no-ops when nothing is configured.

Co-Authored-By: Claude Fable 5 noreply@anthropic.com

  • Skip captchas for logged-out browsers that recently held a good session

Adds an HMAC-signed "ljtrust" cookie (LJ::Session::update_trust_cookie, set alongside the master cookie at login/renewal and re-signed on uniq rotation; never cleared on logout). It's signed over the userid, the browser's ljuniq ident, and an issue time, using the rotating LJ::get_secret pool.

LJ::Session->trusted_anon_user validates it on logged-out requests -- sig, current-uniq binding, 60-day age, cookie generation -- then re-checks the account's standing live (visible, validated email, individual), so suspension revokes the bypass immediately.

A trusted anon then gets the logged-in treatment from both captcha gates: the interstitial view gate (DW::Captcha::should_captcha_view, checked lazily at each would-show point so trusted browsers never feed the fraud tempban counter) and the comment checks (LJ::Talk::Post::require_captcha_test: journal setting R and comment_html_anon are skipped; F/A, maxcomments, rate limits, and sysbans -- everything a logged-in user would still face -- are not). Each skip increments dw.captcha.bypassed with tags mirroring dw.captcha.shown.

Co-Authored-By: Claude Fable 5 noreply@anthropic.com

  • Address review: derive trust window from session_length, tag bypass metric with impl type

TRUST_COOKIE_MAX_AGE now delegates to LJ::Session->session_length('long') instead of duplicating the value, and dw.captcha.bypassed carries the same type: tag as dw.captcha.shown so the two slice identically.

Co-Authored-By: Claude Fable 5 noreply@anthropic.com

[admin post] Admin Post: Deadline Impending

Jul. 5th, 2026 11:11 am
dizmo: A simplified blob-like illustration of me. (Default)
[personal profile] dizmo posting in [community profile] intoabar
Just popping in for a quick heads up that the deadline is just under ten hours away at 11:59PM EDT. Good luck to any last minute writers!

(And if you don't manage to finish in time, don't fret! Late posting is a go once the masterlist goes up!)
github: shadowy octopus with the head of a robot, emblazoned with the Dreamwidth swirl (Default)
[personal profile] github posting in [site community profile] changelog

Auto-deploy web-shop to follow web-stable (#3642)

Add a deploy-shop-follows-stable job to web22-deploy.yml that promotes the same image digest to the web-shop tier after a web-stable deploy succeeds. Guarded on inputs.service == 'web-stable' so shop/canary/unauth deploys don't fan out, and needs: deploy so a failed stable deploy leaves shop on its current version.

Co-authored-by: Claude Opus 4.8 (1M context) noreply@anthropic.com

Commit: d140c907 Author: Mark Smith

June 2026

S M T W T F S
 123456
78910111213
14151617181920
2122232425 2627
282930    

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags