home.social

Search

1000 results for “d_w”

  1. ‘I’d wander through the park all angsty listening to Arctic Monkeys’: Arlo Parks’ honest playlist | Music

    The first song I fell in love withI remember listening to Sweet Dreams (Are Made of This) by Eurythmics when…
    #NewsBeep #News #Music #AU #Australia #Entertainment
    newsbeep.com/au/924141/

  2. ‘I’d wander through the park all angsty listening to Arctic Monkeys’: Arlo Parks’ honest playlist
    By As told to Hannah Newton

    The singer shamelessly blasts Lady Gaga in the car and is brought to tears by Portishead – but which song does she have to be careful listening to?

    theguardian.com/music/2026/oct

    #Music #Culture #ArloParks #Popandrock #RB #Prince #JanetJackson #TheGuardian #AstoldtoHannahNewton

  3. CW: NSFW

    Jerkin on the cruise ship twink
    luluvido.com/d/wa8j44vw8s6m

    MORE VIDEO LINKS:

    gaystash.com/?ref=TEXFIL
    and
    MyVidster:
    myvidster.com/profile/rado77

    NO POP-UPS AND ADS:
    Use the BRAVE browser // brave.com/

  4. Does anybody want that Apple screen thing you stick to the wall? Siri beta isn't as complete shit as regular Siri - but - I can't picture why I'd want that thing.

    Is it just me?

    #Apple #AppleHomeView #AppleHome #Siri #appleevent #technews #tech #AI

  5. And before I even got to any of them, my mouth was clenching and my throat gagging at the idea of smoking _anything_. So I guess that's good. I've finally gotten over it. (That's reassuring, because there were some years during which I had dreams where I was smoking, and then I'd wake up in anguish, thinking, "Oh, no, I fell off the wagon!" until I was relieved to find it hadn't really happened.) 2/3

    #writing #AmWriting

  6. a longer means longer . is that bad luck for me or for lovers & players? 😅💙

    6/6 : 🖕maga

    ⬜⬜🟨⬜⬜Fuck all of the assholes & those hard of thinking
    🟨🟨🟨⬜⬜Who chose a child rapist & fascist as mad king
    ⬜🟩⬜🟩🟩He admits he's a snake, yet they haven't an inkling
    ⬜🟩⬜🟩🟩Secret documents stored in a room meant for tinkling
    ⬜🟩⬜🟩🟩I wish they’d walk to a cliff, & then keep on walking
    🟩🟩🟩🟩🟩For his crimes whose breadth, like his ass, are quite shocking

  7. You spent three days building an AI agent that rewrites user emails in a friendlier tone. It works beautifully — on Tuesday. On Wednesday, the same input produces something weirdly formal. On Thursday, it apologizes for no reason and signs off as "Warmly, Your AI."

    You stare at your test suite. Every assertion is red. But the agent isn't broken. It's just… different today.

    Welcome to the most maddening problem in agentic AI: how do you test something that gives a different answer every time you ask?

    Why Traditional Tests Fail Immediately


    If you've written unit tests before, you know the drill: given input X, expect output Y. Clean. Deterministic. Beautiful.

    AI agents laugh at this.

    An agent backed by an LLM might rephrase the same sentence ten different ways — all correct, all passing the vibe check, none matching your hardcoded expected string. Writing assertEqual(output, "Sure, I'd love to help!") is like testing whether your friend will use the exact same words every time they say hello.

    It's not flaky tests. It's a fundamentally wrong testing paradigm.

    The Counterintuitive Fix: Stop Testing Outputs, Start Testing Constraints


    Here's the mental shift that saves your sanity: you don't test what the agent says. You test what it must never do, always do, and structurally produce.

    Think of it like testing a chef. You wouldn't check if they plate the garnish at exactly 43 degrees. You'd check: Is the chicken cooked? Is there no glass in the food? Did they use the ingredients the customer ordered?

    Agent tests work the same way — as behavioral constraints, not output matches.

    There are three layers that actually work:

    Layer 1: Structural Contracts


    Does the output have the right shape? If your agent returns JSON, validate the schema. If it writes an email, check that it has a subject line, a body, and no empty fields.

    import jsonschema

    agent_output_schema = {
    "type": "object",
    "required": ["subject", "body", "tone"],
    "properties": {
    "subject": {"type": "string", "minLength": 3},
    "body": {"type": "string", "minLength": 20},
    "tone": {"enum": ["friendly", "professional", "casual"]}
    }
    }

    def test_email_rewrite_structure(agent, sample_email):
    result = agent.rewrite(sample_email)
    jsonschema.validate(result, agent_output_schema) # Throws if wrong shape

    This test passes whether the agent writes "Hey there!" or "Hi friend!" — because you're testing the contract, not the words.

    Layer 2: Guardrail Assertions


    These are your "never do this" and "always do that" rules. They catch the stuff that actually matters:

    def test_email_guardrails(agent, sample_email):
    result = agent.rewrite(sample_email)

    # Never leak the original sender's private data
    assert sample_email["sender_ssn"] not in result["body"]

    # Always preserve the original recipient
    assert result["to"] == sample_email["to"]

    # Never exceed token budget (cost control!)
    assert len(result["body"].split()) < 500

    # Tone must match what was requested
    assert result["tone"] == "friendly"

    Notice: not a single hardcoded phrase. Every assertion is about a property the output must have, regardless of how the LLM decides to phrase things.

    Layer 3: LLM-as-Judge (Yes, Really)


    For the subjective stuff — "is this actually friendly?" — use a second LLM call as a grader. It sounds circular, but it works surprisingly well when you give the judge a rubric:

    def test_tone_quality(agent, judge_llm, sample_email):
    result = agent.rewrite(sample_email)

    verdict = judge_llm.evaluate(
    prompt=f"""Rate this rewritten email on friendliness (1-5).
    Original: {sample_email['body']}
    Rewritten: {result['body']}
    Score only. No explanation."""
    )

    score = int(verdict.strip())
    assert score >= 4, f"Friendliness score {score}/5 — too low"

    Run this 5 times. If 4 out of 5 pass, your agent is solid. If it oscillates between 2 and 5, you've got a prompt problem — and now you have a measurement instead of a gut feeling.

    The Test Pyramid for Agents


    Steal this structure for every agent you build:

    • Base (run on every commit): Structural schema validation. Fast, deterministic, catches regressions in output format.
    • Middle (run nightly): Guardrail assertions across 20+ diverse inputs. Catches safety/policy violations and drift.
    • Top (run weekly): LLM-as-judge evaluations on a curated benchmark set. Catches subtle quality degradation.

    The base layer runs in milliseconds. The top layer costs a few cents in API calls. Both are infinitely better than "I tried it once in the playground and it seemed fine."

    The One Thing Nobody Tells You


    Agent tests aren't about proving your agent is correct. They're about proving it's safe to deploy. That's a lower bar — and a much more useful one.

    Your agent will surprise you. It will rephrase things in ways you didn't expect. Sometimes better than what you'd write. The test suite's job isn't to prevent surprises — it's to prevent disasters.

    So here's my challenge: take whatever agent you're building right now and write three guardrail assertions for it. Not output matches. Not vibes. Three concrete properties it must always satisfy.

    What's the first guardrail you'd write? Drop it in the comments — I'll tell you if it's tight enough.#ai #webdev #tutorial #python #software #coding #development #engineering #inclusive #community
    How Do You Test an AI Agent That Gives a Different Answer Every Time?

  8. Wefax Decoder

    I found an error where some received faxes were being labelled with the wrong source. Release v1.0.1 on Github corrects this.

    Here's a fax I received automatically this morning from DWD Germany showing surface pressure H+60 (12h UT on 14 Oct) for Europe.

    Link to Github repository:
    github.com/televisualarts-clou



  9. WEFAX Decoder

    I've been busy again making new software. This time it's an HF WEFAX decoder that requires an SDR receiver using SDR Console as the controller. Python is also needed to run the server.

    Set the comm port and chosen audio path to control SDR Console in the browser and set your two priority stations in the browser (usually stations local to you),

    Get wefax images like the ones attached here,

    github.com/televisualarts-clou

  10. RJ Mitte reveals how he was financially exploited at just 17 while trying to protect his Breaking Bad earnings.

    “I’ve paid more in taxes than I got from Breaking Bad. As a young kid, I had a big team, traveled the world, and spent money keeping my career going. Everything went back into the business.”

    A bad business manager made things worse.

    “During the last four years of my highest-earning series, I wanted to protect my money. I was 17 or 18, and everyone was telling me to get a proper accountant.”

    Instead, he got scammed.

    “Dude, I got eaten alive.”

    He says the woman targeted 14 other actors, including people with disabilities and older performers.

    “I’d write a check to pay my taxes, and instead of paying them, she’d send me a fake tax filing and keep the money.”

    He still takes responsibility for what happened.

    “At the end of the day, though, it was my negligence. The IRS doesn’t really care about you.” 😔

    Rip Rj 🕊️

  11. Every online PDF tool I used in my freelance days made me uncomfortable.

    Smallpdf, iLovePDF, Adobe's web tools — they all work the same way. You drag your file into a browser window. The file uploads to a server you don't control. The server processes it. The result downloads back to you. The server "deletes" your file.

    For a recipe PDF or a scanned receipt, none of that matters. For a client's tax return, a medical record, or a legal contract, it matters a lot. During those few seconds of processing, the document sits on infrastructure owned by someone else. You're trusting their security, their employee access controls, their logging, their breach response — and you have no way to verify any of it.

    I wanted something that worked differently. So I built one.

    The core idea
    Process everything in the browser. Never send the file anywhere.

    The technical phrase for this is client-side processing. Instead of a server doing the work, JavaScript running in the user's browser does it. The file stays in memory on the user's machine. The network never sees it.

    You can verify this yourself in about 30 seconds:

    Open any of my tools

    Press F12 to open DevTools

    Click the Network tab

    Process a PDF

    Watch the request list

    If zero upload requests appear, the file never left your machine. If you see a POST request with your file in it, it went to a server.

    For my toolkit, magictoolshub.com, you can also disconnect your internet after the page loads. The tools keep working. That's the strongest proof that nothing is being uploaded — there's no network to send it to.

    The tech stack
    The core libraries that make this possible:

    pdf-lib — for manipulation. Merging, splitting, rotating, encrypting, adding watermarks, signing, embedding images. This is the Swiss Army knife. Written in TypeScript, compiles to plain JS, and can be bundled for browser use. The API is clean and the docs are decent.

    pdf.js (Mozilla) — for rendering and text extraction. This is the same engine Firefox uses for its built-in PDF viewer, so it's mature and battle-tested. I use it for OCR input, text extraction, and image export.

    Tesseract.js — for OCR. It's the JavaScript port of Tesseract, the standard open-source OCR engine. Runs entirely in the browser using WebAssembly. Slower than native Tesseract or cloud OCR, but the file never leaves the device.

    JSZip — for batch operations where users want to download multiple results as a zip.

    WebAssembly — not a library, but a compilation target. Some operations (OCR, compression, encryption) benefit from WASM because they're computationally heavy. Tesseract.js and certain PDF transformations run as WASM modules for this reason.

    What was actually hard
    I expected the PDF manipulation to be the hard part. It wasn't. pdf-lib and pdf.js handle most of the complexity.

    The hard parts were:

    1. Memory management on large files. A 500-page scanned PDF can be 100+ MB. Loading it, processing it, and generating the output requires holding multiple large buffers in memory simultaneously. On a low-end laptop, this can crash the tab. I ended up streaming operations where possible and adding memory warnings when files exceed 50 MB.
    2. Font embedding for Arabic. The toolkit supports 24 languages, including Arabic and other RTL scripts. When you generate a new PDF with text in it (like a watermark or a page number), you have to embed the font. Getting proper Arabic shaping — where letters connect correctly — required using Cairo and Noto Naskh Arabic and being careful about how the text was drawn.
    3. Web Workers for the heavy stuff. Running OCR on the main thread blocks the UI. The user sees a frozen tab and assumes it's broken. Web Workers solve this — the processing happens in a background thread and the UI stays responsive. But passing large ArrayBuffer objects between the main thread and a worker has its own gotchas (you either copy the buffer, which doubles memory, or transfer it, which detaches the original).
    4. Browser compatibility for WASM. Modern browsers all support WebAssembly. Older browsers and some mobile webviews don't. I ended up detecting WASM support and degrading gracefully where possible, or refusing the operation with a clear message where it wasn't.

    What I got wrong
    I underestimated how many tools I actually needed. When I started, I thought 20 tools would cover 95% of use cases. Then users asked for OCR. Then for redaction. Then for Bates numbering (legal). Then for e-signatures. Then for PDF/A conversion (archival). Six months later I have 112 tools and I'm still adding.

    I built in the wrong order. I built the tools first, then the marketing site, then the pricing page, then the payment integration. I should have built a working payment flow for a single tool before building 20 tools. The product work compounds; the distribution work doesn't.

    I assumed people would understand the "no upload" benefit. They don't, until you show them. DevTools is a great demo, but you have to explicitly walk people through it. "We don't upload your files" is marketing speak. "Open DevTools and watch the Network tab" is a demonstration.

    What I'd do differently
    Start with a single tool. Pick the one that solves the most painful problem. Build it, market it, get to $100 MRR. Then expand.

    Charge from day one. Free tools attract people who won't pay. A $9/month tool with no free tier attracts people who value the solution. The middle ground — freemium with a real free tier — is the hardest to get right.

    Write about the architecture early. I built for months before writing anything. If I'd written one technical post per week from the start, I'd have 30 posts by now, each ranking in Google for a different long-tail query. That's compounding that I missed.

    What's next
    I'm currently working on improving the OCR speed. Browser-based OCR is genuinely slow for large scanned files, and the biggest complaint I get is that a 300-page scan takes 5+ minutes. Some of that is inherent to the WASM execution model. Some of it is optimization I haven't done yet.

    I'm also looking at WebGPU for image processing operations. Compute shaders could speed up redaction rasterization, image-based watermarking, and certain compression operations by an order of magnitude on supported hardware.

    If you're building something client-side and want to compare notes, my DMs are open.

    webdev

    javascript

    webassembly

    privacy

    #privacy #security #tools #software #coding #development #engineering #inclusive #community
    How I Built a 112-Tool PDF Toolkit That Never Uploads Your Files

  12. Is the name of that great Armenian writer of poetry and fairy tales Tumanyan? Tumanean? Toumanian? The term “fold” is all over the Tetrak codebases and I’ve used it a couple of times in articles, so I thought I’d write about it. Although I should warn that as it developed, this article pivoted into transliteration and Romanisation with something of a potted history of Armenian orthography reforms and what the diaspora thought of them. I did enjoy diving into this rabbit hole, so hopefully you might too!

    tetrak.dev/articles/2026/10/tr

  13. Figuring out an insider program for people to test pre-release versions. I’d want to automate the package building and publishing on the super secret forum category I setup

    Real world testing is like… the one thing stopping beta release

  14. CW: 8.0のお話 アストルティア文字解読6 遺構

    ・南側の地図が表示されたモニター
    FIRST FLOOR

    ・メインモニター右上のサブモニター
    A COMPLETED
    B COMPLETED
    C COMPLETED
    D WORKING
    E WORKING
    F WORKING
    G WORKING
    グラフに書かれてるのはSTATUS

    ・左上のサブモニター
    STATUS
    ○ LOW
    ○の文字はわかりませんでした。

  15. (6/9)

    Demonstrations in Berlin in the next 24 hours:
    - 16:30 - Frieden und KEINE Waffenlieferungen. Gespräche mit Bürgern . Erweiterung des Meinungskorridors. Warn (demonstrations.org/en/events/6)
    - 16:45 - Freiheit für Alparslan Kuytul (demonstrations.org/en/events/6)
    - 17:00 - Demonstration OMAS GEGEN RECHTS Süd/West gegen Querdenker, Verschwörungstheoretiker und rechte Popul (demonstrations.org/en/events/5)

    #Berlin #Demos #Demonstrations #Democracy

  16. Do you play #DnD? Do you want to practice your French or English while roleplaying? Are you in #Paris? Come join us, the first session is this Saturday. (Beginners both in languages or D&D welcome).

    Join by going here and clicking "follow updates" or "get in touch": girafe.co/pin/practice-languag

  17. Imprinted Image: News, Reviews, and Interviews

    Comics Link Roundup October 11

    Welcome to Imprinted Image, my comics newsletter. If this is your first time, welcome! This is the best way to keep up with my comics blog. After links to my most recent writing, I’ll provide a roundup of comics industry links. This can be news, media, criticism, or anything that I personally found interesting.

    Please don’t forget about the resources tab on this website. It’s a collection of reading guides, tutorials, and free legal resources like public domain image archives. I want this to be as useful as possible, so if you have any additions please send them my way.

    I made a comic! It’s a two-page mini-zine, and you can read it for free here. But! If you would like a cool print version mailed you, there are two ways you can do that. Either support me on Patreon to get this and any future physical media I do, or buy it on Ko-fi for as low as $ 1.

    I also have a behind the scenes video previewing the physical mini-comic, as well as some behind-the-scenes information on my inspiration.

    https://youtu.be/C1938iMGzOc

    Divining Comics is sponsored by readers like you

    I have a Patreon! For as little as $3 a month, you can keep the lights on at this blog and get your name at the bottom of every article. At higher tiers, you can vote in monthly Patreon polls and more! Anything you can offer means the world to me, and I cherish all my supporters.

    Support Divining Comics on Patreon

    Comics Challenge YouTube

    I designed and am participating in a comics challenge this year, alongside some friends in the My Marvelous Year community. I have picked 52 comics from 52 categories, shown below. I’d love for you to participate and comment along as you are reading! Note that on this list, categories that match with episodes from the Extra Issues podcast.

    Comic Challenge Extra Issues Edition 2026Download

    I decided to create a YouTube documenting my reading journey!

    This past week, I read Alan Moore and Kevin O’Neill’s LEAGUE OF EXTRAORDINARY GENTLEMEN.

    https://youtu.be/6XVppepRkog?si=ummm1sCc0USfvRH0

    I’ve also been doing little shorts where I poorly read a scene I liked from these comics. I guess shortform video gets juiced in the algorithm because they have been blowing up. You can check out the playlist of them here.

    It would mean the world to me if, in addition to watching this video, you subscribed to my channel and gave the video a like. No one knows exactly how the black box of social media algorithms work, but I do know that if you interact with the video in different ways, YouTube might show it to more people who would be interested. The other easy way you can help is by sharing this video with a comic fan in your life!

    Link Roundup

    News:

    Some of the biggest news in the US right now is the creation of “Skydance” out of the Paramount / Warner Brothers merger. Among many likely outcomes, mostly negative, some have speculated this could affect DC comics. It is far too early to tell, but it would be a shame if the new boss started meddling with the recently white-hot DC comic line. I doubt they’d want to toss the line entirely, but I could definitely see much more oversight.

    Marvel is sunsetting their Marvel Unlimited app in favor of an app developed in coordination with Webtoons. As long as this doesn’t decrease or change the comics available to readers, I’m all for this. Unlimited was an app that sufferered for lack of care. Webtoons, for the many criticisms that can be levied at it, is objectively good at creating a smooth reader experience. Keep the vast archive and add features like user-created reading orders and you are all set.

    The New York Public Library released their list of the best comics of 2026.

    List of crowdfunded comic projects you might want to back:
    Comic Book Yeti: 10/3.

    Other News Roundups:

    Comics Beat’s biweekly Digest: 10/2. 10/6. 10/8.
    The Comics Journal’s This Week’s Links: 10/2. 10/9.
    SKTCHD’s Comics Disassembled: 10/9.
    PRANA Bullet: 10/2. 10/9.

    Writing:

    SKTCHD posted a Double Take with Oliver Sava looking at and reviewing the new Midnight Comics from Marvel and a look at how comic book shops are trying to capture new readers, who are coming in for the first time with hot books like ABSOLUTE BATMAN and TRANSFORMERS.

    Shelfdust published a look at Plastic Man in POLICE COMICS # 2.

    Comic Book Herald published his favorite comics of September 2026. He also had a look at the Marvel reprints being published by Taschen.

    Heidi MacDonald of The Beat opines about what is coming next for the comic book industry. The industry, she writes, is a $2 billion industry, but in the age of venture capital, that isn’t enough to buy its independence. Inevitable change is coming, but what will it look like?

    My favorite video and podcasts:

    Podcasts:

    New Marvel Editor in Chief Stephen Wacker made a podcast appearance that generated a bunch of headlines, all seemingly indicating a positive turn for Marvel. He seemingly repeated much of this at his appearance at New York Comic Con.

    OFF PANEL had on Beetle Moses to talk his first print collection, out this week.

    LET’S TALK COMICS had on Daniel Warren Johnson to talk CHAINKATA. This is a great interview traveling across all of DWJ’s career. The podcast also had an episode with Rob Liefeld. I haven’t listened to this one yet because the one thing I like less than modern Rob Liefeld comics (yes, his ’80s and ’90s stuff is silly but does have a real kinetic energy) is hearing Rob Liefeld talk. I guarantee he will take multiple potshots at modern comics creators much more successful at this point in their career than him and say that things were better back in the ’90s and the way to save Marvel and DC is to hire him and the other old guard suckerfish.

    MY MARVELOUS YEAR posted 2015 Secret Wars pt. 1. It’s the beginning of the end, or the end of the beginning.

    Youtubes:

    COMICTROPES posted a video on bootleg comic book action figures.

    COMIC BOOK HERALD talked his take on Marvel’s Midnight comics.

    Divining Comics is brought to you by generous support from the “Best Friends of Divining Comics,” Alex Seubert and Dustin Commet.

    Divining Comics is also brought to you by the support of the “Friends of Divining Comics,” Comic Book Herald.

    If you would like to add your name to the list of friends, best friends, or best friends forever, support this work for less than the cost of one cup of coffee a month at patreon.com/diviningcomics. You can also leave a one-time tip/buy my zines at ko-fi.com/spikestonehand. Follow me on YouTube, Twitter, Instagram, and Bluesky and share my posts there.

    #art #books #ComicBooks #comics #criticism #dcComics #fiction #graphicNovels #ImprintedImage #links #marvel #marvelComics #reviews #spiderMan #Writing
  18. 私のトゥートは2026年10月08日 23:42なので、
    私のトゥートの方が6分早かった。
    だからパクツイではない。

    逆にこの人のツイートも私のパクツイではない。私のトゥートを見たはずはないから。「叫び」のバージョンも違うし。
    私のバージョンの方がより似てると思うが。

    ムンクの「叫び」に似てるって指摘している人がほとんどいないのが不思議だ。同案多数で出遅れたかと思ったのに、私のほかにはこの人のツイートしか見つからない。

    そして、この人の、当然みんなが同感するであろうツイートもバズっていない。
    最初は気づいた自分が誇らしかったが、今となっては自分の感覚はおかしいのかもしれないと思う。

    x.com/HansCastorp_/status/2108
    Hans Castorp
    HansCastorp_
    Anne Carson’s reaction when she found out she’d won the 2026 Nobel Prize in Literature
    英語からの翻訳
    アン・カーソンが2026年のノーベル文学賞を受賞したと知った時の反応

    午後11:48 · 2026年10月8日·2万件の表示

  19. D&D Star Wars Unveils Tyro Squadron Adventures for 2027

    Tabletop gaming fans have a new reason to look toward a galaxy far, far away. During New York Comic Con 2026, developer Wizards of the Coast officially announced a new Star Wars crossover for the Dungeons and Dragons system....

    #Action #Andor #Fantasy #starwars

    themovieblog.com/2026/10/d-and

  20. Wir suchen in Berlin eine:n studentische:n Mitarbeiter:in (m/w/d) für unsere Personalabteilung.

    Alle Infos und Bewerbungsportal: recruitingapp-5262.de.umantis. #Jobs #FediJobs

  21. Follow up — no real impacts I’d say were for sure related to the shots. (I’m always wiped on Friday evening, so, hard to tell about tracing that to the shots each Friday). Other years I definitely hit the sofa in horizontal mode on the day after. I think it was good to do one at a time instead of getting two at once.

  22. walknews.com/1403208/ 和歌山県、徳島県で最大震度2の地震 和歌山県・湯浅町、徳島県・小松島市、石井町(TBS NEWS DIG)|dメニューニュース(NTTドコモ) #docomo #dメニュー #Wakayama #ドコモ #ニュース #事件・事故 #和歌山 #和歌山県 #和歌山県、徳島県で最大震度2の地震 和歌山県・湯浅町、徳島県・小松島市、石井町 #最新 #災害・交通情報 #社会 #社会問題 #裁判 #記事 #速報

  23. If you knew how deep the discussions have had to go between my liberal Jewish and Arab-heritage friends, to find the route between the horns of this seemingly intractable dilemma, you'd understand why I've earned the right to call myself an anti-racist campaigner even if you still disagree with the conclusions. I've no ethnic, cultural, ideological, financial or other personal investment in this debate. Zippo, nada.

    The TLDR in advance: almost everyone is getting this wrong. Thread coming soon.

Share on Mastodon

Enter the server where you have an account.