Show newer

uspol 

Political violence didn't start with Trump, nor will it end when he's gone, but he has done an awful lot to normalize it. Remember the curb-stomping that he cheered on during his first candidacy, or bragging that he could shoot someone on 5th Avenue and get away with it, or his lawyers arguing he has the right to send Seal Team 6 after his rivals?

He has never been shy about violence as a means to achieve his political ends, and we cannot afford to forget or erase that now.

Show thread

uspol 

Last time I went to Costco, there was a guy with a "Fuck Your Feelings" gun-club t-shirt. That's political violence.

When we flew a progress pride flag, someone took it down and threw it in the dirt. That's political violence.

I live in a relatively progressive city, and lead a pretty privileged life, and I still see the edges of that violence.

If your concern about political violence starts and ends with what happened to Trump, there's a whole fucking lot more you're ignoring.

“"GitHub" Is Starting to Feel Like Legacy Software - The Future Is Now”

mistys-internet.website/blog/b

> The once-industry-leading status page no longer reports minor availability issues in an even vaguely timely manner; Actions runs randomly drop network connections to GitHub’s own APIs; hitting the merge button sometimes scrolls the page to the wrong position—but this is the first moment where it really hit me that GitHub’s probably not going to get better again from here.

seekseek devlog, long-ish, technical details 

I'm currently working on the auto-expiry of dependent tasks, ie. tasks which should be run once another task has completed. This is somewhat tricky.

For a bit of background: in srap (the working name for the backend), everything is expressed as 'items' with 'tags', and 'tasks' which are run on items that match the tags configured for those tasks. Tasks can then, at runtime, decide to invoke functions that create or modify items in the dataset (by name or otherwise), and assign tags.

It's possible for multiple tasks to run on items with the same tag, and it's also possible for those tasks to specify dependencies on each other; for example, given a page ID, you may want to 1) scrape the page contents and only then 2) normalize the scraped contents to some standard format, as separate tasks.

Now the challenge here is to ensure that once task 1 is re-run (because the TTL expires and it needs to be re-scraped), task 2 will *also* be re-queued. There's no explicit queue, the queue is just "whatever items are eligible tag-wise and do not have a recent-enough successful run registered for a task".

This is made difficult by the fact that the backend doesn't actually have a full dependency graph! It can know that task 2 dependsOn task 1, but the item may have been originally created by a task 0 which scraped a list of items (like a sitemap), and there's nothing telling the backend that task 0 can create page ID items, other than it just *happening to do so*.

The solution I've come up with so far, is to expire a taskRun for an item under two circumstances, checked whenever an item is modified:

1. The task in question does not have any dependencies, ie. it is the root/first task to run for a given tag - and the task that *modified* the item would itself never run for that item (to prevent cycles of dependents re-triggering the root task). This handles the "list -> item" case.

2. The task is a direct dependency of the task that is doing the modifying. This handles the "two tasks for one item with a dependency relation" case.

Now to actually implement this :)

Show thread

Thanks to everyone who has been CWing their (US) politics posts. This includes most of the folks I follow, which is good to see.

highly recommend "A Psalm for the Wild Built" by Becky Chambers as a heartwarming, beautiful comfort read during these cursed times

I'm gonna do a re-read... the first time felt like a mental health b12 shot

it's got a hopeful solarpunk vision of a beautiful, possible society that's overcome a complicated, familiar history. the nonbinary main character is able to just exist without explanation. there's an adorable, curious robot buddy and delightful musings on human (and nonhuman) experiences, our place in the planet, and everything in between.

there's also a sequel, "A Prayer for the Crown Shy", which is very lovely as well

take care and stay safe. the next few weeks might get ugly 💜💜💜

#selfcare #reading #fucktrump #socloseandyetsofuckingfaraway #worsttimeline

Speaking of which: if you're interested in building your own search engine for something, and want to test out this software, let me know! All it should require to know is basic (JS) programming knowledge, and jQuery syntax. The backend handles the rest of the complexity. The software will run on a laptop easily.

(For hopefully obvious reasons, I will not assist with unethical projects like scraping personal information)

Show thread

The concept of “blood family” is a scam

This is not the only valid way to construct family. People are not entitled to my love, obligation or labor *just* because they are genetically related to me.

If you want to be with them, be with them.

If you don’t want to be with them, leave.

If you would like to be with them, but think they are treating you unfairly, demand a better relationship, and leave if you don’t get it.

Nobody is entitled to your association.

Show thread

As a society we should make it as easy as possible for people to leave bad families in fair and equitable ways.

That is essential to having an egalitarian society. Freedom of association, and also freedom of disassociation.

Show thread

I should probably start tagging these project update posts with or something.

Anyway, current status: rewrite of the scraping backend is almost done. I'm a lot happier with this version than with the previous one, and this one should be a lot more suitable for the original goal of making it easier for people to build their own search engines.

Some big items remaining: switching to embedded Oxigraph instead of a stand-alone server (requires writing some Neon/Rust bindings), rewiring the code so that it can actually load multiple configuration modules with their own namespaces (as it's meant to do), implementing auto-expiry of dependents, worker threads, custom TTLs, and converting existing scraper modules to the new API.

The API didn't change *much*, but enough to need some changes. That should actually end up simplifying the modules!

Show thread

phone recommendation, boost ok 

can anyone recommend me a phone that can run a recent mobile OS and is likely to get updates, i can get for vaguely cheap [used is ok], and ideally not huge? purpose is mainly running apps that won't work on grapheneos

tech worker pol 

“You don’t get rewarded for being extra. You don’t get any money when you save costs. You’re going to get a raise below inflation. You’re stupid for caring the way that you do. The business’ downside risk is not yours, and it’s profits are not yours either.”

Excellent article. qword.net/2023/04/30/maybe-you

(I think it's still faster than PostgreSQL with the same workload though)

Show thread

en.wikipedia.org/wiki/Internat

> The day was first celebrated in 2012, started by Katje van Loon. The date was chosen for being precisely midway between International Men's Day and International Women's Day.

I laughed :blobfoxlaugh:

Happy NB people's day!

subtooting hackernews 

Every single time there's a thread on HN about the issues with Git, it doesn't matter what, there *will* be people jumping in defending it as "it's not that hard, you must just not have taken the time to learn it".

And the fact that such vast swathes of developers, including highly experienced ones, continue to find it unintuitive and unpleasant to work with, *somehow* doesn't register to them as a signal that maybe the problem is actually with Git itself...

I really don't understand people who behave like this. How many people need to complain about something before you're willing to concede that maybe there's room for improvement? Why are you so invested in insisting that it's perfect?

@Schouten_B @McCovican @mathew @RenewedRebecca the attitude of an ethical technology company should be that they provide an unsurprising technology that has their interests at heart - including getting consent from them for features that they might not like. it should not be that the users don't know what they want and it's too complicated to explain things to them

Show older
Pixietown

Small server part of the pixie.town infrastructure. Registration is closed.