self

joined 2 years ago
MODERATOR OF
[–] self@awful.systems 14 points 2 days ago (3 children)

oof, I’m sorry you’re caught in the middle of this crap; it’s not a great feeling to be put into this kind of situation.

take this with a grain of salt because I’m exhausted from a hell workweek, but this felt like a thread you could pull on:

I know they have no dedicated resources because they are actively hiring their first staff member for this niche and said so in a recent job advertisement.

if their AI horseshit is doing so well in your niche, why are they hiring for it? that’s fucking weird, right? use your best judgement, but be as aggressive with your questions as feels appropriate.

also, and I hope this isn’t too obvious: you’re in the middle of a vapid power game between two sociopaths who lie for a living (and the pilfered livings of many other people). craft your questions and statements with that in mind — you’re there to sell the idea that the opposing executive has done something foolish, so come up with responses to the potential bullshit these professional bullshitters might fling at you (“the new hire is just to train/support/monitor the AI” “oh, but wasn’t it already a success? that doesn’t sound very efficient, can you go into more detail?”). one of the biggest mistakes I’ve made in similar situations is to stress absolute truth and precision in conversation — and it’s a trap that a lot of tech people fall into, that the executive class tends to use as a mechanism for control. the truth is on our side but these people don’t give a fuck about that, so sell them a story.

[–] self@awful.systems 5 points 1 week ago

I've found a root cause and issued a very temporary fix. here's what's up:

nodeinfo and the sidebar statistics are both pulled from a database table named site_aggregates. some of the columns in that table, like the ones for active users per time period, are calculated by the Lemmy backend on a schedule. the posts and comments columns are calculated live, but not by the backend; those columns are driven purely by database triggers calling stored procedures when the post and comment tables update. this is an awful pattern.

anyway, to illustrate the bug in lemmy, the database migration that established the site_aggregates table correctly initializes the posts column like so:

SELECT coalesce(count(*), 0) FROM post WHERE local = TRUE) AS posts

but that's not what keeps the column up to date. on updates to the post table, the database calls the site_aggregates_post_insert() stored procedure, which has the following body -- see if you can spot the mistake:

 CREATE OR REPLACE FUNCTION public.site_aggregates_post_insert()
  RETURNS trigger
  LANGUAGE plpgsql
 AS $function$
 BEGIN
     UPDATE
         site_aggregates sa
     SET
         posts = posts + (
             SELECT 
                 count(*)
             FROM
                 new_post)
     FROM
         site s
     WHERE 
         sa.site_id = s.id;
     RETURN NULL;
 END
 $function$

(and for completeness, this is called by this database trigger:)

CREATE OR REPLACE TRIGGER site_aggregates_post_insert
    AFTER INSERT ON post REFERENCING NEW TABLE AS new_post
    FOR EACH STATEMENT
    EXECUTE PROCEDURE site_aggregates_post_insert ();

did you spot the mistake? no shame if you didn't, stored procedures can be hard to follow. here it is: the statement that initializes the posts column has a WHERE local = true clause that correctly filters out non-local posts from the statistics it pulls. the stored procedure doesn't have that; there's no mechanism in place that filters out non-local posts from the count, so our database was incrementing the count every time anything was stored in the posts table, including posts discovered via federation.

I have temporarily corrected our posts column and our nodeinfo along with it by setting the value of that column to the value of the initialization statement above. the stored procedure and trigger in our database are still incorrect; I will need to carefully fix the stored procedure in our database in a way that won't break future migrations when we upgrade Lemmy.

