[personal profile] mjg59
I recently won a lawsuit against Roy and Rianne Schestowitz, the authors and publishers of the Techrights and Tuxmachines websites. The short version of events is that they were subject to an online harassment campaign, which they incorrectly blamed me for. They responded with a large number of defamatory online posts about me, which the judge described as unsubstantiated character assassination and consequently awarded me significant damages. That's not what this post is about, as such. It's about the sole meaningful claim made that tied me to the abuse.

In the defendants' defence and counterclaim[1], 15.27 asserts in part The facts linking the Claimant to the sock puppet accounts include, on the IRC network: simultaneous dropped connections to the mjg59_ and
elusive_woman accounts. This is so unlikely to be coincidental that the natural inference is that the same person posted under both names
. "elusive_woman" here is an account linked to the harassment, and "mjg59_" is me. This is actually a surprisingly interesting claim to make, and it's worth going into in some more detail.

The event in question occurred on the 28th of April, 2023. You can see a line reading *elusive_woman has quit (Ping timeout: 2m30s), followed by one reading *mjg59_ has quit (Ping timeout: 2m30s). The timestamp listed for the first is 09:52, and for the second 09:53. Is that actually simultaneous? We can actually gain some more information - if you hover over the timestamp links on the right hand side you can see that the link is actually accurate to the second even if that's not displayed. The first event took place at 09:52:52, and the second at 09:53:03. That's 11 seconds apart, which is clearly not simultaneous, but maybe it's close enough. Figuring out more requires knowing what a "ping timeout" actually means here.

The IRC server in question is running Ergo (link to source code), and the relevant function is handleIdleTimeout(). The logic here is fairly simple - track the time since activity was last seen from the client. If that time is longer than DefaultIdleTimeout (which defaults to 90 seconds) and a ping hasn't been sent yet, send a ping to the client. If a ping has been sent and the timeout is greater than DefaultTotalTimeout (which defaults to 150 seconds), disconnect the client with a "Ping timeout" message. There's no special logic for handling the ping reply - a pong simply counts as any other client activity and resets the "last activity" value and timeout.

What does this mean? Well, for a start, two clients running on the same system will only have simultaneous ping timeouts if their last activity was simultaneous. Let's imagine a machine with two clients, A and B. A sends a message at 02:22:59. B sends a message 2 seconds later, at 02:23:01. The idle timeout for A will fire at 02:24:29, and for B at 02:24:31. A ping is sent for A at 02:24:29 and is responded to immediately - the idle timeout for A is now reset to 02:25:59, 90 seconds later. The machine hosting A and B has its network cable pulled out at 02:24:30. The ping to B is sent at 02:24:31, but receives no reply. A minute later, at 02:25:31, B quits with a "Ping timeout" message. A ping is sent to A at 02:25:59, but receives no reply. A minute later, at 02:26:59, A quits with a "Ping timeout" message. Despite both clients having their network interrupted simultaneously, the ping timeouts occur 88 seconds apart.

So, two clients disconnecting with ping timeouts 11 seconds apart is not incompatible with the network connection being interrupted simultaneously - depending on activity, simultaneous network interruption may result in disconnections up to 90 seconds apart. But another way of looking at this is that network interruptions may occur up to 90 seconds apart and generate simultaneous disconnections[2]. Without additional information it's impossible to determine which is the case.

