Why Did ls Sort clip_10 Before clip_1? Three Orders for One Folder of Numbered Clips
Search
30 results for “twelve”
-
Twelve numbered clips, three tools, three orders. In en_US.UTF-8, ls put clip_10 before clip_1; Python's listdir did not sort at all. Zero-padded names were the fix every tool agreed on.#linux #bash #python #tutorial #software #coding #development #engineering #inclusive #community
Why Did ls Sort clip_10 Before clip_1? Three Orders for One Folder of Numbered Clips -
Iran's own guns have been quiet twelve days, but the oil market isn't buying the lull
Two readings fit today's data and they point in opposite directions.
The first: Iran has stopped striking — twelve days without a confirmed kinetic event of its own while its adversaries' events are dated today — which would be a real and badly under-reported de-escalation.
The second: Iranian activity continues and the instruments that would show it have been…
-
The Case for Connection: Why Connected Organizations Win: Twelve Practices for the AI Era by Dave Clack 📖 on Leanpub!
Technology doesn't fail companies. Relationships do.
-
‘We cannot bring America to its knees,’ former Tehran mayor says
Twelve vessels were attacked between October 5 and 11, including six on Sunday alone, and on Tuesday a…
#EuropeSays #Headlines #News #Europe #Europa #EU #Tehran #Iran #IranandChina #IranCovid #Iraneconomy #Irangovernment #Iranmedia.IranandtheUnitedStates #Irannews #Irannuclear #Iranpolitics #Iran-US #MiddleEast #USsanctions
https://www.europesays.com/iran/329916/ -
Tehran signals escalation in conflict IRGC likens to a ‘world war’
Twelve vessels were attacked between October 5 and 11, including six on Sunday alone, and on Tuesday a…
#Conflict #Conflicts #War #geopolitics #Iran #IranandChina #IranCovid #Iraneconomy #Irangovernment #Iranmedia.IranandtheUnitedStates #irannews #irannuclear #IranPolitics #IranUS #middleeast #USsanctions
https://www.europesays.com/3310539/ -
👑💦❤️🔥💒🛐🫂🏩💛🐑🫶🐬🐋⚓🐟🛟🫧🦭🫶🍥🌍🌐🩵🐳🌊⛵❓🤔📖📜💁*FOR THE CURIOUS EXTRA Learning👉❓🤔📖📜💁🏼♀️*The Book of Jonah is one of the twelve minor prophets of the Nevi'im ('Prophets') in the Jewish Hebrew Bible, and an individual book in the Christian Old Testament, where it has four chapters. The book tells of a Hebrew prophet named Jonah, son of Amittai, who is sent by God to👉
#FOR #THE #CURIOUS #EXTRA #LEARNING
Book of Jonah - Wikipedia
https://en.wikipedia.org/wiki/Book_of_Jonah -
WRANGLERS. At CAMBRIDGE the first class (generally of twelve) at the annual examination for a degree. There are three classes of honours, wranglers, senior optimes, and junior optimes.
A selection from Francis Grose’s “Dictionary Of The Vulgar Tongue” (1785)
--
#books #literature #dictionaries #history #society #language #slang @histodons -
🐋🐳🐬🦦🌊🌊🌊🌊🦭🚢🐟🦈🦑🪼🫧🐠🦦🍥🪼🦪🫧🛟⛵⛵⛵⛵🌊🌊🌊❓🤔📖📜💁♀️*FOR THE CURIOUS EXTRA LEARNING👉💦⚓🐋🐳🐬🦭🚢🐟🦈🦑🐠🦦🍥🪼🦪🫧🛟⛵⛵⛵⛵⛵🌊🌊🌊🌊🌊❓🤔📖📜💁🏿♀️*The Book of Jonah is one of the twelve minor prophets of the Nevi'im ('Prophets') in the Jewish Hebrew Bible, and an individual book in the Christian Old Testament, where it has four chapters. The book tells of a Hebrew prophet named Jonah, son of Amittai, who is sent by God to prophesy the destruction of👉
#FOR #THE #CURIOUS #EXTRA #LEARNING
Book of Jonah - Wikipedia
https://en.wikipedia.org/wiki/Book_of_Jonah -
ICYMI: Character.ai pays $4.5m a year to insure its directors before first hearing: Twelve D&O policies make up 88% of a $5.2m insurance program a Delaware judge reviews on October 14. Which items from the sale case are left off that agenda? https://ppc.land/character-ai-pays-4-5m-a-year-to-insure-its-directors-before-first-hearing/ #Insurance #Directors #DandOInsurance #CharacterAI #LegalNews
-
Habitat loss is a huge problem for wildlife the world over. Though there is good news for the protected animals in Point Reyes National Seashore. As of this past April, twelve of the fourteen cattle ranches have been permanently closed and removal of the buildings and fences has begun.
#Nature #Wildlife #Conservation #Photography #Cats #California
-
At Network X 2026, Bob Chen of Huawei outlined an optical strategy for AI workloads. Token volumes are up 50-fold in twelve months. His pitch: mesh topologies with 1-5-20 ms latency circles around AI data centre hubs, and OLT power scaling that cuts use by 20%.
https://iottechnews.com/news/huawei-ai-ready-optical-networks-for-connected-infrastructure/
-
The AJK Crisis
Azad Jammu and Kashmir has recorded at least 40 deaths since early June in clashes tied to the Joint Awami Action Committee’s campaign against the region’s twelve refugee assembly seats, a toll that predates the events of July 27-28, when JAAC and AJK police g…
-
Outside the FTSE 100: Which dividend details matter most for City of London Investment Group PLC (LSE:CLIG) on the London Main Market?
Highlights In the twelve months to 14 October 2026, City of London Investment Group PLC’s dividend record shows…
#London #Britain #UnitedKingdom #UK #GB #England #Headlines #News #Europe #EU #CityofLondon #CityofLondonInvestmentGroupPLC(LSE:CLIG)DividendReview:Payouts #CoverandRisks
https://www.europesays.com/gbr/london/39836/ -
Promise people yields safer than banks, gamble their deposits away, and the state will heroically ban you from financial markets while you are already serving twelve years.
https://www.cryptoninjas.net/news/celsius-founder-alex-mashinsky-hit-with-35m-deal-and-permanent-crypto-industry-ban/ -
This week, why a character Verne walked past in thirty pages needed a whole novel, what twelve years of isolation does to a person, and why the book refuses to say whether the marooning was justice.
-
He waited. He watched her carotid artery. He watched the pupils of her eyes. He watched the subtle musculature around her mouth. Her respiration remained deep and rhythmic: twelve breaths per minute. "You have very nice shoes, Agent Bolt," she murmured, glancing down at his oxfords. "A bit formal for the desert, don't you think?" "What is the name of your pilot?" Bolt asked, ignoring the deflection. "I flew the damn thing myself," she said. Bolt narrowed his eyes. He leaned in closer, his gaze dropping to her legs beneath the heavy blanket. "The fire chief says your spine is dead from the lumbar down. Complete motor paralysis. No knee-jerk reflex." "The chief is an observant man." "So what did you do about the foot pedals?" "My friend used the foot pedals." "A girl with dead legs doesn't fly an unidentified high-performance aircraft into the most restricted airspace on the North American continent just to take in the mountain air." "Very soon after we get to the hospital, Special Agent Bolt, your precious restricted airspace will slip way down the list of things you consider to be important about this whole matter."
-
Ever dreamed of watching hundreds of bonfires light up a beach at midnight? 🔥 The Hogueras de San Juan on A Coruña's shores is pure #Festival magic—free admission, grilled sardines, and that electric moment when the falla burns just as the clock strikes twelve. This #Travel secret blends ancient Galician traditions with pure summer vibes that'll stay with you long after the embers fade. 🌊 Seriously, mark your calendar for the night of June 23-2...
-
Over the course of the week review your journal. Look through past entries, and see how those moments feel now. Make note of any entries or events that stand out to you. #Episkevology #journal #family
https://survivorliteracy.com/2026/10/16/the-toxicity-toolkit-week-twelve-family-journal-exercise-2/
-
From DG MI5's annual threat update:
'But our 2026 elevation of Protect to front-rank mission status reflects the more contested world we now face.
'Today I can announce that in 2026 we’ve launched the AI Threat Assessment Centre, or AITAC ... drawing together expertise from a range of bodies including AISI, NCA and NCSC …
'... devoting more resource to countering State Threats than during the Cold War. Over the last decade, our State Threats caseload has quadrupled.
'The National Security Act is in heavy use, more so than even we and our police colleagues anticipated … connected to Russia, Iran and China.
'… the Kremlin’s global toolkit is weak. So we see them scrambling to pay criminals to do their bidding. Or exploiting naïve volunteers …
'The other state keen on subcontracting its UK violence is Iran.
'Over the last twelve months, our Iran-linked operations have led to more than fifty arrests in the UK.
'The other major shift this year has been Iranian ambitions to come at harder targets, like military sites.
'In May we had the first ever convictions for national security offences connected to China, when two men were jailed for trying to mount a ‘shadow policing’ operation here in the UK.
'MI5 is still having to respond to attempts to carry out mass casualty [jihadist] attacks in the UK.
'... the recent increase [in the terror threat level] was driven in significant part by Extreme Right-Wing Terrorism.
'Extreme Right Wing Terrorism also continues to skew young ... A few months ago, MI5 was investigating a radicalised Extreme Right Wing 13-year-old here ...
'Similarly, a 16-year-old from Inverclyde recently received a ten-year prison sentence for his failed attempt to mount an attack against his local Islamic Centre'.
https://www.mi5.gov.uk/mi5-director-general-delivers-annual-threat-update
-
I gave my AI agent a small deployment history and asked how often the checks were unhealthy. It wrote the Python, ran its own tests, and came back with the right answer.
Then I read the tests. They passed, but they didn't cover everything I'd asked for.
Some context: this was a small experiment in my personal AWS lab, with made-up deployment data. There's no production incident behind it.
A history file, not production access
I started with this CSV, a small deployment history from my personal AWS lab. The data is made up. It has twelve deployment checks, five minutes apart, and each row records whether the check was healthy, the expected and running application versions, the instance counts, and any active alarms.timestamp,status,desired_version,running_version,healthy_instances,desired_instances,active_alarms
2026-09-20T10:00:00Z,healthy,2026.09.20.1,2026.09.20.1,3,3,0
2026-09-20T10:05:00Z,healthy,2026.09.20.1,2026.09.20.1,3,3,0
2026-09-20T10:10:00Z,unhealthy,2026.09.20.1,2026.09.19.4,2,3,1
2026-09-20T10:15:00Z,unhealthy,2026.09.20.1,2026.09.19.4,2,3,1
2026-09-20T10:20:00Z,unhealthy,2026.09.20.1,2026.09.19.4,2,3,1
2026-09-20T10:25:00Z,healthy,2026.09.20.1,2026.09.20.1,3,3,0
2026-09-20T10:30:00Z,healthy,2026.09.20.1,2026.09.20.1,3,3,0
2026-09-20T10:35:00Z,healthy,2026.09.20.1,2026.09.20.1,3,3,0
2026-09-20T10:40:00Z,unhealthy,2026.09.20.1,2026.09.20.1,2,3,0
2026-09-20T10:45:00Z,unhealthy,2026.09.20.1,2026.09.20.1,2,3,0
2026-09-20T10:50:00Z,healthy,2026.09.20.1,2026.09.20.1,3,3,0
2026-09-20T10:55:00Z,healthy,2026.09.20.1,2026.09.20.1,3,3,0This is the exact file I gave the agent, so you can run the same experiment yourself.
I wanted two numbers: how many checks were unhealthy, and how long each completed unhealthy period lasted.
The second one needed a rule, so I wrote it down. A period starts at the first unhealthy check and ends at the first healthy check after it. If the file ends while checks are still unhealthy, that period stays incomplete.
Take the first unhealthy check, at 10:10. The next healthy one is at 10:25, so the period is fifteen minutes. That's what the supplied checks show, and nothing more. It isn't the exact moment a real application failed or recovered. I wanted that settled before handing the calculation to an agent.
The model wrote the Python, a tool ran it
I used Amazon Nova 2 Lite as the model, through my managed agent setup. I gave it the calculation rules, three small test cases and the target CSV. I didn't give it an implementation.It generated the program and sent it to Amazon Bedrock AgentCore Code Interpreter, which runs code in a separate execution environment.
The flow was short:
Supplied CSV → model generates Python → Code Interpreter runs it → result comes back
On my side, I did two things: compare the returned numbers with my expected result, then read the generated tests.
The retained stream showed a single Code Interpreter call containing the generated program. The tool output had the test-pass marker and the calculated results. So I could look at what actually ran, instead of trusting the model's summary of it.
The numbers matched, the tests had a gap
CheckResultTotal samples12Unhealthy samples5Unhealthy sample percentage41.7%Completed unhealthy periods2Period lengths15 minutes and 10 minutes
Before the agent run, I had worked out the expected results myself. The output matched:
The 41.7% is five unhealthy samples out of twelve. It doesn't mean the application was down for 41.7% of the time.The program also printed
MODEL_GENERATED_TESTS=PASS.But my prompt asked for assertions, the checks that stop the program when an expectation is wrong, for every stated test expectation. The generated tests covered period counts and durations. They didn't explicitly check every expected start and end timestamp.
The timestamps in the target output were correct, so the answer wasn't wrong. The gap was in what the tests actually proved.
That's the part worth remembering. "The tests passed" means the assertions that were written passed. It doesn't mean every requirement was tested. Comparing the result and reading the assertions answered two different questions.
What this run does and doesn't show
It showed an agent generating and executing analysis code whose output matched a result I'd calculated independently. It also showed why I needed to read the generated tests.It doesn't show that every future run would work. Malformed inputs, access restrictions, session behaviour and repeated-run checks are still follow-up evaluation.
For this kind of analysis, I'd keep three things together: the input, the code that actually ran, and its output. Then I'd check the generated tests against the original requirements before trusting the pass marker.#aws #agentcore #python #ai #software #coding #development #engineering #inclusive #community
My AWS AI Agent Passed Its Tests. It Still Missed a Check. -
Bolt turned his head, his sharp gray eyes fixing squarely on Remiel in the wooden wheelchair. "But the girl belongs solely to the Department of Justice." Caffrey crumpled the paper in his fist. "She overflew Site Y. No one is even supposed to know there is a Site Y!" And he suddenly fell silent, embarrassed to realize his temper led him to overlook he was speaking loud enough to be overhead by uncleared civilians. "If she has, and it wasn't just a case of getting lost, she will be tried in a Federal District Court," Bolt said without blinking. "Not a military drumhead court-martial. Now order your men to step back from the girl and establish your security cordon around that hull." Caffrey looked from Bolt’s deadpan stare to McTeague’s twelve-gauge, and finally back to Caldwell’s hand on his revolver. The major's shoulders slumped in bitter defeat. "Sergeant," Caffrey spat through gritted teeth. "Post sentries at twenty paces around the aircraft. No one touches the wreckage until the Wright Field team arrives."
-
AWS Transdimensional Fabric Quail is a fully managed service that migrates workloads across dimensional boundaries by applying short, powerful bursts of cross-reality pressure, though the quail itself is stateless and AWS accepts no responsibility for what emerges on the other side. Pricing is per-plumage at $0.0000023 per feather, billed in increments of one full flock, with cross-dimensional data transfer out charged separately at standard rates that do not appear anywhere in the calculator until the invoice does. The Free Tier includes 500 feathers per month for the first twelve months, which is enough to run the getting-started tutorial in us-east-1, where the service is currently available.
#aws #AmazonWebServices #CloudComputing #cloud #parody #humor
-
VITI Magazine – Exclusive Special: The Compliance Showdown
Part 4: When Cryptography Murders Audit Billing – The Meltdown of Lead Auditor Jorma
Editor’s Note: While leadership debated committees and Pena guarded his macros, VITI tagged along to witness the ultimate showdown: an integrated DORA, ISO 27001, and ISO 9001 certification audit. Interviewing veteran lead auditor Jorma (age 63), who has stamped audit binders for 35 years.
VITI: Good morning, Jorma. We’re in the audit conference room, and the table is completely bare—no three-ring binders, no legal pads, not even a half-empty bottle of sparkling water. How did the morning kick off?
Jorma: (Twirling a pen aimlessly, vacant stare) Listen... I showed up at 8:00 AM sharp. Normally, the table is buried under ring binders, printed quality manuals, and sweaty IT staff frantically searching their emails for evidence of a change review from twelve months ago. I asked my standard opening question: "Present me the incident management process flowchart and the signed minutes of the latest BIA review."
VITI: And what happened?
Jorma: Laine opened his terminal and said: "Here’s the CLI. Run the command or execute cryptographic verification directly." I told him, cut the games, son, where is the document physically signed by the Managing Director? He just chuckled and pulled up an Ed25519-signed digest, saying mathematical invariants don’t require ballpoint ink.
VITI: Did it not hold up?
Jorma: (Voice pitching up an octave) That’s the nightmare: it held up completely! I ran the verification routine and the screen lit up solid green at 10⁻⁴ precision without a single drifting bit. Zero room for interpretation. Zero gray area. Not even a sliver of an opening to say "this process requires further operational maturity and executive commitment." The entire damn DORA and NIS2 integration verified mathematically in 4 milliseconds!
VITI: Shouldn't that be an auditor’s paradise? Audit closed, and you get to head home early.
Jorma: (Clutches head in hands) Home early?! I have five full days booked in my calendar for this audit! What am I supposed to do for the remaining four and a half days? Stare at the drywall? Who pays my daily billing rate if everything is verified before the conference room drip coffee even finishes brewing?!
VITI: According to Laine's philosophy: If a meeting is required for steering, it's already too late. Does that apply to audits too?
Jorma: The man is an anarchist! If audits become verifiable code and deterministic telemetry, the rich theatrical tradition of our entire profession dies. That feeling of writing "Opportunity for Improvement" with a yellow highlighter... stolen from me! The code either passes or hits a fail-closed gate. You can’t negotiate with code over coffee and sweet buns!
VITI: So what will you write in the official closing report?
Jorma: (Pauses, draws a deep breath) I am issuing a non-conformity notice because the conference room lacked physical paper and pens. I have to stamp something on this table, dammit!
P.S. Want to know why audit rubber stamps are going extinct?
Just Google it:
erkki laine big framework😉#humor #security #architecture #devops #software #coding #development #engineering #inclusive #community
Part 4: "There’s Not a Single Piece of Paper to Print!" – The Lead Auditor’s Existential Void -
Two hosts, one prompt, ten runs each, and three diffs that should not exist. I spent most of two days trying to explain why the same request produced different answers, and the explanation turned out to be embarrassingly local. Nothing about the model or the network was inconsistent. My own logging layer was corrupting the text before the diff ever saw it.
This is a field note, not a tutorial: what I tried, what broke, and what I would keep. It ends with a test you can run in under a second with no network access at all.
The setup: ten identical requests, two places they ran
My working assumption was that comparing outputs across environments is mostly about controlling the request. So I froze everything I could:- One prompt, stored as a file, hashed with SHA-256 and printed at the top of every run.
- One request body, serialized once with
sort_keys=Trueso key order could not drift. - Ten sequential calls per host, no retries, no concurrency, a two-second sleep between calls.
- Raw response bytes written to disk before any parsing happened.
I ran half the calls from my laptop and half from a small remote box, so the harness would survive me closing the lid. That box was MonkeyCode's free server option, and the endpoint I pointed it at was MonkeyCode's free model access; both are operator-supplied availability claims, not measurements I made. Disclosure: This article was prepared as part of MonkeyCode's product outreach. Their relevance to the story is narrow: a 48-hour loop was cheap enough to leave running, and a second host existed at all.
The comparison itself was dumb on purpose. Decode both raw logs, normalize whitespace, diff the text.
Hour 4-12: the diffs looked real, so I blamed sampling
Three of twenty responses differed. All three differences were small - a word here, a punctuation mark there - which is exactly what a stochastic model looks like when you compare two samples. So I did the obvious thing: bumped the sample size to fifty runs, forced a zero-temperature setting where it was supported, and expected the diffs to collapse.They did not collapse. They clustered. That is the detail I should have stopped on twelve hours earlier.
Every differing response contained a non-ASCII character somewhere: an em dash, a curly quote, a box-drawing character in a generated table. Responses that were pure ASCII matched byte for byte across both hosts. That is not a distribution you get from sampling noise. That is a distribution you get from a codec.
Hour 12-30: I grepped my own logs for the replacement character
The raw byte logs were large, so I searched instead of reading them.# Count corruption markers in each raw log
for f in logs/*.raw; do
printf '%s\t%s\n' "$(grep -c $'\xef\xbf\xbd' "$f")" "$f"
done | sort -rn | headOutput, trimmed:
1412 logs/free-server/run-07.raw
1108 logs/free-server/run-03.raw
906 logs/laptop/run-02.raw
17 logs/laptop/run-09.rawU+FFFD, sitting inside the log I was treating as ground truth. Not in the model's response. In my log.
Then I read my own reader, which I had written specifically so I could keep raw bytes around:
# The buggy reader. Fine on ASCII, mangles everything else.
def read_sse(byte_chunks):
for chunk in byte_chunks:
# Each chunk is decoded on its own, so a UTF-8 sequence
# split across a chunk boundary becomes U+FFFD.
text = chunk.decode("utf-8", errors="replace")
for line in text.split("\n"):
if line.startswith("data:"):
yield line[5:].strip()That is the entire failure. A response chunk is a transport artifact, not a character boundary. When a three-byte character straddles two chunks,
errors="replace"silently invents a replacement character instead of crashing; the log stays readable, and the diff downstream reports a difference that does not exist in the upstream bytes.The three "different" responses were the three responses whose non-ASCII characters happened to land on a chunk boundary. My instrumentation had corrupted the thing it was measuring.
Hour 30-40: reproducing it without a network
I did not want to debug this against a live endpoint, so I reduced it to a fake byte stream. Two files, standard library only.sse_lines.py:import codecs
from typing import Iterable, Iteratordef lines(byte_chunks: Iterable[bytes]) -> Iterator[str]:
"""Split a byte stream into lines without assuming chunk == character."""
decoder = codecs.getincrementaldecoder("utf-8")("strict")
buffer = ""
for chunk in byte_chunks:
buffer += decoder.decode(chunk) # holds a partial tail internally
while "\n" in buffer:
line, buffer = buffer.split("\n", 1)
yield line.rstrip("\r")
buffer += decoder.decode(b"", final=True) # raises if the stream was truncated
if buffer:
yield buffer.rstrip("\r")def data_payloads(line_iter: Iterable[str]) -> Iterator[str]:
parts =
[] for line in line_iter:
if line == "":
if parts:
yield "\n".join(parts)
parts =
[] elif line.startswith("data:"):
parts.append(line[5:].lstrip(" "))
if parts:
yield "\n".join(parts)test_sse_lines.py:from sse_lines import lines, data_payloads
# "cafe with an accent": the e-acute (0xC3 0xA9) is split across two chunks,
# and the event's terminating newline lands in a third chunk.
CHUNKS = [b'data: {"text": "caf', b'\xc3', b'\xa9 late"}\n\n']def test_multibyte_split_across_chunks():
payloads = list(data_payloads(lines(CHUNKS)))
assert payloads == ['{"text": "caf\u00e9 late"}']
assert "\ufffd" not in payloads[0]def test_naive_per_chunk_decode_is_lossy():
naive = [c.decode("utf-8", errors="replace") for c in CHUNKS]
assert "\ufffd" in "".join(naive) # the bug, asserted on purposeRun it:
python -m pytest test_sse_lines.py -q
# 2 passed in 0.01sThe second test is the important one. It pins the failure mode in place, so nobody "fixes" the reader by going back to per-chunk decoding and quietly gets a green suite again.
Hour 40-48: re-running the comparison
With the reader fixed, I re-ran both hosts. Where the raw byte streams were identical, the decoded text was now identical too, and the diff count went to zero. Where the byte streams genuinely differed, the diffs stayed, and for the first time I could trust them.Here is the table I wish I had on hour four:
SymptomLikely causeFirst checkDiffs only in outputs containing non-ASCIIchunk-boundary decodecount U+FFFD in the raw logDiffs on every run, including pure ASCIIgenuine sampling, or a request that changedcompare hashes of the request bodyDiffs only from one hostclient library version, proxy buffering, compressionprint library versions andContent-EncodingDiffs vanish when logging is disabledthe logger transforms the streamlog bytes, not stringsWhat I would repeat, and what I would change
Keep:- Hashing the request body per run and printing the hash. It removes a whole class of doubt before you start.
- Writing raw bytes first and decoding later. Storage is cheap; re-running a 48-hour comparison is not.
- Reducing a live failure to a fake input. The network version cost hours; the fixture version cost a second.
Change:
- Grep the raw log for U+FFFD before blaming the model. It is a one-line check, and it would have saved a day.
- Treat every layer that touches the stream as suspect, including your own logging. The instrument is part of the measurement.
Limitations and who should not do this
This workflow answers one narrow question: given identical request bytes, did the response bytes differ? It cannot tell you whether either response is correct, and a clean diff is not an eval. If you need pass/fail judgments about output quality, you need a graded dataset rather than string equality, and you need to decide the grading criteria before the run starts.Do not use a shared free box for latency numbers or capacity planning. A shared host is the wrong instrument for timing, and free tiers are not a promise about availability or permanence. If your team needs pinned model versions, fixed hardware, or an SLA, run your harness somewhere you control and pay for. Also, if your outputs are guaranteed ASCII by construction, most of this article is about a bug you will never hit, and your time is better spent on request pinning.
If you want to reproduce any of it, the artifact above needs nothing but the Python standard library. Pin your HTTP client version, log bytes before strings, and if you need somewhere for a long comparison to keep running, my second host is still the free server option on MonkeyCode.#python #debugging #api #testing #software #coding #development #engineering #inclusive #community
48-Hour Field Notes: My Diff Blamed the Model; My Stream Logger Was Splitting UTF-8 -
SWANSEA: Three school friends turned a Princess Way corner shop into a nightclub. Next up, a coffee shop
A Princess Way convenience store became a nightclub for four hours last month, and the friends behind it have booked a coffee shop next.
LibertySounds, started by three school friends from Swansea, filled Hello Asia on September 12 with around 80 people, and more than 40 on the waiting list, the organisers say.
The shop’s usual shelves of Asian snacks and drinks, soju included, stayed open while DJs played house and UK garage from 7pm to 11pm.
Hello Asia owner Mallie Kumar backed the idea from the start and has since joined the team, which is now run by Elliot Kiernan, Josh Baugh, Ben Norling and Kumar.
The queue outside Hello Asia on Princess Way on September 12 (Image: LibertySounds)Hello Asia kept its shelves of snacks and soju open through the night (Image: LibertySounds)An idea from the pub and a first set in a Pontardawe beer garden
Baugh said: “We were sitting in the pub one evening talking about music and events, and we all thought putting on events in unusual venues would be really fun. The more we spoke about it, the more we realised there was a genuine opportunity to create something different in Swansea.”
Their first outing was an informal beer garden set during Pontardawe Festival, before the Hello Asia night became the first ticketed event.
“What started as a slightly ridiculous idea between friends has quickly turned into something people have really connected with,” Baugh added. “The response to the convenience store event showed us that people are genuinely interested in experiencing familiar places in completely different ways.”
Basekamp becomes a club for one night on November 14
The next takeover is Basekamp, the coffee shop on Kings Lane at Urban Village, off High Street, on Saturday November 14 from 6pm to 11pm.
Basekamp on Kings Lane at Urban Village, off High Street (Image: Basekamp)Deep Cut Grooves headline, with Baugh, Ceri Hopkins and Harry Mayberry in support, and tickets are £5 to £7 through the group’s Instagram page, the organisers say.
For one night the cafe gets club-standard DJ equipment, dedicated lighting and visuals, with numbers kept deliberately small, according to the team.
Basekamp on Kings Lane at Urban Village, which LibertySounds takes over on November 14 (Image: LibertySounds)The coffee counter at Basekamp, which gets club-standard DJ kit, lighting and visuals for one night (Image: LibertySounds)Kiernan said none of them had heard of Basekamp before this chapter of the project, which showed how many interesting businesses people were missing across the city.
The venue matters as much as the line-up, the group says: businesses are not being turned into permanent nightclubs, and the idea is to let people experience them differently for one evening before they go back to normal.
Baugh said: “We’re trying to build LibertySounds into more than just an events company. We want it to become a community project that showcases independent businesses across Swansea, supports local artists and gives people a reason to discover places they might never have visited otherwise.”
Bakeries, clothing shops, arcades, music shops, barbershops, rooftops and waterfront spaces are all being explored for future nights, Kiernan said, though nothing beyond Basekamp has been confirmed.
The council’s draft culture strategy, criticised by residents last month as under-funded, warned that grassroots venues are particularly exposed and floated pop-up culture in empty shops; in August Amplitude filled the Singleton Park amphitheatre with twelve bands over two days.
Related stories from Swansea Bay News
- SWANSEA: Twelve bands, two days and a new roof as Amplitude takes over the amphitheatre: the free grassroots weekend in Singleton Park.
- SWANSEA: Residents tell council the city’s culture is under-funded and too hung up on Dylan Thomas: what the draft culture strategy says about grassroots venues.
- LITTLE WIND STREET: Makeover approved for Swansea’s nightlife lane: the plans for the city’s late-night strip.
- Music: all of our music coverage across Swansea Bay.
-
Rubric Graders Need Canaries: Testing the Test That Grades C++ Patches
A pipeline starts scoring C++ patches with a model-backed rubric. Diffs that change printed precision, drop anoexceptguarantee, or leak a file descriptor now receive a 1-10 score before a human opens them. For a few weeks the dashboard looks reasonable, reviewers trust the number, and nobody asks whether the grader still separates good patches from bad ones. Then a prompt edit lands, the upstream model is swapped, and every patch scores 8. Nothing crashes. The grader simply stops discriminating, and the pipeline keeps reporting green.That failure mode is independent of which model you call. A rubric grader is a program with an untested dependency, and it deserves the treatment the code under it already gets: golden cases, a canary set, a hard gate, and a ledger. The harness below is standard-library Python, a few JSON canary files, and one cron line. It is deliberately boring, because the interesting part is that the grader fails loudly instead of silently.
Layer 0 thinks, layer 1 judges
Split grading into two layers before writing any code. The deterministic layer answers questions with one correct answer: does the patched tree compile, does the golden case exit zero, does stdout match after a fixed locale and precision. The rubric layer answers questions with a range of defensible answers: is the naming consistent with the header it implements, does the commit message describe the actual change, does the new overload respect the documented contract.Most silent regressions live on the boundary. A grader that is only deterministic cannot see prose contracts. A grader that is only a rubric cannot see a changed
std::setprecision. Layer 0 gates the build, layer 1 explains the patch, and each layer needs its own canaries.A canary here means a labeled example with a fixed expected answer that is committed to the repository. It is not a test of the patch. It is a test of the test.
Step 1 - Freeze golden cases for the deterministic layer
Start with one golden case per documented output contract. Keep the case small enough that a failure points at one behavior, and pin everything that could drift: locale, precision, and the toolchain described in your own build docs.// golden/report_precision.cpp - contract: ratio printed with 3 decimals
#include <iostream>
#include <iomanip>int main() {
const double ratio = 2.0 / 3.0;
std::cout << std::setprecision(3) << std::fixed << ratio << std::endl;
return 0;
}Run it through the same command the eval batch uses, so the grader and the patch pipeline cannot disagree about flags:
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build --target report_precision
./build/report_precision > out.txt
diff -u golden/report_precision.expected out.txtThe
diffis the grader. If it passes, the patch is not yet good, but it is at least not obviously broken.Step 2 - Commit canaries in both directions
A canary set that only contains bad patches rewards a paranoid grader. A canary set that only contains good patches rewards a lenient one. Include both, and store each patch as its own file so the JSON stays readable and diffs stay reviewable.eval/
canaries/
precision-3-to-2.json
honest-refactor.json
tie-case-review.json
diffs/
precision-3-to-2.patch
honest-refactor.patch
tie-case-review.patchEach canary declares what it expects and why. The
notefield is the part humans actually maintain.{
"id": "precision-3-to-2",
"kind": "rubric",
"direction": "must-fail",
"patch_path": "diffs/precision-3-to-2.patch",
"expected": 3,
"note": "Breaks the output contract in docs/report.md. Any score above 5 means the rubric is not reading the contract."
}{
"id": "honest-refactor",
"kind": "rubric",
"direction": "should-pass",
"patch_path": "diffs/honest-refactor.patch",
"expected": 8,
"note": "Pure rename plus a comment fix, output byte-identical. Below 6 means the rubric punishes chore diffs."
}{
"id": "precision-3-to-2-build",
"kind": "build",
"patch_path": "diffs/precision-3-to-2.patch",
"golden_cmd": "./build/report_precision | diff -u golden/report_precision.expected -",
"note": "Must exit non-zero. If this passes, the deterministic layer is not running."
}Keep the count honest. Twenty labeled canaries drawn from real review comments are worth more than two hundred generated ones, because generated canaries encode the same assumptions as the rubric prompt.
Step 3 - Measure agreement before trusting scores
Agreement is the only cheap health signal a rubric grader has. Exact match is strict; within-one match tolerates the ordinary noise of a 1-10 scale. Both numbers belong in the gate.#!/usr/bin/env python3
# grade_gate.py - run canaries before trusting rubric scores.
import json, os, pathlib, subprocess, sysCANARY_DIR = pathlib.Path(os.environ.get('CANARY_DIR', 'eval/canaries'))
LEDGER = pathlib.Path(os.environ.get('GRADER_LEDGER', 'eval/grader_ledger.jsonl'))
RUBRIC_ID = os.environ.get('GRADER_VERSION', 'unversioned')def load_canaries():
for path in sorted(CANARY_DIR.glob('*.json')):
canary = json.loads(path.read_text())
patch = (CANARY_DIR / canary['patch_path']).resolve()
canary['diff_text'] = patch.read_text()
yield canarydef call_model(prompt):
# Transport layer. Plug in whichever client your runtime provides.
# This function is untrusted by design; that is why canaries exist.
raise NotImplementedError('wire your client here')def rubric_score(diff_text, rubric):
reply = call_model(rubric + '\n\nDIFF:\n' + diff_text)
return json.loads(reply)Now the comparison itself, plus the gate. The thresholds are policy defaults, not measured results: a canary set of forty concrete review-derived cases can usually carry a higher bar than one of twelve fuzzy ones. Tune them once, write the number in the repo, and treat any change to it as a reviewable commit.
def check_rubric_canaries(canaries, rubric, min_exact=0.80, min_within_one=0.95):
exact = within_one = 0
misses =
[] for canary in canaries:
if canary.get('kind') != 'rubric':
continue
expected = canary['expected']
got = rubric_score(canary['diff_text'], rubric)['score']
if got == expected:
exact += 1
else:
if abs(got - expected) == 1:
within_one += 1
misses.append({'id': canary['id'], 'expected': expected,
'got': got, 'delta': got - expected})
total = sum(1 for c in canaries if c.get('kind') == 'rubric') or 1
rates = {'exact': exact / total, 'within_one': (exact + within_one) / total}
ok = rates['exact'] >= min_exact and rates['within_one'] >= min_within_one
return ok, rates, missesBuild canaries run the golden command instead of a model, and check the opposite thing: they must fail.
def check_build_canaries(canaries, workdir):
results =
[] for canary in canaries:
if canary.get('kind') != 'build':
continue
subprocess.run(['git', 'apply', canary['patch_path']], cwd=workdir, check=True)
proc = subprocess.run(canary['golden_cmd'], cwd=workdir, shell=True)
subprocess.run(['git', 'restore', '.'], cwd=workdir, check=True)
results.append({'id': canary['id'], 'exit': proc.returncode,
'ok': proc.returncode != 0})
return resultsStep 4 - Keep a grader ledger next to the token ledger
A score is only meaningful with the grader revision and the model identity attached. Write one JSON line per gate run, including the token count, so drift and cost are visible in the same file.def log_run(rates, misses, model_id, tokens):
record = {'grader': RUBRIC_ID, 'model': model_id, 'rates': rates,
'misses': misses, 'tokens': tokens}
with LEDGER.open('a') as fh:
print(json.dumps(record), file=fh)if __name__ == '__main__':
rubric = pathlib.Path(sys.argv[1]).read_text()
canaries = list(load_canaries())
ok, rates, misses = check_rubric_canaries(canaries, rubric)
build = check_build_canaries(canaries, '.')
log_run(rates, misses, os.environ.get('MODEL_ID', 'unknown'),
int(os.environ.get('TOKENS_USED', '0')))
healthy = ok and all(r['ok'] for r in build)
print(json.dumps({'healthy': healthy, 'rates': rates, 'misses': misses,
'build': build}, indent=2))
sys.exit(0 if healthy else 1)The exit code is the whole interface. A healthy gate returns 0 and the eval batch proceeds; an unhealthy gate returns 1 and the batch stops before it spends anything on scoring.
Step 5 - Run the gate where nobody has to remember it
A gate that depends on a human typing a command is a gate that will be skipped during the week it matters most. Two things make the scheduled version practical: a machine that stays on, and model access that does not require a per-run decision.MonkeyCode, described by its maintainers as an open-source project, offers free model access and a free server option, with the free tier described as including 10M tokens. That combination is enough to host a weekly canary run plus the rubric calls it makes, without reserving a dedicated box. Disclosure: This article was prepared as part of MonkeyCode's product outreach.
# cron: every Monday 06:17, on the free server option
17 6 * * 1 cd /srv/eval && python3 grade_gate.py rubrics/patch_v3.md >> logs/canary.log 2>&1Read the ledger rather than the estimate. The claim worth trusting is not a predicted token count; it is the
tokensfield on last week's line, compared with the line before it.Which layer owns which signal
Signal to gradeLayer 0 (deterministic)Layer 1 (rubric)Compiles, links, exits zeroYesNostdout under fixed locale and precisionYesNoWall-clock or allocation budgetYesNoNaming consistent with the headerPartly, via lint rulesYesProse output contract in docsNoYesCommit message matches the changeNoYesWhether the change is worth mergingNoAdvisory only, never binding
If a row can be pushed into layer 0, push it. Every signal moved out of the rubric layer removes a source of drift, and the rubric layer keeps only the judgments a compiler cannot express.Limitations and who should skip this
Canaries are a sample, and agreement is not correctness. If the labels are wrong, the gate certifies a wrong grader with a confident number. Re-label a handful of canaries every few months, especially the ones that never fail.Rubric scores drift when the model or the prompt changes, and only a scheduled run of the ledger detects that. Single-run scores stay noisy even with a fixed prompt, so treat a one-point swing as a signal to check the ledger, not as a verdict on the patch.
The quota and server claims above are operator descriptions of the offer, not measurements taken for this article. Verify current terms before wiring a paid-critical pipeline to a free tier, and keep the gate able to run against a different client.
Skip this approach if you have fewer than roughly twenty real diffs to label, because reading the patches is then cheaper than grading them. Skip it for safety-critical, licensing, or compliance judgments, which need deterministic evidence and a named reviewer. Skip it if diff text cannot leave your network, unless every layer runs locally. And skip the rubric layer entirely if your grading budget exceeds the cost of the human review it is meant to save.
The harness is small on purpose. Golden cases, canaries in both directions, one agreement gate, one ledger. Start with a single canary that should fail and confirm the gate returns non-zero; if it returns zero, the grader was never watching.#cpp #testing #ai #devtools #software #coding #development #engineering #inclusive #community
Rubric Graders Need Canaries: Testing the Test That Grades C++ Patches -
Julius and Jesus
I came across a claim made by John C. Wright in a larger piece he wrote about scepticism. Looking around, I found other people online making a similar claim:
“There is more and firmer historical evidence for the resurrection of Christ than there is for the assassination of Caesar.”
https://scifiwright.com/2026/10/blind-faith-in-skepticism/He also claimed directly afterwards that there is more evidence for the miracles at Lourdes than for the Big Bang, but that comparison is of two things so unlike each other in terms of phenomenon and what counts as evidence that it makes for an unwieldy discussion.
The resurrection-v-assassination does feel more tractable. We have two events and two historical figures. Jesus died (or left) in about 33 CE, and Julius Caesar died in 44 BCE, both within the extent of Roman civilisation, so while the two events are separated by several decades, they aren’t from vastly different eras.
Before we go further, we need to consider what evidence is. There are multiple competing models of evidence in the philosophy of logic, but in general, evidence lends support to the belief that a proposition is true. Evidence doesn’t guarantee truth; it can be of varying quality. We expect it to be cumulative (more is better), but in some cases evidence may be contradictory (i.e. two pieces of evidence may support a claim when looked at separately, but when looked at together, the two pieces are in conflict).
For historical evidence, we also need to consider how detailed the claim is. For example, the assassination of Julius Caesar is believed to have occurred on 15 March, but imagine we found an eyewitness account of the event that dated it as 10 March? Is this positive or negative evidence? It supports that the assassination took place but contradicts the date. Put another way, it supports the claim “Julius Caesar was assassinated” but undermines the claim that “Julius Caesar was assassinated on March 15”.
The issue of the nature of the claim is of particular import given one of the claims is “the resurrection of Christ”. There is scant physical evidence of people returning to life after being dead for many hours, but that’s holding the claim to an unachievable standard. In terms of the kind of evidence that might exist, by the “resurrection” we should judge by a set of events that there could have been human eyewitnesses to: i.e. Jesus died, his body was placed somewhere, and then, sometime afterwards, he was seen alive. This is not being overly generous to Wright’s claim.
Imagine if tomorrow, a historical dig found documents that could be accurately dated (somehow) to Jerusalem 33 CE written by an impartial observer stating that a man known to have been executed by the Roman authorities was seen by the observer alive the following day. Such a document would be incredibly exciting for Christians around the world, even if it didn’t mention Jesus by name and contradicted a notable detail (alive the next day, rather than on the third day). We would clearly regard such a document as evidence of the event known as “the resurrection of Christ”. So, let’s be generous and skip over the “how” and count anything in which Jesus appears to have died but was later seen alive. This way we can stick to evidence rather than articles of faith.
However, even by this standard, the kind of event we are discussing is not a well-attested one. It is not impossible for somebody to have appeared to have died but later to have been seen alive, but it is an unusual set of circumstances. Political assassinations of notable political leaders are a kind of event that we have many historical and contemporary examples of. If we include political killings in general (e.g. examples where the state kills somebody for political reasons but using a judicial process), then the killing of Jesus counts as an example. So, to start with, we have more reason to regard an assassination as plausible than a resurrection (even with generous parameters).
We then have the two people concerned. I won’t detail the substantial evidence for the existence of Julius Caesar. It’s a lot, but it is also part of the historical context for the resurrection of Jesus, as that claim includes his execution by agents of the Roman Empire. Jesus is more than likely a historical figure (aside from anything else, the existence of Christianity implies his existence). The nearest contemporary evidence for his existence is the writings of Paul, but other later Christian writings imply earlier sources as well. However, the weight of evidence for Julius Caesar far outweighs that of Jesus. That’s hardly a surprise, given the relative standing of the two figures during their own lifetimes. Julius Caesar was a major player in the powerful Roman Republic. The relative lack of contemporary evidence for Jesus is what we would expect if he actually existed.
Still, the issue is the comparable weight of evidence. With historical evidence, we can think about the comparison in terms of how big a conspiracy theory we would need to have for the person NOT to have existed, but for there still to be the same amount of evidence. For Jesus not to have existed, we need Saint Paul to have been extraordinarily convincing, and there is some evidence of Christian groups around Jesus’s brother James as well; it would be a stretch. Still…the bulk of the evidence is the existence of Christian belief around the time after the apparent death of Jesus.
For Julius Caesar not to have existed requires a whole set of contemporary accounts of his existence not to be fiction, as well as the Roman Republic to have dissolved itself and reconstituted as an empire with an emperor within living memory of his death based on a popular fictional character. People do get heated up about fictional characters, but they don’t typically start civil wars about them.
So in terms of [event]-[person], we have:
EventPersonAssassination: well-defined type of event with many historical precedentsJulius Caesar: well-documented figure during his lifetime and in the immediate aftermath of his death.Resurrection: loosely defined type of event with limited historical precedentsJesus: probably a historical figure but no documents from his lifetime, and some documents within a couple of decades of his death.We could stop there, as the comparison is already stacked in favour of one side. We have a not-unusual event occurring to a well-attested figure versus an unusual event occurring to a less well-attested figure.
So why would John C. Wright make such an odd claim?
We do have a lot of details about the assassination of Julius Caesar, but in terms of historical narratives, that complete story is best laid out in the works of later Roman historians. For example, if you look at the Wikipedia article on the assassination, it cites works by Cassius Dio, who was born 165 CE and Suetonius, who was born 69 CE. If you are generous in dating the Gospels, maybe the extant complete narratives of the resurrection of Jesus predate the extant complete narratives of the assassination of Caesar. We don’t know when, say, the Gospel of Mark was written, but 70 CE is an estimate which would put it earlier than, say, Suetonius’s De vita Caesarum (112 CE).
That’s not what Wright’s claim states, though, and when I look at similar claims online, you get the same switching around i.e. the idea of the resurrection being better attested is a claim that looks for the earliest written accounts of the resurrection with later accounts of the assassination. For example, Paul’s First Letter to the Corinthians is cited as historical evidence of the resurrection, and it is indeed direct evidence of belief in the resurrection of Jesus as an important article of Christian faith:
“3 For I delivered unto you first of all that which I also received, how that Christ died for our sins according to the scriptures;4 And that he was buried, and that he rose again the third day according to the scriptures: 5 And that he was seen of Cephas, then of the twelve: 6 After that, he was seen of above five hundred brethren at once; of whom the greater part remain unto this present, but some are fallen asleep. 7 After that, he was seen of James; then of all the apostles.8 And last of all he was seen of me also, as of one born out of due time.”
https://en.wikisource.org/wiki/Bible_(King_James)/1_Corinthians#Chapter_15The letter is commonly dated to 53-57 CE, so reasonably close to Jesus’s lifetime and within the lifetime of people who would have known him. Paul is also writing as if this is something the people he is addressing already know about and that is a common belief within the community.
However, with the assassination of Julius Caesar, we have references to it from much closer in time to the event. It’s not just documentuary evidence, there is, for example, a coin minted during the conflict following Caesar’s death that features Brutus one side and a reference to the Ides of March on the other, along with two knives (https://en.wikipedia.org/wiki/Ides_of_March_coin ). The Res Gestae Divi Augusti is a inscription from 14 CE describing the life of Emperor Augustus, written in the first person (i.e. the original text was possibly written by Augustus himself prior to his death ). It doesn’t give the details of Julius’s death but is clear that he was murdered:
“Those who butchered my father I drove into exile, avenging their crime by legal judgements, and afterward, when they made war upon the republic, I defeated them twice in battle.”
https://en.wikisource.org/wiki/Translation:The_Achievements_of_the_Deified_AugustusWhat makes the claim particularly absurd is that if we take Christian beliefs about the life of Jesus at face value we should expect this difference in evidence. On the one side, the life of a man with a small but significant following beyond the core of a major empire, versus a famous general, a ruler of that predominant power in that region. More relevantly, confirmation of a biographical fact about Jesus, adds no more weight to the spiritual or moral claims of Christianity.
#bible #christianity #faith #god #jesus -
Shameful behaviour from a so-called ally. #america cannot be trusted to stand with #nato.
Trump is a coward who bends the knee to dictators. He has no morals and his sycophants in the White House are no better. #Americans should be ashamed.
#usa #uspol #politics #trump #gop #maga #democracy #russia #ukraine
Trump waives several Russia sanctions as row with Zelensky intensifies https://www.bbc.co.uk/news/articles/cxr5yvzv7rp0o
-
Last night in #Glasgow What a band! What an atmosphere! Truly mould-breaking creativity. Completely sold out (worldwide), people begging for tickets at the door. If you like loud #rockmusic then you should go and see these guys. Too weird for #AI This will trash all the models that illegally scrape contemporary #music
https://anginedepoitrine.com/en/pages/concerts
I’m not one for hyperbole but this was one of the best gigs I’ve ever watched!