The Daily Parker

Politics, Weather, Photography, and the Dog

Molly White on Hachette v Internet Archive

The US Court of Appeals for the Second Circuit recently ruled in Hachette v Internet Archive that the Internet Archive's Open Library violated copyright law. Molly White today published the best response I have seen so far:

My beliefs are simple, and hardly radical: Libraries are critical infrastructure. Access to information is a human right. When you buy a book you should truly own it. When a library buys a book, they should be able to lend it. Readers should be able to read without any third parties spying over their shoulders, or preventing them from accessing the materials they have legally obtained.

Hachette and the other plaintiff publishers have argued that, by lending out one-to-one digital copies of books they have legally purchased, the Internet Archive’s Open Library is infringing upon the publishers’ copyright and damaging their sales. And, without any evidence of actual harm to the publishers, the Second Circuit went right along with it. They also went a step further, again without evidence, to suggest that libraries are inherently detrimental to society.

[B]y fighting [Controlled Digital Lending], publishers are seeking to overstep the established boundaries of intellectual property law to exert continued control over an item that has already been purchased from them. And they are seeking to diminish the critical rights of readers to read the books they want without being subjected to censorship and surveillance. This is part and parcel with other attempts by digital publishers — of books, but also of films, video games, and other media — to turn media purchases into rentals, so as to extract endless money and private data from their customers.

In other words: even though libraries have been around far longer than the Copyright Act itself, libraries are now a threat to authors. The true meaning is clear: publishers’ abilities to extract exorbitant rents and exert control over readers outweigh the incredible benefits of increased public access to books.

US law protects rentiers better than most of our peer countries' laws do. Yet another reason to get the plutocratic Republicans out of Congress.

Last office day for 2 weeks

The intersection of my vacation next week and my group's usual work-from-home schedule means I won't come back to my office for two weeks. Other than saving a few bucks on Metra this month, I'm also getting just a bit more time with Cassie before I leave her for a week.

I've also just finished an invasive refactoring of our product's unit tests, so while those are running I either stare out my window or read all these things:

Finally, the New York Times ran a story in its Travel section Tuesday claiming Marseille has some of the best pizza in Europe. I will research this assertion and report back on the 24th.

Debate reactions

Oh, my, the morning newspapers were not kind to the geriatric demented convicted-felon XPOTUS.

Frank Bruni: "Trump made a raving, rambling fool of himself on Tuesday night, and while Harris by no means did everything right, she had the good sense to alternately call him out on that and simply watch him unravel. She had the discipline to shake her head sadly and smile dismissively when he made laughably false accusations against her. She had the skill — here, on full display, was the prosecutor in her — to needle him into maximal seething."

Josh Marshall: "[W]hat Harris had to do in this debate was show she could handle Donald Trump, even dominate him if possible and do so in a way that was steady and forceful. She did that. And that puts her on a path toward sealing the deal with that small fraction of voters who will determine the outcome of the election. Not a done deal but she took the critical first step. She also managed a bonus, which wasn’t absolutely necessary, which was to set Trump off, rambling, incoherent and angry. He was practically yelling by the end of the debate. She baited him into acting out the role of her foil."

Michelle Norris: "The vice president clearly got under Trump’s skin when she suggested that people were leaving his rallies early out of boredom. We knew ahead of this that she knows how to throw a punch. She confirmed this when she turned to him and calmly said, “Donald Trump was fired by 81 million people. ... Clearly he is having a very difficult time processing that.” One last thing, in their closing arguments, Harris aimed hers at the audience. Donald Trump gave up the moment by going on the attack one last time. A missed opportunity for him."

Michael Tomasky: "Kamala Harris was really good Tuesday night—really, really good. She accomplished everything she needed to accomplish. She sliced and diced him. She dangled bait, and he leapt at the hook. But as good as she was, Trump was more bad than Harris was good. Or maybe he was bad because she was good: That is to say, she wrong-footed him time after time after time in ways that President Joe Biden did not, throwing him off his game, staring him down, speaking directly to him, challenging him, saying “you” and pointing right at him. She spanked him. Said Stephanie Ruhle, in a judgment Trump would consider crushing: “She beat him at the business of television.” "

