home.social

Search

1000 results for “re_do”

  1. Getting feedback, getting bug reports is kind of exciting in the age of AI, and I can't believe I'm gonna say that. I copy and paste the feedback and let it go. Do a little bit of QA, and then I'm good to go. I re-upload the file through my process. It backs up the one that I'm overwriting on the server, and I'm done.

    #AI #VibeCoding #WebDev #Coding

  2. You know how you get the #message? Message you didn't want or message you expected? They're dead. I sit outside. Can't smoke my #medicine inside. I see people. Then I don't. And you never know with #homeless. One day they're there. And then gone. About 180 humans #die homeless in America everyday.

  3. However the game remains playable even without these, and that makes it a marvel of game design. It's pssible to finish the game with the first character alone (Zangetsu) but doing so turns the difficulty all the way to 11.

    Your character has a relatively modest jump and reach, which make things quite a bit harder. You don't have other characters to use as bullet sponges so you need to pace your health more carefully. However none of the shortcuts through the levels are available and you're forced to take the longest and more dangerous route every time. On top of this I realized only at the sixth level that the power-ups scattered through the levels are also inaccessible. The result is a brutal quest through 8 levels and some really tough bosses which is as hard as the hardest arcade games of yore. All of this in a game that in casual mode remains very accessible. Truly a small marvel.

  4. Buzzing is typically not a good thing in electronic music, but that's our brains right now after yesterday's Circuits in the Woods. We're still processing everything we saw and heard.

    To the artists, venues, volunteers, supporters, and everyone who came ready to hear something unexpected: THANK YOU. You made downtown Brattleboro a wonderfully strange place to be.

    Have a favorite moment or photo? We'd love to see it.

    #CircuitsInTheWoods #ElectronicMusic #Brattleboro #Vermont #CITW

  5. Canada as a nation has listened to just about 1 hour of FunHouse Radio in the past 30 days. Come on guys. You're boycotting the wrong channel. We're the good guys. If you want the good guys to stop the bad guys then don't hurt the good guys? Just a thought. Love you anyway.

  6. 19 Germany Christmas Markets for Mulled Wine, Choir Music, and Gingerbread

    In Germany, Christmas markets are synonymous with the holiday season, and Deutschland is the perfect December destination for whatever holiday shopping you want to do. Whether you’re there to see architec…
    #dining #cooking #diet #food #GermanWine #Germanwine #shopping; #shops&markets #travelinspiration #Wine
    diningandcooking.com/2871382/1

  7. @jonas Although #Markdown is human readable text, it's one of the worst formats when it comes to re-use in different tools and therefore, it's really bad choice for being future proof:
    karl-voit.at/2025/08/17/Markdo

    Furthermore, the recent strategic changes let me think that #logseq is actually a dead end: removed support for #orgdown syntax, DB only (non DB-version being abandoned), massive vibecoding, getting rid of file sync when switching to proprietary sync method, ...

    It's dead to me and I need to migrate multiple users to a different solution now.

    One of the few instances where FOSS didn't help in the long run. 😞

    My take: best option by far: karl-voit.at/orgmode/

    Interesting new project for people who can't use #Orgmode for some reason: #Silverbullet. At least they are honest about MD downsides: docs.silverbullet.md/Markdown

    HTH

    #NoteTaking #PKM #Obsidian

  8. A keyword sheet tells you what people type. It does not tell you how many pages you need, what goes on each one, or which ones you should not build at all. That gap is where most B2B sites lose time: 500 rows become 500 thin pages that all say the same thing, or 500 rows become one page that answers none of them.

    This is the process for turning the sheet into a small number of pages that can actually ship — model pages (one part number, one page) and application pages (one use case, one page).

    Step 1: Give the sheet the columns it actually needs


    Most sheets have one column: keyword, maybe volume. Add these before anything else.

    ColumnWhat goes in itkeywordExactly as typed, including the model number in the buyer's formatmarket / languageWhich language version this query belongs tointentOne of the five types in step 2page typeModel page, application page, category, technical notetarget pageExisting URL, or "to build"statusExisting / planned / merged into XnotesThe question behind the query, in one sentenceownerWho writes it


    The two columns that do the most work are intent and notes. Notes is where you write the question in plain words: "replaces XYZ-120" actually means can I substitute this part without redesigning the board. That sentence becomes the first paragraph of the page. If you can't write it, you don't yet know what the page is for.

    Step 2: Sort every row into one of five intents

    IntentQuery looks likePage typeIs it a landing page?Model lookup"XYZ-120 datasheet", "XYZ-120 price"Model pageYesCross-reference / replacement"replacement for ABC-45", "ABC-45 equivalent"Cross-reference page, or a block on the model pageYes, if there is enough to sayApplication / industry"MOSFET for 48V motor drive", "pumps for food processing"Application pageYesSpecification / problem"why does X overheat at 20kHz"Technical note, linked from bothUsually noComparison / category"X vs Y", "types of Z"Category or comparison pageSometimes


    The mapping matters more than the count. A model lookup and an application search come from different people at different stages: one has a part number in a spreadsheet, the other has a problem and no part number. Different reader, different page.

    Step 3: One cluster = one page


    A cluster is a set of rows that the same page would answer. The test: if you wrote the answer to row A, would row B need a different answer? If not, they're the same page.

    Two rules that save rework:

    • Don't split variants across pages unless the specifications actually differ. Three variants with identical specs are one page with one table.
    • Don't merge a model page into an application page, or the reverse. The model page answers "what are the specs of this thing"; the application page answers "what do I need for this job". Combining them produces a page that ranks for neither.


    Step 4: Run the go/no-go test before adding a page to the plan


    A page has to pass all three:

    1. Can you write 250–400 words about this specific item without repeating the paragraph next door?
    2. Is there at least one piece of first-hand material — a spec table, a drawing, a test condition, an application note, a photo of the actual part?
    3. Can you name three questions buyers ask about it, taken from emails, quotes or support tickets?

    Two out of three is a no. Merge instead: the model into its series page, the application into the industry page. A page that fails this test will be a template with the name swapped, and buyers can tell.

    Step 5: The model page, block by block

    BlockContentH1 and title tagThe exact model string plus what it is. Not "Welcome to our product page"Answer paragraphWhat it is, what it's for, and the one spec that usually decides the saleSpec tableThe parameters buyers filter on — in a real table, never an imageCross-referenceWhat it replaces, and what it does not replaceDocumentsDatasheet, drawing, certificate — file names contain the model, not "scan001"OrderingMOQ, lead time, sample policy, how to request a quoteFAQThree to five questions copied from real emails, answered in two sentencesCTAOne action, repeated at the top and the bottom


    The cross-reference block is the one people skip, and it is the one buyers trust most. "No verified equivalent for this part" is a legitimate answer. A forced match that fails in the customer's application costs far more than the lost click.

    Keep the CTA to one thing. "Contact us / download / chat / subscribe" is four decisions and usually produces none.

    Step 6: The application page, block by block


    Different reader, different order:

    1. H1 — the application as the buyer says it, not your internal category name.
    2. The problem — two or three sentences describing the conditions and what typically fails.
    3. Selection criteria — a table of what matters in that application: temperature, load, duty cycle, ingress protection, cycle life, whatever applies, with a "why it matters" column filled in.
    4. Which families fit — links to three to six model pages, each with one line on why it is listed.
    5. A worked example — a real configuration with the numbers, if you can publish them.
    6. Getting started — what you need from the buyer (drawings, quantities, target price, timeline) and what happens after they send it.
    7. FAQ — same rules as the model page.

    Application pages do the internal linking job nothing else can: they are the only entry point for someone who doesn't know your part numbers yet.

    Step 7: Linking and URL rules


    • URL: short, lowercase, no dates, no session parameters, category then item. Decide once — changing it later means redirects forever.
    • Every model page gets at least one link from an application page and one from its series page.
    • Every application page links to at least three model pages and back to the category.
    • Anchor text is the model number or the application name. Never "click here" or "learn more".
    • Breadcrumbs on both page types.
    • No orphans. Before launch, list pages with zero internal inbound links and fix them.


    Step 8: Pre-publish checklist


    • [ ] H1 differs from the title tag; the target phrase appears once in each
    • [ ] The first paragraph answers the query without scrolling
    • [ ] Specifications in a real table, not an image
    • [ ] Cross-reference block states what does not match
    • [ ] At least three FAQ entries taken from real questions
    • [ ] One CTA, top and bottom
    • [ ] Form tested end to end — submit it, then confirm the message arrives in a mailbox someone reads
    • [ ] Spec table readable on a 360px screen
    • [ ] Every link on the page resolves
    • [ ] Page included in the sitemap, nothing blocking it
    • [ ] Internal links in and out
    • [ ] Form submit tracked, so you can tell later whether the page did anything


    Step 9: What to do after it is live


    Wait four to eight weeks before judging a page. Then look at the queries it actually received:

    • Ranks for the planned keyword → leave the page alone; add internal links to it.
    • Ranks for a related but different query → either retitle to match reality, or split a new page if the query needs a genuinely different answer.
    • Impressions but no clicks → fix the title and description, not the body.
    • No impressions at all → check indexing first, then internal links. A page with no inbound links was effectively not published.

    Don't rewrite a page every fortnight; you will never learn which change did anything.

    The mistake that costs the most


    Generating one page per row. A spreadsheet column can produce 500 pages in an afternoon; what it cannot produce is 500 unique spec tables and 500 answers. Ten model pages and four application pages — each with something only you can say — will outperform a thousand templated ones, and they are the ones you can still maintain a year from now.#marketing #seo #webdev #software #coding #development #engineering #inclusive #community
    From a B2B keyword sheet to a live landing page: model pages and application pages, step by step

  9. ACH Return Codes Explained: R01–R85 and How to Handle Them in Production

    ACH Return Codes Explained: R01–R85 and How to Handle Them in Production


    When you send an ACH debit or credit, you're not guaranteed it will settle. The National Automated Clearing House Association (Nacha) defines 85 possible return codes—each one a specific reason why a bank rejected your transaction. As a developer building payout systems, understanding these codes is critical: they determine whether you retry, escalate to support, or switch payment rails entirely.

    This guide covers the most common return codes you'll encounter in production, what triggers them, and how your code should respond.

    The Big Three: R01, R03, R10


    R01 — Insufficient Funds

    The account exists and is valid, but the account holder doesn't have enough money. This is the most common return you'll see on debit transactions.

    • When it fires: ACH debit posted, but balance dropped below the transfer amount.
    • Developer action: Log the return, notify the customer, and do not retry immediately. Implement a dunning flow: wait 3–5 days, then retry once. If it fails again, flag for manual review or offer an alternative payment method.

    if (returnCode === 'R01') {
    await markTransactionForRetry(transactionId, {
    retryAfter: Date.now() + (4 * 24 * 60 * 60 * 1000), // 4 days
    maxRetries: 1
    });
    await notifyCustomer(customerId, 'Payment failed due to insufficient funds');
    }

    R03 — No Account / Unable to Locate Account

    The account number or routing number is invalid, or the account was closed.

    • When it fires: Bank can't match the account details you provided.
    • Developer action: Do not retry. This is a data quality issue. Validate the account number and routing number with the customer, or ask them to re-enter their banking details. Consider integrating microdeposit verification before accepting ACH details.

    R10 — Customer Initiated Return

    The account holder disputed the transaction or called their bank to reverse it. This is a chargeback equivalent for ACH.

    • When it fires: Within 60 days of the original transaction (per Nacha rules).
    • Developer action: Treat this as a customer service issue. Log it, contact the customer to understand why, and adjust your onboarding or communication. Do not retry without explicit customer consent.


    Secondary Returns: R04, R07, R29


    R04 — Reserved (Not Currently Used)

    Ignore this; it's in the Nacha spec but not actively returned by banks.

    R07 — Authorization Revoked by Customer

    The customer asked their bank to block future ACH transactions from you (similar to stopping a check).

    • Developer action: Stop all ACH attempts for this customer. Reach out to understand why, and offer alternative payment methods.

    R29 — Corporate Customer Advises Not Authorized

    A business account holder says they didn't authorize this transaction.

    • Developer action: Escalate immediately. This is a fraud or authorization dispute. Do not retry; contact the customer and your compliance team.


    Rare but Critical: R82, R83


    R82 — Duplicate Entry

    You submitted the same transaction twice in the same batch window.

    • Developer action: Your code has a bug. Check for idempotency failures in your ACH submission logic. Implement unique trace numbers (ODFI trace) to prevent duplicates.

    R83 — Routing Number Check Digit Error

    The routing number's checksum is invalid.

    • Developer action: Validate routing numbers client-side before submission using the Nacha checksum algorithm (weighted sum mod 10). Catch this before it reaches the bank.


    Building a Return Handler


    Here's a production-ready pattern:

    javascript
    const returnActions = {
    'R01': { action: 'retry', delay: 4 * 24 * 3600 * 1000, maxAttempts: 1 },
    'R03': { action: 'escalate', reason: 'invalid_account' },
    'R07': { action: 'block', reason: 'customer_revoked' },
    'R10': { action: 'investigate', reason: 'customer_initiated' },
    'R82': { action: 'escalate', reason: 'duplicate_detected' },
    'R83': { action: 'reject', reason: 'invalid_routing' },
    };

    async function handleACHReturn(transactionId, returnCode) {
    const policy = returnActions[returnCode];
    if (!policy) {
    await logUnknownReturn(returnCode);
    return;
    }

    switch (policy.action) {
    case 'retry':
    await scheduleRetry(transactionId, policy.delay, policy.maxAttempts);
    break;
    case 'escalate':

    ---

    *Decoding ACH return codes programmatically? The [ACH Return Codes API](rapidapi.com/payoutrail-ach-re…) returns the full Nacha R01–R85 set with plain-language descriptions and handling guidance.*#backend #fintech #programming #softwareengineering #software #coding #development #engineering #inclusive #community
    ACH Return Codes Explained: R01–R85 and How to Handle Them in Production

  10. It's gotten a lot harder to get in #MissKitty's stream now. I quit following people that don't follow me and I've become laser. I have to make an income and I don't want to be a waitress. I better figure this #art thing out. Then there's the #homeless. And then they're trying to kill me. 🌈🌈🌈 #PINKS

  11. #WritersCoffeeClub 10/25. Tell us about inspiration from an unlikely source.

    I'm not into inspiration so I don't have any answer ... though I suppose one might argue that deciding to write a mermaid book was beause that was the theme of an event I was going to attend.

    But honestly, that was more "if I wrote that I could sell the books easier because they're on theme". Of course, I fell in love with the characters because I wouldn't write something I didn't believe in.

    #writing #writingCommunity

  12. I spent a long time thinking follow-ups were rude. Sending a second email to someone who hadn't replied felt like nagging — like I was the person who double-texts and then wonders why nobody answers.

    Then I started running outreach for a one-person content operation, and I learned the opposite: most non-replies aren't rejections. They're just lost in someone else's inbox.

    The inbox is not a verdict


    Editors, site owners, and collaborators get dozens of pitches a week. Mine was landing somewhere between a newsletter, a PR blast, and an invoice reminder. If it didn't get opened in the first day, it sank — not because it was bad, but because inboxes don't resurface things on their own.

    Once I accepted that, follow-ups stopped feeling like pressure and started feeling like a second chance for the first email to be seen at all.

    One follow-up, then I move on


    My rule now is simple: one polite follow-up, about a week later, and then I drop it and move on.

    The follow-up is short — shorter than the original pitch. It restates the idea in one line, adds nothing new to argue about, and ends with an easy out: "No worries at all if it's not a fit." That last line matters more than it looks. It gives the other person permission to say no quickly, which is the only kind of no that doesn't linger.

    What I don't do: a second follow-up, a "just bumping this to the top of your inbox" third email, or a follow-up that pretends the first one never happened. One is professional. Two starts to feel like a funnel.

    Rejection is data, silence usually isn't


    The replies I actually learned from were the no's. A short "not right for us right now" told me more about fit than a month of silence ever did. Silence, on the other hand, taught me almost nothing — the same pitch that got no reply from one editor got an enthusiastic yes from another.

    So I stopped rewriting pitches based on silence. If an idea gets no reply twice, from two different people, that's a signal about the idea. If it gets no reply once, that's a signal about timing, workload, or a Tuesday afternoon inbox. Those are very different problems, and only one of them is worth fixing.

    The spreadsheet that made it bearable


    The unglamorous part: I track every outreach in one sheet — who, when, what I pitched, and whether I followed up. Without it, I either forgot to follow up entirely or, worse, followed up with someone I'd already pitched twice.

    The sheet also quietly changed my attitude. When you can see forty pitches and twelve replies in one place, a single silence stops feeling personal. It's just a row in a table. That distance is what lets a solo operator keep pitching without burning out on it.

    What I'd tell another solo operator


    Follow up once, politely, and then let it go. Treat silence as inbox physics, not judgement. And keep a record, because your memory will either catastrophise the silence or forget the follow-up — and both cost you more than the email itself.

    If you run outreach solo, I'm curious: what's your follow-up rule? One and done, or do you have a number that works for you?#career #writing #productivity #discuss #software #coding #development #engineering #inclusive #community
    What Running a One-Person Outreach Operation Taught Me About Follow-Ups

  13. Die Strecke ist zwischen Bönen und Unna beeinträchtigt. Das Ende können wir leider noch nicht abschätzen. Grund dafür ist ein umgestürzter Baum auf der Strecke.
    In der Folge kommt es zu Verspätungen und Teilausfällen.
    RE 7: Die Züge werden zwischen Hamm und Hagen mit Zusatzhalt in Dortmund umgeleitet. In der Folge kommt es zu Haltausfälle in Bönen, Unna, #Holzwickede und Schwerte.
    Bitte prüfen Sie Ihre Reiseverbindung kurz vor der Abfahrt.
    Start:
    25.10.2026 06:28
    Ende:
    (1/2)

  14. Well our dry season is over, rain is setting for good tomorrow. Time to cover these wooden sculptures in my garden. They're sealed with an oil based finish that has UV protection and anti-fungal ingredients but our climate in the #pnw is hard on wood. So I cover them with garbage bags for the winter. Needs to be done after a spate of dry days like we had this week, so it doesn't trap moisture under the plastic. #sculpture #Gardening #fall

  15. … coming onto the field or approaching the benches, but, regardless of that, it's just plain rude and embarrassing. Do not fucking complain to your kid's volunteer coaches in the middle of a game. However nice you think you're being, that is Karen behavior. Be a reasonable grown-up and talk to us afterwards if you must. Just putting that out there as a PSA. #YouthSoccer #Karen #PSA

  16. Tried installing Gentoo for lulz. I did my best to follow instructions but when all was said and done, though I had a supposedly working Gnome setup, there was no audio and I was too tired to care about figuring out why and making it work. Oh also my user apparently didn't have permission to shut off the computer? That option wasn't there for me. Very weird.

    All pretty humbling, but I feel like I did a pretty good job getting as far as I did.

    That seems to be the thing though: when you *do* hit a serious snag, you're too burnt out to want to deal with fixing it.

    Maybe another time.

  17. @GPJohnston That's great!

    Here in Ottawa (45.5N), I'm reluctant to plant garlic for another week or two, because I don't want it to sprout prematurely. We have cool nights, but we're still getting daytime temperatures into the high teens (Celsius) some days, so the soil gets quite warm.

    #gardening #garlic #Ottawa

  18. We want women like us. Women who present as scary, but have good hearts. Women who know how to get shit done. Women who, despite our age, share a dirty little secret: we're just getting started.

    -- Maria Semple (Go Gentle, 2026)

  19. Alright, like I said, here's Piece 11 finally(TM). If you're wondering why this one was later than expected, uh... busy and this is actually designed to work as both a single piece and a conjoined banner between this and Piece 15.

    ...I don't know what compelled me to do this. Back to normal pace from here on out! (Piece 14 is tommorow)

    #art #fediart #furry #furryart #mastoart

  20. It starts with a little scratch in your throat. Then comes the cough, the stuffy nose, or that general “I definitely don’t feel good” feeling.

    If something seems to be hanging around—or you just want to know what you’re dealing with—come see us. Quick Care treats common cold and flu symptoms, and walk-ins are welcome.

    #watertownsd #coldandfluseason #sickday #urgentcare #quickcaresd

  21. Hm, on the other hand, I could *probably* just have a #PHP based #CalDAV server be reachable only over VPN. Or how would I do some level of sync with a work machine? 🤔

    (With the sole exception of Radicale, which explicitly says "if you want a server more respectful of CalDAV and #CardDAV specs, look at those other ones" and is Python, if you rule out those with heavy LLM involvement, you're left only with PHP based servers)

    #SysAdmin #SelfHost #homelab #security #privacy

  22. And…

    If all that is daunting, there’s no shame in getting an electric keyboard instead! They don’t need tuning, humidity swings won’t ruin them, they need less space, you can move them without hiring specialized mover, you can use them for electronic music production, and you can make them sound like a marimba or whatever!

    They’re a great choice for trying it out a little but you aren’t sure if it’s going to stick, or if you’re getting a kid started, or if your apartment is tiny, or etc etc.

    Just do note what I said upthread about the mysterious attraction of the acoustic instrument. There are alternatives, but there are no substitutes.

    /end

  23. Consult _The Piano Book_ by Larry Fine, often available at libraries. Doesn’t need to be the latest edition; the “piano blue book” part at the end goes out of date, but the general advice about selecting and owning a piano is timeless.

    Consult it •before• you go shopping, and also before you think about exactly where you’re going to place a piano in your home.

    It’s a good old-fashioned paper book, and IMO it’s still better and more comprehensive advice than anything you’ll find online. The rest of this thread is just frosting; that book is what you really need to consult.

    2/

  24. Scorpio season is always a tricky time for me, probably due to my own Scorpio in rising.

    This time, we're also treated to a Mercury retrograde in Scorpio and a Venus retrograde in Scorpio, forcing us to go deep inside, retrieving memories about things that were said and done, but also assess our values when it comes to friendships and relationships.

    As a Scorpio Ascendent, I must say I have already shedded a lot of skin in my lifetime, I am honestly a bit done with the constant deep internal changes and I am craving internal and outward stability. I think my Taurus Sun deserves that little peace and quiet in life.

    #xp #astrology #transit #scorpio #personaldevelopment #psychology

  25. This should be standard on the iPad. Outer display: I like the small screen a lot, but the apps need to be ready for that. If they don't use the side space, but top/bottom they are too small. Why do I have to decide which phone a watch is belonging to, why can't it auto-switch? Well if they fix that, it’ll probably be for watchOS 28, which many don't have. Eigentor is the german word for that, I guess... Overall: It's a portable iPad, not a large phone. If you want a phone, get an iPhone. If you miss an iPad on the go, get the Duo. It’s good, but you need to want it.

    Or you're a developer, there's so much that's different, that it's an essential buy. You need to see the device, its many modes and other apps to see what's working and what isn’t. Simulator doesnt really cut it here. (2/2)

  26. Part of my problem is that I seem to have waaay more "tricky" unpublished music files than other forum posters. Recordings by me or friends. My kid's piano. Audio extracted from ancient videogames, or from the middle of movie files because I *bought* the soundtrack, but that doesn't contain the movie dialog and sound effects which we're so used to that it sounds lifeless without them. Most of these should not be uploaded to musicbrainz to match against.

  27. DATE: October 27, 2026 at 07:00AM
    SOURCE: PSYPOST.ORG

    ** Research quality varies widely from fantastic to small exploratory studies. Please check research methods when conclusions are very important to you. **
    -------------------------------------------------

    TITLE: We’ll pay to get revenge on an algorithm, even though it can’t feel a thing

    URL: psypost.org/well-pay-to-get-re

    When a computer algorithm treats people unfairly, they tend to get just as angry and retaliate just as often as they would against a human wrongdoer. A new series of experiments published in Journal of Experimental Psychology: General provides mixed evidence on whether punishing a machine brings the same sense of closure as punishing a person, but it suggests that a machine’s response to being punished, such as sounding hurt or promising to make fairer offers, can strengthen people’s sense that justice was done. The findings suggest that as artificial intelligence takes on more decision-making roles in society, organizations may need to design systems that can communicate accountability when things go wrong.

    Automated systems are increasingly tasked with consequential choices, from screening job applicants to steering vehicles and prioritizing medical care. To understand how people react when these systems cause harm, psychologists study a concept known as mind perception, which is the everyday process of judging what kind of mental life another entity possesses. People generally evaluate minds along two separate dimensions: agency, meaning the ability to think, plan, and act intentionally, and experience, meaning the capacity to feel physical pain, pleasure, fear, and emotions.

    In human interactions, the capacity to commit a moral wrong and the capacity to experience punishment usually go together, since a sane adult can both plan a harmful act and feel the sting of a penalty. Artificial intelligence splits these two qualities apart because people often view machines as having enough agency to cause deliberate harm, yet almost no ability to feel pain or remorse. For instance, research covered by PsyPost in 2023 found that people judged AI agents as more deserving of blame than humans in one classic life-and-death dilemma. Similarly, another 2023 study covered by PsyPost showed that people hold automated driving assistants responsible for road outcomes while simultaneously categorizing the software as a mere tool rather than a true moral being.

    This mental divide raises questions about whether punishing an algorithm can produce justice satisfaction, which is the feeling of closure, fairness, and resolution a victim experiences after an offender is penalized. Psychological theories generally propose two reasons why punishment feels satisfying: either it fulfills a desire for retribution by making the wrongdoer suffer for their actions, or it serves a communicative role by teaching the wrongdoer a moral lesson.

    Because people tend to see machines as unable to genuinely suffer or feel guilt, study author Alexander Eng, an associate professor of organizational behavior in the Department of Management at the Asia School of Business in Kuala Lumpur, and co-author Kai Chi Yam of the National University of Singapore examined how people emotionally and behaviorally respond during and after they penalize an unfair algorithm.

    “Research on punishment usually assumes that anyone capable of doing wrong can also be punished,” Eng told PsyPost. “We tend to see a young child as unable to truly commit a wrong, and so also as unfit for punishment. Machines break that link: people see AI as able to make decisions that hurt them, yet unable to feel pain, regret, or learn a moral lesson. As AI takes on decisions like medical triage and firing employees, we wanted to know how people respond when they try to hold it accountable, and whether punishing it gives them any sense that justice was done.”

    The researchers began with a pilot study of 380 English-speaking adults in the United States, recruited through the online platform Prolific, to verify whether people actually punish algorithms. Participants played a single round of an economic exercise called the ultimatum game, in which a partner was given £0.50 and proposed how to split it. If the participant accepted the split, both parties kept their share, but if the participant rejected it, neither party received anything, making rejection a form of costly punishment.

    Participants were told their partner was either another human participant or an algorithm, and they received either a fair offer of £0.25 each or an unfair offer where the partner kept £0.45 and left the participant just £0.05. In reality, the researchers preset all offers. Receiving a stingy offer from an algorithm provoked much higher anger (an average of 3.12 on a 5-point scale) than receiving a fair offer from an algorithm (1.31). When given the unfair deal, participants felt comparable anger toward algorithms (3.12) and humans (2.91), and they punished the unfair algorithm by rejecting its offer 57.8 percent of the time, which was not statistically different from the 62.2 percent rejection rate for unfair humans.

    In their first main experiment, the authors examined what happens after punishment is delivered using a final sample of 123 Prolific participants. Every participant received the unfair £0.05 offer in the ultimatum game from either a human or an algorithm, decided whether to accept or reject it, and then answered five questions measuring their justice satisfaction, such as whether they felt everyone got what they deserved. Afterward, participants played a second exercise called the dictator game, where they were given £0.50 and could unilaterally share any amount in £0.05 increments with their partner, while also having the option to switch to a new human partner first.

    As in the pilot study, participants rejected unfair offers from algorithms (38 out of 62) and humans (40 out of 61) at similar rates. Overall, the 78 participants who punished their partner by rejecting the offer reported higher justice satisfaction (3.57 out of 5) than the 45 who accepted it (2.63). Controlling for whether participants switched partners, the satisfaction gap between those who punished and those who did not was larger when the offender was a human than when it was an algorithm, and higher justice satisfaction in turn predicted greater generosity in the second game.

    Because the option to switch partners or the belief that computers have no use for money might have influenced the first experiment, the researchers conducted a second study with a stricter setup among 739 participants, preregistered along with the third and fourth experiments through the journal’s registered-report review process. Participants were told that five algorithms and five human research assistants were competing across multiple negotiations, and that while neither kept the money personally, the lowest-earning algorithm and human would be eliminated from the competition.

    Participants were not allowed to switch partners between the ultimatum game and the dictator game, and they also completed scales measuring their partner’s perceived agency and emotional experience, along with their own baseline tendency to attribute human-like consciousness to technology, a trait known as anthropomorphism.

    Participants rated human partners higher on agency (3.30 versus 2.79 out of 5) and much higher on the capacity for emotional experience (3.20 versus 1.86) than algorithmic partners. Even so, participants rejected the unfair offer at comparable rates for algorithms (71.0 percent, or 262 of 369) and humans (65.4 percent, or 242 of 370), and those who punished their partner felt much greater justice satisfaction (3.53) than those who accepted the unfair split (2.71). In contrast to the first study, after controlling for baseline anthropomorphism, the link between punishing and justice satisfaction, and in turn generosity, was equally strong whether the partner was an algorithm or a human.

    “People react to an unfair machine much as they react to an unfair person,” Eng said. “Participants got just as angry at an algorithm that made them a lowball offer as at a human who made the same offer, and they were just as willing to give up their own money to punish it. Whether punishing the machine felt as satisfying was less consistent across studies.”

    A third study tested these dynamics in a different scenario called the trust game with 735 participants who chose to invest £0.20 with a human research assistant or an algorithm. The investment was tripled to £0.60, and the partner broke the participant’s trust by returning just £0.10 instead of a fair £0.30 split. Participants could then penalize their partner by recommending on a 1-to-5 scale that the partner be removed from the player pool, before rating their justice satisfaction and playing a second round where the roles were reversed.

    Participants gave similar removal ratings to unfair algorithms (3.37 out of 5) and unfair humans (3.26). Unexpectedly, harsher removal ratings were associated with lower justice satisfaction rather than higher closure. The authors suspect this is because participants only submitted a recommendation and never saw a penalty take effect, so the ratings may have reflected anger more than punishment. In an exploratory analysis looking directly at anger, feeling angrier predicted lower justice satisfaction and less generosity toward both types of partners, with anger reducing justice satisfaction slightly more when the partner was human than when it was an algorithm.

    In a fourth study involving 3,684 participants who rejected the unfair £0.05 offer in the ultimatum game, the researchers tested whether a message from the penalized partner could increase justice satisfaction. Immediately after rejecting the offer from a human or an algorithm, participants received either no message at all, a message expressing emotional distress over repeated rejections, a message calmly acknowledging that the offer was too low and promising to be fair in the future, or a combined message expressing both distress and a moral lesson learned. A separate preliminary test with 305 people confirmed that these messages effectively conveyed emotional suffering and moral learning as intended.

    Across the entire sample, participants paired with an algorithm reported slightly lower justice satisfaction (3.56 out of 5) than those paired with a human (3.66), a small difference that accounted for about half a percent of the overall variation in satisfaction scores. However, receiving a message from an algorithm expressing emotional suffering (3.57) or moral learning (3.62) produced higher justice satisfaction than receiving no response from the algorithm (3.42).

    For human partners, the differences between receiving no message (3.57) and receiving a suffering (3.66) or moral learning (3.69) message were not statistically significant after adjusting for multiple comparisons. Still, the boost from a message was not statistically larger for algorithms than for humans, and combining both messages added no measurable benefit beyond either one alone. The results suggest that a response from a machine can help satisfy people’s need for redress, even though participants rated algorithms as far less capable of feeling than humans.

    “We expected an apology or a show of remorse from an algorithm to count for little, since people don’t believe algorithms feel anything,” Eng explained. “Yet those messages raised people’s sense of justice for algorithms at least as much as the same messages did for humans. It was also striking that people paid to punish an algorithm that couldn’t keep the money and couldn’t experience the loss.”

    A final supplemental experiment with 1,093 participants examined whether dissatisfaction after being wronged causes people to take out their frustration on an innocent bystander, a behavior known as displaced aggression. Participants received the unfair £0.05 offer in the ultimatum game from a human or an algorithm, decided whether to accept or reject it, and then played the dictator game paired with a brand-new human research assistant who had no involvement in the first round.

    Controlling for baseline anthropomorphism, participants who punished their initial partner by rejecting the unfair offer shared slightly more money with the innocent bystander (an aggression score of 6.75 versus 7.07 on an 11-point scale, where higher scores mean less money shared) than those who did not punish, regardless of whether the original wrongdoer was a person or a machine.

    “The anger and punishment results held up across more than 6,000 participants,” Eng noted. “The machine-versus-human differences in justice satisfaction were small where they appeared at all: in our largest study, of about 3,700 people, partner type explained roughly half a percent of the variance. I’d treat that as a modest pattern that needs more testing.”

    As with all research, there are some caveats to consider when interpreting these results. All of the experiments relied on brief online financial games where the harm consisted of being offered an unfair split of £0.50 by an anonymous text-based partner. How people think and feel when a simple computer program shortchanges them by a few cents may differ from how they react to high-stakes algorithmic harm in the real world, such as an automated system wrongfully denying a mortgage, firing an employee, or causing a traffic accident. In addition, participants chose for themselves whether to punish, so differences between those who punished and those who did not may partly reflect who chose to punish rather than the effect of punishing itself.

    “These were online economic games with small stakes, splitting 50 pence,” Eng pointed out. “Real harms from AI, like a denied loan or a wrong diagnosis, carry much more weight, so the effects could look different there. The justice satisfaction results were also mixed: one study found a clear gap between machines and humans and another found none, so I wouldn’t claim that punishing machines never satisfies people.”

    The evidence on whether punishing a machine feels less satisfying than punishing a person was mixed across the studies, appearing in the first and fourth experiments but not in the second, while the third experiment’s punishment measure did not work as intended. The clearest gap came from the smallest experiment, which included 123 participants after dozens of duplicate entries were removed and which had originally been preregistered to test different outcomes; the larger, preregistered second experiment did not replicate it.

    The authors also noted that their five-item survey measuring justice satisfaction showed relatively low internal consistency in the fourth study, indicating a need to develop more precise tools for measuring psychological closure after technological failures. Future research could explore how different types of real-world errors and corrective feedback shape public trust, helping engineers and policymakers design accountability measures, such as holding human creators rather than machines responsible, that satisfy human intuitions of fairness.

    “We want to test other kinds of wrongdoing and punishment beyond economic games, and develop a better measure of justice satisfaction,” Eng added. “In a related project, I’m studying the ‘AI disclosure penalty,’ where people value content less once they’re told AI made it.”

    The study, “Artificial Intelligence and Machines Are Capable of Harm, but Not of Experiencing Punishment,” was authored by Alexander Eng and Kai Chi Yam.

    URL: psypost.org/well-pay-to-get-re

    -------------------------------------------------

    Private, vetted email list for mental health professionals: clinicians-exchange.org

    Unofficial Psychology Today Xitter to toot feed at Psych Today Unofficial Bot @PTUnofficialBot

    -------------------------------------------------

    #psychology #counseling #socialwork #psychotherapy @psychotherapist @psychotherapists @psychology @socialpsych @socialwork @psychiatry #mentalhealth #psychiatry #healthcare #depression #psychotherapist #ArtificialIntelligence #AI #Algorithms #MachineLearning #AIethics #Psychology #SocialPsychology #Justice #Accountability #HumanBehavior

  28. Wasmtime Patches Critical Sandbox Escape Flaws in Cranelift Compiler

    Wasmtime fixed two critical vulnerabilities (CVE-2026-115889 and CVE-2026-115893) that allow malicious WebAssembly modules to escape their sandboxes and execute arbitrary code on host systems. The flaws affect the Cranelift compiler and require immediate updates to Wasmtime 50.0.0 or other patched versions.

    **If you use Wasmtime (directly, inside your own apps, or through tools like Spin), update ASAP to version 36.0.19, 48.0.7, 49.0.4 or 50.0.0, rebuild any applications that include it, and update Spin to 4.2.4. If you're still on the 24.x line, there is no patch, so upgrade to a supported version. If possible don't run WebAssembly code from sources you don't fully trust.**
    #cybersecurity #infosec #advisory #vulnerability
    beyondmachines.net/event_detai

  29. Overall, they have been fun to play with and I think they might be good for learning gouache and sketchbook painting. I felt mostly positive about them until I had to start throwing colors away because of mold!

    But I think the value proposition can still be quite good, especially if you're someone who will do a lot of painting and use the colors up before too much mold can develop.

    I'd definitely recommend going with one of the smaller sets with fewer colors for that reason alone, and to use it as a cheap opportunity to practice mixing colors as well. If I ever buy another set, that's probably what I'll do.

    #art #artsupplies #painting #paint #gouache #himi #jellygouache

Share on Mastodon

Enter the server where you have an account.