This already casts doubt over the assertion that the disconnection was simultaneous, but if this is unusual enough it's still potentially significant. Unfortunately for the Schestowitzes, even looking just at the elusive_woman account, there were several cases where elusive_woman and another user had a ping timeout within 90 seconds of each other - including one case where elusive_woman and schestowitz[TR] disconnect 40 seconds apart. By the Schestowitzes argument, it's also a natural inference that elusive_woman and schestowitz[TR] (one of Roy Schestowitz's accounts) are the same person.

We didn't actually need to make this argument, though. In England it's necessary to file a witness statement describing the evidence that you're going to present in advance of the actual court hearing. Despite being warned of the consequences on multiple occasions the Schestowitzes never provided any witness statements, and as a result weren't allowed to provide any evidence in court, which made for a fairly foregone conclusion.

[1] As well as defending themselves against my claim, the Schestowitzes made a counterclaim on the basis that I had engaged in a campaign of harassment against them. This counterclaim failed.

[2] Client A and client B both send messages at 02:22:59. A falls off the network at 02:23:00, has a ping sent at 02:24:29, and has a ping timeout at 02:25:29. B falls off the network at 02:24:28, has a ping sent at 02:24:29, and has a ping timeout at 02:25:29. Simultaneous disconnects despite over a minute of difference in the network interruption.

South America Part II: Lima, Peru

Dec. 17th, 2025 11:39 pm
tcpip: (Default)
[personal profile] tcpip
The next leg of this tour was Lima, capital of Peru, and named after the pre-Incan civilisation that inhabited the place from 100 to 650CE. A desert and coastal city of some 11 million people, it is understandably the political, financial, and historical centre of the country, but is also notable for its
urban segregation between wealthy barrios and poor suburbs. We ended up at the Hotel Jose Antonio Lima in the Miraflores District, which certainly sits in the former category, bustling with commercial energy and entertainment, whilst also relaxed with plenty of pleasant coastal parklands. Two particular locations in Miraflores are especially worth mentioning. One is the Park Kennedy, named after JFK, which is better known as "Cat Park" after the dozens of collectively-domesticated cats present, and is everything like it sounds. The other is Huaca Pucllana, an extraordinary 1500-year-old adobe pyramid and grounds designed for managing water resources and religious ceremonies. By pure chance, we also stumbled on an exhibition for two great Peruvian artists, Fernando de Szyszlo Valdemor and David Herskovitz, both broadly belonging to the neo-expressionist school. I especially liked the former's representations from "Don Quixote de la Mancha".

Another significant cultural area of Lima is, of course, the "Centro Historico de Lima", a UNESCO World Heritage site and for good reason. Here is a very fine collection of colonial and Republican-era buildings from the Plaza de Armas and surrounds, including the Government Palace, the Cathedral of Lima, the Archbishop’s Palace of Lima, the Municipal Palace and the Palace of the Union. A visit to the "Museo Convento San Francisco y Catacumbas" was absolutely necessary. Dating from the 17th century, it includes the remains of some 70,000 people. There is also the El Convento de Santo Domingo, which has a very impressive old library. Nearby is the "Basílica Catedral de Lima", which houses the tomb of the conquistador Francisco Pizarro, who conquered Peru for the crown of Castille (awkwardly, the church proclaimed the wrong body as Pizarro's until the real one was discovered in 1977). With superior technology, he led an ambush at the the Battle of Cajamarca where less than 200 Spaniards defeated and massacred several thousand Incan imperial guards and thousands of attendants. The military acumen is impressive, utter lust for blood and treasure despicable. Appropriately, the next stop in the journey is Cuzco, the ancient capital of the Incan Empire.

Review: Brigands & Breadknives

Dec. 14th, 2025 07:25 pm
[syndicated profile] eaglespath_feed

Review: Brigands & Breadknives, by Travis Baldree

Series: Legends & Lattes #3
Publisher: Tor
Copyright: 2025
ISBN: 1-250-33489-6
Format: Kindle
Pages: 325

Brigands & Breadknives is a secondary-world sword-and-sorcery fantasy and a sequel to both Legends & Lattes and Bookshops & Bonedust. It takes place shortly after Legends & Lattes chronologically, but Fern, the protagonist, was introduced in the Bookshops & Bonedust prequel.

You may have noticed I didn't describe this as cozy fantasy. That is intentional.

When we left Fern at the end of Bookshops & Bonedust, the rattkin was running a bookshop in the town of Murk. As Brigands & Breadknives opens, Fern is moving, for complicated and hard-to-describe personal reasons, to Thune where Viv has her coffee shop. Her plan is to open a new bookstore next door to Legends and Lattes. This is exactly the sort of plot one might expect from this series, and the first few chapters feel like yet another version of the first two novels. Then Fern makes an impulsive and rather inexplicable (even to herself) decision and the plot goes delightfully sideways.

Brigands & Breadknives is not, as Baldree puts it in the afterword, a book about fantasy small-business ownership as the answer to all of life's woes. It is, instead, a sword and sorcery story about a possibly immortal elven bounty hunter, her utterly baffling goblin prisoner, and a rattkin bookseller who becomes their unexpected travel companion for reasons she can't explain. It's a story about a mid-life crisis in a world and with supporting characters that I can only describe as inspired by a T. Kingfisher novel.

Baldree is not Ursula Vernon, of course. This book does not contain paladins or a romance, possibly to the relief of some readers. It's slower, a bit more introspective, and doesn't have as sharp of edges or the casual eerie unsettlingness. But there is a religious order that worships a tentacled space horror for entirely unexpected reasons, pompous and oleaginous talking swords with verbose opinions about everything, a mischievously chaotic orange-haired goblin who quickly became one of my favorite fantasy characters and then kept getting better, and a whole lot of heart. You may see why Kingfisher was my first thought for a comparison point.

Unlike Baldree's previous novels, there is a lot of combat and injury. I think some people will still describe this book as cozy, and I'm not going to argue too strongly because the conflicts are a bit lighter than the sort of rape and murder one would see in a Mercedes Lackey novel. But to me this felt like sword and sorcery in a Dungeons and Dragons universe made more interesting by letting the world-building go feral and a little bit sarcastic. Most of the book is spent traveling, there are a lot of random encounters that build into a connected plot, and some scenes (particularly the defense of the forest village) felt like they could have sold to the Swords and Sorceress anthology series.

Also, this was really good! I liked both Legends & Lattes and Bookshops & Bonedust, maybe a bit more than the prevailing opinion among reviewers since the anachronisms never bothered me, but I wasn't sure whether to dive directly into this book because I was expecting more of the same. This is not more of the same. I think it's clearly better writing and world-building than either of the previous books. It helps that Fern is the protagonist; as much as I like Viv, I think Fern is a more interesting character, and I am glad she got a book of her own.

Baldree takes a big risk on the emotional arc of this book. Fern starts the story in a bad state and makes some decisions to kick off the plot that are difficult to defend. She beats herself up for those decisions for most of the book, deservedly, and parts of that emotional turmoil are difficult to read. Baldree resists the urge to smooth everything over and instead provides a rather raw sense of depression, avoidance, and social anxiety that some readers are going to have to brace themselves for.

I respect the decision to not write the easy series book people probably expected, but I'm not sure Fern's emotional arc quite worked. Baldree is hinting at something that's hard to describe logically, and I'm not sure he was able to draw a clear enough map of Fern's thought process for the reader to understand her catharsis. The "follow your passion" self-help mindset has formed a gravitational singularity in the vicinity of this book's theme, it takes some skillful piloting to avoid being sucked into its event horizon, and I don't think Baldree quite managed to escape it. He made a valiant attempt, though, and it created a far more interesting book than one about safer emotions.

I wanted more of an emotional payoff than I got, but the journey, even with the moments of guilt and anxiety, was so worth it. The world-building is funnier and more interesting than the previous books of the series, and the supporting cast is fantastic. If you bailed on the series but you like sword and sorcery and T. Kingfisher novels, consider returning. You do probably need to read Bookshops & Bonedust first, if you haven't already, since it helps to know the start of Fern's story.

Recommended, and shortcomings aside, much better than I had expected.

Content notes: Bloody sword fights, major injury, some very raw emotions about letting down friends and destroying friendships.

Rating: 8 out of 10

Pluribus and social skills

Dec. 14th, 2025 09:29 am
unbibium: (Default)
[personal profile] unbibium
I've been watching Pluribus for a while, and I love it so far.

I mostly want to talk about how it's subverted the usual TV "mystery box" formula that's been the bane of television for years. Sometimes, TV producers want to ration the information they give us, and the usual way is to put a big fat mystery box in the pilot and then spend seven seasons tickling our nethers, only to make up something unsatisfying in the series finale.

In Pluribus, the subject matter is: the entire world is basically acting as one person now, and any normal person could spend a whole day just asking about how that works. Like "is there any functional difference between talking to different people?" "do you still close the door when you use the bathroom?" "Is there literally anyone in a bank right now?" "Is there literally anyone in a comedy club right now?" "What's the network latency between Albuquerque and Tokyo?"

We're halfway through season 1 at time of writing, and I know that Carol has just spent all of the "Got Milk" episode doing all this detective work among the deserted streets of Albuquerque. But I'm still thinking about the episode "Pirate Lady" and the meeting on Air Force One. The first private meeting between half of the unjoined. And they all have more information than Carol about what the plurbs have been up to. And the episode "HDP" where Carol shares her hard-won discoveries with Monsieur Diabate, who already knows about it, and tells Carol what she's been missing out on.

This isn't to say that Carol doesn't ask them anything. Most of the time, she just interrogates specifically to find ways to fight them.
Episode 2. Asks if there's any pockets of unjoined in places that might have heroes. Asks if there's any scientists among the English-speakers.
Episode 3. Asks if there's any scientists among the non-English-speakers.
Episode 4: The lie detector test with Larry, the reveal that the joining might be reversible, and the subsequent enhanced interrogation.

And when she hurts them, she asks about that.
Episode 2: How many did I kill just now?

Sometimes she asks questions only to interrupt the answer.
Episode 1. Asks "what happens when I say no" and then hangs up.
Episode 3. At the end, asks "what's so great" and instead of making space for an answer, she makes up her own assumptions about what the answer is and rants about them.

"The Gap", follows the two grumpy characters, as they spent a month defying their adversary in their own ways. Carol living it up as the Last Woman On Earth, and Manousos nearly getting himself killed in the IRL Mario Maker troll level. And neither of them learning a damn thing about their adversary. As the audience, we have no idea what the plurbs have been up to, or what the other unjoined have learned about them.

Contrast with Kumba. Now, I'm no expert on poker, but, like, winning the big pot with a royal flush, playing five-card draw? I think we're meant to learn that Kumba can't actually play poker, probably learned the rules that morning. Any gambling expertise in the hive was probably dedicated to stacking the deck to keep Kumba from losing immediately. And yet, I think we'll find that he's learning a lot about their limitations just through the natural course of his fantasy LARPing. For example, why couldn't the Bond villain stay in character while everyone else clapped?

The next episode is titled "Charm Offensive", suggesting Carol might actually start working on her intelligence-gathering game. Will she be able to open her mind? Will she be able to stop herself from immediately turning her first lead into a disaster? That'd be like Wiley E Coyote catching the Roadrunner. But anything can happen in a show like this. The possibility space is limitless.
tcpip: (Default)
[personal profile] tcpip
Kate R and I have boarded the big silver bird to travel to South America and Antarctica, the first stop being Santiago de Chile. The flight was twelve hours, and due to the peculiarities of time zones, we arrived two hours before we left. Our stay was in the CBD, NH Collection Plaza, quite upmarket with nice features and next to the World Trade Centre. The afternoon arrival provided the opportunity for a walk through the local "Parque de las Esculturas", then a hike up the famous Cerro San Cristóbal parkland to catch the sunset and return - a round trip of about five hours. It was sufficiently impressive that we returned the following day and took the ascent via teleferico (with the oversized statue of Mary that looks over the city) and descended by funicular to viist the nearby "Casa Museo La Chascona", home of the Nobel Prize winning poet, politician, and diplomat, Pablo Neruda, a person who was certainly not without significant flaws as well as greateness.

This would be the start of en epic walking trip through Santiago that would be measured at 45km for the day (yes really), which would include a visit to the beautiful Museo Nacional de Bellas Artes, the Catedral Metropolitana with it's overwhelming baroque features, past the ridiculous over-sized flag at the Palacio de La Moneda, then to the Museo de la Solidaridad Salvador Allende and, on return, to the remarkable collection in the El Museo Chileno de Arte Precolombino and the "Horizonte Antártico" exhibit at La Biblioteca del Congreso Nacional. El Museo de la Memoria y los Derechos Humanos, which was high on the agenda, was unfortunately closed for renovations.

Whilst far from the most visually spectacular part of the trip, the Salvador Allende museum was definitely the most emotionally significant location for me. The Allende events were utterly critical in the formation of my own political opinions when I became aware of them in my early teens. Helped by the film, "Missing", I became a voracious reader of the history. For those who don't know, the summary is that a socialist president was elected supported by a left-wing alliance and implemented a programme of nationalisation of resource industries, land redistribution, significant health and education welfare improvements, and the remarkable economic and logistics computer system, Project Cybersyn. Allende was dedicated to the idea that socialism could be achieved through parliamentary democracy; but ultimately the military disagreed (unsurprisingly supported by the United States) disagreed. A coup and the installation of the Pinochet regime resulted in years of torture and deaths of thousands of democratic activists. The Allende events is tragic and utopian, providing insights on the nature of the capitalist State, and has a lasting impact on history.
liam_on_linux: (Default)
[personal profile] liam_on_linux

I think there are many.

Some examples:

* The fastest code is the code you don't run.

Smaller = faster, and we all want faster. Moore's law is over, Dennard scaling isn't affordable any more, smaller feature sizes are getting absurdly difficult and therefore expensive to fab. So if we want our computers to keep getting faster as we've got used to over the last 40-50 years then the only way to keep delivering that will be to start ruthlessly optimising, shrinking, finding more efficient ways to implement what we've got used to.

Smaller systems are better for performance.

* The smaller the code, the less there is to go wrong.

Smaller doesn't just mean faster, it should mean simpler and cleaner too. Less to go wrong. Easier to debug. Wrappers and VMs and bytecodes and runtimes are bad: they make life easier but they are less efficient and make issues harder to troubleshoot. Part of the Unix philosophy is to embed the KISS principle.

So that's performance and troubleshooting. We aren't done.

* The less you run, the smaller the attack surface.

Smaller code and less code means fewer APIs, fewer interfaces, less points of failure. Look at djb's decades-long policy of offering rewards to people who find holes in qmail or djbdns. Look at OpenBSD. We all need better more secure code. Smaller simpler systems built from fewer layers means more security, less attack surface, less to audit.

Higher performance, and easier troubleshooting, and better security. There's 3 reasons.

Practical examples...

The Atom editor spawned an entire class of app: Electron apps, Javascript on Node, bundled with Chromium. Slack, Discord, VSCode: there are multiple apps used by tens to hundreds of millions of people now. Look at how vast they are. Balena Etcher is a, what, nearly 100 MB download to write an image to USB? Native apps like Rufus do it in a few megabytes. Smaller ones like USBimager do it in hundreds of kilobytes. A dd command in under 100 bytes.

Now some of the people behind Atom wrote Zed.

It's 10% of the size and 10x the speed, in part because it's a native Rust app.

The COSMIC desktop looks like GNOME, works like GNOME Shell, but it's smaller and faster and more customisable because it's native Rust code.

GNOME Shell is Javascript running on an embedded copy of Mozilla's Javascript runtime.

Just like dotcoms wanted to dis-intermediate business, remove middlemen and distributors for faster sales, we could use disintermediation in our software. Fewer runtimes, better smarter compiled languages so we can trap more errors and have faster and safer compiled native code.

Smaller, simpler, cleaner, fewer layers, less abstractions: these are all goods things which are desirable.

Dennis Ritchie and Ken Thompson knew this. That's why Research Unix evolved into Plan 9, which puts way more stuff through the filesystem to remove whole types of API. Everything's in a container all the time, the filesystem abstracts the network and the GUI and more. Under 10% of the syscalls of Linux, the kernel is 5MB of source, and yet it has much of Kubernetes in there.

Then they went further, replaced C too, made a simpler safer language, embedded its runtime right into the kernel, and made binaries CPU-independent, and turned the entire network-aware OS into a runtime to compete with the JVM, so it could run as a browser plugin as well as a bare-metal OS. Now we have ubiquitous virtualisation so lean into it: separate domains. If your user-facing OS only runs in a VM then it doesn't need a filesystem or hardware drivers, because it won't see hardware, only virtualised facilities, so rip all that stuff out. Your container host doesn't need to have a console or manage disks.

This is what we should be doing. This is what we need to do. Hack away at the code complexity. Don't add functionality, remove it. Simplify it. Enforce standards by putting them in the kernel and removing dozens of overlapping implementations. Make codebases that are smaller and readable by humans.

Leave the vast bloated stuff to commercial companies and proprietary software where nobody gets to read it except LLM bots anyway.

 

[Adapted from an HN comment.)
 
 

It finally happened

Dec. 11th, 2025 08:24 pm
sweh: (Cybook)
[personal profile] sweh
When I retired in May 2024 one of the things I was hoping would happen is that I would start reading more books. When I was a kid I could easily get through 4 books a week (4 books was the most the local library would lend at a time).

As I became an adult I had less time to read. Getting up at 6:30am to catch a train to go to London to work, then drinking with co-workers and getting home gone midnight... yeah, not much reading time there!

And, of course, books got larger. A 1960s Asimov story.. oh, let's say "The End Of Eternity" (a book I loved as a kid) was 72,000 words long. A modern SciFi book starts at 100,000 words and can easily be 120,000 or more. Peter Hamilton books, maybe 170,000 words :-)

And, bluntly, stories became more sluggish. You can sprint through an Asimov story because they're pretty shallow; they have one point of view, they have a singular story vector... it's easy to read. I would get a Discworld book for Christmas and consume it in 3 hours. Something to do after Christmas dinner when people would fall asleep in front of James Bond :-)

Compare that to, say, Alastair Reynolds; we have multiple points of view, the story might be sluggish by design, to emphasize the struggle of the viewpoint character; the world might be dirty and slimey and it doesn't really encourage you to be there. Is it a more textured story? Definitely! Is it something I can read as quickly; no. Is it something I might reread? Possibly not.

Since 2008 I've been tracking the number of books I've read each year. I kinda tried to normalize the numbers ("2 Peter Hamilton Books is the same as 3 Charlie Stross books" just based on word count). Yeah, it's not a real number. But a good estimate.

And this year, I finally broke my record in that time period. I'm at 56 books and climbing. Now part of that might be because I'm re-reading the Simon R Green books (Nightside and Secret Histories). Green's writing is "quick and easy" to read.

But part of it is because I've stretched out on my sofa, put on some background music (maybe Tubular Bells, maybe Jean-Michel Jarre) and then just read for a few hours. And then gone to bed and read some more.

I think I'm getting the hang of this "retirement" lark!
tcpip: (Default)
[personal profile] tcpip
Last night I hosted the annual Murdoch University Alumni meeting for Melbourne at the Arts Centre with plenty of excellent and intelligent conversation, as would be expected at such an event (well-catered too, I must add). As part of the formal proceedings, we held a panel discussion on what Murdoch University meant and how it changed us. Our panel, quite remarkably, had graduates from every decade of the university's existence, including a foundation student, Dr. Trevor Hogan, and the remarkable story from Lem Bagout, who came to Australia as a refugee from Sudan; he now teaches physics.

For my own part (representing the 1990s graduates), I made the point that the radical parts of Murdoch's original educational objectives ("the Murdoch ethos") are now accepted and mainstream: encouraging mature-aged students and lifelong learning, allowing for part-time and external studies, encouraging interdisciplinary studies, and alternative entry based on experience. I also made a point of mentioning Bruce Tapper, who died a year ago on the day; not just because he was such a huge influence on my life, but in particular, because he was such a fierce advocate for Murdoch University's progressive education and egalitarian access.

In many ways, my alma mater sometimes stands in stark contrast with my employer, the University of Melbourne. Prestigious and conservative, the UniMelb is recognised as the top university in the country, which is really due to the excellent and well-funded research sector, standing on the shoulders of giants past. At UniMelb in the past fortnight, there have been two social occasions of note: an end-of-year potluck lunch for Research Computing Services (I brought along the Polish duck soup (Czernina), and an end-of-year social event for all of Business Services, this year held on campus at the Ernie Cropley Pavilion, a better location, and superior catering to previous years.

As another example of contrast, last Saturday I attended the Thangka Art Exhibition on Tibetan Cultural Heritage and Contemporary Development hosted by the Australian ReTeng Charity Foundation, associated with the Buddhist ReTeng Monastery in Donvale. I was somewhat surprised and impressed by the sheer number of dignitaries from the Melbourne Chinese community in attendance, and extremely impressed by the artworks on display. There was some juxtaposition of this aesthetic event, and the one attended in the evening, with Carla BL, at a little bar in Fitzroy to see a group of post-punk musicians (including my favourite local coldwave artists, Cold Regards) perform. For reasons of international travel, this is the end of EoY Melbourne activities - next stop, Santiago!

Profile

rone: (Default)
entombed in the shrine of zeroes and ones

December 2022

S M T W T F S
    123
45678910
11121314151617
18192021222324
252627282930 31

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Dec. 18th, 2025 07:45 pm
Powered by Dreamwidth Studios