The Guardian's David Smith: "In the old days candidates might have riposted by saying Nelson Mandela or some other moral paragon was on their side. Trump reached out for the Hungarian autocrat Viktor Orbán. “He said the most respected, most feared person is Donald Trump. We had no problems when Trump was president.” But Harris had more ammunition: “It is well known that he admires dictators, wants to be a dictator on day one according to himself ... And it is absolutely well known that these dictators and autocrats are rooting for you to be president again because they’re so clear, they can manipulate you with flattery and favours.” A dictator like Putin, she added, “would eat you for lunch”."

The Economist: "Ms Harris baited hook after hook for Mr Trump over the course of their 90-minute debate and each time he lunged for it. Whether she was invoking his old business school, Wharton, in attacking his economic plans, or implying his business success was due to a gigantic inheritance, or claiming world leaders did not respect him, Ms Harris repeatedly provoked Mr Trump to defend his self-image and his own record in office, rather than mount a sustained attack on her. Call it catch-and-decrease: she made the former president look small and angry and out of his depth. For most of the debate, she made herself appear the challenger, while he became the beleaguered incumbent with a record to defend. ... Ms Harris surely did not convert any supporters of Mr Trump—who could?—but she may have assured some of the few independent-minded voters left that she is up to the job."

John Scalzi: "[L]ast night, Donald Trump was at the best any of us will ever see him again. This was the one place and time where he was meant to be prepared, coherent and presidential, where he was not surrounded by handlers, coddlers and sycophants. This was meant to be the one place and time where he was meant to keep his id and his ego in check, put voters and Americans first, and make a case for a second shot at the presidency. This was the one place and time where his worst and most self-indulgent impulses were supposed to be reined in. This was Trump on his best and most decent behavior, or at the very least, the best and most behavior he is capable of. We see how that went."

Half an hour after the debate ended, singer Taylor Swift made an Instagram post that has 8.8 million likes so far: "I will be casting my vote for Kamala Harris and Tim Walz in the 2024 Presidential Election. ... With love and hope, Taylor Swift, Childless Cat Lady"

And, of course, Alexandra Petri deserves a link.

Fifty-five days left.

Debate live-blogging

Well, here we go: the only real debate between the candidates for President of the United States during this election cycle. We have 8 weeks to go until November 5th. Both candidates are, for reasons passing understanding, neck and neck in the polls. (Don't read the polls!) Just remember what President George HW Bush said during the 1988 campaign: "It's no exaggeration to say the undecideds could go one way or the other."

I'll update this post throughout the event. I'm watching the PBS broadcast on YouTube, if it matters.

All times are local to the event site, Eastern Daylight Time:

21:03: "We're looking forward to a spirited...debate."

21:04: "Are we better off than four years ago?" You mean, during the darkest time of the pandemic?

(I'm adjusting my monitor, because those two people can't possibly have the same skin color. One of them might be wearing way too much makeup.)

21:05: Harris labels the 20% tariffs a "sales tax," which it is.

21:05: The XPOTUS really doesn't understand how tariffs work. Tariffs are paid by the country imposing them.

21:07: "Inflation like no one has ever seen before." Harris is laughing at him. Then "Jobs are being taken from African-Americans" and she rolls her eyes, which I almost missed because I was rolling mine.

21:08: "What we have done is clean up [the XPOTUS's] mess. ... You're going to hear from the same old tired playbook."

21:10: Maybe appealing to the authorities of the Wharton School and Morgan Stanley might not be her best appeal to the voters. But then again, he doesn't actually know the name of the school where he got his MBA.

21:11: WTF is "run, spot, run?"

21:12: He just does not get what tariffs do. It's sad, really.

21:13: OK, he's starting to yell now. (DUDE, HE'S NOT THE PRESIDENT.)