as far as I can tell trying to piece together the SQL over a year of migrations (another reason why you don't use stored procedures if you can help it), this bug was never fixed. a migration dated 2024-02-24 dropped all of the procedures and triggers that used to update site_aggregates. I don't know what mechanism replaced them, and I won't find out until I evaluate the newest "stable" version of lemmy for suitability to be deployed into production.

someone should probably inform db0 that nodeinfo statistics for lemmy instances running anything before the commit with that migration are incorrect; this likely affects small instances much more than large ones. also tell him the following:

  • I'm still suspicious as fuck
  • I'll fuckin do it again
[–] self@awful.systems 12 points 1 week ago

it’d be really weird you didn’t do even a tiny amount of reading into the research by DAIR and other organizations studying the interplay between AI and racism before shitting this post out into our thread, but I’ve seen your takes on transphobia and they’re somehow even more inane so please feel free to go fuck yourself

[–] self@awful.systems 9 points 1 week ago

riskable, sibling, please take this as advice:

you should’ve stuck to things you know like the coefficient of friction of PETG, magnetic field interactions, or any other topic where your output isn’t this absolute buffoon shit

[–] self@awful.systems 4 points 1 week ago

thank you for following up on that! I’m surprised it’s returning an invalid value — we’re not botting (to my knowledge at least, I’ll check the DB later and make sure nobody’s doing anything weird) and I haven’t written any code that touches nodeinfo directly. to be honest, if I were to modify our stats in any way I’d do it to make our instance look smaller, as larger instances tend to attract more bad actors.

I see that @db0@lemmy.dbzer0.com tried to initiate contact in that thread, but unfortunately I’m unable to reply directly because posts between our instances don’t seem to be federating — this could be due to a federation queue delay, or possibly an automated quarantine due to us being on the suspicious instances list.

my hunch is that our instance may be misreporting its nodeinfo due to a bug in our (now rather old) version of lemmy. I’ve been meaning to upgrade us for a while, but there is a bit of outstanding infrastructural work I’d like to do as part of that. since it seems to be impacting the health of our federation, I’ll prioritize an upgrade to the newest stable version.

[–] self@awful.systems 21 points 1 week ago (1 children)

deezer seems to rightfully consider being flooded with lazy AI slop a problem:

Herault added that a detection tool launched in January was helping the company filter fully AI-generated tracks from the algorithmic recommendations for its 9.7 million subscribers.

Drake used AI to duo with Tupac in one of his songs

this is something different from what the article’s talking about, but also that sounds tacky as fuck

[–] self@awful.systems 8 points 3 weeks ago

so like a fool I decided to search the web. specifically for which network protocol Lisp REPLs use these days (is it nREPL? or is that just a clojure thing with ambitions?)

and the first extremely SEOed result on ddg was this bizarre blend of an obscure research lisp from 2012 and LLM articles about how Lisp is used in mental health:

Numerous applications and tools are being developed to support mental health and wellness. Among the varied programming languages at the forefront, Lisp stands out due to its unique capabilities in cognitive modeling and behavior analysis.

so I know exactly what this is, but why is this? what even is the game here?

[–] self@awful.systems 9 points 3 weeks ago

to quote the red ink on your last CS exam: Jesse, what the fuck are you talking about

[–] self@awful.systems 15 points 3 weeks ago (2 children)

yeh I know, so calling out zk proofs as “the technology behind crypto” really reads like calling hydrogen gas “the technology behind the Hindenburg”, doesn’t it.

[–] self@awful.systems 17 points 3 weeks ago (5 children)

you and your friend really should have spent any time at all looking into who runs worldcoin and how fucking monstrously dystopian it is before rushing into buttcoin of all places to defend the “valid use of the technology behind crypto” (????) you both imagined existed in the OP’s screenshot

[–] self@awful.systems 7 points 3 weeks ago (1 children)

oh fuck off

I’m not saying it’s always infosec.pub, but

[–] self@awful.systems 13 points 3 weeks ago

you got banned before I got to you, but holy fuck are you intolerable

We should be people of science, not reactionaries.

which we should do by parroting press releases and cherry picking which papers count as science, of course

but heaven forbid anyone is rude when they rightly tell you to go fuck yourself

 

after some extended downtime, I rolled out the following changes to our instance:

  • pict-rs was migrated to version 0.4 then 0.5. this should hopefully fix an issue where pict-rs kept leaking TCP sockets and exhausting its resources, leading to our image uploads and downloads becoming non-functional. let me know if you run into any issues along those lines!
  • NixOS was updated to 24.11.
  • the instance's storage was expanded by 100GB. this increased the monthly bill for our instance by €1.78 per month. to keep the bill low, I disabled an automated backup feature that became unnecessary when we started doing Restic backups.

I have one more thing I want to implement before our big Lemmy upgrade; I expect I should be able to fit it in tomorrow. I'll update this thread with details when I start on it.

 

since we’ve been experiencing a few image cache breakages, I’m scheduling some maintenance for January 24th at 8AM GMT to upgrade our pict-rs version, increase the total amount of storage available to our production instance, and do a handful of other maintenance tasks. this won’t include a lemmy upgrade, but I plan to do one soon after this maintenance round. I anticipate the maintenance should take around 2-4 hours, but will post updates on the instance downtime page and Mastodon if anything changes.

 

we have a WriteFreely instance now! I wrote up a guide to why it exists, why it's so fucking janky, and what we can do to fix it.

 

this is somewhat of a bigger update, and it's the product of a few things that have been in progress for a while:

email

email should be working again as of a couple months ago. good news: our old provider was, ahem, mildly inflating our usage to get us off their free plan, so this part of our infrastructure is going to cost a lot less than anticipated.

backups

we now have a restic-based system for distributed backups, thanks to a solid recommendation from @froztbyte@awful.systems. this will make us a lot more resilient to the possibility of having our host evaporate out from under us, and make other disaster scenarios much less lethal.

writefreely

I used some of the spare capacity on our staging instance to spin up a new WriteFreely instance where we can post long-form articles and other stuff that's more suitable for a blog. post your gibberish at gibberish.awful.systems! contact me if you'd like an invite link; WriteFreely instances are particularly vulnerable to being turned into platforms for spam and nothing else, so we're keeping this small-scale for instance regulars for now.

alongside all the ordinary WriteFreely stuff (partial federation, a ton of jank), our instance has a special feature: if you have an account, you can make a PR on this repository and once it's merged, gibberish will automatically pull its frontend files from that repo and redeploy WriteFreely. currently this is only for the frontend, but there's a lot you can do with that -- check out the templates, pages, less, and static directories on the repo to see what gets pulled. check it out if you see some jank you want to fix! (also it's the only way to get WriteFreely to host images as part of a post, no I'm not kidding)

what's next?

next up, I plan to turn off Hetzner's backups for awful.systems and use that budget to expand the node's storage by 100GB, which should increase the monthly bill by around 2.50 euros. I want to go this route to expand our instance's storage instead of using an object store like S3 or B2 because using block storage makes us more resilient to Hetzner or Backblaze evaporating or ending our service, and because it's relatively easy to undo this decision if it proves not to scale, but very hard to go from using object storage back to generic block storage.

after that, it'll be about time to carefully upgrade to the current version of Lemmy, and to get our fork (Philthy) in a better state for contributions.

as always, see our infrastructure deployment flake for more documentation and details on how all of the above works.

 

this post has been making the rounds on Mastodon, for good reason. it’s nominally a post about the governance and community around C++, but (without spoiling too much) it’s written as a journey packed with cathartic sneers at a number of topics and people we’ve covered here before. as a quick preview, tell me this isn’t relatable:

This is not a feel good post, and to even call it a rant would be dismissive of the absolute unending fury I am currently living through as 8+ years of absolute fucking horseshit in the C++ space comes to fruition, and if I don’t write this all as one entire post, I’m going to physically fucking explode.

fucking masterful

an important moderator note for anyone who comes here looking to tone police in the spirit of the Tech Industry Blog Social Compact: lol

 

this article is about how and why four of the world’s largest corporations are intentionally centralizing the internet and selling us horseshit. it’s a fun and depressing read about crypto, the metaverse, AI, and the pattern of behavior that led to all of those being pushed in spite of their utter worthlessness. here’s some pull quotes:

Web 3.0 probably won’t involve the blockchain or NFTs in any meaningful way. We all may or may not one day join the metaverse and wear clunky goggles on our faces for the rest of our lives. And it feels increasingly unlikely that our graphic designers, artists, and illustrators will suddenly change their job titles to "prompt artist” anytime soon.

I can’t stress this point enough. The reason why GAMM and all its little digirati minions on social media are pushing things like crypto, then the blockchain, and now virtual reality and artificial intelligence is because those technologies require a metric fuckton of computing power to operate. That fact may be devastating for the earth, indeed it is for our mental health, but it’s wonderful news for the four storefronts selling all the juice.

The presumptive beneficiaries of this new land of milk and honey are so drunk with speculative power that they'll promise us anything to win our hearts and minds. That anything includes magical virtual reality universes and robots with human-like intelligence. It's the same faux-passionate anything that proclaimed crypto as the savior of the marginalized. The utter bullshit anything that would have us believe that the meek shall inherit the earth, and the powerful won't do anything to stop it.

 

we’ve exceeded the usage tier for our email sending API today (and they kindly didn’t email me to tell me that was the case until we were 300% over), so email notifications might be a bit spotty/non-working for a little bit. I’m working on figuring out what we should migrate to — I’m leaning towards AWS SES as by far the cheapest option, though I’m no Amazon fan and I’m open to other options as long as they’ve got an option to send with SMTP

 

after the predictable failure of the Rabbit R1, it feels like we’ve heard relatively nothing about the Humane AI Pin, which released first but was rapidly overshadowed by the R1’s shittiness. as it turns out, the reason why we haven’t heard much about the Humane AI pin is because it’s fucked:

Between May and August, more AI Pins were returned than purchased, according to internal sales data obtained by The Verge. By June, only around 8,000 units hadn’t been returned, a source with direct knowledge of sales and return data told me. As of today, the number of units still in customer hands had fallen closer to 7,000, a source with direct knowledge said.

it’s fucked in ways you might not have seen coming, but Humane should have:

Once a Humane Pin is returned, the company has no way to refurbish it, sources with knowledge of the return process confirmed. The Pin becomes e-waste, and Humane doesn’t have the opportunity to reclaim the revenue by selling it again. The core issue is that there is a T-Mobile limitation that makes it impossible (for now) for Humane to reassign a Pin to a new user once it’s been assigned to someone.

 

as I was reading through this one, the quotes I wanted to pull kept growing in size until it was just the whole article, so fuck it, this one’s pretty damning

here’s a thin sample of what you can expect, but it gets much worse from here:

Internal conversations at Nvidia viewed by 404 Media show when employees working on the project raised questions about potential legal issues surrounding the use of datasets compiled by academics for research purposes and YouTube videos, managers told them they had clearance to use that content from the highest levels of the company.

A former Nvidia employee, whom 404 Media granted anonymity to speak about internal Nvidia processes, said that employees were asked to scrape videos from Netflix, YouTube, and other sources to train an AI model for Nvidia’s Omniverse 3D world generator, self-driving car systems, and “digital human” products. The project, internally named Cosmos (but different from the company’s existing Cosmos deep learning product), has not yet been released to the public.

 

so Andreessen Horowitz posted another manifesto just over a week ago and it’s the most banal fash shit you can imagine:

Regulatory agencies have been green lit to use brute force investigations, prosecutions, intimidation, and threats to hobble new industries, such as Blockchain.

Regulatory agencies are being green lit in real time to do the same to Artificial Intelligence.

does this shit ever get deeper than Regulation Bad? fuck no it doesn’t. is this Horowitz’s attempt to capitalize on the Supreme Court’s judiciary coup? you fucking bet.

here’s some more banal shit:

We find there are three kinds of politicians:

Those who support Little Tech. We support them.

Those who oppose Little Tech. We oppose them.

Those who are somewhere in the middle – they want to be supportive, but they have concerns. We work with them in good faith.

I find there are three kinds of politicians:

  • those who want hamburger. I give them hamburger.
  • those who abstain from hamburger. I do not give them hamburger.
  • those who have questions about hamburger. I refer them to the shift supervisor in good faith.
 

it can’t be overstated how important the Nix evaluator is to the Nix ecosystem; it implements the Nix language and package manager, maintains the store, has a hand in the low-level workings of every Nix tool, and is the focus of the push by Eelco and friends to commercialize Nix and keep it appealing to military-industrial interests.

all of the above is why I joined the Aux CLI SIG, which focuses on maintaining a fork of the Nix evaluator for the Aux ecosystem. but just now I saw the announcement for Lix, a Nix evaluator fork that focuses on modernizing the codebase (including gradually replacing C++ with Rust), maintaining correctness (something the upstream evaluator has been notoriously struggling with lately), and doing right by its community. I found myself nodding along to their description of the project and feeling something I haven’t felt since I read the open letter — I’m finally feeling excited for the future of the technology behind Nix.

I have no idea if Lix will become Aux’s chosen evaluator fork, though the Aux CLI SIG can help determine that collectively (and I’ll have many more details on Aux in a post later tonight). here’s what’s truly exciting though: by following Lix’s install steps and pulling auxpkgs-unstable, we can have a package ecosystem and NixOS fork that’s completely independent of the Nix community, and we can have it right now. I’m so excited by that news that I’m going to spin up a host just to give Lix+auxpkgs a try later tonight.

here’s the Aux thread about Lix; so far, there’s a lot of high-level support and excitement for using it as Aux’s evaluator.

view more: next ›