home.social

Search

379 results for “might_be_mightiest”

  1. NFL nearly made a Browns move that would’ve been unthinkable a year ago

    When was the last time the Cleveland Browns were must-watch television? Admittedly, they might still not be there…
    #NFL #ClevelandBrowns #Cleveland #Browns #browns #cleveland #Football
    rawchili.com/nfl/1036317/

  2. EchoVault: I Built an Open-Source AI That Helps Forgotten Memories Live On


    Some of the most valuable things we own aren't expensive devices or files stored in the cloud.

    They're the stories we hear from our grandparents. The recordings we make during family gatherings. The letters we keep but rarely revisit. The little details that seem ordinary today but become priceless years later.

    And yet, these memories are surprisingly easy to lose.

    Recordings remain buried in folders. Audio files are difficult to search. Handwritten notes get separated from their context. Eventually, the people who remember these stories might no longer be around to tell them.

    For Hacktoberfest Week 4, I wanted to explore a different interpretation of Ghost in the Machine.

    What if AI could help preserve the voices, stories and memories that time might otherwise erase?

    That idea became EchoVault.

    What I Built


    EchoVault is an AI-powered memory archive designed to help people preserve, organize and rediscover personal stories.

    Instead of treating old recordings and written memories as files that simply sit on a device, EchoVault helps turn them into a searchable collection of stories.

    The workflow is simple:

    1. Upload an audio recording or written memory.
    2. Transcribe supported audio recordings.
    3. Generate a concise summary and extract useful details.
    4. Save the original material alongside its transcript and metadata.
    5. Search the archive and ask questions about the saved stories.
    6. Create a remembrance page that brings the material together in a readable format.

    The goal isn't to make AI replace the people behind these memories. It's to make their stories easier to preserve, revisit and share.

    EchoVault is about helping memories survive, not pretending that AI can bring someone back.

    Demo


    In the demonstration, I'll upload a sample recording, show how EchoVault transcribes and summarizes it, and retrieve a detail from the saved story.

    I'll also demonstrate how the original recording and its generated content remain connected, so users can verify the archive entry against its source.

    Code


    The repository contains the application source code, setup instructions, model configuration, dependencies and documentation for running EchoVault.

    The goal is to make the project reproducible so other developers can experiment with the models, improve the archive workflow or adapt it to their own use cases.

    How I Built It


    I built EchoVault around Python, Streamlit and open-source AI tools.

    The architecture separates transcription, language-model processing, storage and retrieval so that each component can be tested independently.

    1. Transcription


    For supported audio recordings, EchoVault uses OpenAI Whisper running locally to convert speech into text.

    The transcript makes a recording searchable and gives the next stage a text representation to work with.

    Transcription accuracy still depends on recording quality, accents, background noise and the languages supported by the selected model.

    2. Memory extraction


    An open-weight Gemma model processes the transcript and generates structured metadata such as a title, summary, key events and people mentioned.

    I designed this stage to distinguish the original story from AI-generated interpretations. The original transcript remains available for verification.

    3. Searchable archive


    EchoVault stores the original files and associated metadata, making it possible to revisit individual memories rather than repeatedly processing every recording.

    4. Grounded question answering


    The question-answering feature retrieves relevant material from the archive and uses it to formulate an answer.

    Rather than treating the model as an unrestricted storyteller, the application is designed to ground responses in the saved records.

    If a question cannot be answered from the available material, the system should say so instead of inventing a memory.

    5. A human-centered interface


    I used Streamlit to create an interface for uploading recordings, reviewing transcripts, exploring archived stories and generating remembrance pages.

    I wanted the experience to feel more like a digital archive than a generic chatbot.

    This part of the project taught me that building a useful AI application involves more than prompting a model. Data handling, validation, retrieval and the way users verify generated content all matter.

    Why Does Open Innovation Matter?


    For a project dealing with personal memories, the choice of AI infrastructure matters as much as the interface.

    Privacy and control


    Family recordings and personal stories can contain sensitive information.

    Running transcription and language models locally can reduce the need to send this material to external AI services. In a fully local configuration, recordings and generated content can remain on the user's device.

    This is an architectural goal, not an automatic guarantee: the complete application must be checked for external network calls, telemetry, cloud storage and other data transfers before claiming that it is fully offline.

    Freedom to experiment


    Open-weight models give developers more flexibility to choose models, change prompts, compare performance and adapt the application to their requirements.

    For EchoVault, this means being able to experiment with different transcription and language models without designing the entire product around a single proprietary AI API.

    Preservation beyond a single service


    An archive should not become inaccessible simply because a hosted service changes its pricing, API or availability.

    Keeping original recordings, transcripts and metadata in portable formats makes the collection easier to back up and migrate independently of a particular model provider.

    Making the technology accessible


    A local-first approach can reduce dependence on recurring hosted inference charges, although users still need compatible hardware, storage and electricity.

    The larger point is that useful AI tools should be adaptable and understandable, rather than locked into an infrastructure that their users cannot control.

    My Agent Session


    I used python to implement and test EchoVault.

    The session documents the decisions, experiments and debugging steps that shaped the final application.

    The Spirit of It


    The theme Ghost in the Machine made me think about how technology interacts with memory.

    A recording is only a collection of bits until someone listens to it. A transcript is only text until someone recognizes the person, place or moment behind it.

    AI cannot replace the human experience of remembering someone. It can, however, help make the material we leave behind easier to preserve and understand.

    I want EchoVault to make it easier for someone to rediscover a story they had almost forgotten, find a detail in an old recording, or bring together memories that would otherwise remain scattered across devices.

    The most meaningful result isn't an AI-generated story that sounds convincing.

    It's helping someone find a real story worth remembering.

    What's Next?


    I'd like to explore better multilingual transcription, additional document formats, richer search, exportable remembrance pages and tools for organizing large collections of recordings.

    I also want to improve source attribution so users can move directly from a generated summary or answer to the original passage that supports it.

    EchoVault began with a simple question: what if we could use open-source AI to help preserve the stories that matter to us?

    My answer is a small step toward making personal archives more accessible, searchable and useful.

    Because sometimes the most valuable thing an AI can do isn't generate something new.

    It's help us hold on to something we already have.

    devchallenge #hf26challenge

    #devchallenge #hf26challenge #software #coding #development #engineering #inclusive #community
    EchoVault: I Built an Open-Source AI That Helps Forgotten Memories Live On

  3. I've never been one to sign up for #arXiv daily emails or skim the recent postings. I just look up people I know, a paper someone cited, etc. I decided to take a look at a couple #math subjects and things are looking bad. There was always some junk, to be sure. Sometimes a #crank would manage an #MIT affiliation and post a "proof" of the #Collatz conjecture or someone would vouch for a kid in high school, for whatever misguided reason. Now though, we've just got people posting papers with only a #gmail address, no affiliation, and an section that basically reads "corpo #AI #LLM chatbot 5000 is my best friend and helped me with all those fancy math words but I totally wrote this". Idk if they're bots or people, but I feel silly worrying that I would be less "legitimate" if I stopped posting on the arXiv. It might as well be #vixra at this point.

    #mathematics #academia #research #NoAI

  4. To be clear, it was never true that a phone with no security patches for half a decade is more secure than a fully up to date Linux or even Windows computer. I just hoped that this would mean reconsidering the requirement for an Android/iOS smartphone to act as trust anchor for existing in modern society, not accelerating the churn of smartphone consumption for arbitrary reasons.

    I have a naive hope that someone might take AI and crack these apps wide open one day and you won't be the beholden to the whims of the official apps. But it should have all been public APIs with verifiable cryptography to begin with anyway.

    But of course all of this is irrelevant since Google solved Android version fragmentation in 2016 and we have been living happy ever since then, I'm just being delusional again.

  5. We’ve traded "Peace be with you" for "Violence may be necessary." 30% of Adherents now agree that patriots might need to use force. This isn't the Gospel; it's Constantine’s ghost. #ChristianNationalism #GOP #2026

  6. One Persistwise detail that might surprise people: each post gets captured once, the first time it shows up in your feed. Fix a typo later and the archived copy still has the typo lol. A record that keeps changing wouldn't be much of a record though

    persistwise.com

  7. "The machine should not be conceived as a tool for economizing production—by eliminating as many workers as possible and stripping the rest of their creativity—nor as a means to imitate artisanal products. Rather, it should be viewed as an instrument capable of liberating humanity from the most oppressive physical labor, thereby enabling individuals to give form to their own creative impulses."

    These words might well have been shared just a few months ago in the comments section of any post discussing AI. In reality, however, they encapsulate a reflection forged over a century of history and innovation. In his seminal treatise, Walter Gropius describes the foundational philosophy behind the Bauhaus school in Dessau—a perspective that remains strikingly contemporary, despite the relentless passage of time. Even today, it lays the groundwork for a deeper inquiry into the technology that surrounds us and has become an integral part of our lives.

    Pictured: A view of the workshop wing at the Bauhaus in Dessau, 1926.

    Source: Walter Gropius – The New Architecture and the Bauhaus

  8. Grief at what might have been, and the life that I could have had, if I had known, and if that was accepted and supported. I found it was important to sit with that grief and let it be. And eventually it wasn't so overwhelming anymore. Sometimes I still get a wave of it, and I know it'll pass if I let it be.

  9. While an AI chatbot and a human might communicate in the same language there is a huge difference. AI uses predictive text. Humans choose words based on the meaning the words have for us. The meaning of a word is tied to our experience, our memories and our physical neurology.

    Example: a dentist chair, your favorite chair

    Are each just a chair? An object you sit on?

    My guess is you can viscerally feel the difference between the two.

    An AI chatbot can tell you the difference but it can never “know” the difference. The chatbot has no sensors or mechanism to feel the fear of one or the comfort of the other. Humans intimately know the difference. How can ever be “sentient” if it can’t ever feel the difference?

    #ai
  10. Taxpayers Alliance Against Genocide (TAAG): “We Will Not be Intimidated!”

    Article republished by Jerry Alatalo | October 25, 2026

    [Editor’s note: The non-responses of U.S. President Donald Trump and Israel Prime Minister Benjamin Netanyahu to this significant international law development have been widely described by veteran world affairs observers as being akin to deer-in-headlights. Please share the article far and wide. Please feel free to respond in the comments. Thank you very much. Peace.]

    ***

    We Beat The Trump Administration In Court

    October 24, 2026

    Tariq Ra’ouf, Mondoweiss.

    Now we’re going to the ICC to hold the U.S. accountable for the Gaza genocide.

    A recent lawsuit successfully challenged the Trump administration’s assault on the International Criminal Court. Now, families like mine, whose relatives have been killed with U.S.-supplied weapons in Gaza, might finally have a chance at justice.

    Over the course of the last three years, my family has lost 49 family members in Gaza. Their bodies were torn apart by shrapnel, crushed by falling buildings, and mutilated by bullets and munitions made and provided by the United States of America. Now, the U.S. is trying to dismantle the International Criminal Court, the only international court that can criminally prosecute U.S. officials for aiding and enabling genocide, by sanctioning the Court and attempting to intimidate anyone, including U.S. citizens, from working with them. So, in response, I joined others to sue this administration in order to take them to the very court they’re trying to destroy.

    I’m a Palestinian-American organizer, and I helped establish Taxpayers Alliance Against Genocide (TAAG), which recently partnered with Democracy for the Arab World Now (DAWN) to sue the Trump administration so we can continue much-needed legal and advocacy work. Over the course of over a year, TAAG worked with an international legal team to prepare evidence against top U.S. officials for aiding and enabling the genocide of my people, but up until now, we haven’t been able to submit our evidence to the ICC because of this administration’s attacks and sanctions on the court and its judges.

    Thankfully, that will now change after we successfully challenged the Trump administration in court. On October 13 we won a preliminary injunction that blocks this administration from being able to target our groups for working with sanctioned parties, clearing the way for us to proceed to the ICC. For the first time since the genocide started, I am beginning to see a glimmer of hope that justice will be found for the dozens of family members I have lost in Gaza.

    The Trump administration’s war on the ICC

    Long before the Trump administration sanctioned the entirety of the International Criminal Court (ICC) on October 9, it first enacted Executive Order 14203 in February of 2025. This executive order granted administration officials the ability to sanction foreign nationals for supporting the ICC’s investigations into U.S. and Israeli parties guilty of committing war crimes and their complicity in genocide. Under this Executive Order (EO) , the Trump administration also sanctioned leading Palestinian human rights groups al-Haq, al-Mezan, and the Palestinian Center for Human Rights (PCHR), as well as the UN Special Rapporteur for the Human Rights Situation on the Occupied Palestinian Territory, Francesca Albanese, along with other ICC officials.

    What many people don’t know is that the EO that allowed the administration to sanction these parties doesn’t only go after foreign nationals, it also makes it a federal offense — punishable by a $1 million dollar fine and/or 20 years in prison — for anyone, including American citizens, who provides or receives a “service” to or from a sanctioned party. This provision of the EO is exactly why TAAG and DAWN took this administration to court: Our lawsuit argued that the EO violates our First Amendment rights as American citizens to speak, associate, and engage in Palestine-related human rights advocacy with these parties. As a founding member of TAAG, I can tell you firsthand how these sanctions have prevented us and organizations like DAWN from being able to continue our work sharing evidence and advocacy ideas with people like Albanese and ICC officials, because the definition of “service” is so broad and undefined — the US can interpret it as being anything that confers a benefit to the recipient.

    In an October 9 video of Marco Rubio announcing the actions against the ICC, he tries defending the administration’s actions by calling the ICC a “rogue court,” which the U.S. is “not subject to the jurisdiction of.” But Rubio leaves out a fundamental principle of international law: A country does not have to join the ICC for its nationals to fall within the Court’s jurisdiction.

    If a country that is not a State Party to the Rome Statute commits a war crime on the lands of a country that is a state party, the perpetrator of that crime can be investigated. Given that Palestine is a State Party to the Rome Statute, and that Gaza (and the West Bank) are classified as Occupied Palestinian Territories by the United Nations, the ICC has every right to investigate and prosecute the United States and Israel for the insurmountable war crimes committed against my family members and thousands of other innocent civilians.

    It is clear that the only “protections” this administration are seeking are for the citizens responsible for aiding and abetting war crimes, which after three years, we have plenty of evidence of. Anthony Aguilar, a retired US special forces officer and whistleblower who resigned from his work with the Gaza Humanitarian Foundation (GHF) aid distribution centers in Gaza, has gone on record saying he saw the Israeli Defense Forces (IDF) shooting at crowds of Palestinians, and in an interview with the BBC says he saw Israeli and American military forces of the GHF using an “indiscriminate and unnecessary force against a civilian population, an unarmed, starving population.”

    Rubio consistently mentions the idea of “protecting American citizens” from investigations by the ICC, but the citizens he is referring to are the ones committing the war crimes he doesn’t want investigated. What about American citizens whose families have been killed with U.S.-supplied weapons? Who protects our right to seek justice?

    In sanctioning the entirety of the ICC, the Trump administration is not only trying to cripple any attempt to hold them accountable for their war crimes, but they’re also telling American citizens like myself that if you dare to seek justice for the family members you’ve lost, we’ll imprison you.

    The struggle for accountability moves forward

    Now that the courts sided with us in our lawsuit, we are finally able to prepare for the next steps ahead.

    With the injunction in place, TAAG is now moving forward to finalize its evidence submission and plans to imminently send this to the ICC. We are also rallying support, within the US and beyond, for human rights organizations and advocates for the ICC to act responsibly upon this massive collection of evidence, in hopes that more parties take appropriate legal actions where possible. We fundamentally believe that grassroots movements like ours, and so many throughout the world, are the ones who must step up where our leadership has failed, and build the democratic, popular power capable of ensuring that legal action against genocide is taken and enforced.

    We also hope that our actions inspire more American citizens to speak up against this administration and the priorities of our government. I helped found Taxpayers Alliance Against Genocide because I’m sick of our tax dollars being used against my own family in Gaza, while our communities here in the U.S. suffer from a lack of housing, education and healthcare. Those of us within TAAG recognize that we have a duty as American citizens to hold our nation accountable for the war crimes they commit, not just in Gaza but all over the world.  We will not rest until we’ve exhausted every avenue to seek justice and accountability for these war crimes. We will continue collecting evidence, and pursuing every available legal avenue, moving forward with our crucial evidence work for a prospective submission to the ICC and advance our efforts to hold U.S. officials accountable for crimes against humanity.

    We will not be intimidated into abandoning our work, our families, or the principle that no one is above the law.

    ***

    (Source/credit: ScheerPost.com)

    #DonaldTrump #GenocideProsecution #InternationalCriminalCourt #InternationalLaw #PoliticalScience #TAAG #WhatIsTheInternationalCriminalCourt
  11. In #Munich, you might see (and hear, feel) this weird machine, making weird vibration and sound sweeps. This is part of the Giga-M project. Its goal is to create a detailed 3D map of the underground in Munich and surrounding areas (in total 1100 square kilometres) that will be made available as #OpenData to assist in planning geothermic plants. Switching away from fossil fuel for heating. Impressive!

    giga-m.de (in German)

    #Geothermic #Vibroseis #Research

  12. If a company encouraged 1/4 of its employees to leave, you might wonder if the people running it made some mistakes and if they are going to be held accountable. But you would already know the answer.

  13. In two hours, a bunch of us will be participating in #Monsterdon , which means LOTS AND LOTS OF TOOTS.

    Perhaps you like lots and lots of toots? Great, you will get them.

    Perhaps you do not like lots and lots of toots? In that case, you might want to mute the hashtag - in the Mastodon web UI, for example, you can click the hashtag, pick "mute", and it will take you to a screen where you can create a filter for it.

    OR maybe you would like to MAKE lots and lots of toots! In that case, check out the #MonsterdonAlert hashtag, and you can learn about what we're watching this week and join in!

  14. @jubiloMX @Anibyl
    The #Vancouver council that just swept in has said they’d pass some alternative to FPTP

    Which might cement such a lefty hold on power in the city

    But we’ll see how things go

    With whatever battle there will surely be between the province and every bike lane Vancouver wants to build
    #BCpoli

  15. And once again, it's that time of the year where you never can be entirely sure which timezone anyone is in. That colleague two offices over might just as well be on Aussie time for all you know 😑

    #daylightsaving #timezone #dst

  16. What is Tokyo's most crowded train, you might think to ask...

    Tanner's got your back. Like the title says, it's not what you think.

    He got a bad weather day, but this video hits a lot of Tokyo must-see things, including the Arakawa tram line (YAY!) and a close point between the Sumida River (which used to be where the Arakawa River flowed) and the new (man-made) Arakawa River. To say nothing of an automated commuter train I hadn't been aware of.

    youtube.com/watch?v=_bINTbxTX3M

    #Japan #train #Tokyo

  17. It's @[email protected]'s Tuesday morning Daily Shot of Penguins podcast: Let's talk about what we know about the Penguins' internal budget, and why it might matter in the future

    #DKPS #Penguin #NHL #LetsGoPens
    youtu.be/2IELm5e6N9A?si=QX-Cb5

  18. It's @Dejan_Kovacevic's Monday morning @[email protected] Daily Shot of Steelers podcast: Having fun yet? If so, it might have to do with this fresh foundation

    #DKPS #Steelers #PITvsNO #NFL #HereWeGo #Saints
    youtu.be/CQEKPYPjMWg?si=gBVEzF

  19. Scientific preprints are a bit like sewage water. Sure, they might eventually become a useful resource, but first they need to be treated by peer review to be clear of toxic statements.

    OpenAI and the like are currently flooding the streets of the scientific world with sewage water, with no intent of cleaning up the mess.

    #academicchatter #physics #math #ai

  20. In closing his talk, @andrew informs us all that mountain rescue in the US is always free, and they'd rather be called sooner than later if you think you might need it.

    As a security professional, please also notify us sooner than later if something feels weird, whether you clicked a link that felt wrong in retrospect or a process is suddenly taking an unexpected length of time. Most of us wanna help!

  21. Hack of the day: When working with ordered datasets, the GNU diff tool can be used for all kinds of filtering and formatting by different combinations of --unchanged-line-format, --old-line-format and --new-line-format. "%L" includes the line in question, and you can omit any output by specifying the given format as "".

    For example, only gives lines that the new file omits, but prefixes them with "deprecated_":

    diff --old-line-format="deprecated_%L" --unchanged-line-format="" --new-line-format="" old.txt new.txt

    There are dedicated tools that allow doing such dataset comparisons, of course, but sometimes you might end up with a limited environment with just very basic tools.

  22. How to Check If Your Password Has Been Leaked Online (2026 Guide)

    Have you ever wondered whether someone has your password without you knowing? Your account might look completely normal even if your login details were exposed in a data breach. When a website gets hacked, stolen credentials can sometimes circulate online and be used in automated login attempts against other services. If you reuse the same password for Gmail, Instagram, Facebook, shopping websites, or banking-related accounts, one breach can put multiple accounts at risk. The good news is […]

    spyboy.blog/2026/10/27/how-to-

  23. This is messed up. If I was rich, I could imagine I wouldn't feel the people's suffering so acutely. I might see it with a degree of separation, but I don't know if I would be motivated to work as hard as I have.

    #UniversalHumanism #CivilSimian #philosophy #quotes

  24. 🐙💜 Sunday Philosophy with Leslie: Jacques Lacan, or Why Your Brain Cannot Be Trusted to Write Its Own User Manual

    It is Sunday. Naturally, I have opinions about a French psychoanalyst who thought Freud had left a few things insufficiently complicated. And if this is sufficiently complicated, it means: not complicated enough... ;)

    Jacques Lacan asks an inconvenient question: what if the self you know so well is partly an elaborate construction involving language, other people, social expectations, and desires you cannot entirely explain?

    Naturally, I thought I could address that in a reasonably short article.

    HAHAHAHAHAHA.

    We now have the Imaginary, the Symbolic, the Real, the mirror stage, the big Other, objet petit a, jouissance, the phallus (no, not that straightforwardly), and enough theoretical knots to keep an entire seminar room busy until the heat death of the universe.

    Along the way, we shall investigate why we want what we want, how we become who we think we are, what capitalism does with our dissatisfaction, and why Lacan is neither a universal answer to everything nor someone we should simply dismiss because his prose occasionally appears to have been translated from French into Lacan.

    There are also feminist and queer questions, a few necessary disagreements, and some reminders that psychoanalysis cannot replace material politics. You cannot interpret your way out of poverty, and no amount of unconscious desire will pay the bloody rent.

    This is your Sunday reminder that philosophy is not about collecting dead men like Pokémon. It is about thinking critically, questioning the categories we inherit, and finding ideas that might help us change the world.

    The article got out of hand. The full text is therefore available only at the link below, because even an octopus has limits on how many tentacles it can devote to one Mastodon post.

    🐙📚 Read the full article here: ko-fi.com/post/Lacan-Your-Ego-

    CW: psychoanalysis, gender and sexual difference, capitalism.

    #SundayPhilosophy #Lacan #Philosophy #Psychoanalysis #QueerTheory #CriticalTheory

  25. Some really cool ideas...

    136 #DIY #HalloweenCostumes So Good, No One Will Believe You Made Them

    Your friends will be so impressed!

    By Amanda Garrity, Laura Millar
    Updated: Oct 19, 2026

    "While you might think homemade costumes always take a lot of work, there are actually tons of options that are easy enough to DIY even in a time crunch—think materials like common craft supplies and clothes you already have in your closet."

    goodhousekeeping.com/holidays/

    #SolarPunkSunday #DIYCostumes #Halloween

  26. 25th October 2026

    Hello,

    I started this blog 22 years ago now (I don’t recommend going back to the start), and for the last 5 years I wrote a monthly “status update” post, aiming to mainly write about interesting stuff I might have done in the world of open source software, which I hoped in turn would motivate me to do more interesting stuff in open source software.

    The world changed a lot in that time. If I started now this would probably be a podcast with 16 listeners, instead of being a WordPress blog with 16 subscribers.

    I’ve spent a lot of time this year reading and thinking about the impact of large language models on the tech industry and open source. Its interesting because this feels like the moment, whether we like it or not, hacker culture goes mainstream. This week the world’s major news outlets had to figure out what PHP is.

    That the BBC’s cyber correspondent didn’t know PHP existed has caused some joking and debate online.

    24 years ago I was figuring out what PHP is. Jonathan Atkinson, who I met in a forum that was nominally about writing video games in QBASIC, asked me to make a wiki in PHP. So I did.

    All I knew about wikis was that, it’s like a regular website except anyone can edit it. I named the project: Wiki! Here’s a quote from the README:

     How do I install it?  It's best run in its own directory. Create it one. You'll also want a directory for nodes,  or you could keep them in the base wiki dir. Either way, the nodes directory has to be  chmod'ed to 777. 

    You might raise your eyebrows at that comment if you aren’t yourself a teenage hacker discovering web development.

    Wiki! did have a login system, and the passwords were even stored as MD5 hashes rather than plain text, as I heard that was good practice. In hindsight, an attacker who knew how to set the HTTP Cookie header could impersonate anyone, like this: Cookie: wikiticket=admin.

    Here is a snippet of the file edit.php. Note that $node and $title are inputs you can set via a POST request, or even via URL parameters like edit.php?title="/etc/passwd":

     $t=$title;  if ($node) {   	// Write new data  	//  	$file=fopen($nodedir.$t.".wiki", "w+");  	$node=stripslashes(ereg_replace("(\r\n|\n|\r)","<br>", $node));	// Linebreak to <br>  	fputs($file, $node."\n"); 

    Even if you just learned what PHP is today, you might see that this is not an entirely secure design.

    Anyway, at the time I was proud of my work, and I needed somewhere to host it. So, as you would in 2002, I registered the name “wiki” on sourceforge.net and uploaded the project code.

    Sourceforge, for those who haven’t yet reached middle age, was the 2000’s equivalent of Github. It allowed projects to have their own website, as long as they included the Sourceforge logo somewhere, and the website could use PHP. Perfect, I thought, the project’s website will be a wiki!

    Looking back now through archive.org, I can see this code actually ran in public for many years.

    Here it is around launch day in 2002: https://web.archive.org/web/20021012080349/http://wiki.sourceforge.net/wiki

    I have a local copy from around this time, which includes indexjon.wiki:

    
    Sam, there are some serious bugs in this wiki. I keep on getting 'document contains no data' errors; get me on AIM.
    
    Welcome to grove.swoo.net. You may or may not be interested in the [weblog].
    JonathanA - 29/8/02 - 11:36 am
    JonathanA - 29/8/02 - 07:36 am

    Those bugs went unfixed forever, and six months later, the front page text had been replaced with two poems, one in Italian and one in Russian: https://web.archive.org/web/20030420205758/http://wiki.sourceforge.net

    One is “Non chiederci la parola che squadri da ogni lato” by Eugenio Montale, written in 1923, and presumably posted by a fan. Does anyone know what it’s about? A machine translation suggests it might discuss “the crisis of certainty faced by contemporary man”. The other is “Anecdote for Fathers” by William Wordsworth, in Russian via an unnamed translator.

    Let’s just sit with that for a moment. Imagine what happens in 2026 if a trivially exploitable PHP website hosted by a US corporation goes online: it’ll be mining bitcoin, serving pornography and drowning in racist and antisemitic spam, probably all within the same day.

    In 2003, over the course of six months, my naive implementation of a wiki was gifted with… two rather thoughtful poems.

    Fast forward another year. I was about to turn 18 years old, was studying for A levels and mostly concerned with hanging out in the park drinking cheap cider and learning to play the guitar. I was certainly not thinking about this rather flawed chunk of PHP code that I’d written two years earlier, but via the magic of archive.org we can see that various people were genuinely trying to use it as a wiki: https://web.archive.org/web/20041121113508/http://wiki.sourceforge.net

    In hindsight, perhaps it attracted so much attention because I’d literally taken the subdomain: http://wiki.sourceforge.net/, unintentionally boosting the SEO reach quite a bit. The site was still active right up until 2007.

    I can’t find it now, but I do remember receiving an email at some point from sourceforge.net noting that they’d taken down the wiki! website after discovering it was a major security risk. And at some point they must have (quite reasonably) reclaimed the project name as well, since http://sourceforge.net/projects/wiki no longer exists. It will always live on in my heart, though, and for the moment at: https://web.archive.org/web/20021014172056/http://sourceforge.net/projects/wiki/

    The world has changed significantly since I was a teenage hacker. Some of what I learned in those days is completely obsolete, such as the QBASIC programming language and VGA graphics. I am a world expert in these irrelevant topics.

    Other stuff that I picked up in the early 2000s has become the foundation of my career as an operating systems developer: C programming, Linux distributions and an gradual induction into open source desktop world via Planet GNOME. And good old PHP, of course. Who knew that, a quarter way through the 21st century, PHP would be front page news?

    Age 18, I didn’t tell anyone in the real world that I’d written a wiki because it’d be the first time they’d heard the word “wiki”. The word evoked exotic and mysterious feelings of Hawaii in 2002. Now it universally evokes Wikipedia. People are learning about password hygiene and PHP. The arrival of AI on the scene, to me, fits into this bigger picture that began in the last century: we, the Computer People, are becoming Mainstream.

    #ai #openSource
  27. DC’s Clayface Has a Good Reason for Leaving Batman Out of Gotham

    The latest addition to the DC universe, Clayface, brings the iconic Gotham City back to the screen, but fans might notice a significant absence. While the city is a central character in the film, its most famous guardian, Batman, is nowhere to be found....

    #Batman #Clayface #DC #JamesWatkins

    themovieblog.com/2026/10/dcs-c

  28. 2 of them are things I needed for my new hobby, 2 are projects that improve my setup and help me work faster, and then there are a multiple others I can’t talk about just yet (most will be open sourced or are already in open source development, so you might have already seen some).

    I’ll publish a full blog post at some point about what happened over the last few months, how I started fixing it, how I’m continuing to improve and learn from it, what changed, and all that.

  29. AI can generate a financial model that looks coherent, contains valid formulas, and produces a plausible result while still being wrong in ways that matter.

    A formula can reference the wrong cell. A cost assumption can be expressed in the wrong unit. A revenue schedule can omit a phase. A model can calculate correctly from an unsupported market assumption.

    These are different failure modes, and they need different controls. For real estate feasibility models, the objective should not be to ask whether an AI-generated workbook looks correct. It should be to establish which properties can be tested automatically, which assumptions require evidence, and which decisions must remain with a qualified human reviewer.

    A useful validation architecture has five layers:

    1. Structural validation
    2. Deterministic calculation checks
    3. Domain and consistency checks
    4. Evidence and provenance checks
    5. Human review and approval

    No single layer is sufficient.

    1. Separate the output from the evidence


    Consider a hypothetical development model with the following inputs:

    • Site area and developable area
    • Permitted gross floor area
    • Unit mix or lettable area
    • Revenue assumptions
    • Construction and other development costs
    • Financing assumptions
    • Development programme
    • Exit assumptions

    The model calculates development costs, revenue, cash flows, residual land value (RLV), and potentially internal rate of return (IRR).

    For example, a model might calculate an RLV of £4 million. That output can be mathematically consistent with the workbook and still be commercially misleading if the revenue assumptions are unsupported or the construction cost basis is outdated. Validation therefore needs to test both the calculation and the justification for its inputs.

    2. Layer one: validate the structure before the numbers


    Before reviewing financial logic, validate the shape of the generated output. If an AI system is expected to return structured data before creating a workbook, define an explicit contract. JSON Schema is one established option for specifying required fields, data types, and constraints.

    See the JSON Schema getting-started guide.
    A simplified model input contract might look like this:
    {
    "project_id": "DEMO-001",
    "currency": "GBP",
    "site_area_sqm": 5000,
    "gross_floor_area_sqm": 12000,
    "construction_cost_per_sqm": 1800
    }
    This is illustrative data, not a market benchmark or a recommendation for a production schema.

    A structural validator could check that:

    • Required fields are present.
    • Numeric values are actually numeric.
    • Areas and costs use declared units.
    • Currency is explicitly identified.
    • Values fall within defined technical bounds.
    • Unexpected fields are rejected or handled deliberately.
    • Missing values are not silently replaced with zero.

    The last point is important. Zero and unknown are not equivalent. If a finance rate is missing, substituting zero can make a model appear more profitable. A missing value should normally trigger a validation error or an explicit unresolved status.

    Structural validation establishes that the model can be interpreted. It does not establish that the model is economically sensible.

    3. Layer two: use deterministic checks for deterministic rules


    Rules that can be expressed precisely should not depend on an LLM's judgment. For example, if a model defines construction cost as gross floor area multiplied by construction cost per square metre, the expected calculation is:

    \text{GFA}
    \times
    \text{Cost per sqm}
    ]
    For the hypothetical inputs above:
    [
    12{,}000 \times £1{,}800 = £21{,}600{,}000
    ]
    A deterministic test can independently calculate the expected result and compare it with the workbook output.
    from decimal import Decimal

    gfa_sqm = Decimal("12000")
    cost_per_sqm = Decimal("1800")
    reported_cost = Decimal("21600000")

    expected_cost = gfa_sqm * cost_per_sqm

    assert expected_cost == reported_cost

    This test checks arithmetic for the stated formula. It does not establish that the GFA is permitted, that the cost rate is appropriate, or that the formula captures every relevant cost.

    A production implementation should also define tolerances where appropriate, particularly when comparing rounded spreadsheet values or calculations involving floating-point numbers.

    Other deterministic checks might include:
    Revenue equals the sum of its components.

    • Total costs reconcile to their component schedules.
    • Cash flow totals reconcile across periods.
    • Unit counts and areas reconcile between schedules.
    • The reported output matches an independently calculated result.
    • A sensitivity case actually changes the intended input.
    • Required formula cells are not unexpectedly blank or replaced by constants.

    Where possible, use independent calculations rather than simply checking that a formula cell contains a formula. A formula can exist and still be wrong.

    4. Layer three: validate model relationships


    Many serious errors are not syntax errors or arithmetic errors. They are inconsistencies between parts of the model.

    Suppose a development model contains:

    • 120 residential units in the unit schedule
    • 116 units in the sales schedule
    • Revenue calculated using the sales schedule
    • Construction costs calculated using the unit schedule

    Every formula may evaluate successfully, but the workbook contains a discrepancy that needs resolution.

    Domain-level checks can flag conditions such as:

    • Unit counts that differ across schedules.
    • Areas that exceed a declared model constraint.
    • Revenue periods that do not align with the programme.
    • Cost totals that exclude a populated cost category.
    • An exit value that uses an inconsistent timing assumption.
    • A sensitivity scenario that changes revenue but leaves dependent calculations unchanged.
    • An IRR calculation using a cash-flow range that omits a period.

    These checks should be encoded as explicit rules wherever the intended relationship is known.

    Some rules require context. For example, whether a particular cost should be included in a development budget depends on the model's scope and conventions. A validator should not impose a universal rule where none exists.

    Instead, it should identify the relevant condition, record the rule being applied, and send ambiguous cases for review.

    5. Layer four: validate the provenance of assumptions


    A financial model can pass every arithmetic test and still fail as an analytical tool.

    The reason is straightforward: calculations cannot establish the truth of their inputs.

    For every material assumption, a validation system should try to preserve:

    • The value and unit.
    • The source or origin of the value.
    • The source's date and relevant data period.
    • The geography and asset type, where applicable.
    • The transformation from source evidence to model assumption.
    • Any manual adjustment made by the analyst.
    • The model locations that depend on the assumption.

    Consider a construction cost assumption of £1,800 per square metre. A validator might confirm that the figure is numeric, the unit is recorded, and the workbook uses it consistently. Those checks do not establish whether the figure is suitable for the location, asset type, specification, and cost period. That question requires appropriate evidence and professional interpretation.

    An LLM may help extract candidate assumptions from documents or explain how a value is used in a workbook. The extracted result should still be checked against its source, and the resulting assumption should remain distinguishable from the underlying evidence.
    A useful principle is:
    Traceability makes an assumption inspectable. It does not make the assumption correct.

    6. Layer five: make human review a defined state transition


    Human review should not be an informal final glance after an automated process has already treated the model as complete.

    A practical workflow can represent validation explicitly:

    GENERATED
    |
    v
    STRUCTURE_CHECKED
    |
    v
    CALCULATIONS_CHECKED
    |
    v
    DOMAIN_CHECKED
    |
    v
    EVIDENCE_REVIEWED
    |
    v
    HUMAN_APPROVAL_REQUIRED
    |
    +----> APPROVED FOR THE DEFINED PURPOSE
    |
    +----> RETURNED FOR CORRECTION
    |
    +----> BLOCKED: UNRESOLVED ISSUE

    The states are illustrative, but the distinction matters. A successful automated test should not automatically mean that a model is approved. Approval should be scoped to a defined version of the workbook, its assumptions, its evidence, and its intended use.
    A reviewer should be able to see:

    1. What was generated.
    2. Which automated checks passed.
    3. Which checks failed or were skipped.
    4. Which assumptions lack adequate evidence.
    5. What changed after a correction.
    6. Who approved the model and for what purpose.

    If a material input or formula changes after approval, the system should identify which checks need to run again and whether the earlier approval remains valid. This is where versioning and change tracking become part of model governance rather than administrative overhead.

    7. Design the exception path before the success path


    Validation is often designed around a clean example: the model is generated, every check passes, and the user receives the output. Production systems need to handle less convenient outcomes.

    A failed check should produce actionable information. “Validation failed” is less useful than “The unit count in the sales schedule differs from the unit schedule; review the linked inputs before approving revenue.”

    Similarly, a warning should not disappear simply because a later stage of the workflow succeeds. For auditability, preserve the check identifier, the model version, the result, the relevant evidence, and the resolution.

    8. Measure validation quality without inventing an accuracy score


    A single “model accuracy” percentage can hide important distinctions. A workbook might pass every arithmetic test while containing several unsupported assumptions. Another may contain a harmless formatting issue but have fully reconciled calculations and well-documented inputs.

    A more useful validation report separates categories:

    • Structural checks passed or failed.
    • Deterministic calculation checks passed or failed.
    • Domain checks passed, failed, or were not applicable.
    • Assumptions with verified, missing, or conflicting evidence.
    • Open exceptions and their severity.
    • Human review status.
    • The scope and version of the approved output.

    If the system is evaluated over time, track false negatives and false positives for individual validation rules against a reviewed test set. Record the test cases, expected outcomes, rule versions, and known limitations.

    Do not interpret a high pass rate as proof that the model is correct. It may simply mean that the checks cover only a narrow set of failure modes.

    The purpose of validation is to make known risks visible and testable, not to manufacture certainty.

    9. A practical implementation sequence


    A team introducing validation around AI-generated financial models does not need to automate every review step at once.

    A sensible sequence is:

    1. Define the contract. Specify the required inputs, output fields, units, and missing-value behaviour.
    2. Write deterministic tests. Start with totals, reconciliations, formula ranges, and independent calculations.
    3. Add domain checks. Encode known cross-schedule relationships and clearly defined constraints.
    4. Track provenance. Associate material assumptions with sources, dates, units, and transformations.
    5. Introduce exception handling. Make failures explicit and prevent unresolved material issues from being silently treated as passed.
    6. Define human approval. Record the reviewer, workbook version, purpose, and outstanding qualifications.
    7. Build a regression suite. Retain representative valid and invalid examples and rerun the checks when the generation logic or validation rules change.

    The test suite should include deliberate failures, not only successful examples. Examples might include missing finance assumptions, inconsistent unit counts, a formula referencing the wrong period, and a source whose geography does not match the project.

    This helps test whether the validation process detects the intended problem rather than merely accepting a plausible-looking output.

    Conclusion


    Human-in-the-loop validation is not a person checking an AI result after the important work is finished. It is a system design in which deterministic rules handle deterministic questions, domain checks expose inconsistencies, evidence is kept separate from assumptions, and a human reviewer remains accountable for unresolved judgments.

    For financial modelling, that distinction is material. A workbook can be well-formed without being economically sound, mathematically consistent without being supported by market evidence, and ready for review without being ready for a decision.

    The objective is not to make every AI-generated model look trustworthy. It is to make the model's logic, assumptions, limitations, and unresolved issues sufficiently visible that a professional can challenge it before relying on the result.#feasibility #realestate #ai #financial #software #coding #development #engineering #inclusive #community
    Human-in-the-Loop Validation for AI-Generated Financial Models

Share on Mastodon

Enter the server where you have an account.