21:14: Harris is controlling this debate. He's completely on defense. She's openly laughing at him now.

21:16: Hey, XPOTUS, what about your complete flip-flop on abortion? "They have abortion in the 9th month! The baby will be born and we'll execute the baby!" Whaaaaa? "Execution after birth is OK!" What in the name of hell...?

21:19: "There is no state in the country where it is legal to kill a baby after it's born. VP Harris?" Linsey Davis isn't having his bullshit either.

21:21: Why is he harping on the lie that everyone wanted abortion back in the states?

21:23: "I didn't discuss it with JD. ... She'll never be able to get [the abortion law]. So it doesn't matter." And back to the lie about going back to the states.

21:25: "What you are putting her through is unconscionable." True. "I have been a leader on IVF!" False.

21:28: "The people of this country need a leader. ... Attend one of his rallies. He'll talk about Hannibal Lecter, about windmills. People leave out of exhaustion and boredom."

21:29: Oh, marvelous, he took the bait on the rallies.

21:30: "They're eating the dogs, eating the cats, eating the pets!" Whaaaaa...?

21:31: "This is one of the reasons why I have the endorsement of 200 Republicans. ... When we listen to this kind of rhetoric, when the issues are not being addressed, the people deserve better."

21:34: How would you deport 11 million undocumented immigrants? "They allowed criminals! Terrorists! Dogs and cats, living together! Mass hysteria!"

21:36: According to the FBI, the "murder rate fell by 26.4%, reported rapes decreased by 25.7%, robberies fell by 17.8%, aggravated assault fell by 12.5%, and the overall violent crime rate went down by 15.2%" in the first 3 months of 2024.

21:37: "They're the ones that made them go after them! Joe Biden was found guilty on the documents case! My hand-picked judge, that I appointed after I lost the election, threw my case out!"

21:39: NYT Pitchbot: "Harris seems a little overprepared for this debate."

21:42: "A true leader understands the value of building people up, not beating people down." "My father only gave me a small fraction of that $400 million..." Wow, he's chasing every dog treat she throws at him. "I'm talking now. Does that sound familiar?" And there go the suburban women.

Wow, does this old man need a nap:

21:45: A long-time Daily Parker reader texts, "He's making faces like an orangutan." And the entire island of Borneo lodges a complaint.

21:47: My entire Facebook feed is about people eating their pets.

21:48: "I was in the capitol, bub. Don't piss on my head and tell me it's raining." And let's not forget Charlottesville, and "fine people on both side." "We're not going back. It's time to turn the page."

21:50: Using Laura Inghram and Sean Hannity to say something is debunked? They build the bunks. They are bunkies. But whatever.

21:51: Old man is getting angrier. It's at this point where the bouncer comes over and says, "OK, Donnie, keep it down or we're going to have to go outside for a minute."

21:52: "I got more votes than any sitting president!" Yes, but your opponents got more votes both times.

21:53: Now he's shouting at the moderators. The bouncer looks at the bar manager and shrugs, but moves closer.

21:54: "World leaders are laughing at [the XPOTUS]. ... It leads one to believe [you] do not have the temperament, and the ability not to be confused." And he responds with Victor Orbán's endorsement.

21:55: "I ended the Nord Stream 2 pipeline!" Uh, no, Ukrainian Special Forces did. Unless...was he in the Ukrainian Special Forces?

21:59: Cassie has a comment about the debate:

22:02: Apparently, I don't get half of what he's saying because I don't read 4Chan.

22:09: OK, we're back, with a drink, because oh my god. "It's worse than the numbers you're getting and they're fake numbers." Whaaa...?

22:10: He still doesn't understand how NATO funding works. It's always transactional, and always someone else pays, and always it's not his fault.

22:11: Did he just admit to a violation of the Logan Act by meeting with Putin? And wow, his jaw is working hard. 

22:12: "Tell the 800,000 Polish Americans right here in Pennsylvania how you would give up to the dictator who would eat you for lunch."

22:14: "Putin would have been sitting in Moscow, and he wouldn't have lost 300,000 men. ... And maybe he'll use [nuclear weapons]." WHAT THE ACTUAL FUCK. WHAT. THE. FUCKING. FUCK. But he didn't say whether he wants Ukraine to win.

22:17: "I agreed with President Biden's decision to pull out of Afghanistan. ... The first time this century no American soldier is on combat duty anywhere in the world."

22:19: "And this...[meaningful pause]...former president invited [the Taliban] to Camp David." Wow.

22:22: "Let's remember he was investigated for not renting to Black families. ... The Central Park Five full-page ad. ... Birther lies about the first Black president. The American people want better than this." And he defended his choice to slander the Central Park Five.

22:24: I'm just going to leave this Tweet from Betty Bowers right...here.

22:29: "So, just a yes or no, you still do not have a plan?" Oh, Linsey, you are wonderful.

22:32: "Access to health care should be a right, and not just a privilege for those who can afford it."

22:34: I have to say, as someone who lived through the 1980s and 1990s, there's some frission hearing that an American presidential candidate has the endorsement of Sinn Féin. Sorry, Sean Fain. See what I mean? (Gerry Adams could not be reached for comment.)

22:36: What is the old man yelling about now? Joe Biden getting paid by the mayor of Moscow's wife? OK, viejo, time to pay your tab and go home.

22:41: "Two visions ... the future, and the past ... and we're not going back. ... Having a plan. Understanding the aspirations, the hosts, the dreams ... Giving hardworking folks a break and bringing down the cost of living ... Sustaining American's standing in the world ... Protect our most fundamental rights and freedoms ... "

21:43: "They've had 3½ years ... why hasn't she done it? She should leave right now ... You believe in things like 'we're not going to frack' ... Germany tried that and within one year they were back to building normal energy plants ... We're a failing nation ... serious decline ... all over the world they're laughing at us ... we're not a leader ... we don't have any idea what's going on ... Because of nuclear weapons, the power of weaponry ... allowing millions of people to come into our country ... the worst president." Literally nothing at all about what he would do.

Well, the XPOTUS's campaign did not get Uncle Fluffy today, did they?

And will someone let that poor deranged old man have a nap?

Dead children are a "fact of life," says JD Vance

You'd think no one would say this out loud, especially 56 days until the election, but JD Vance is a special kind of asshole:

Republican vice-presidential nominee JD Vance on Thursday called school shootings a “fact of life” that he dislikes, saying in the wake of the Apalachee High School killings in Georgia that stricter gun laws are not the answer and that schools must beef up security.

“I don’t like to admit this. I don’t like that this is a fact of life,” Vance said at a rally in Phoenix where he offered prayers for the victims. “But if you are a psycho and you want to make headlines, you realize that our schools are soft targets and we have got to bolster security at our schools.”

His comments echoed what other Republicans have argued: that U.S. gun violence results primarily from mental health problems and not insufficient gun legislation.

I would agree only insofar as the fetishization of guns, prevalent in the Republican Party, is evidence of mental health problems.

No other rich nation has this problem. Australia, with its wide-open spaces and things that can kill you lurking under every bush in the Outback, got rid of most civilian-held firearms in 1998 and has had no mass shootings since. The US can't seem to go a day without one.

I'm not against people owning firearms; I know many people who own them, locked in gun safes and only taken to the range.

No, I'm against having more firearms in the US than people. I'm against children getting shot in schools. I'm against narcissist infants who think they have superpowers and can stop an armed assailant in a public place with the bare-minimum training required to get a concealed-carry permit. I'm against a judicial branch that has usurped the power of state legislatures and city councils to set reasonable limits on where and when you can have a gun.

And I'm against troglodytes like Vance thinking that what's good for the 19th-century Wild West moral universe he inhabits is in any way appropriate for the 21st-century city I live in.

Early autumn summer weather

Just a quick note while I've got my head down with an ugly commit and probably a few follow-up fixes.

After a lovely autumn-cool weekend, today we have some summer-like weather, just warm enough to make me wonder whether I should turn on the air conditioning. I'll decide around 6, I think.

On the other hand, I wonder why I'm sitting inside on one of the last days like this we'll have for six months?

Size matters sometimes

So, I finally figured out why Weather Now kept struggling: I deployed it to a too-small App Service Plan for the load it was getting. And since most of the load is coming from bots, I hope that the robots.txt file I finally deployed properly will get them to stop.

I fixed the mysterious exceptions being thrown, too. But it turned out, the problem was simply load. A bigger App Service Plan brought the effective CPU from 100% to 28% immediately. And it'll only cost another $66 per month...

I'll experiment with other ASP sizes later this week. At least the app works again!

Major, but invisible, debugging effort

I spent hours this weekend and a couple of nights this past week fixing Weather Now. The app has gotten a lot more traffic than usual lately, mostly because I didn't put the robots.txt file in the right location. Unfortunately, all the extra traffic made it really obvious that the app had some serious performance issues, which I traced to some bad asynchronous code design.

The miracle cure for these issues came from Microsoft, and the Microsoft.VisualStudio.Threading.Analyzers package. This easily found the places in the Inner Drive Extensible Architecture as well as Weather Now where I'd botched the async coding.

Along the way I also made a couple of small tweaks that should cut down on the number of error messages the thing sends me. After last weekend's deployment I started getting so many that I had to shut the app down for a while. (Good thing I don't have any paying users.)

Annnndddd...it's not better. I still haven't figured out why the production API keeps dying, even though it seems to work fine in the Dev/Test environment.

Crap.

Feeling watched?

I'm dog-sitting this weekend, so this is the first thing I saw when I opened my eyes just before 7am:

Telling Butters to go away had the opposite effect of what I'd intended:

Believe it or not, this pathetic look came after I fed them both:

They're now asleep on the couch together. At some point today, they're getting an hour-long walk—which won't actually go that far, because beagles are scent hounds. Every blade of grass must be sniffed.

C'était pas absolutement horrible...

I just finished a 75-minute open-level French test as part of a QA study that Duolingo invited me to participate in. What an eye-opener. And quelle épuisement!

The test started well enough but got a lot harder as it went on, for two principal reasons. First, the order of sections went precisely in the order of my abilities: reading, writing, listening, speaking. Turns out I read French a lot better than I write it, write it better than I understand it, and speak it like a reject from a Pink Panther film. Some poor evaluator will have to listen to me going on for nearly three minutes about how hard the job of cat-herder is. What's worse, I only just now learned the word berger. "Herder des chats" is, apparently, not a thing, but berger de chats potentially is. I hope whoever scores that response at least has a sense of humor.

The second reason it got harder is that "open level" bit I mentioned. Each section got progressively more difficult, such that by the end of the listening part I could barely pick out the topic let alone individual words. Senegalese fishermen, you may be surprised to learn, are harder to understand than recorded announcements at train stations.

Still, I'm glad I did it. I don't know if they'll share the results with me, because they only want the data to calibrate their language-learning product. I hope they do, particularly before I pop out of the Chunnel just over two weeks from now.

I'm dog-sitting again, so a nervous beagle wandered up to my office during the test to see why I hadn't fed her yet. I suppose they both could use an around-the-block and some kibble. I will try to speak French to them, if only for my own practice.

Oh, and if you haven't been able to get to Weather Now this afternoon, that's because I shut it down for a bit while I root out a connection-exhaustion problem. I believe there are too many bots hitting it the last few days, but it still shouldn't crash when they do. Until I can fix the problem, or get rid of the bots, I'm only going to have it up a little bit at a time. (Its data collection continues unaffected, however.)