(date: 2024-07-14 13:19:35)
date: 2024-07-14, from: The Signal
Summer has arrived and millions of grandparents across the United States are giving their children a break by hosting the grandkids for a special summer getaway. Traditionally, the grandchildren’s time […]
The post Summer Camp with Grandma and Grandpa appeared first on Santa Clarita Valley Signal.
https://signalscv.com/2024/07/summer-camp-with-grandma-and-grandpa/
date: 2024-07-14, from: Logic Matters blog
A printed copy of ICT has now arrived. So the fifth Big Red Logic Book — the longest yet — really exists! I’m manfully restraining myself, at least for now, from looking at it too closely, because when I do — a pound to a penny! — I’ll immediately spot some silly typos. Why such […]
The post And then there were five … appeared first on Logic Matters.
https://www.logicmatters.net/2024/07/14/and-then-there-were-five/
date: 2024-07-14, from: The Signal
Do you fully understand what your doctor tells you during a checkup? If you don’t, you’re not alone. A recent UnitedHealthcare study found that two out of three people don’t […]
The post Five tips to help reduce health care costs appeared first on Santa Clarita Valley Signal.
https://signalscv.com/2024/07/five-tips-to-help-reduce-health-care-costs/
date: 2024-07-14, from: The Signal
It’s time for a Sacramento road trip! The California State Fair is happening July 12-28. For 170 years the California State Fair has showcased the best of California. It you’ve […]
The post It’s California State Fair Time! appeared first on Santa Clarita Valley Signal.
https://signalscv.com/2024/07/its-california-state-fair-time/
@Dave Winer’s linkblog (date: 2024-07-14, from: Dave Winer’s linkblog)
Donald Trump and the language of violence.
https://www.theframelab.org/donald-trump-language-of-violence/
date: 2024-07-14, from: OS News
Microsoft has again quietly updated its Validation OS ISOs. In case you are not familiar with it, Validation OS is an official lightweight variant of Windows and it is designed for hardware vendors to test, validate and repair hardware defects. ↫ Sayan Sen at Neowin I had no idea this variant of Windows existed, but it kind of makes sense when you think about it. OEMs or other companies making devices that run or work with Windows may need to test, reboot, test, reboot, and so on, endlessly, and having a lightweight and fast version of Windows that doesn’t load any junk you don’t need – or just loads straight into your company’s hardware testing application – is incredibly valuable. According to Microsoft, the Windows Validation OS boots to a command line that allows you to run Win32 applications. This has made me wonder if I can use it for the one thing I am forced to use Windows for: playing League of Legends (I cobbled together a spare parts machine solely for this purpose). My guess is that either the Validation OS will lack certain components or frameworks League of Legends requires, or is so different from regular Windows that it will trip Riot Games’ rootkit, or both. Still, I’m curious. I might load this up on a spare hard drive and what’s possible.
date: 2024-07-14, from: OS News
The corporate branding, the new “AI-powered developer platform” slogan, makes it clear that what I think of as “GitHub”—the traditional website, what are to me the core features—simply isn’t Microsoft’s priority at this point in time. I know many talented people at GitHub who care, but the company’s priorities just don’t seem to value what I value about the service. This isn’t an anti-AI statement so much as a recognition that the tool I still need to use every day is past its prime. Copilot isn’t navigating the website for me, replacing my need to the website as it exists today. I’ve had tools hit this phase of decline and turn it around, but I’m not optimistic. It’s still plenty usable now, and probably will be for some years to come, but I’ll want to know what other options I have now rather than when things get worse than this. ↫ Misty De Meo Apparently, GitHub is in the middle of a long, drawn-out process where it’s rewriting its frontend using React. De Meo was trying to use a particular feature of GitHub – the blame view, which also works through the command line but is apparently much harder to parse there – and realised the browser search feature just couldn’t find the line of code they absolutely knew for sure was there. After scrolling for a while, the browser search feature suddenly found the line of code. I’d heard rumblings that GitHub’s in the middle of shipping a frontend rewrite in React, and I realized this must be it. The problem wasn’t that the line I wanted wasn’t on the page—it’s that the whole document wasn’t being rendered at once, so my browser’s builtin search bar just couldn’t find it. On a hunch, I tried disabling JavaScript entirely in the browser, and suddenly it started working again. GitHub is able to send a fully server-side rendered version of the page, which actually works like it should, but doesn’t do so unless JavaScript is completely unavailable. ↫ Misty De Meo Seem like a classic case of people being told to develop something in too little time, with the wrong tools, while management is breathing down their necks and pulling engineers away to work on buzzwords like “AI”.
https://www.osnews.com/story/140229/github-is-starting-to-feel-like-legacy-software/
date: 2024-07-14, from: San Jose Mercury News
Corey Comperatore ‘died a hero,’ Pennsylvania governor says.
date: 2024-07-14, from: San Jose Mercury News
“At the end of my career, I want to sit at the same table as the big guys,” said Alcaraz.
date: 2024-07-14, from: VOA News USA
date: 2024-07-14, from: Curious about everything blog
The many interesting things I read in June 2024
https://jodiettenberg.substack.com/p/forty
date: 2024-07-14, from: Santa Barbara Indenpent News
Santa Barbara housing advocates and tenants celebrate new rule, while landlords are uneasy about the potential financial impact on themselves.
The post New California Law Limits Security Deposits to One Month’s Rent appeared first on The Santa Barbara Independent.
date: 2024-07-14, from: VOA News USA
Washington — As federal investigators try to piece together a motive for 20-year-old Thomas Matthew Crooks, the man identified as the would-be assassin of former President Donald Trump, at least one former classmate is speaking out.
Jason Kohler told reporters he attended high school with Crooks in Bethel Park, Pennsylvania, describing him as a loner and an outcast.
“He was, like a kid that was always alone. He was always bullied,” Kohler told reporters Sunday. “He was bullied so much.”
Crooks graduated from Bethel Park High School in 2022, according to a statement from the school district to a local media outlet. Local media reports show he was given a $500 award for math and science.
Kohler said he never had much interaction with Crooks, who would sit alone during lunch and often be targeted by other kids for the way he often wore hunting outfits or how he continued to wear a mask after COVID mask mandates ended.
“You could look at him and you would be like, ‘Something’s a little off,’” Kohler added. The description is just part of the picture that is starting to emerge of Crooks, who was shot and killed by U.S. Secret Service agents after climbing to the roof of a building and firing five to six shots at Trump during a campaign rally Saturday in nearby Butler, Pennsylvania.
Law enforcement officials said Sunday they found bomb-making materials in Crooks’s car and home, and that the AR-style rifle he used in the shooting had been purchased by his father.
The Wall Street Journal first reported on the discovery of the explosives.
Crooks’s father, Matthew Crooks, told CNN late Sunday he was trying to find out “what the hell is going on” but would “wait until I talk to law enforcement” before saying anything more.
Public records show Crooks had no prior convictions and was a registered Republican, like Trump. But other records indicate he made a $15 political donation in 2021 to a left-leaning group that supports Democratic candidates, on the day President Joe Biden was sworn into office.
Discord, a social media platform popular with gamers, said Sunday it had discovered an account “that appears to be linked to” Crooks.
“It was rarely utilized, has not been used in months,” a Discord spokesperson confirmed in a statement to VOA. “We have found no evidence that it was used to plan this incident, promote violence, or discuss his political views.”
“Discord strongly condemns violence of any kind, including political violence, and we will continue to coordinate closely with law enforcement,” the spokesperson added.
Meanwhile, the Pentagon Sunday said it determined Crooks had no connection to the U.S. military.
“We’ve confirmed with each of the military service branches that there is no military service affiliation for the suspect with that name or date of birth in any branch, active or reserve component in their respective databases,” according to a statement from the Pentagon press secretary, Major General Pat Ryder.
Some information for this article came from The Associated Press and Reuters.
https://www.voanews.com/a/new-information-emerges-on-trump-shooting-suspect/7697793.html
date: 2024-07-14, from: VOA News USA
The FBI has named a suspect in what it called an attempted assassination of former President Donald Trump. The presumptive Republican presidential nominee’s campaign says Trump is “fine” after the shooting. An investigation into the incident is underway. VOA’s Arash Arabasadi has more.
date: 2024-07-14, from: VOA News USA
Washington — Multiple U.S. law enforcement agencies ramped up their search for answers Sunday, less than a day after a would-be assassin got close enough to shoot and injure former President Donald Trump at a campaign rally in rural Pennsylvania.
The FBI early Sunday named the alleged shooter as 20-year-old Thomas Matthew Crooks, a resident of Bethel Park, Pennsylvania, located about 80 kilometers north of the rally site in Butler.
Crooks was shot and killed by U.S. Secret Service agents shortly after firing multiple rounds at Trump.
But already new evidence suggests the incident could have been worse.
Law enforcement officials said Sunday that bomb-making materials were discovered during searches of Crooks’ car and home.
The discovery was first reported by The Wall Street Journal.
Officials also said the gun Crooks used in the attempted assassination, an AR-style rifle, had been bought by his father, although they had yet to determine how Crooks obtained the weapon.
The reason Crooks sought to kill Trump also remained a mystery.
“We do not currently have an identified motive, although our investigators are working tirelessly to attempt to identify what that motive was,” said FBI Special Agent-in-Charge Kevin Rojek, calling it “the single greatest priority.”
Rojek, speaking at a news conference late Saturday, also said the FBI was working to determine whether the shooter had been acting alone.
Public records show Crooks was a registered Republican, but he also made a $15 political donation to a liberal group in 2021, on the day President Joe Biden was sworn into office.
The White House said Biden, along with Vice President Kamala Harris, were given an updated briefing into the investigation, Sunday.
The briefers included FBI Director Christopher Wray, U.S. Attorney General Merrick Garland, Homeland Security Secretary Alejandro Mayorkas, U.S. Secret Service Director Kim Cheatle and national security adviser Jake Sullivan.
Key lawmakers Sunday labeled the attempted assassination as a security failure and said they are seeking answers.
“How is it that someone could get on a roof with a superior position, with a weapon, and attempt to assassinate former President Donald Trump? It’s just unthinkable, unfathomable” said Representative Mike Turner, the Republican chairman of the House Intelligence Committee,
“We need to know, is this a protocol failure? Is this a resources issue? Or is this just a failure of those who were on site that day?” Turner told CNN, adding his committee had yet to be briefed on the developments.
Turner also raised concerns about the threat landscape going forward.
“I am with Director Wray of the FBI, where he said we’re at the highest level, threat level, that we have had since 9/11,” said Turner. “I believe that the threat is continuing. It’s not just this one individual’s assassin’s attempt.”
Other lawmakers expected to receive updates as the day went on,
The House Homeland Security Committee chairman, Republican Representative Mark Green, was scheduled to speak to the director of the Secret Service later Sunday, a committee spokesperson told VOA.
Green “continues to seek answers to the many questions the American people deserve to know,” the spokesperson said.
Green also sent a letter to the Department of Homeland Security, asking for documents related to the security plan and screening procedures for the rally and what sort of additional protective measures had been asked for, or given to, the Trump campaign.
According to witness accounts and videos posted online, the shooter was seen holding a rifle and crawling up the roof of a nearby building moments before the shots rang out. Several bystanders could be heard yelling in an attempt to get the attention of nearby police.
In addition to the injury to Trump, who left the scene of the assassination attempt with a bloody ear, officials said one spectator was killed, and two others were critically injured.
The FBI’s Rojek said it was “surprising” that the gunman had been able to fire four or five shots before he himself was killed.
Information from the Associated Press and Reuters was used in this report. Patsy Widakuswara also contributed.
https://www.voanews.com/a/us-searches-for-motive-in-trump-assassination-attempt-/7697721.html
date: 2024-07-14, from: San Jose Mercury News
The Secret Service shot and killed the would-be assassin, identified as a 20-year-old from a Pittsburgh suburb.
https://www.mercurynews.com/2024/07/14/donald-trump-assassination-attempt-what-to-know/
date: 2024-07-14, from: San Jose Mercury News
Jones caught a 56-yard touchdown, then returned a kickoff 108 yards to the end zone to open the second half of the 49ers’ Super Bowl loss to the Ravens in 2013.
date: 2024-07-14, from: VOA News USA
date: 2024-07-14, from: San Jose Mercury News
Zach LaVine, the Summer of Steph, offseason FOMO and more.
https://www.mercurynews.com/2024/07/14/dimes-the-surprising-case-for-zach-lavine/
@Dave Winer’s linkblog (date: 2024-07-14, from: Dave Winer’s linkblog)
Should the kitten save the leader??
https://www.threads.net/@davew/post/C9aPvYtphGj
date: 2024-07-14, from: San Jose Mercury News
It was the 10th loss in the last 12 matches for the Quakes.
date: 2024-07-14, from: San Jose Mercury News
He asked the country not to ‘make assumptions’ about the perpetrator’s motives or affiliations.
date: 2024-07-14, from: Manu - I write blog
<p>It’s the number of people who have taken a few minutes out of their busy lives to write something on my <a href="https://manuelmoreale.com/guestbook">guestbook</a>. One hundred doesn’t seem a lot in the grand scheme of things, especially on the web. If you have one hundred followers you might as well have zero. One hundred views on a YouTube video? That’s nothing. You need at least one hundred thousand to be part of the conversation. And yet, I find one hundred signatures in a guestbook to be a lot. Can you imagine having one hundred people in front of you, all saying something to you, one after the other? It would feel overwhelming. The internet has messed up many things, including the sense of scale. But this more humane scale is why I love the personal web. You can still recognise the names of the people who interact with you, you can still remember details about them. I’m grateful for every single one of those one hundred signatures. If yours is one of them, thank you.</p> <hr>
<p>Thank you for keeping RSS alive. You're awesome.</p>
<p><a href="mailto:hello@manuelmoreale.com">Email me</a> ::
<a href="https://manuelmoreale.com/guestbook">Sign my guestbook</a> ::
<a href="https://ko-fi.com/manuelmoreale">Support for 1$/month</a> ::
<a href="https://manuelmoreale.com/supporters">See my awesome supporters</a> ::
<a href="https://buttondown.email/peopleandblogs">Subscribe to People and Blogs</a></p>
https://manuelmoreale.com/@/page/G9tElWdhQ3j8wIDG
date: 2024-07-14, from: San Jose Mercury News
Another day, another compact sport utility vehicle. This time, a 2024 Buick Envista. It’s a new vehicle from the old-school division of General Motors trying to sell its products to younger buyers.
https://www.mercurynews.com/2024/07/14/2024-buick-envista-a-classy-bargain-suv/
date: 2024-07-14, from: San Jose Mercury News
Here are four unique programs libraries have to offer, from tool loans to seeds.
date: 2024-07-14, from: San Jose Mercury News
There are some great art installations to be seen at libraries in San Jose, Walnut Creek, Lafayette, Redwood City and San Francisco.
@Dave Winer’s linkblog (date: 2024-07-14, from: Dave Winer’s linkblog)
Attempted Trump Assassination Triggers a Flood of MAGA BS.
date: 2024-07-14, from: VOA News USA
https://www.voanews.com/a/world-leaders-react-to-trump-rally-shooting/7697379.html
@Dave Winer’s linkblog (date: 2024-07-14, from: Dave Winer’s linkblog)
The shownotes for the podcast I did 20 years ago today.
http://scripting.com/publicfolder/shownotes/podcast0/2024/07/14/anInterviewInAPodcast.html
@Miguel de Icaza Mastondon feed (date: 2024-07-14, from: Miguel de Icaza Mastondon feed)
In this household we believe in @ViewBuilder
https://mastodon.social/@Migueldeicaza/112785305377251285
date: 2024-07-14, from: VOA News USA
HUDSON, N.Y. — Wooden pilings beneath Hudson-Athens Lighthouse are deteriorating, and the structure, built in the middle of the river when steamboats still plied the water, is beginning to shift. Cracks are apparent on the brick building and its granite foundation.
While there are other endangered lighthouses around the nation, the peril to this one 100 miles 161 (kilometers) north of New York City is so dire the National Trust for Historic Preservation placed Hudson-Athens on its 2024 list of the country’s 11 most endangered historic places. Advocates say that if action isn’t taken soon, yet another historic lighthouse could be lost in the coming years.
“All four corners will begin to come down, and then you’ll have a pile of rock in the middle. And ultimately it will topple into the river,” Van Calhoun of the Hudson-Athens Lighthouse Preservation Society said during a recent visit.
The society is trying to quickly raise money to place a submerged steel curtain around the lighthouse, an ambitious preservation project that could cost as much as $10 million. Their goal is to save a prominent symbol of the river’s centuries-long history as a busy waterway. While the Hudson River was once home to more than a dozen lighthouses, only seven still stand.
Elsewhere, there’s a similar story of lost history.
Across the United States, there were around 1,500 lighthouses at the beginning of the 20th century. Only about 800 of them remain, said U.S. Lighthouse Society executive director Jeff Gales. He said many of the structures deteriorated after they were automated, a process that became more common by the 1940s.
“Lighthouses were built to have human beings taking care of them,” Gales said. “And when you seal them up and take the human factor out, that’s when they really start falling into disrepair.”
The Hudson-Athens Lighthouse began operating in 1874 offshore from the city of Hudson and was eventually co-named for the village of Athens on the other side of the river. It was built to help keep boats from running aground on nearby mud flats, which were submerged at high tide.
“There were shipwrecks because they couldn’t see the sandbar. And so that’s why this lighthouse was put in the middle of the river, unlike most that are on the shoreline,” said preservation society president Kristin Gamble.
The lighthouse is still in use, though now with an automated LED beacon. The preservation society owns the building and maintains it as a museum.
The last full-time keeper, Emil Brunner, retired in 1949 when the lighthouse became automated. He lived there with his family for much of his tenure. One of his daughters recalled rowing to school and, in the winter, walking across the ice on a safe path marked by her father’s tobacco juice stains on the frozen surface. Brunner also is portrayed on a 1946 Saturday Evening Post cover painting rowing with a child, Christmas presents and a tree in tow, as his wife and other children await their arrival on the lighthouse landing.
Visitors who are ferried to the lighthouse today can explore the keeper’s quarters, which are modest but feature river views from every window. And they can climb up the tight spiral staircase to the tower to take in a unique panorama view of the river and the Catskill Mountains to the west.
Roof work on the lighthouse is underway this summer, but repairs to the building will ultimately mean little unless workers address damage to some of the 200 wood pilings packed in mud that hold the lighthouse above water. The support structure has weathered 150 years of currents and ice. But large commercial ships of the modern era — with their big propellors — introduce new problems.
“They create a turbulence that’s like being inside a washing machine. And that turbulence actually comes underneath and pulls — churns up — the soil underneath us and sucks it away,” Calhoun said. “In fact, there are boulders as big as your car that are 100 feet out in that river that used to be right next to us.”
The underwater agitation washes away mud around the pilings, leaving them exposed to water. And that accelerates decay of the wood. Engineers estimate the structure could begin to tilt in three to five years, which Gamble said would be “the beginning of the end.”
The proposed ring of corrugated steel would shield the structure from that turbulence. The 100-foot (31-meter) diameter circle, which would project above the water line, would be filled in and covered by a deck, enlarging the area around the lighthouse.
The preservation group is optimistic about getting federal money to help pay for the project. Both of New York’s U.S. senators, Democrats Chuck Schumer and Kirsten Gillibrand, support the effort, as does local Republican U.S. Rep. Marc Molinaro.
Though the project is pricey, Gamble said, it would not only save the lighthouse from being lost to time, but it would also protect the 19th-century beacon for generations to come.
“We need, basically, the 100-year fix,” she said.
date: 2024-07-14, from: 404 Media Group
Distributed Denial of Secrets, the de facto heir to Wikileaks, has now mirrored data Wikileaks previously published to ensure it stays available.
https://www.404media.co/ddosecrets-mirrors-wikileaks-data-after-assange-plea-deal/
@Dave Winer’s linkblog (date: 2024-07-14, from: Dave Winer’s linkblog)
20 years ago today Dan Bricklin wrote: Software That Lasts 200 Years. We're ten percent of the way there! :-)
http://www.bricklin.com/200yearsoftware.htm
@Miguel de Icaza Mastondon feed (date: 2024-07-14, from: Miguel de Icaza Mastondon feed)
My opinion about yesterday’s assassination as a political tool is that using F-16s to kill 100 Palestinians was unjustifiable.
The Lancet now puts the death toll in Gaza at about 10% of the population.
And Gaza having the most children amputees in the world in nine months is depraved.
https://mastodon.social/@Migueldeicaza/112785004813586078
date: 2024-07-14, from: The Lever News
As the Biden campaign implodes, corporations are swooping in to pick up the pieces, and more news from The Lever this week.
https://www.levernews.com/lever-weekly-bidens-big-bad-week/
date: 2024-07-14, from: VOA News USA
The U.S. Republican Party is expected to formally nominate Donald Trump for president this week, days after he survived an assassination attempt at a political rally. Already tight security is expected to be heightened in Milwaukee, which is hosting the Republican National Convention. VOA’s Jorge Agobian and William Gallo spoke with convention delegates and Milwaukee residents, who are concerned about the possibility of more unrest.
date: 2024-07-14, updated: 2024-07-14, from: The Register (UK I.T. News)
Hands on If you hop on Hugging Face and start browsing through large language models, you’ll quickly notice a trend: Most have been trained at 16-bit floating point of Brain-float precision. …
https://go.theregister.com/feed/www.theregister.com/2024/07/14/quantization_llm_feature/
date: 2024-07-14, from: VOA News USA
https://www.voanews.com/a/trump-shooting-sparks-fears-ahead-of-republican-convention/7697448.html
date: 2024-07-14, from: VOA News USA
https://www.voanews.com/a/voa-immigration-weekly-recap-july-7--13/7697436.html
date: 2024-07-14, from: VOA News USA
NEW YORK — The nearly complete fossilized remains of a 161-million-year-old stegosaurus discovered in Colorado in 2022 will be auctioned by Sotheby’s in New York next week, auction house officials said.
The dinosaur that Sotheby’s calls Apex stands 3.3 meters tall and measures 8.2 meters nose to tail, according to Cassandra Hatton, Sotheby’s global head of science and popular culture.
The stegosaurus, with its distinctive pointy dorsal plates, is one of the world’s most recognizable dinosaurs.
Apex, which Hatton called “a coloring book dinosaur,” was discovered in May 2022 on private land near the town of Dinosaur, Colorado. The excavation was completed in October 2023, Sotheby’s said.
Though experts believe stegosauruses used their fearsome tail spikes to fight, this specimen shows no signs of combat, Sotheby’s said. The fossil does show evidence of arthritis, suggesting that Apex lived to an advanced age.
Hatton said Apex was found “with the tail curled up underneath the body, which is a common death pose for animals.”
The dinosaur will be auctioned on July 17 as part of Sotheby’s “Geek Week” series.
Sotheby’s is estimating that it will sell for $4 million to $6 million, but that’s just an educated guess.
“This is an incredibly rare animal,” Hatton said. “A stegosaurus of this caliber has never sold at auction before, so we will find out what it is actually worth.”
https://www.voanews.com/a/stegosaurus-nicknamed-apex-will-be-auctioned-in-new-york/7695042.html
date: 2024-07-14, from: VOA News USA
https://www.voanews.com/a/americans-confidence-in-higher-education-falls-poll-shows-/7695808.html
date: 2024-07-14, from: VOA News USA
https://www.voanews.com/a/is-us-plague-is-rare-but-not-eliminated-/7693511.html
date: 2024-07-14, from: VOA News USA
date: 2024-07-14, from: VOA News USA
date: 2024-07-14, from: VOA News USA
date: 2024-07-14, from: SCV New (TV Station)
1769 – Portolá party sets out from San Diego; first Europeans to “discover” Santa Clarita Valley 3½ weeks later [story
https://scvnews.com/today-in-scv-history-july-14/
date: 2024-07-14, from: VOA News USA
https://www.voanews.com/a/fbi-identifies-suspect-in-trump-assassination-attempt/7697400.html
date: 2024-07-14, from: Santa Barbara Indenpent News
Santa Barbara County has proclaimed a local emergency in response to the fire, still the largest burning in California.
The post Lake Fire Evacuations Dialed Back on Saturday as Firefighters Deal with ‘a Lot of Weather Up There’ appeared first on The Santa Barbara Independent.
date: 2024-07-14, from: VOA News USA
date: 2024-07-14, from: Old Vintage Computer Research
Now that our 1987 Canon Cat is refurbished and ready to go another nine innings or so, it’s time to get into the operating system and pull some tricks. As you’ll recall from our historical discussion of the Canon Cat, the Cat was designed by Jef Raskin as a sophisticated user-centric computer but demoted to office machine within Canon’s typewriter division, which was tasked with selling it. Because Canon only ever billed the Cat as a “work processor” for documents and communications, and then abruptly tanked it after just six months, it never had any software packages that were commercially produced. In fact, I can’t find any software written for it other than the original Tutor and Demo diskettes included with the system and a couple of Canon-specific utilities, which I don’t have and don’t seem to be imaged anywhere.So this entry will cover a lot of ground: first, we have to be able to reliably read, image and write Canon disks on another system, then decipher the format, and then patch those images to display pictures and automatically run arbitrary code. At the end we’ll have three examples we can image on any PC 3.5” floppy drive and insert into a Cat, turn it on or hit DISK, and have the Cat automatically run: a Jef Raskin “picture disk,” a simple but useful dummy terminal, and the world’s first (I believe) Canon Cat, two-disk, slightly animated and finely dithered, slideshow graphics demo!
But before we get to pumping out floppy disks, we first need to talk about how one uses a Cat. And that means we need to talk a bit about Forth, the Canon Cat’s native tongue. And that means we should probably talk more about the operating system too. Oh, and we should go down to CompUSA and buy a brand new floppy drive while we’re at it.
For those of you without a Cat, which sadly will be most of you, at least a little of this entry can be done in MAME, which is at present the sole extant Cat emulator. (A Wasm version with ROMs ready to go is at the Internet Archive, though here I’ll be running it on my Raptor Talos II in Fedora.) Unfortunately MAME emulates neither the internal disk drive nor the serial port, so you won’t be able to run these demos on it yet, and there’s a couple glitches we need to work around, but this will still give you a flavour of the machine and let you poke around a bit.
Everything in this entry assumes the production v1.74 ROMs, which were to the best of my knowledge the only version mass-produced Cats were ever officially shipped with. Source code and binaries for v2.40 ROMs exist but my Cat doesn’t run them. If you want to run the v2.40 ROMs anyway, don’t be surprised if some of this doesn’t work right, and I’m very sure the demos won’t.
The major glitches to rectify are the emulator freezing when the beeper is triggered (probably incomplete emulation of one of the custom Canon gate array chips) and switching the keyboard layout so we can type angle brackets (unpossible with the default US layout, also true of a real Cat). Let’s fix those issues first.
The default screen after power on. This is where you would enter a document, which we’ll get to in a second. These MAME grabs (captured at the system’s raw 672x344 screen resolution) have been corrected for aspect ratio so that they’ll look approximately the same as they would on the Cat’s CRT display.
The Cat’s interface is entirely keyboard-driven with no mouse, joystick or even cursor keys. To perform special functions, the USE FRONT key acts like a Command or Control key when combined with others. Here, we’ll enter the setup menu by holding down USE FRONT (in the default MAME key layout, this is probably Control) and pressing SETUP, which is usually the left brace key. Keep USE FRONT/Control depressed after you release the SETUP key.
The first setup screen then appears. With USE FRONT/Control still down, tap SETUP/left brace again for the second screen. Do not release USE FRONT/Control yet.
The two settings we’ll want to change are the keyboard and problem signal. The keyboard is most likely set to United States (or as appropriate to your own locale), but we’ll need it set to true ASCII for hacking purposes. With USE FRONT/Control still down, repeatedly tap either of the LEAP keys (usually mapped to Alt/Option) to cycle through the choices until “ASCII” is shown. If you started at United States, tap the left LEAP/Alt/Option key for Dvorak and again for ASCII, and that should do it, but do not let go of USE FRONT/Control yet.Then, to change the problem signal, with USE FRONT/Control still down, tap SPACE twice to move to that, and tap LEAP until “Flash” is shown (and only flash, none of the beep options). Your screen should look like the grab above. Assuming it does, now you can let go of USE FRONT. After a brief pause the settings will be written to the battery-backed settings RAM and the Cat will go back to the main document.
So that you understand what we’ll be trying to accomplish (and, eventually, subvert), let’s have a quick look at what makes the Cat’s interface unique.
The Cat’s operating system is entirely in ROM, so there’s no waiting to start — though if you have a disk in the drive, and the machine generally expects you will so that your workspace can be autosaved, it will load when you power it on. Either way, you can start entering text almost immediately. What looks like two cursors will track your typing, but what they really are is the selection (inverse video) and the insertion point (grey block). The selection is what is deleted immediately by pressing ERASE (backspace).
At the bottom of the screen is the ruler. This shows your document margins and your tab stops, though in characters, not inches — the Cat uses fixed-width, non-proportional characters. Paragraph style, line spacing and the keyset in use (I or II, for those keys with multiple character pairs assigned to them) are at the bottom, along with a memory usage gauge and the current line number within the current document.
The Cat doesn’t have a filesystem, nor even a concept of one. Instead, all documents are subsumed into one big overarching workspace, each workspace being identified by a unique key stored to its matching disk (so that you can’t overwrite a disk with the wrong workspace, and you won’t lose unsaved text with a new disk — that is, unless you force it to do those things). Disk and memory permitting, you can create as many documents as you like with the DOCUMENT/PAGE (typically Page Down) key. They can be individually titled so you can scan the list to see what’s present, and carry their own independent margin and document settings. The Cat was never shipped with a memory capacity greater than what its floppy drive could store, so one disk always equals one workspace.
How do you navigate without cursor keys or a mouse? The LEAP keys, when held down, search either backwards (left) or forwards (right) in the workspace based on what you type. You can LEAP by characters, or paragraphs (LEAP to RETURN or RETURN-RETURN), or even documents (LEAP-DOCUMENT). SHIFT-LEAP can be used to scroll the screen line by line.
LEAPing also is how you mark text. If you LEAP first to the beginning of a block of text and then LEAP to the end of it, then press both LEAP keys, that text is selected. Besides applying styles like boldface or all-caps to it, you can move it by LEAPing elsewhere, or copy it and move the copy, or delete it. A single level of undo is available with the UNDO key.
Selecting text has other functions too. When I say everything goes in the workspace, I do mean everything. The Cat is designed to be collabourative: you can hook up your Cat to a phone line, or at least you could when landlines were more ubiquitous, and someone could call in and literally type into your document remotely. If you dialed up a service, you would type into the document and mark and send text to the remote system, and the remote system’s response would also become part of your document. (That goes for the RS-232 port as well, by the way. In fact, we’ll deliberately exploit this capability for the projects in this article.)
Raskin’s intention was that the document should handle dynamic text as fluidly as static text (if Canon had let him and the firmware permitted, this would undoubtedly have been how graphics were handled also), and that such text should be computable on the fly. Let’s compute my favourite easy-to-remember approximation of π. Type 355/113 and highlight it with the LEAP keys: hold down LEAP LEFT and type 3 (jumps to the first three), then hold down LEAP RIGHT and type 3 again (jumps to the last three), then press both LEAP keys.
We can now tap USE FRONT-CALC (the G key), a little CALC icon will briefly appear, and suddenly the result of the computation is displayed: 3.14. (The Cat defaults to two decimal digits of displayed precision but this is configurable.) The dotted line underneath it indicates it is a generated value.
That’s handy as a desk calculator, and the syntax supports operator precedence and parentheses as well as functions like sqrt, but the really fun part is when we use this to store values in memory. Let’s define a variable pi with the same calculation 355/113. We enter pi:355/113 and then highlight it with the LEAP keys (leap left to the p, leap right to the 3, then with LEAP RIGHT still held down press USE FRONT-LEAP RIGHT to leap again to the second three, then with LEAP RIGHT still held down tap LEAP LEFT and finally release both keys).
The same result appears, but we’ve now stored that as an internal variable pi. We’ll do the same for radius and define that to be 6.
With those variables computed, we can now use them in other calculations. Anybody for πr2? We enter piradiusradius and calculate that.
The correct answer to the given precision is shown.
As you may have already guessed, those values we entered aren’t fixed: they can be changed and recalculated. Let’s change radius to 10 by tapping LEAP LEFT until we’re back in that field (or LEAP LEFT to the 6). If we press USE FRONT-CALC while within the result of a calculation, the expression you entered to generate it is preserved and now can be edited.
We change the 6 to a 10 and press USE FRONT-CALC to recalculate its result, which in turn will update the variable and recompute anything depending on that variable.
And thus our piradiusradius duly changes as well. If we changed the name of the variable or entered other nonsense or did something like divide by zero, the Cat will calmly display question marks to indicate any dependent result is invalid, and you can edit the expression with CALC again to fix it.
This process can be slow if there are lots of things to compute, and the 5MHz 68K isn’t exactly a speed demon. Pressing any key while the CALC icon is displayed will cancel the operation, true for any such task including printing except DISK (for obvious reasons) and one more to be discussed.
Does this sound a little like a spreadsheet? I’m so glad you asked! Because Cat text is fixed-width, setting up consistent rows and columns is simply a matter of tab stops and character width, adjusting the document margins if necessary. Tabs separate cells and the editor treats them as such with the function use().
Let’s enter a simple spreadsheet where we will compute the tax on a sale of widgets and then total the transaction. We’ll specify unit price and number sold, and compute a fixed tax of 10% (though this could just as easily be a variable). There are two tab stops between the Unit Price and the Sales, so the expression becomes use(-3)use(-1)0.10 to compute unit price times sales times 10%.
That yields the tax.
To get the total, we will now reference that cell and add it to the sales price with use(-1)+(use(-2)*use(-4)) (notice that everything is relative; positive values are also valid).
Even though the unit price and sales count are simply plain text we entered and didn’t originate as computed values, we can still change them and press CALC to recalculate the miniature spreadsheet. If we wanted to address a different row, we add a second argument to use() for the Y delta (such as use(-1 1) for the value in the next row but the previous column; the arguments to the function are separated by spaces). All of your variables and expressions are saved to disk as part of the document.
Of course, you can do other sorts of lists with it … or sort other sorts of lists with it. Here is a list of random, commonplace, everyday words you regularly use in conversation. We’ll highlight them and then press USE FRONT-SORT (usually the comma key).
And presto, a dictionary-sorted list. Lists have other applications, naturally, like mail merges. The LEARN facility provides keystroke macros, so with a list and some unique field sequences you could implement such a scheme in a kludgey but effective fashion.
It would be a gross distortion to say every nuance of the Cat is discoverable and/or self-explanatory. In fact, some procedural aspects of it, while sensible once you learn them, are not at all obvious.
But there is ample online help if you hold down USE FRONT/Control and press HELP (by default the N key). This is the default screen if there is no pending error state. If there were an error, such as a problem reading the disk, the Cat will beep politely and pressing USE FRONT-HELP will instead explain the error in prose. (Raskin hated modals.)
Either way, once in the help facility, you can release the HELP key and, while USE FRONT/Control is still down, press a key you want information about. Like, here’s help on … HELP.
Here are the other keys we looked at before, SETUP, CALC and SORT. Every bit of their text is also built-in to ROM.
You can also get a hidden credits screen from here.
In the document, hold down LEAP LEFT, then hold down SHIFT, then type Q W E R A S D F Z X C V (nothing will appear), then release SHIFT, release LEAP, and finally press USE FRONT-EXPLAIN. Good to see a real doctor doctor on the team.
Anyway, except for that easter egg, everything you saw was what Canon wanted you to see — a sophisticated word processor. But what Jef Raskin wanted you to see, and Canon didn’t, was a general-purpose computer that just happened to use a word processor-like primary interface, complete with a built-in programming language. That language is Forth, as descended from the original Swyft, or more accurately tForth, an implementation using tokens (the “t”) instead of direct addresses for each word in a word definition. This requires a level of indirection to look up the execution address when a word is executed, a semantic difference between this concept and a bytecode approach, but it also means that words can be redefined or even deleted without leaving stale pointers in unrelated words that reference them. More importantly, code can be considerably more compact because tokens don’t necessarily need to be the size of an entire address (Cat tokens are byte-sized, though often taken as word-sized groups) and the code they reference can be moved and compacted. This was important given the 256K of memory the Cat shipped with, which wasn’t a huge amount even in the mid-1980s and had to be shared with the video circuitry.
Nevertheless, although officially undocumented, a gateway to Forth remains in the Cat. It is triggered by a straightforward — albeit unlikely — series of keystrokes, which works in both MAME and the real hardware. Start out by typing Enable Forth Language (easiest in a blank document or workspace).
Highlight it by pressing both LEAP keys.
Now press USE FRONT-ANSWER (usually your backspace or [Mac] delete key). The bottom of the screen will flash and/or a real Cat will beep, and a little “FORTH” icon will briefly light and then disappear.
When the FORTH icon has disappeared, press SHIFT-USE FRONT-SPACE. Nothing will appear to happen until you hit RETURN/ENTER a few times … and get a Forth ok prompt.
Lock this change in by typing the magic incantation -1 wheel! savesetup re and press ENTER. This enables “expert mode” and saves it to battery-backed settings RAM, then returns to the editor. Now the Forth mode is unlocked, and the hacking can begin. In future you won’t need to do the “Enable Forth Language” dance again as long as your settings RAM or battery doesn’t get whacked.
Forth is accessed in two ways, one of which you just saw for entering commands at a traditional REPL-like prompt. This is the mode we will primarily be using, and is fully supported by the operating system, but the other fashion is clearly more Raskinesque. Remember how you could highlight expressions and have the Cat compute them?
Well, now that works for Forth, but instead of USE FRONT-CALC, you’ll use USE FRONT-ANSWER. This article will not seek to teach you Forth (the online version of Starting Forth is a far better instructional tool than I could ever write), and I certainly do not profess to have superior fluency in it myself. However, for illustrative purposes I’ll be using relatively simple code that most people should be able to grok at a conceptual level. Just remember that since Forth is the canonical stack language, everything gets pushed and popped to stacks, and as such control structures and arithmetic appear “backwards” compared to other programming languages. (Forth’s famous use of reverse Polish notation is thus simply a logical consequence of the language.)
In any event, upon pressing USE FRONT-ANSWER …
… the answer is computed (1 2 3 + +, i.e., 3 plus 2, and that result plus 1) and printed (.), the editor captures the output, and then inserts the result: six.
Interestingly, if you try to ask the online help for information on the ANSWER key, you just get the ERASE key help page no matter what you do. ANSWER isn’t even referenced in the user manual. While ANSWER does appear on the front of the key just like any other key you can USE FRONT with, it does nothing until you enable Forth, and many or even most of its contemporary users likely never pondered what it was there for.
Aside: what if you make an error?
Say we entered bogus . instead, a Forth word you can take on faith is not built-in to the Cat, and USE FRONT-ANSWER with that. The FORTH icon lights up and flashes, and there is no output. Here, USE FRONT-HELP will tell you what it didn’t like:
This is tForth for “I don’t know that word.” Forth has a reputation as a language so close to the metal that one wrong move will bring the system down. I’ve personally experienced that writing for the 68K Mac in Pocket Forth, where unbalancing the stack can lead to a system error faster than you can say guru meditation. Yes, Forth programmers are Real Men, Manly Men, Speakers of the One True Manly Language, Men on the Bleeding Edge, who point and laugh uproariously at you toddling along with your IDE and your wussy little C compiler. (Or womenly women, or neither. This blog is totes egalitarian.)
So here’s a little warning: tForth is not nearly that hostile, but while it may have more guardrails than the typical Forth implementation, that’s not saying very much. Although the ROM is relatively resistant to rookie mistakes and I’m not aware of anything that can permanently brick the logic board, you can damage things (like getting the track and address transposed when you command the disk drive to seek!), you can’t interrupt a Forth operation if you inadvertently cause an infinite loop, you can freely trash the system and anything in memory, and you can lock up the system so severely that nothing will fix it but a powercycle. To borrow a quote from Terry A. Davis, tForth “is a motorbike. If you lean over too far, you’ll fall off. Don’t do that.” This particular minefield won’t blow off your arms, but it might throw you on the ground pretty hard.
Anyway, we’ll return to our previous example and do some more messing around in MAME before we switch over to the real system. Press SHIFT-USE FRONT-SPACE and type the Forth word page to both clear the screen and home the cursor (cls home also works).I should note parenthetically that on a real Cat you can soft-reset the system by typing cold at the ok prompt. It’s very handy for reducing wear on the power switch, but doesn’t seem to work in MAME.
A fair bit of the fundamentals on which this article is based come from the copious technical documentation on the platform, collected and preserved at canoncat.net. Some of it actually hails from the Swyft’s development, but the Cat is so similar to its ancestor that most of their content is still relevant. We’ll then build on this basis for the tricks we’ll pull.
Here’s the memory map from the Cat tForth manual, which I have marked up and corrected according to production models. The stock Cat officially comes with 256K of main memory plus 8K of battery-backed RAM for storing settings and the user dictionary. This was apparently 16K in earlier iterations, and is 16K in MAME, but my system just has an 8K SRAM and only an 8K SRAM is described in the official service manual. 512K is the greatest amount of RAM supported by the hardware.
The 256K system ROM is located at the bottom of the address space with the lowest 1K being the 68K exception vector table, and above that the battery-backed settings RAM from $040000 to $041fff. The main RAM starts at $400000, which is also where the 28896-byte (~28K) 672x344 monochrome display bitmap is stored. From $600000 and up is the memory-mapped I/O range, but we will rarely manipulate those devices directly.
From the Forth prompt you can do any Forth operation, including defining new words, though long lines don’t wrap and complex words are better defined within the editor. Here we’re storing a simple vertical strip of bytes to video memory as a “hello world” (20 0 do i i 54 * 400000 + c! loop). The framebuffer is linear and byte-addressed with 84 bytes for each 672 pixel line, and is white on black (i.e., set pixels are white, unset pixels are black). Note that all values displayed and entered are in hexadecimal by default.
Usually, the next thing you do in a new Forth environment after your “hello world” or moral equivalent is ask what other words are around. But here, by default, nothing shows.
tForth has the concept of vocabularies, which are organized into a tree and a search order, and the user can define additional ones. The word existing tells us the present vocabularies, which are function, arithmetic, user, hidden and forth, all of which descend from forth, which is the root. As shipped, however, this scheme is not greatly exploited: the arithmetic vocab is completely empty, there are only a handful of math and stat operations in function, and you obviously have to add your own to user. Most of the ROM word action occurs in hidden, which contains the words for the editor (and is hidden from listings, but are all executable), and in forth, from which all blessings flow. Although sixteen vocabularies may be in play at any time, it doesn’t look like this capability was ever taken to its fullest extent.
We’ll mostly deal with the forth vocabulary, and the new vocabulary, of course, because we’ll be adding words of our own. However, the hidden vocabulary is absolutely present and available and you needn’t explicitly open a vocabulary simply to use the words in it.
Also, you don’t need to try to read every word on this screen and extract them from ROM either because I’ve already done it for you. Go ahead and open up the Github Catbox project and refer to the handy list of words, including everything in the hidden vocab. We’ll be using tools from the Catbox to do more spelunking in the ROM very shortly.
A couple more things about tForth before we get to talking about the disk format. The ‘ word (a literal apostrophe, say “tick”) tells you the token for any word, including words in ROM. As usual for Forth, all words are (at least initially) executable machine code, though some words are entirely so. You can use the token to do a lookup and find where that code begins, or you can use the word c’ (“c-tick”) which will do that for you. The lookup is done in the token table, which exists in RAM and whose location can potentially vary, though on a 1.74 system the first address reliably seems to remain at $410400 (not $40ec00 as in the memory map). The token table gets initialized and copied into RAM as part of startup, making it possible to patch ROM words if necessary to point to new in-RAM definitions. Spoiler alert: this will be necessary. Here, we’ve dumped some of the memory at cold’s execution address to demonstrate it’s written in 68K assembly, as you would expect for something that cold-starts the machine.
But not every word in ROM is in assembler, just ones where performance was important or direct code merely more expedient. The save word, which we’ll be exploring a lot more later on, is written in tForth. We know this because the first 68K opcode to get executed is $4ed3 or jmp (a3), calling the address in 68K register A3, which during tForth execution contains the address for the nesting routine. This block of native code saves the tForth equivalent of the return address, computing it as a delta from the calling word to the new word. It then does some other housekeeping, sets the new tForth instruction pointer in A5 to the byte after the jmp (a3) and falls through to the very critical next routine (kept in A4), which grabs the execution address for the next word at the A5 instruction pointer and jumps into it.
For housekeeping, words in a vocabulary have headers, which contain an encoded offset into the starting address table and the word’s ASCII string with a length and flags byte. Only the first 32 bytes of a word’s ASCII string are considered significant. The header for a word can ordinarily be obtained with n’ (“n-tick”) but words in ROM don’t appear to have one. (In fact, they do, but the routines intentionally? don’t look at that portion of ROM.)
However, new words we define certainly have headers, like this more canonical “hello world” example (: hello .” hello world” cr ;). Here we can see it was given a token, see its execution address (starting with jmp (a3)), and see its header containing the encoded offset, then the length-and-flags byte, and then the string hello, plus some trailing garbage (the entry ends right after the string). The encoded offset and flags are mutable and can be changed later.That’s a sufficient understanding of tForth under the hood for what’s coming up.
In our previous entry on the Canon Cat hardware, we shored up the Cat’s internal floppy drive, which is a Canon-manufactured device specific to it. However, the disks it uses are ordinary 3.5” floppy disks, and modern low-level imaging tools can read them in a standard PC drive.
The basic rudiments of the format have been known for awhile thanks to Dwight Elvey — if Raskin was the father of the Cat, then Elvey would surely be its godfather — and his notes indicate the drive is writing regular 512-byte sectors, 10 per track and 80 tracks per disk, single-sided. (Atari ST enthusiasts will find this format familiar. While the ST by default stores only nine sectors per track, it can store ten, such as on titles such as Dungeon Master.) That’s 400K a disk, and since the Cat only shipped with 256K and had additional RAM sockets only for 384K total, the entirety of the supported RAM will fit. Both double-density and high-density 3.5” floppies apparently work, though I have plenty of new-in-box DD floppies here and we’ll use those.
Since I wanted nice clean disks written on a good quality drive for my Cat, I decided to go down to CompUSA and buy a new floppy drive too.
Yeah, okay, eBay. But while I was looking for a new shrink-wrapped drive I ran across this NOS CompUSA-boxed floppy drive package with additional floppy disks and even a cleaning kit. The funny part is I do remember buying one of these back in the day! I just don’t know where it went, and I wanted a new one anyhow.
The drive is one of the very common Teac FD-235 series. They are very easy to find used, and, it turns out, new as well. The disk cleaner kit went immediately to doing a few cycles on the Cat drive itself even though the head looked pretty good when I inspected it.
For our disk imaging we’ll use an off-the-hobbyist-shelf and inexpensive Greaseweazle. These USB-based devices have open source software for Linux, Windows and macOS and are available from multiple sellers.
Sadly, here’s where we leave MAME behind, since it doesn’t support the floppy drive or disk images yet. Remember us typing Enable Forth Language? Let’s make a disk out of that on the real Cat. The DISK help screen looks like this:
In short terms, if you have a blank disk in the drive and have unsaved text in memory, then pressing USE FRONT-DISK will cause the Cat to format the disk and save your document. However, the tForth documentation also explains that all Forth words in RAM get written as well, which is critical for our hackery. Ordinarily there wouldn’t be any, of course, but it would if there were. Correspondingly, DISK will also load a document and any associated words from a new disk as well, though any disk access regardless of direction is still centered on the editor — the Cat doesn’t run applications in the traditional sense. (Spoiler alert: hang tight.)But that’s not all it’s saving, though. If you read the DISK help carefully, you’ll note it says something about showing “a sample of what’s on the disk” if you have a different disk present. Ignoring the question right now of how it determines which disk goes with what workspace, how can it show the document on the floppy disk if the entirety of RAM could be on it? Wouldn’t it overwrite the document in memory?
Let’s dump this disk and investigate. It’s possible that the Canon drive uses some weir-dass GCR format, but it turns out to our delight that it’s regular MFM. Since we know it’s single-sided, there’s no need to check both sides, and we can stop scanning at track 80. Thus, we can get a read of the disk as a straight in-order sector dump with gw read –format=ibm-scan –tracks=c=0-79:h=0 test.img.
% gw read --format=ibm-scan --tracks=c=0-79:h=0 test.img Reading c=0-79:h=0 revs=2 Format ibm.scan T0.0: IBM MFM (10/10 sectors) from Raw Flux (91178 flux in 400.47ms) T1.0: IBM MFM (10/10 sectors) from Raw Flux (91231 flux in 400.50ms) [...] T18.0: IBM MFM (10/10 sectors) from Raw Flux (85652 flux in 400.49ms) T19.0: IBM Empty from Raw Flux (50039 flux in 400.50ms) T20.0: IBM Empty from Raw Flux (50038 flux in 400.46ms) [...] T78.0: IBM Empty from Raw Flux (50043 flux in 400.51ms) T79.0: IBM Empty from Raw Flux (50043 flux in 400.52ms) Cyl-> 0 1 2 3 4 5 6 7 H. S: 01234567890123456789012345678901234567890123456789012345678901234567890123456789 0. 0: ................... 0. 1: ................... 0. 2: ................... 0. 3: ................... 0. 4: ................... 0. 5: ................... 0. 6: ................... 0. 7: ................... 0. 8: ................... 0. 9: ................... Found 190 sectors of 190 (100%)
An immediately interesting thing about this image dump is that each track (cylinder)’s ten sectors are numbered 0-9, not 1-10 which is more typical.
If we dump strings, we can find our text Enable Forth Language near the end of the image. This makes sense since the text is stored in the upper part of RAM, above the Forth dictionary. We can see some other strings like -1 wheel! savesetup re presumably from when we entered that command, though it appears earlier in the file.
We know that each track is 5120 bytes ($1400, 512 bytes times 10 sectors) long. The first track is 10 repeated sectors of
00000000 00 00 81 2c 00 00 db c6 00 00 74 e0 00 00 74 c6 |...,......t...t.| 00000010 00 00 74 d4 00 02 c8 ea 00 40 7a e8 00 40 7c fc |..t......@z..@|.| 00000020 00 00 00 2c 00 00 ff 81 00 00 00 11 00 00 ff ff |...,............| 00000030 00 41 10 10 00 02 c8 d0 00 41 00 68 00 41 01 dd |.A.......A.h.A..| 00000040 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| * 00000060 ff ff ff ff 20 08 33 26 00 11 ff ff ff ff ff ff |.... .3&........| 00000070 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| 00000080 01 d7 3c 0c 00 42 00 00 00 00 00 ed 00 41 40 20 |..<..B.......A@ | 00000090 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| 000000a0 00 00 00 00 00 00 00 00 00 43 c0 28 ff ff ff ff |.........C.(....| 000000b0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| 000000c0 ff ff ff ff 00 42 00 08 00 43 ac 00 00 42 06 8f |.....B...C...B..| 000000d0 00 43 ab b4 00 43 ab b8 00 42 06 8e 00 00 00 00 |.C...C...B......| 000000e0 00 00 00 00 00 41 3f b4 00 42 00 00 00 43 ac 20 |.....A?..B...C. | 000000f0 00 41 38 00 00 00 00 00 00 04 00 10 ff ff ff ff |.A8.............| 00000100 19 52 e5 78 43 7d 72 d2 dd d2 1a 46 10 9d f7 58 |.R.xC}r....F...X| 00000110 03 dc a6 13 88 75 16 74 00 00 00 00 00 00 00 00 |.....u.t........| 00000120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| * 00000180 00 41 35 52 00 00 00 00 00 41 35 5a 00 00 00 00 |.A5R.....A5Z....| 00000190 00 41 35 62 00 00 00 00 00 41 35 6a 00 00 00 00 |.A5b.....A5j....| 000001a0 00 41 35 72 00 00 00 00 00 41 35 7a 00 00 00 00 |.A5r.....A5z....| 000001b0 00 41 35 82 00 00 00 00 00 41 35 8a 00 00 00 00 |.A5......A5.....| 000001c0 00 41 35 92 00 00 00 00 00 41 35 9a 00 00 00 00 |.A5......A5.....| 000001d0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| * 00000200
This repeated sector is called the idblock and appears in the technical documentation for the Cat’s editor. Because this is a 68K, everything is big-endian as G-d Himself intended, though a fair bit of it is unused. It contains copies of the 68000 data and address registers in the first 64 bytes, the 68000 status register, a two-bit disk format ID ($3326 here, but an earlier $3325 format is also accepted) required to identify the disk as written by a Cat, a number of tracks ($0011 == 17, though we found nineteen), various editor state variables, a 128-byte disk identifier called the idtable (that’s how it knows which workspace is what, though only about 24 bytes of it are actually populated here), and then pointers for any keyboard macros that were defined.
The documentation notes that backup idblocks appear elsewhere on the disk as well. One of these is in the first sector of the second track. After that we see a lot of binary data with some scattered snippets of text (later comparison shows this is the contents of the SV-RAM), and then starting with the first sector of the third track this peculiarly familiar-looking pattern:
00003c00 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| * 00003df0 ff ff ff ff ff ff ff ff ff ff 55 55 55 55 55 55 |..........UUUUUU| 00003e00 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 |UUUUUUUUUUUUUUUU| * 00003e40 55 55 55 55 55 55 55 55 55 55 ff ff ff ff aa aa |UUUUUUUUUU......| 00003e50 aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa |................| * 00003e90 aa aa aa aa aa aa aa aa aa aa aa aa aa aa ff ff |................| 00003ea0 ff ff 55 55 55 55 55 55 55 55 55 55 55 55 55 55 |..UUUUUUUUUUUUUU| 00003eb0 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 |UUUUUUUUUUUUUUUU| * 00003ef0 55 55 ff ff ff ff aa aa aa aa aa aa aa aa aa aa |UU..............| 00003f00 aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa |................| * 00003f40 aa aa aa aa aa aa ff ff ff ff 55 55 55 55 55 55 |..........UUUUUU| 00003f50 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 |UUUUUUUUUUUUUUUU| * 00003f90 55 55 55 55 55 55 55 55 55 55 ff ff ff ff aa aa |UUUUUUUUUU......| 00003fa0 aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa |................| * 00003fe0 aa aa aa aa aa aa aa aa aa aa aa aa aa aa ff ff |................| 00003ff0 ff ff 55 55 55 55 55 55 55 55 55 55 55 55 55 55 |..UUUUUUUUUUUUUU| 00004000 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 |UUUUUUUUUUUUUUUU| * 00004040 55 55 ff ff ff ff aa aa aa aa aa aa aa aa aa aa |UU..............| 00004050 aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa |................| * 00004090 aa aa aa aa aa aa ff ff ff ff ff ff ff ff ff ff |................| 000040a0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................|
If you look at our screenshot for Enable Forth Language, you see two 50% dithered grey blocks above and below it. Those are the document separators. Anyone who’s messed around with the video memory in a monochrome framebuffer will recognize the pattern of aa 55 as 10101010 01010101 — a 50% grey. Since we know our framebuffer is linear and contiguous, let’s pull out the 28896 bytes (84 bytes per line times 344 lines) from this offset and stick a Portable Bit Map header on it. Guess what:
That’s our text as a screenshot, just inverted, because PBM is black on white. As the Cat also dumps video memory when it saves to disk, the preview feature is nothing more than just loading it back. A clever idea, too: it’s quick, it’s reversible with a repaint and it doesn’t disturb anything else in memory. In fact, we can also see when fully loading a document disk into the Cat that the preview image is loaded into video memory as part of that process too (which gives the illusion of it loading faster than it truly does). Moreover, the Cat doesn’t seem to care what image data is there as long as it can read it.So, as a test to make sure we can write our own arbitrary data to a Cat floppy, let’s write something that can patch in a custom image. For the picture data, I found a photo of Jef Raskin sitting at a desk in front of a Cat, cropped and resized it to the right proportions, then crushed and dithered it out to a ready PBM with magick raskin.png -resize 672x344! -dither FloydSteinberg -remap pattern:gray50 -negate raskin.pbm.
Now we need a disk format we can master a new floppy from. This sector dump, as easy as it was to parse, will not suffice for this purpose; there’s not enough metadata about the sectors and tracks for the Greaseweazle software to create the right geometry. We’d also like a format that’s well-documented and higher-level than raw flux or raw MFM because we know the Canon drive is writing renumbered but otherwise normal sectors, and it will make the disk image easier to alter. And, of course, the Greaseweazle software needs to support it. After reading through the Greaseweazle wiki’s list of supported formats, I settled on the CPC extended DSK format since it has a fully documented specification and was likely to capture any unforeseen necessary nuances of the Cat’s format, but still provides the actual sector data as decoded bytes. It can be captured with a command line like gw read –format=ibm-scan –tracks=c=0-79:h=0 test.edsk.
To verify viability, I captured the same floppy as eDSK and then wrote it to another blank disk (gw write test.edsk), and checked if the Cat would read that. It did!
However, moving to a higher fidelity format sometimes introduces complications. One complication while reading test disks written by the Cat was that some (not all) of them didn’t actually start on physical track zero: they started on physical track two, leaving physical tracks zero and one unformatted, even though the track as written claimed to be track zero. I wasn’t sure of the significance of this at the time — we’ll revisit this later. Interestingly, the eDSK format also revealed that every sector on track zero is tagged as sector one, all ten of them, probably to speed up checking if the idtable on disk matches the current workspace or not since any sector will do.
The second complication is that we no longer get sectors in logical order but rather in the physical order they appear on disk, which may or may not match. The Cat doesn’t seem to write tracks with any particular interleave, so to read and write the eDSK sectors we’ll need to consult the Track Information Block (TIB) for each track to determine which sector is at which offset.
In the Catbox are two Perl tools, catrpic that will extract a PBM-format image from a Cat eDSK image (emitting the picture to standard output), and catwpic that will take a PBM-format image of the right dimensions and insert it into a Cat eDSK (emitting the hybrid eDSK to standard output). You’ve seen this picture before, but here it is again, the Cat loading from this modified disk image:
Unfortunately there’s not much else on this disk to load, so the picture doesn’t stay on screen for very long. To rectify that we’ll have to figure out how to make the Cat automatically run code from a disk. Spoiler alert: there’s a way to make the Cat automatically run code from a disk.
In fact, some of you may have already realized how. Let’s look at the idblock again, in which I mentioned the first 64 bytes are an image of the 68K data and address registers, eight each. In the 68000 architecture register A7 is the stack pointer. Because we have control of the stack pointer, we have control of the CPU’s return address: if we change A7 in the idblock to another location, we can store a different return address there, and on the next RTS we’ll take over the CPU. This isn’t a flaw in the Cat’s operating system, by the way — think of it more like save-file hacking, except that there’s no ASLR or execute protection, so once you’re in, you’re in.
Reprising our disk’s idblock, A7 is marked in bold:
00000000 00 00 81 2c 00 00 db c6 00 00 74 e0 00 00 74 c6 |...,......t...t.| 00000010 00 00 74 d4 00 02 c8 ea 00 40 7a e8 00 40 7c fc |..t......@z..@|.| 00000020 00 00 00 2c 00 00 ff 81 00 00 00 11 00 00 ff ff |...,............| 00000030 00 41 10 10 00 02 c8 d0 00 41 00 68 00 41 01 dd |.A.......A.h.A..| 00000040
That location $407cfc is past the end of display memory at $4070e0 but before the variable area declared to start at $40a280, so we can hypothesize the processor stack normally lives somewhere in this range (the tForth memory map calls this block part of the display memory, but it doesn’t appear onscreen).
The Cat editor documentation provides two words that control saving and loading from a disk: save and restore. In the Catbox I wrote up a tForth ROM disassembler in Perl called fdis that works with the 1.74 ROMs (recovered tForth source code also exists for this, but you can be confident you’re seeing exactly what’s being run by pulling from the ROM). If you’ve got the MAME ROMs, unzip cat.zip and convert the 1.74 ROMs from interleaved to continuous using the Catbox’s interleave_rom tool, like so:
% ./interleave_rom r74*.ic[24] > rom % ./interleave_rom r74*.ic[35] >> rom
Now we can use fdis to walk the ROM and print out the tForth opcodes for a given token (if it’s a variable or 68K code, it will say so instead). We’ll start with the restore routine, since we’re trying to intercept loading. It appears deceptively short:
% ./fdis rom restore token = 0x016b 0002cb88 1128 cstate 0002cb8a 65 off 0002cb8b 0305 <restore> 0002cb8d ff don 0002cb8e 4e raddr 0002cb8f d3 emit 0002cb90 120c lastop 0002cb92 14e8 %disk 0002cb94 7c = 0002cb95 26 <;>
Yes, words can have angle brackets in them or indeed any symbol other than whitespace. The meat appears to be in the word <restore>, but the editor technical documentation says it’s tricky:
The word <restore> reads useful information from the idblock (already read from the disk by the Disk command … After this, it reads the display memory, immediately displaying it on the screen. Then it reads the remaining off-screen contents of the disk into memory.The text isn’t quite accurate because the PC is not, in fact, part of the idblock, but it does tell us most of the action is actually in <save>. The reason both operations exit through common code is because the save operation compacts the dictionary and working text in memory before writing them out, so both the restore and save operations must unpack them before returning to the editor — in the restore case, after loading it from disk, and in the save case, after writing it. This particular word has a somewhat lengthy definition and we’re going to tear it apart later, but we can see right in the beginning of <save> that the magic is done by a 68K assembly routine:It then executes the second half of <save> by use of a non-standard programming method. The entire machine state, including return stack, program counter and instruction pointer, is recorded. When it is restored (copied back into memory), execution resumes where it left off when <save> began writing the image into memory. This creates an unusual situation.
The same code (in the second half of <save> is used by both save and <restore>.
% ./fdis rom "<save>" token = 0x0304 0002c8d2 0433 notepointers 0002c8d4 0151 packforth 0002c8d6 0435 packtext 0002c8d8 0434 noteramsize 0002c8da 21 wlit 0x3326 0002c8dd 22 lit 0x00407666 0002c8e2 5b w! 0002c8e3 0106 recal 0002c8e5 e5 ?diskerror 0002c8e6 21 wlit 0x812c 0002c8e9 dd call [...]
This is calling a ROM routine at $812c. This routine, in part, starts by capturing the CPU registers:
00812C move SR, $407664.l 40F9 0040 7664 008132 movem.l A0-A7, $407600.l 48F9 FF00 0040 7600 00813A movem.l D0-D7, $407620.l 48F9 00FF 0040 7620
which is used for the memory image of the outgoing idblock starting at $407600. When the restore runs, another 68K ROM routine is called at the end of <restore> after loading everything:
% ./fdis rom "<restore>" token = 0x0305 0002ca6c d4 cls 0002ca6d 0106 recal 0002ca6f e5 ?diskerror 0002ca70 0109 idblock [...] 0002cb5b 21 wlit 0x8368 0002cb5e dd call 0002cb5f 55 1 0002cb60 37 <"> "Unable to restore text from disk." 0002cb83 38 <abort"> 0002cb84 26 <;>
The ROM routine it calls at $8368 finishes by restoring those registers from the in-memory idblock.
008368 move #$2700, SR 46FC 2700 00836C clr.l $40723c.l 42B9 0040 723C 008372 movea.l $40fdfc.l, A0 2079 0040 FDFC 008378 move.l A0, $40725c.l 23C8 0040 725C 00837E movea.l #$407260, A1 227C 0040 7260 008384 move.l #$265, D0 203C 0000 0265 00838A move.b (A0)+, (A1)+ 12D8 00838C dbra D0, $838a 51C8 FFFC 008390 move.l $410068.l, $407230.l 23F9 0041 0068 0040 7230 00839A movea.l #$407800, A0 207C 0040 7800 0083A0 move.w $407668.l, D0 3039 0040 7668 0083A6 move.l $40fbd0.l, D1 2239 0040 FBD0 0083AC lea ($6,PC) ; ($83b4), A1 43FA 0006 0083B0 jmp $7e5e.w 4EF8 7E5E 0083B4 move.l D0, $407238.l 23C0 0040 7238 0083BA beq $83cc 6710 0083BC move.l #$12345678, $40723c.l 23FC 1234 5678 0040 723C 0083C6 jmp $3210c.l 4EF9 0003 210C 0083CC movem.l $407600.l, A0-A7 4CF9 FF00 0040 7600 0083D4 movem.l $407620.l, D0-D7 4CF9 00FF 0040 7620 0083DC move.l $40725c.l, $40fdfc.l 23F9 0040 725C 0040 FDFC 0083E6 move $407664.l, SR 46F9 0040 7664 0083EC rts 4E75
Assuming no error condition is detected, this routine has the effect of restoring the stack pointer and all registers, including the state of the tForth VM which is entirely stored in registers, to point to the tForth word after the call to $812c in <save>. I note for completeness that this call actually occurs in two places, but both are in the first part of the word, so the second part of <save> is executed regardless. (The LEA and JMP idiom at $83ac is a fast way of doing a subroutine call by not pushing to the stack and appears frequently in the Cat ROM.)
Now that we know where it comes out, and since we know restoring the previous stack pointer will eventually return to the editor, we can insert a diversion: during the loading process we’ll have the user press a key to continue, so that they can appreciate our splendidly rendered image, and then return to the editor via the rest of <save>. Let’s make this a picture disk, complete with Jef Raskin’s Wikipedia entry, so that you can read his biography using the Cat he designed. It should show his picture, wait for the user’s admiration, and then load the article which can be then scrolled and searched with the LEAP keys.
For the text, we’re going to take advantage of the serial port to load the document for us. I used Lynx to download and render the Wikipedia text to 80-column plain text, cleaned it up in a text editor, and added some instructions.
The next step is to transmit it. Oddly enough, the serial connection does not use a null modem: use a straight-thru DB-25 male on the Cat end to DE-9 (“DB-9”) female on your workstation’s end, with your favourite USB to RS-232 dongle if you need it. The serial port on the Cat is between the printer port and the phone jacks.
By default the serial port is used as an alternate printer port, so in the Setup screen we’ll switch it to the “SEND Command” (used for serial communications) and “Full Duplex” with “CR/LF” for your line terminator at 9600bps, 8-N-1. (The serial port is not supported in MAME yet either.)
Next we’ll widen the margins to the full 80 columns (USE FRONT-LEFT MARGIN and LEAP LEFT, then USE FRONT-RIGHT MARGIN and LEAP RIGHT).
You may have noticed the absence of flow control options in the Setup screen, and that’s because the Cat only supports software flow control with XON/XOFF. (This will be relevant in the third hack.) Sending the text full blast will drop characters because the CPU has to wrap and format it as text arrives.
To avoid this problem, you could obviously use a terminal program that supports XON/XOFF, or you could simply send data with a slight delay after each character. I provide just such a program (written in C) in the Catbox; compile it with something like gcc -O2 -o sendfile sendfile.c. To send the file with a 10ms intercharacter delay, use a command line like sendfile /dev/ttyUSB0 9600 raskin.txt 1,10 which says to use /dev/ttyUSB0 at 9600 baud, sending raskin.txt with 10ms after every one character. Here the POWER9 Linux workstation is pushing the document to the Cat which streams as characters are received to the screen. Make sure text you transmit this way has CR-LF line endings (e.g., set ff=dos in vim).
With the document loaded, we’ll lock it against editing by pressing DOCUMENT LOCK and save it to disk with USE FRONT-DISK. The disk is blank, so it saves it immediately, after which we image it to an eDSK.Now for the executable portion. Obviously we could write this code in 68K assembly, but we have a limited amount of space before potentially running into the real stack and we’d like to keep the code as small as possible. That means writing it in tForth, so we need a means to jump back into tForth and have the VM run anonymous code that is not actually stored as a “real” word.
As it happens, tForth supports this as part of the goto word, which directly executes “naked” tForth code from memory given an execution address. It does this using a special reserved word called temp. temp’s definition ordinarily is simply to return an error message:
% ./fdis rom temp token = 0x00f8 0000dc52 55 1 0000dc53 37 <"> "unassigned token " 0000dc66 38 <abort"> 0000dc67 26 <;>
The <abort”> word takes a condition and a string, and if the condition is true, displays the string as an error and aborts. As the default definition pushes a literal 1 to the stack as the first value, running this word under normal circumstances will immediately raise an error and halt. But remember that the token table is in RAM and therefore mutable. The goto word exploits this fact:
./fdis rom goto token = 0x00fe 0000dbbe 21 wlit 0x00f8 0000dbc1 92 +table 0000dbc2 5c ! 0000dbc3 f8 temp 0000dbc4 26 <;>
The word +table is 68K code that takes the given token value (it’s $f8 here, which we know is temp) and returns the location of its execution address in the token table, basically multiplying it by 4 and adding the base address. This gets called a lot, so it needs to be fast. In practice the address it yields appears to be constant and predictable, so the execution address for temp will always be located in the token table at $4107e0 on a 1.74 ROM system. It then stores the new address — presto, the word is redefined — and calls it. The tForth technical docs warn that the code must end with a next token instead of the usual <;> for proper continuation, which we can accommodate. To run the new chimaeric temp, we’ll call the Forth word execute, which is a 68K ROM routine residing at $d5ea that takes the token value and token table address of a word and runs it.
The 68K assembly equivalent of this is straightforward, which we’ll call our trampoline. We’ll change A7 in every copy of the idblock in the eDSK to point to a new 32-bit address which points to the word after that, where our machine code payload will reside, followed by our tForth tokens. Since we know where the display is on disk and we know the framebuffer ends in the middle of a sector (28896 is not an even multiple of 512), we have 288 extra bytes in that sector to insert the code right there and still remain reasonably clear of the real stack. This address could be $4070e0, immediately after the display ends, but since things can get pushed temporarily it’s better to move it down a bit so garbage doesn’t spill onto the bottom of the screen (I use $407120 which gives a 64-byte red zone). The code looks like this, which we compute at the time we patch the eDSK:
00407120 address pointing to entry 0040 7124 entry: 00407124 movea.l #OLD_A7,a7 2E7C OLD_ A7__ 0040712a movea.l #$4107e0,a1 227C 0041 07E0 00407130 move.l #target,(a1) 22BC 0040 7142 00407136 move.l #$000000f8,d0 203C 0000 00F8 0040713c jmp $0000d5ea 4EF9 0000 D5EA target: 00407142 jmp (a3) 4ED3 ; tforth tokens follow
We restore the old A7 value, store the address of our payload (target) to temp’s entry in the token table and leaving the entry’s address in A1, load the token for temp to D0 and jump into execute. I chose to use full 32-bit long encodings for the parameters to make it easier to adjust for other ROM versions with different addresses and token values. Notice that our payload looks just like a regular tForth word, starting with the call into the nesting routine. The D0 and A1 registers belong to a volatile set used for arguments to ROM routines and are not part of the tForth register state, so we can clobber them with impunity. We changed no other relevant register other than A7 and we immediately set it back, so we have not changed anything else other than to divert into our own code. When our tForth block finishes, our cuckoo word will be unnested and we’ll fall right back into <save> to complete the restore process as if we never left it.
Finally, the tForth itself, which immediately follows the machine code trampoline. The <demit> word will draw text to the display at the given address; if the text has the high bit set, it will render it in reverse video. Bold or normal text is determined by what was used the last time a character was displayed, though for this purpose either weight works. The code we want to execute is ” press any key” over + swap do i c@ i 407106 - 17 <demit> loop beep key drop next ; which will put a string on the stack with its length, loop over it and display each character, beep once, wait for a key, throw it away and then exit as goto requires through next. We could look the tokens up by hand, but we also can just define it to a throwaway word and dump from its execution address using c’.
Our patcher will insert all of this into the 288 bytes at the end of display memory on disk. Since most of you don’t have a Cat, here’s a video of the picture disk in action.
The picture disk image is in the Catbox. The patching program we’ll unveil at the end, since we’re going to add more to it for the next couple hacks. Speaking of!
There are a couple downsides to what we just pulled for Hack No. 1, all due to the fact we temporarily deviate from the restore process before it completes. One minor drawback is that the floppy disk drive is still active during code execution as the drive motor hasn’t been turned off yet. But the big one is our limited execution area: the Forth dictionary and document workspace are not unpacked until the end of loading, so the technique we just used can only run within the small space provided and can’t call longer words we create, only ones already in ROM.
That means we have to let the loading process finish to run larger words, but if we do that naïvely then the Cat will still wind up in the editor and never run our code. Altering the execution address for <save> in the token table won’t help us because it’s already in motion, and we can’t change the code that’s executing … unless we copy <save> to RAM and run that as the payload to our trampoline.
Here’s the rest of <save>, including the second call to $812c. Either way we’ll end up in common code at $2c900 assuming no errors.
0002c8f5 7e 0= 0002c8f6 3a and 0002c8f7 2b <0bran> 0x08 (0x0002c900) 0002c8f9 0106 recal 0002c8fb e5 ?diskerror 0002c8fc 21 wlit 0x812c 0002c8ff dd call 0002c900 15fc system.status 0002c902 20 blit 0x18 0002c904 66 + 0002c905 58 @ 0002c906 10d4 trkbuf 0002c908 61 to 0002c909 15fc system.status 0002c90b 20 blit 0x1c 0002c90d 66 + 0002c90e 58 @ 0002c90f 1854 ramend 0002c911 61 to 0002c912 22 lit 0x00407230 0002c917 58 @ 0002c918 1868 t#on 0002c91a 61 to 0002c91b 06d1 parksafe 0002c91d 0100 doff 0002c91f 0436 unpacktext 0002c921 21 wlit 0x0088 0002c924 010a @ptr 0002c926 11b0 text 0002c928 0152 unpackforth 0002c92a 22 lit 0x00407700 0002c92f 1574 idtable 0002c931 21 wlit 0x0080 0002c934 8a move 0002c935 21 wlit 0x00a0 0002c938 010a @ptr 0002c93a 13dc idadvance 0002c93c 61 to 0002c93d 54 0 0002c93e 0592 getdata 0002c940 54 0 0002c941 06b4 oldsetdata 0002c943 21 wlit 0x0100 0002c946 8a move 0002c947 06c5 setupcat 0002c949 0279 resetcursor 0002c94b 0205 initruler 0002c94d 0209 checkline# 0002c94f 020b checkgauge 0002c951 020c checkbattery 0002c953 0492 resetphonelight 0002c955 0495 checklocallight 0002c957 0336 rule 0002c959 14e8 %disk 0002c95b 1210 curop 0002c95d 61 to 0002c95e 22 lit 0x00407238 0002c963 58 @ 0002c964 2b <0bran> 0x07 (0x0002c96c) 0002c966 11fc dirtytext? 0002c968 64 on 0002c969 0741 verifyerror 0002c96b 9d error 0002c96c 48 ?dup 0002c96d 2b <0bran> 0x05 (0x0002c973) 0002c96f 11fc dirtytext? 0002c971 64 on 0002c972 e5 ?diskerror 0002c973 26 <;>
The goal is to add code after the ?diskerror word at $2c972 (which aborts on errors) and before the end of the definition at $2c973. At that point the Cat’s state is fully restored and expanded from disk but the editor has not yet been entered. Our tForth payload therefore becomes a copy of everything from $2c900 to $2c972 inclusive, followed by pushing our word’s token value with a wlit literal word and execute re <;> with the explicit terminal call to re cleaning up any residual leftovers. Mercifully, the branches are relative and need not be relocated, and with the stack padding and trampoline it still fits in the 288 bytes available, so we just spew out the same tokens otherwise.
This idea has a lot of possibilities. For example, you could write up a word to automatically execute from the disk to patch up editor words in the token table for additional features, or install a utility, or even take over the system entirely. (Spoiler alert: stay tuned.) So for this second hack, we’re going to do something useful for a change: a simple terminal program for the Cat. But wait, you say, doesn’t the Cat already have the capability to send and receive serial data from the editor? It does, but it’s not very asynchronous: you have to highlight and manually send text (using SEND) and you can’t just type to the remote system, and individual keystrokes are particularly inconvenient. Plus, maybe you just don’t want your entire transcript in your document, especially if you’re running low on space.
As in the first hack, we’ll load the tForth source over the serial port. Here it is:
Converted to text:
: cattermloop begin ser.?rxrdy if @ser.char demit then <?k> if char char? off record dup e1 = if leave then semit then 0 until ; : cattermhi cls home ." CatTerm oldvcr.blogspot.com UNDO to quit" cr ; : catterm edde if 0 40f884 ! -1 410078 ! cattermhi cattermloop 0 410078 ! -1 40f884 ! new-display else cattermhi cattermloop then ;
(Now here’s a great advancement in open source: it comes with its own source code as the document, preparsed into the dictionary and set to autostart. You can even preview the code with USE FRONT-DISK and see what code you’re about to run. Wanna change it? Change the code in the editor and USE FRONT-ANSWER, and the words will be redefined and ready to execute. Save it to disk, repatch the disk image, and make it your own.)
The main loop in cattermloop bounces between checking if a character is waiting at the serial port and if a keypress is pending. If one is at the port, it reads it and prints it to the terminal at the cursor position. If one is at the keyboard, it grabs it, stuffs it into the LEARN buffer if appropriate, and then checks to see if it’s the UNDO key (code $e1). If it is, it exits the loop.
The word we’ll execute, however, is catterm. I decided to be a little silly here to prove a point. The Cat can operate in various modes, with the variable edde set to true if it’s in the editor and crt set to true if it’s at the prompt. But these are just memory locations, so you can either do edde on or -1 40f884 !, which references its address explicitly (yes, values are signed). By forcing these modes, you can make text go different places. We don’t want anything emitted to the document, so if we started execution from the editor we turn the edde variable off and the crt variable on, start the loop, and then set them back and repaint the screen (otherwise we “just do it”). Properly written, however, you can also just say edde on and crt off, and vice versa.
We highlight the entire text and do USE FRONT-ANSWER to define the words, and then take a test drive with catterm from the ok prompt. It works! Now we’ll grab the token value for catterm and use that as a parameter to the patch utility. The exact value will vary depending on what words were defined already, but in this case, it’s $07e2.
As a last convenience we enter and highlight the word catterm in the document so that you can just run it again from the editor by pressing USE FRONT-ANSWER. We save it to disk and create a disk image, and patch it. Here it is booting. I couldn’t run to the workstation and type at the same time as I was filming, but you can see that it autostarts and cleanly returns to the editor. The CatTerm disk image is in the Catbox.
But what if you don’t want to return to the editor?
This might be where I become branded a heretic by the School of Raskin for escaping the primary interface. But it’s a general purpose computer, and we should be able to use it for general purpose computer things. Plenty of stuff took over the Mac entirely, so I don’t see why the Cat should be any different.
For this last hack, we’ll go all the way live and make a full-fledged slideshow demo. I’ll select and convert some pictures as a love letter to the 1980s office and we’ll have the Cat load them in sequence directly from disk. When you exit the demo, it will cold-start the machine back to the editor (so we’ll dub this a “cold booter”).
Our payload can now be shorter, because the words for setting up the editor no longer need to be run. However, we still need to unpack the document text, such as it is (we can overwrite it later if we want), because it must be shifted up in RAM first to ensure the Forth dictionary ends up in the right place. In addition, we need to set a system flag to prevent screen repaints during that process or any title screen we put on the disk will get obliterated.
After the doff at $2c91d, which turns off the disk drive, in our cold booter payload I insert a showmove? off to ensure unpacktext doesn’t try to repaint the screen. We’ll then do everything up to, but stop short of, the setupcat at $2c947. Instead, at that point we’ll push our token and end with execute cold ; since we won’t be returning to the editor and we won’t try to keep any of the system variables intact.
Now for the pictures. It will be simplest to segregate the slides to a second disk which we can occupy the whole of. We’ll have the Cat format it, then promptly overwrite it with our own data. The rtrk and wtrk words will load or save an entire track of data (5120 bytes) to or from a given memory address, so we will have each picture occupy 28896 bytes divided by 5120 bytes per track to equal 5.64375 tracks, i.e., six tracks apiece rounded up. This is a little inefficient for the last portion of the display but we’re optimizing for speed here.
If we’re going to ask for a new disk, we should do so with style, so this will be our screenshot image. C’mon, he’s the original father of the Mac too!
We will blink the question mark until the disk is switched, as a classic Mac would do, then draw the original Happy Mac over it and proceed with the slides. Here they are, largely extracted from contemporary marketing material, then edited in Krita and Floyd-Steinberg dithered with ImageMagick. Any blurriness in these grabs is due to the upscaling I did to match the CRT aspect ratio; they are sharp on the Cat.
For the credits screen, I typed it into the editor and saved it to another disk.
I then used catrpic from the first hack to extract it and added it to the pile as the final image.To create the slides, after having the Cat format a blank disk, we’ll transmit the bitmap data via the serial port. This is binary safe if we disable XON/XOFF first, or otherwise the Cat will intercept and act on those characters. For example, this snippet at the ok prompt will wait for data from the serial port and read 28896 bytes from it, spewing them to the screen directly. We assume your serial port is still configured for “SEND Command/Full Duplex” at 9600bps, 8-N-1.
ser.xon.tx.off page 4070e0 400000 do ser.rx i c! loop key drop
Then send the 28896-byte raw bitmap data (in our case, the scaled and dithered PBM with the PBM header removed) with something like sendfile /dev/ttyUSB0 9600 image.cat — no intercharacter delay is necessary as this loop will have no problem keeping up. Note that we use ser.xon.tx.off to disable acting on received XON/XOFF characters, but actually fetch characters with ser.rx (which will wait for a byte to be ready). Once all bytes are loaded, it will wait for a key, and then stop.
We’ll test it on Captain Solo by writing out a track and
trying to read it back.
ser.xon.tx.off 4070e0 400000 do ser.rx i c! loop 400000 0 wtrk 401400 1 wtrk 402800 2 wtrk 403c00 3 wtrk 405000 4 wtrk 405ce0 5 wtrk . . . . . .
We turn off XON/XOFF for receive, load the image, then write out six tracks at the given addresses (5 overlaps slightly with 4). The six dots at the end report out the status of each track write with wtrk.
Don’t get those arguments transposed to these track read/write routines, by the way. The operating system will try to seek to track 4194304, causing the head to repeatedly hit the outside rail and possibly damage itself! There is no bounds checking on these routines!
Receiving and writing the test image.
Now for the other direction, which is quite logically the reverse with rtrk.
400000 0 rtrk 401400 1 rtrk 402800 2 rtrk 403c00 3 rtrk 405000 4 rtrk 405ce0 5 wtrk key drop . . . . . .
The image reappears from the floppy.
Now with a successful test, we will create the disk with this small program. The return values from wtrk are just left on the stack since we’ll be cold booting it after anyway to set up the main code word. XON/XOFF is already (x)off.
3c 0 do 4070e0 400000 do ser.rx i c! loop 400000 i wtrk 401400 i 1 + wtrk 402800 i 2 + wtrk 403c00 i 3 + wtrk 40500 i 4 + wtrk 405ce0 i 5 + wtrk 6 +loop
Leaving the blinking disk screen for the boot disk, we transmit each bitmap from the Linux workstation using sendfile. When all the bytes have been received, the Cat will write it to disk and come back for the next, and so on until all the images are sent.
Unlike every other graphic image in the demo, however, we’ll draw the Happy Mac from an internal set of bitmap values instead of trying to fetch it from disk as well. Here I’m messing with the positioning to determine the best addresses to blink the question mark and where onscreen the Happy Mac should be loaded. Eventually I settled on the following, which is the entirety of the demo source code in Forth:
( wait for a key ) : keywait ( delay - key ) 0 swap 0 do drop <?k> if char char? off leave then 1 ms 0 loop ; ( wait until the disk is out ) : diskwaitout ( delay - flag ) 0 swap 0 do drop ?diskrdy not dup if leave then 1 ms loop doff ; ( wait until the disk is in ) : diskwaitin ( delay - flag ) 0 swap 0 do drop ?diskrdy dup if leave then 1 ms loop doff ; ( general disk wait loop ) : diskwait ( waitword ) begin ( erase question mark ) 403cdd 4038ed do ffff i w! 54 +loop ( ensure drive is on, needs a delay ) drive0 40 800000 or! 180 ms dup 0500 swap execute if drop leave then ( draw question mark - bitmap data is lifo ) fe7f fe7f ffff fe7f fe7f fe3f ff1f ff8f f3cf f3cf f00f f81f 403cdd 4038ed do i w! 54 +loop drive0 40 800000 or! 180 ms dup 0500 swap execute if drop leave then 0 until doff ; ( display a picture stored on disk at a particular track number ) : trackpic ( track - ) ( each picture is six tracks long with overlap in the last track ) dup 400000 swap rtrk drop dup 1 + 401400 swap rtrk drop dup 2 + 402800 swap rtrk drop dup 3 + 403c00 swap rtrk drop dup 4 + 405000 swap rtrk drop 5 + 405ce0 swap rtrk drop ( wait for a keypress for 2560 ticks or reset if UNDO pressed ) 0a00 keywait e1 = if cold then ; ( main loop ) : slideshow ( - ) ( turn off editor ) edde off crt on ( mac gimme disk screen is already encoded in the screenshot ) ['] diskwaitout diskwait ['] diskwaitin diskwait ( make sure we can read track 0 ) recal 0 <> if page ." disk read failure" 1000 keywait drop cold then ( draw 32x32 happy mac and erase bottom of floppy disk icon ) aaaaaaaa 50000015 a7ffffca 57ffffd5 a7ffffca 50000015 afffffea 4fffffe5 afffffea 4fffffe5 acffc0ea 4fffffe5 afffffea 4fffffe5 afffffea 4e0000e5 adffff6a 4dffff65 adf87f6a 4df7bf65 adffff6a 4dfcff65 adfeff6a 4dfeff65 adeeef6a 4deeef65 adffff6a 4dffff65 adffff6a 4e0000e5 afffffea 57ffffd5 a800002a 403dd8 403304 do i ! 54 +loop ( shocked mac slide, then loop the rest of the slideshow ) 400 ms 10 keywait drop ( prime key events ) 0 trackpic begin 0a ( number of pictures, then multiplied by tracks per pic ) 6 * 6 do i trackpic 6 +loop ( each picture is six tracks ) 0 until ; ( shamelessness ) : credits ." copyright 2024 cameron kaiser" cr ;
This is all pushed over the serial link and parsed into words on the Cat using the same process as before.
The main code starts with slideshow where we first make sure all updates go direct to the screen. After that, the diskwait word is what waits for the state changes of the floppy. It has its own routines for erasing and redrawing the blinking question mark. This word takes the token of another word as an argument which it calls to determine whether the desired condition is satisfied, so we call it first with diskwaitout to wait for the first disk to be removed, then diskwaitin to wait for the second disk to be inserted. These words directly manipulate the floppy drive through Gate Array #3 by briefly turning it on to check for the disk, then waiting for a settling period after the motor starts to get the disk status back. The question mark is encoded as a series of literal words pushed onto the stack in reverse order so they get pulled off in the right order for the loop.
With the next disk in, the recal word seeks for track zero and returns 0 for success or an error code for failure. Assuming it can find it, it draws the Happy Mac (with whole 32-bit words this time but using the same principle), primes the keyboard, and starts with the first picture, the Shocked Mac. The trackpic word loads the six-track image and waits for a keypress in a given timeframe, cold-starting the Cat if the UNDO key is pressed. The cold start process will of course try to read the disk, but it won’t be recognized as a Cat floppy and will be ignored, thus putting the user back into the editor.
This does give the floppy drive quite a workout. You’ll notice that the Shocked Mac appears only the very first time it boots and never in the loop after that, and it’s because I think my floppy drive has a marginal track zero switch (at the age these drives are, I suspect other otherwise-working Cat drives have a similar problem). This switch appears to be mechanical on the Canon drive rather than the more typical LED/sensor combination. More times than not this particular disk drive could get back to track zero, but sometimes it wouldn’t, which explains why some of my reads from disks the Cat wrote started on physical track two even though the Cat’s firmware obviously believed it was writing track zero. It doesn’t seem like an alignment problem with the switch or the drive because when it does find track zero, it reads disks written by the Teac (our “perfectly aligned” brand spanking new floppy drive) just fine, and obviously it’s also able to write track zero more often than not or this demo might not have been possible.
Accordingly, the problem I ran into with this hack was the drive couldn’t reliably get back to track zero after the last picture either (it’s over 60 tracks away by then). If this happens to you in the editor, you can just try reading the disk again until it “gets it.” But here rtrk will pause waiting patiently for the correct track to come by, which probably won’t happen for the good minute or so it waits until it times out. Trying to manually step the head back in track by track didn’t really help. The best solution was just to start back over on track 6 instead of track 0, and that seemed to work generally okay, though this is probably not a demo you want to leave running repeatedly on the Cat regardless.
Here’s the finished product. Both disk images are in the Catbox.
To compensate for the situation where your Cat’s drive might also be acting up and not truly writing to track zero either, I’ve also included an eDSK optimizer tool. It will remove and properly relocate unformatted tracks, or even formatted tracks before the detected idtrack if you use -force, adjusting the eDSK DIB and TIBs and emitting the corrected disk image to standard output. You can also just say -test to see what it thinks about a particular image (-test -force will make it continue even if it doesn’t think the disk is a Cat disk).
Some considerations for a future entry:
Everything in this blog post is on Github under the BSD 3-clause license.
https://oldvcr.blogspot.com/2024/07/pretty-pictures-bootable-floppy-disks.html
date: 2024-07-14, from: VOA News USA
date: 2024-07-14, from: VOA News USA
President Joe Biden said Saturday that “everybody must condemn” the suspected assassination attempt on former President Donald Trump, adding that he hoped to speak with his 2024 presidential rival soon.
date: 2024-07-14, from: Santa Barbara Indenpent News
It’s nice to see that at least the utopian bubble of Santa Barbara has moved beyond the rest of the country in forgiving our forefathers for their actions and how society and civilization operated in eras gone by.
The post Viva La Fiesta appeared first on The Santa Barbara Independent.
https://www.independent.com/2024/07/13/viva-la-fiesta-2/
date: 2024-07-14, from: The Signal
The city of Santa Clarita hosted its monthly Celebrate series, this month’s theme being Cuba, on Friday evening at the Canyon Country Community Center. In attendance were hundreds of people […]
The post Photos: Celebrate series Cuba appeared first on Santa Clarita Valley Signal.
https://signalscv.com/2024/07/photos-celebrate-series-cuba/
date: 2024-07-14, from: Full Circle Magazine
OpenBSD removes dhclient utility in favor of a background process called dhcpleased:
Ladybird receives $1 million donation from GitHub co-founder:
Wireguard Developer Seriously Speeds Up Getrandom() on Linux:
Credits
https://fullcirclemagazine.org/podcasts/podcast-374/
@Dave Winer’s linkblog (date: 2024-07-13, from: Dave Winer’s linkblog)
Prosecutor says shooter and 1 attendee are dead at Trump Pennsylvania rally.
https://apnews.com/article/trump-vp-vance-rubio-7c7ba6b99b5f38d2d840ed95b2fdc3e5
@Dave Winer’s linkblog (date: 2024-07-13, from: Dave Winer’s linkblog)
Richard Simmons, fitness personality and TV host, dead at 76.
https://www.cnn.com/2024/07/13/entertainment/richard-simmons-death/index.html
date: 2024-07-13, from: Tedium feed
How sharp knives disappeared from the dining room table, only to return, centuries later, in steak knife form. Kings, cardinals, and factories are involved.
https://feed.tedium.co/link/15204/16742620/steak-knife-history
date: 2024-07-13, from: Tedium feed
Someone gave me a set of kitchen knives to review, and surprisingly, I didn’t cut my fingers off in the process. My onion-cutting game did improve, though.
https://feed.tedium.co/link/15204/16742623/imarku-kitchen-knife-set-review
date: 2024-07-13, from: City of Santa Clarita
By City Manager Ken Striplin Santa Clarita consistently earns recognition as one of the best places to live in the nation, boasting a high quality of life, strong safety record and a business-friendly atmosphere. Our City Council achieves these accolades by listening to the community’s voice and focusing on feedback. This dedication to resident input […]
The post 2024 Public Opinion Poll appeared first on City of Santa Clarita.
https://santaclarita.gov/blog/2024/07/13/2024-public-opinion-poll/
date: 2024-07-13, from: The Signal
The Brittany Foundation, a local nonprofit organization dedicated to rescuing, rehabilitating, and rehoming dogs in need, will be celebrating its 30th anniversary on Sept. 28 with a fun celebration including […]
The post Brittany Foundation set to celebrate 30 years on Sept. 28 appeared first on Santa Clarita Valley Signal.
https://signalscv.com/2024/07/brittany-foundation-set-to-celebrate-30-years-on-sept-28/
date: 2024-07-13, from: The Signal
A pedestrian was hit by a vehicle in Canyon Country late Saturday morning at the intersection of north Sierra Highway and Flying Tiger Drive, according to Supervisor Llacuna with the […]
The post No transports in collision involving pedestrian appeared first on Santa Clarita Valley Signal.
https://signalscv.com/2024/07/no-transports-in-collision-involving-pedestrian/
date: 2024-07-13, from: The Signal
A 10-acre brush fire on City Highline Motorway Fire Road, south of Forest Route 5N27, has been contained, according to Los Angeles County Fire Department Supervising Dispatcher Melanie Flores. Firefighters […]
The post 10-acre fire contained overnight appeared first on Santa Clarita Valley Signal.
https://signalscv.com/2024/07/10-acre-fire-contained-overnight/
@Dave Winer’s linkblog (date: 2024-07-13, from: Dave Winer’s linkblog)
75 Best Sci-Fi Books of All Time.
https://www.esquire.com/entertainment/books/g39358054/best-sci-fi-books/
date: 2024-07-13, from: Chris Coyier blog
Let’s say you’re on a big mission in the world. You think websites should be more accessible. Websites should work for anyone regardless of their disabilities. You also think the web right now is failing in this regard. There are far too many inaccessible websites existing and being created. You think that educating developers is […]
https://chriscoyier.net/2024/07/13/its-really-this-thing-that-gets-me/
date: 2024-07-13, from: VOA News USA
NEW YORK — Dr. Ruth Westheimer, the diminutive sex therapist who became a pop icon, media star and best-selling author through her frank talk about once-taboo bedroom topics, has died. She was 96.
Westheimer died on Friday at her home in New York City, surrounded by her family, according to publicist and friend Pierre Lehu.
Westheimer never advocated risky sexual behavior. Instead, she encouraged an open dialogue on previously closeted issues that affected her audience of millions. Her one recurring theme was that there was nothing to be ashamed of.
“I still hold old-fashioned values, and I’m a bit of a square,” she told students at Michigan City High School in 2002. “Sex is a private art and a private matter. But still, it is a subject we must talk about.”
Westheimer’s giggly, German-accented voice, coupled with her 4-foot-7 frame, made her an unlikely looking — and sounding — outlet for “sexual literacy.” The contradiction was one of the keys to her success.
But it was her extensive knowledge and training, coupled with her humorous, nonjudgmental manner, that catapulted her local radio program, “Sexually Speaking,” into the national spotlight in the early 1980s. She had a nonjudgmental approach to what two consenting adults did in the privacy of their home.
Her radio success opened new doors, and in 1983 she wrote the first of more than 40 books: “Dr. Ruth’s Guide to Good Sex,” demystifying sex with rationality and humor. There was even a board game, Dr. Ruth’s Game of Good Sex.
She soon became a regular on the late-night television talk-show circuit, bringing her personality to the national stage. Her rise coincided with the early days of the AIDS epidemic, when frank sexual talk became a necessity.
“If we could bring about talking about sexual activity the way we talk about diet — the way we talk about food — without it having this kind of connotation that there’s something not right about it, then we would be a step further. But we have to do it with good taste,” she told Johnny Carson in 1982.
She normalized the use of words such as “penis” and “vagina” on radio and TV, aided by her Jewish grandmotherly accent, which The Wall Street Journal once said was “a cross between Henry Kissinger and Minnie Mouse.” People magazine included her in their list of “The Most Intriguing People of the Century.”
Westheimer defended abortion rights, suggested older people have sex after a good night’s sleep and was an outspoken advocate of condom use. She believed in monogamy.
In the 1980s, she stood up for gay men at the height of the AIDS epidemic and spoke out loudly for the LGBTQ community. She said she defended people deemed by some far-right Christians to be “subhuman” because of her own past.
Born Karola Ruth Siegel in Frankfurt, Germany, in 1928, she was an only child. At 10, she was sent by her parents to Switzerland to escape Kristallnacht — the Nazis’ 1938 pogrom that served as a precursor to the Holocaust. She never saw her parents again; Westheimer believed they were killed in the gas chambers at Auschwitz.
At the age of 16, she moved to Palestine and joined the Haganah, the underground movement for Israeli independence. She was trained as a sniper, although she said she never shot at anyone.
Her legs were severely wounded when a bomb exploded in her dormitory, killing many of her friends. She said it was only through the work of a “superb” surgeon that she could walk and ski again.
She married her first husband, an Israeli soldier, in 1950, and they moved to Paris as she pursued an education. Although not a high school graduate, Westheimer was accepted into the Sorbonne to study psychology after passing an entrance exam.
The marriage ended in 1955; the next year, Westheimer went to New York with her new boyfriend, a Frenchman who became her second husband and father to her daughter, Miriam.
In 1961, after a second divorce, she finally met her life partner: Manfred Westheimer, a fellow refugee from Nazi Germany. The couple was married and had a son, Joel. They remained wed for 36 years until “Fred” — as she called him — died of heart failure in 1997.
After receiving her doctorate in education from Columbia University, she went on to teach at Lehman College in the Bronx. While there she developed a specialty — instructing professors how to teach sex education. It would eventually become the core of her curriculum.
“I soon realized that while I knew enough about education, I did not really know enough about sex,” she wrote in her 1987 autobiography. Westheimer then decided take classes with the renowned sex therapist, Dr. Helen Singer Kaplan.
It was there that she had discovered her calling. Soon, as she once said in a typically folksy comment, she was dispensing sexual advice “like good chicken soup.”
In 1984, her radio program was nationally syndicated. A year later, she debuted in her own television program, “The Dr. Ruth Show,” which went on to win an Ace Award for excellence in cable television.
She also wrote a nationally syndicated advice column and later appeared in a line of videos produced by Playboy, preaching the virtues of open sexual discourse and good sex. She even had her own board game, “Dr. Ruth’s Game of Good Sex,” and a series of calendars.
Her rise was noteworthy for the culture of the time, in which then-President Ronald Reagan’s administration was hostile to Planned Parenthood and aligned with conservative voices.
date: 2024-07-13, from: Liliputing
The Sipeed Lichee Pi 3A is a compact with a SpacemiT K1 RISC-V processor featuring eight CPU cores with support for speeds up to 1.6 GHz, an 819 MHz Imagination BXE-2-32 GPU, and a neural processing unit with up to 2 TOPS Of AI performance. But there are a few things that make this little computer […]
The post Sipeed Lichee Pi 3A is a low-cost RISC-V dev board with 2 PCIe 2.0 slots, up to 16GB of RAM appeared first on Liliputing.
date: 2024-07-13, from: VOA News USA
TEHRAN, Iran — Iran’s newly elected president said his government will create “balance in relations with all countries” in line with national interests and the prerequisites for peace but stressed to the United States that his country “will not respond to pressure.”
Masoud Pezeshkian penned “My Message To The New World” in the country’s state-owned Tehran Times late Friday, praising the latest presidential election that “demonstrated remarkable stability” and vowing to uphold “promises I made during my campaign.”
Pezeshkian, a 69-year-old heart surgeon and longtime lawmaker, bested hard-liner former nuclear negotiator Saeed Jalili to clinch the July 5 runoff election to replace President Ebrahim Raisi, who was killed in a helicopter crash in May.
He said in his message his administration would “prioritize strengthening relations with our neighbors” and urged Arab countries to use “all diplomatic leverages” to push for a lasting cease-fire in the ongoing Israel-Hamas war in the Gaza Strip that started October 7.
Iran has long supported the militant group Hamas, and Pezeshkian on Wednesday expressed his all-out support of “the Palestinian resistance” in a message to the group’s chief, Ismail Haniyeh.
Pezeshkian, in the letter Friday, hailed his country’s relations with Russia and China, which “consistently stood by us during challenging times.” He said Moscow was “a valued strategic ally” and his government would expand bilateral cooperation. He also expressed willingness to “support initiatives aimed at” achieving peace between Russia and Ukraine in the ongoing war.
The president also said he looked forward to furthering cooperation with Beijing and applauded it for brokering a deal to normalize relations between Iran and Saudi Arabia after seven years of diplomatic tensions.
Pezeshkian said he looks forward to engaging in constructive dialogue with European countries “based on principles of mutual respect” despite a relationship that has known “its ups and downs.”
In May 2018, the U.S. unilaterally withdrew from the Joint Comprehensive Plan of Action — a nuclear agreement that also included Russia, China, Britain, France and Germany. Since then, Western powers have accused the Islamic Republic of expanding its nuclear program and enriching uranium to an unprecedented 60% level, near-weapons-grade levels. The U.S. has issued severe, mainly economic, sanctions against Iran.
Pezeshkian accused the European countries of reneging on commitments made, following the U.S. withdrawal, to ensure “effective banking transactions, effective protection of companies from U.S. sanctions, and the promotion of investments in Iran.” However, he added there were still many opportunities for collaboration between Iran and Europe.
He then addressed the U.S., underscoring his country’s refusal to “respond to pressure,” adding that Iran “entered the JCPOA in 2015 in good faith and fully met our obligations.” Pezeshkian said the U.S. backing out has inflicted “hundreds of billions of dollars in damage to our economy” and caused “untold suffering, death and destruction on the Iranian people — particularly during the COVID pandemic” due to sanctions.
Pezeshkian said Western countries “not only missed a historic opportunity to reduce and manage tensions in the region and the world, but also seriously undermined the Non-Proliferation Treaty.” He emphasized that “Iran’s defense doctrine does not include nuclear weapons.”
Iran has held indirect talks with U.S. President Joe Biden’s administration, although there’s been no clear movement toward constraining Tehran’s nuclear program for the lifting of economic sanctions.
Pezeshkian also accused the U.S. administration in his open letter of escalating “hostilities” by assassinating General Qassem Soleimani, the architect of Iran’s regional military activities, who was killed in a U.S. drone strike in neighboring Iraq in 2020.
Besides regional turmoil and tense relations over Iran’s nuclear program, Iran’s president faces many challenges locally. He must now convince an angry public — many under financial duress due to sanctions, stubbornly high inflation and unemployment — that he can make the changes promised while dealing with an administration still largely governed by hard-liners.
Pezeshkian has aligned himself with other moderate and reformist figures since his presidential campaign. His main advocate has been former Foreign Minister Mohammad Javad Zarif, who reached the 2015 JCPOA. Pezeshkian appointed Zarif as the head of the Strategic Council for the administration’s transition period. The council, comprised of experts and advisers, will focus on assessing potential candidates for key cabinet positions and ensuring a seamless handover of leadership.
@Dave Winer’s linkblog (date: 2024-07-13, from: Dave Winer’s linkblog)
Bernie Sanders: Joe Biden for President.
date: 2024-07-13, from: Santa Barbara Indenpent News
The fact is that elderly people often think that they know better than most but that they can certainly be mistaken about their aging bodies.
The post It Is Time to Tell the President appeared first on The Santa Barbara Independent.
https://www.independent.com/2024/07/13/it-is-time-to-tell-the-president/
date: 2024-07-13, from: Santa Barbara Indenpent News
Is Biden so old that we should take away Obamacare and end health care for tens of millions of needy Americans?
The post The Old Choice appeared first on The Santa Barbara Independent.
https://www.independent.com/2024/07/13/the-old-choice/
@Dave Winer’s linkblog (date: 2024-07-13, from: Dave Winer’s linkblog)
Give people something to link to so they can talk about your features and ideas.
https://simonwillison.net/2024/Jul/13/give-people-something-to-link-to/
date: 2024-07-13, from: San Jose Mercury News
Dr. Ruth Westheimer, the diminutive sex therapist who became a pop icon, media star and best-selling author through her frank talk about once-taboo bedroom topics, has died. She was 96.
@Dave Winer’s linkblog (date: 2024-07-13, from: Dave Winer’s linkblog)
Dr. Ruth Westheimer, pioneering sex therapist, dies at 96.
https://apnews.com/article/ruth-westheimer-dies-6d4af57b5f034bf9a90977de41b88735
@Dave Winer’s linkblog (date: 2024-07-13, from: Dave Winer’s linkblog)
I'm not a big fan of comments, and certainly not interested in comments on my podcasts. What a horrible thought. All the abusers living rent free in my head.
https://newsroom.spotify.com/2024-07-09/podcast-app-comments-update/
date: 2024-07-13, from: San Jose Mercury News
Barbora Krejcikova wins Wimbledon for her second Grand Slam trophy by beating Jasmine Paolini.
date: 2024-07-13, updated: 2024-07-13, from: The Register (UK I.T. News)
Kettle For this week’s Kettle episode, in which our journos as usual get together for an end-of-week chat about the news, it’s security, security, security.…
https://go.theregister.com/feed/www.theregister.com/2024/07/13/snowflake_kettle/
@Dave Winer’s linkblog (date: 2024-07-13, from: Dave Winer’s linkblog)
An open tweet to Keith Olbermann.
https://x.com/davewiner/status/1812139277418971640
date: 2024-07-13, from: San Jose Mercury News
The evacuation zone had grown for five straight days and now exceeds 150 square miles.
date: 2024-07-13, from: San Jose Mercury News
Masia Hollins, 23, was charged in 2023, but later arrested in connection with a new gun case and a police chase.
date: 2024-07-13, from: Status-Q blog
Two long-established names in the world of journalism are approaching the challenges of AI in very different ways. The New York Times is suing OpenAI, in an expensive landmark case that the world is watching carefully, because it could have very far-reaching ramifications. The Atlantic, on the other hand, has just done a deal with Continue Reading
https://statusq.org/archives/2024/07/13/12134/
date: 2024-07-13, from: San Jose Mercury News
Last year’s 5% 1-year Treasury rates were the highest since 2000.
https://www.mercurynews.com/2024/07/13/lock-in-5-cds-before-the-fed-starts-cutting-rates/
@Miguel de Icaza Mastondon feed (date: 2024-07-13, from: Miguel de Icaza Mastondon feed)
I am ready for October
https://mastodon.social/@Migueldeicaza/112779622203394203
date: 2024-07-13, from: VOA News USA
U.S. President Joe Biden’s halting performance at last month’s presidential debate triggered questions about the president’s age and ability to serve another four years. One group of voters that might empathize with the president’s plight are older people. Historically, people over 65 are the most reliable bloc of voters in presidential elections. VOA’s Dora Mekouar reports. VOA footage by Adam Greenbaum.
https://www.voanews.com/a/7696659.html
@Dave Winer’s linkblog (date: 2024-07-13, from: Dave Winer’s linkblog)
I wanted to see if my browser supports the marquee element from the ancient web. It does.
http://scripting.com/code/testing/marquee/
date: 2024-07-13, from: San Jose Mercury News
Author and investor Matthew Ball has revised and expanded his book “The Metaverse: And How It Will Revolutionize Everything,” even giving it a new subtitle: “Building the Spatial Internet.”
date: 2024-07-13, from: San Jose Mercury News
Plenty of screen actors these days are successful but we don’t think of them as stars. Why is that, and what’s different from the era of De Niro and Dunaway?
https://www.mercurynews.com/2024/07/13/column-do-we-need-movie-stars/
date: 2024-07-13, from: Logic Matters blog
Like many, I greatly admire Joel Hamkins’s terrific combination of technical prowess and expository ability as a mathematician. I’ve learnt a great deal from him. And I hope to learn more: he is promising us a book on ten ways of proving Gödelian incompleteness. Wouldn’t it be great, too, if one day he wrote an […]
The post How the continuum hypothesis could have been a fundamental axiom appeared first on Logic Matters.
date: 2024-07-13, from: San Jose Mercury News
Even when states claim to have “universal” pre-K for 4-year-olds and sometimes 3-year-olds, some of the most comprehensive programs only serve a slice of the kids who are eligible.
date: 2024-07-13, from: San Jose Mercury News
Some states have looked to make it easier to work in funeral homes and crematoriums. After grisly incidents at some facilities, lawmakers have sought to tighten control over the industry.
date: 2024-07-13, from: San Jose Mercury News
Bankrate’s 2024 Annual Emergency Savings Report found that the majority of U.S. adults (56 percent) do not have enough emergency savings to cover even three months of expenses.
date: 2024-07-13, from: Tilde.news
https://www.youtube.com/watch?v=kYFcdrauJ94
date: 2024-07-13, from: The Lever News
Plus, meddling homeowner associations are put in their place, retirees put up a good fight, and the left wins big across the pond.
https://www.levernews.com/batteries-are-so-back/
date: 2024-07-13, from: Enlightenment Economics
I was quite excited about Carola Binder’s Shock Values: Prices and Inflation in American Democracy, as I expected something similar to Thomas Stapleford’s (2009) The Cost of Living in America. It isn’t about price indices, however, but about monetary policy … Continue reading
@Dave Winer’s linkblog (date: 2024-07-13, from: Dave Winer’s linkblog)
Trump Immunity Ruling May Give Him Free Pass To Steal An Election.
https://www.huffpost.com/entry/trump-immunity-ruling-steal-election_n_66918e38e4b04f47125d9ed8
date: 2024-07-13, from: The Markup blog
Chip away at your TBR pile with these recs
https://themarkup.org/hello-world/2024/07/13/our-blended-newsrooms-summer-reading-list
date: 2024-07-13, from: VOA News USA
Toronto, Canada — Canada says it is going shopping for 12 conventionally powered submarines capable of operating under the Arctic ice to enhance maritime security in a region that is fast gaining strategic significance in the face of climate change.
The purchase is expected to help ease mounting pressure on Ottawa — one of the lowest-spending NATO members — to meet the alliance’s commitment to spend 2% of GDP on defense.
“As the country with the longest coastline in the world, Canada needs a new fleet of submarines,” Canadian Defense Minister Bill Blair said in a statement Wednesday as NATO leaders were meeting in Washington.
The ministry said it has begun meeting with manufacturers and will formally invite bids for the sale in the fall.
“Canada’s key submarine capability requirements will be stealth, lethality, persistence and Arctic deployability — meaning that the submarine must have extended range and endurance,” the statement said.
“Canada’s new fleet will need to provide a unique combination of these requirements to ensure that Canada can detect, track, deter and, if necessary, defeat adversaries in all three of Canada’s oceans while contributing meaningfully alongside allies and enabling the government of Canada to deploy this fleet abroad in support of our partners and allies.”
A day later in Washington, Canada, the United States and Finland issued a joint statement announcing an agreement to build icebreakers for the Arctic region.
The pact calls for enhanced information sharing on polar icebreaker production, allowing for workers and experts from each country to train in shipyards across all three, and promoting to allies the purchase of polar icebreakers from American, Finnish or Canadian shipyards for their own needs, The Associated Press reported.
The AP quoted Daleep Singh, the White House deputy national security adviser for international economics, saying the agreement would demonstrate to Russia and China that the U.S. and allies will “doggedly pursue collaboration on industrial policy to increase our competitive edge.”
Singh noted that the U.S. has two icebreakers, and both are nearing the end of their usable life. Finland has 12 icebreakers and Canada has nine, while Russia has 36, according to U.S. Coast Guard data.
The same day in Washington, Canadian Prime Minister Justin Trudeau announced that his government had signed “a trilateral letter of intent with Germany and Norway to establish a strategic partnership aimed at strengthening maritime security cooperation in the North Atlantic in support of NATO’s deterrence and defense.”
Trudeau also said for the first time that Canada expects to reach NATO’s 2% of GDP spending target by 2032. Canada also pledged $367 million in new military aid to Ukraine ahead of a meeting Wednesday between Trudeau and Ukrainian President Volodymyr Zelenskyy.
The commitments come in the face of mounting pressure for Canada to spend more on defense. A founding member of NATO, it is the alliance’s fifth-lowest spending member relative to GDP and until this week had pledged only to spend 1.76% of GDP by the 2029-30 budget year.
In a speech Monday, U.S. House of Representatives Speaker Mike Johnson called Canada’s level of defense spending “shameful.” Senate Republican leader Mitch McConnell posted, “It’s time for our northern ally to invest seriously.”
NATO allies first agreed to the 2% defense spending threshold in 2006 and reaffirmed it in 2014 and 2023. This year, 23 of the 32 member states will meet or exceed that target.
Several nations have been stepping up their military and commercial capabilities in the Arctic as the receding ice pack makes navigation and petrochemical exploration in the Arctic Ocean more practicable. A sea route across Russia’s Arctic coastline promises to provide a shorter sea route between China and Europe.
Despite China’s distance from the Arctic Ocean, Beijing has dubbed itself a “near-Arctic country” to try to stake a bigger claim in the region.
VOA’s Zhang Zhenyu wrote this article and Adrianna Zhang contributed.
date: 2024-07-13, from: The Signal
By The Signal Editorial Board A decades-long career in local public service is coming to an ignominious end at College of the Canyons. And no, we’re not talking about the […]
The post Our View | MacGregor Thumbs Her Nose at Voters appeared first on Santa Clarita Valley Signal.
https://signalscv.com/2024/07/our-view-macgregor-thumbs-her-nose-at-voters/
date: 2024-07-13, from: The Signal
As I write this, President Joe Biden has just stood on stage at the NATO summit in front of the world’s media and introduced President Volodomyr Zelensky as President Putin. […]
The post Neil Fitzgerald | A Coverup of Titanic Proportions appeared first on Santa Clarita Valley Signal.
https://signalscv.com/2024/07/neil-fitzgerald-a-coverup-of-titanic-proportions/
date: 2024-07-13, from: The Signal
One difficult responsibility as a physician is to recognize physical frailties, especially those indicating patients are incapable of driving. Too often in my medical practice, most resistance to giving up […]
The post Dr. Gene Dorio | Passing the Torch appeared first on Santa Clarita Valley Signal.
https://signalscv.com/2024/07/dr-gene-dorio-passing-the-torch/
date: 2024-07-13, from: The Signal
First let me state that I am a conservative. However, I genuinely felt sorry for our president when I watched the debate. This is a man who definitely has dementia […]
The post Ron Perry | It’s Time to Step Aside appeared first on Santa Clarita Valley Signal.
https://signalscv.com/2024/07/ron-perry-its-time-to-step-aside/
date: 2024-07-13, from: The Signal
Question: Mr. Schlund. I am sure you have addressed this many times, but could you once again remind bicyclists that they are subject to the same laws as motorists? Twice […]
The post Bicyclists: Rules of the road apply to you, too appeared first on Santa Clarita Valley Signal.
https://signalscv.com/2024/07/bicyclists-rules-of-the-road-apply-to-you-too/
date: 2024-07-13, from: The Signal
Question: Hello sir, I am so happy that there is this space to ask you questions. I am a first-time homeowner and, after living in the home for a few […]
The post Robert Lamoureux | You could time this hot water flow with a sundial appeared first on Santa Clarita Valley Signal.
https://signalscv.com/2024/07/robert-lamoureux-you-could-time-this-hot-water-flow-with-a-sundial/
date: 2024-07-13, from: The Signal
I just might be the only galoot in town who notices that every year, we have just almost exactly 100 days of hot weather. It usually starts on July 4 […]
The post The Time Ranger | The Lost Treasure Beneath Castaic Lake appeared first on Santa Clarita Valley Signal.
https://signalscv.com/2024/07/the-time-ranger-the-lost-treasure-beneath-castaic-lake/
date: 2024-07-13, updated: 2024-07-14, from: The Register (UK I.T. News)
One game developer says it’s had enough of Intel’s 13th and 14th-generation Core microprocessors, calling them “defective.”…
https://go.theregister.com/feed/www.theregister.com/2024/07/13/game_raptor_intel/
date: 2024-07-13, from: SCV New (TV Station)
1884 – Hardison and Stewart start drilling Star No. 1 oil well in Pico Canyon; later form Union Oil Co. [story
https://scvnews.com/today-in-scv-history-july-13/
date: 2024-07-13, from: VOA News USA
MIAMI — The Biden administration on Thursday sanctioned a Venezuelan gang allegedly behind a spree of kidnappings, extortion and other violent crimes tied to migrants that have spread across Latin America and the United States.
The U.S. also offered a $12 million reward for the arrest of three leaders of Tren de Aragua, which now joins the MS-13 gang from El Salvador and the Mafia-styled Camorra from Italy on a list of transnational criminal organizations banned from doing business in the U.S.
“Tren de Aragua poses a deadly criminal threat across the region,” the U.S. Treasury Department said in a statement, adding that it often preys on vulnerable populations such as migrant women and girls for sex trafficking.
“When victims seek to escape this exploitation, Tren de Aragua members often kill them and publicize their deaths as a threat to others,” the statement added.
The Tren de Aragua traces its origins to more than a decade ago, to an infamously lawless prison in the central state of Aragua where a number of hardened criminals were held. But it has expanded in recent years as millions of desperate Venezuelans fled President Nicolás Maduro’s rule and migrated to other parts of Latin America or the U.S.
Authorities in countries such as Colombia, Peru and Ecuador — with large populations of Venezuelan migrants — have accused the group of being behind a spree of violent crimes in a region that has long had some of the highest murder rates in the world.
Initially its focus was exploiting Venezuelan migrants through loan sharking, human trafficking and the smuggling of contraband goods to and from Venezuela.
But as the Venezuelan diaspora has settled more permanently abroad, it has joined — and sometimes clashed — with homegrown criminal syndicates engaged in drug trafficking, extortion of local businesses and murders for hire.
Among the groups the Treasury Department said the gang has teamed up with is Primeiro Comando da Capital, a notorious organized crime group out of Brazil that has also been sanctioned by the U.S.
Earlier this year, prosecutors in Chile blamed the gang, whose name means “train” in Spanish, for the killing of a Venezuelan army official who had sought refuge in that country after partaking in a failed plot to overthrow Maduro.
“The Tren de Aragua is not a vertically integrated criminal structure, but rather a federation of different gangs,” said Jeremy McDermott, the Colombia-based co-director of InSight Crime, which this month published a report on the gang’s expansion.
“It has now become a franchise name for Venezuelan criminal structures operating in the region, with weakening coherence now that its home prison base is no more,” McDermott said.
The group is led by Hector Guerrero, who was jailed years ago for killing a police officer, according to InSight Crime. Guerrero, better known by his alias El Nino, or Spanish for “the boy,” later escaped and then was recaptured in 2013, returning to the prison in Aragua where the criminal enterprise was then headquartered.
He fled prison again more recently, as Venezuelan authorities tried to reassert control over its prison population.
His current whereabouts are unknown but the U.S. State Department, which has offered up to $12 million for his arrest and that of two other gang leaders, said it believes Guerrero and Giovanny San Vicente, another target of the U.S. bounty, are believed to be living in Colombia.
Sen. Marco Rubio, a Florida Republican who co-chairs the Senate Select Committee on Intelligence, has warned that if left unchecked, the Tren de Aragua could also start terrorizing American cities.
Among the nearly 1 million Venezuelan migrants that have crossed into the U.S. in recent years are suspected gang members tied to police shootings, human trafficking and other crimes although there’s no evidence that the gang has set up an organizational structure in the U.S., McDermott said.
“Now we are seeing evidence that they have made it into the United States. Every single day, we’re seeing reports from Chicago, South Florida, and New York that these gang members are here,” Rubio said at a Senate hearing in April.
The White House, in a statement on Thursday, said the Department of Homeland Security has implemented enhanced screening to vet and better identify known or suspected gang members, including Tren de Aragua members.
Maduro’s government has accused opponents of exaggerating the reach of Tren de Aragua to tarnish its reputation and said that authorities dismantled the group last year when security forces retook control of the prison that had served as its hub of illicit activity.
Hours after the U.S. sanctioned the gang, the government announced that a brother of the gang’s leader, who was arrested in Barcelona earlier this year, arrived home pursuant to a Venezuelan extradition request to Spain.
Attorney General Tarek William Saab said that Gerso Guerrero, who was arrested earlier this year in Barcelona, faces up to 30 years in prison — the maximum in Venezuela — on multiple criminal charges including extortion, money laundering, weapons trafficking and terrorism.
date: 2024-07-13, from: VOA News USA
OKLAHOMA CITY — A World War I veteran is the first person identified from graves filled with more than a hundred victims of the 1921 Tulsa Race Massacre that devastated the city’s Black community, the mayor said Friday.
Using DNA from descendants of his brothers, the remains of C.L. Daniel from Georgia were identified by Intermountain Forensics, said Mayor G.T. Bynum and officials from the lab. He was in his 20s when he was killed.
“This is one family who gets to give a member of their family that they lost a proper burial, after not knowing where they were for over a century,” Bynum said.
A white mob massacred as many as many as 300 Black people over the span of two days in 1921, a long-suppressed episode of racial violence that destroyed a thriving community known as Black Wall Street and ended with thousands of Black residents forced into internment camps overseen by the National Guard.
Brenda Nails-Alford, a descendant of massacre survivors and a member of the committee overseeing the search for victims, said the identification brought her to tears.
“This is an awesome day, a day that has taken forever to come to fruition,” Nails-Alford said.
More than 120 graves were found during searches that began in 2020, with forensic analysis and DNA collected from about 30 sets of remains. Daniel’s remains are the first from those graves to be linked directly to the massacre.
The breakthrough for identifying Daniel came when investigators found a 1936 letter from his mother’s attorney seeking veteran’s benefits. Alison Wilde, a forensic scientist with Salt Lake City-based Intermountain Forensics, said the letter provided by the National Archives convinced investigators that Daniel was killed in the massacre.
No members of Daniel’s family, many of whom don’t know each other, attended the news conference announcing the identification, which was made earlier this week, Wilde said.
“I think it’s shocking news, to say the least” for the family, Wilde said. “We know we’ve brought a lot into their lives.”
The massacre began when a white mob, including some deputized by authorities, looted and burned Tulsa’s Greenwood District. More than 1,200 homes, businesses, schools and churches were destroyed from May 31-June 1.
Forensic anthropologist Phoebe Stubblefield said Daniel’s remains were fragmented and a cause of death could not be determined.
“We didn’t see any sign of gunshot wounds, but if the bullet doesn’t hit bone or isn’t retained within the body, how would we detect it?”
Oklahoma state archaeologist Kary Stackelbeck said the remains that were exhumed, including Daniel, were found in simple wooden boxes — and Daniel’s was too small for him.
“They had to bend his legs somewhat at the knee in order to get him to fit,” Stackelbeck said. “His head and his feet both touched either end of the casket.”
Stackelbeck said investigators were searching for simple caskets because they were described in newspaper articles at the time, death certificates, and funeral home records as the type used for burials of massacre victims.
Bynum said the next search for victims will begin July 22.
“We’ll continue the search until we find everybody that we can,” Bynum said.
A lawsuit by the two known living survivors of the massacre was dismissed by the Oklahoma Supreme Court in June.
Attorneys for the two, Viola Fletcher, 110, and Lessie Benningfield Randle, 109, are asking the court to reconsider the decision. Attorneys are also asking the U.S. Department of Justice to open an investigation into the massacre under the Emmett Till Unsolved Civil Rights Crime Act of 2007, which allows for the reopening of cold cases of violent crimes against Black people committed before 1970.
date: 2024-07-13, from: VOA News USA
MONTGOMERY, Ala. — A company has installed computerized vending machines to sell ammunition in grocery stores in Alabama, Oklahoma and Texas, allowing patrons to pick up bullets along with a gallon of milk.
American Rounds said their machines use an identification scanner and facial recognition software to verify the purchaser’s age and are as “quick and easy” to use as a computer tablet. But advocates worry that selling bullets out of vending machines will lead to more shootings in the U.S., where gun violence killed at least 33 people on Independence Day alone.
The company maintains the age-verification technology means that the transactions are as secure, or more secure, than online sales, which may not require the purchaser to submit proof of age, or at retail stores, where there is a risk of shoplifting.
“I’m very thankful for those who are taking the time to get to know us and not just making assumptions about what we’re about,” CEO Grant Magers said. “We are very pro-Second Amendment, but we are for responsible gun ownership, and we hope we’re improving the environment for the community.”
There have been 15 mass killings involving a firearm so far in 2024, compared to 39 in 2023, according to a database maintained in a partnership of The Associated Press, USA Today and Northeastern University.
“Innovations that make ammunition sales more secure via facial recognition, age verification, and the tracking of serial sales are promising safety measures that belong in gun stores, not in the place where you buy your kids milk,” said Nick Suplina, senior vice president for law and policy at Everytown for Gun Safety. “In a country awash in guns and ammo, where guns are the leading cause of deaths for kids, we don’t need to further normalize the sale and promotion of these products.”
Magers said grocery stores and others approached the Texas-based company, which began in 2023, about the idea of selling ammunition through automated technology. The company has one machine in Alabama, four in Oklahoma and one in Texas, with plans for another in Texas and one in Colorado in the coming weeks, he said.
“People I think got shocked when they thought about the idea of selling ammo at a grocery store,” Magers said. “But as we explained, how is that any different than Walmart?”
Federal law requires a person to be 18 to buy shotgun and rifle ammunition and 21 to buy handgun ammunition. Magers said their machines require a purchaser to be at least 21.
The machine works by requiring a customer to scan their driver’s license to validate that they are age 21 or older. The scan also checks that it is a valid license, he said. That is followed by a facial recognition scan to verify “you are who you are saying you are as a consumer,” he said.
“At that point you can complete your transaction of your product and you’re off and going,” he said. “The whole experience takes a minute and a half once you are familiar with the machine.”
The vending machine is another method of sale, joining retail stores and online retailers. A March report by Everytown for Gun Safety found that several major online ammunition retailers did not appear to verify their customers’ ages, despite requirements.
Last year, an online retailer settled a lawsuit brought by families of those killed and injured in a 2018 Texas high school shooting. The families said the 17-year-old shooter was able to buy ammunition from the retailer who failed to verify his age.
Vending machines for bullets or other age-restricted materials is not an entirely new idea. Companies have developed similar technology to sell alcoholic beverages. A company has marketed automated kiosks to sell cannabis products in dispensaries in states where marijuana is legal.
A Pennsylvania police officer created a company about 12 years ago that places bullet-vending machines in private gun clubs and ranges as a convenience for patrons. Those machines do not have the age verification mechanism but are only placed in locations with an age requirement to enter, Master Ammo owner Sam Piccinini said.
Piccinini spoke with a company years ago about incorporating the artificial intelligence technology to verify a purchaser’s age and identity, but at the time it was cost-prohibitive, he said. For American Rounds, one machine had to be removed from a site in Tuscaloosa, Alabama, because of disappointing sales, Magers said.
Magers said much of the early interest for the machines has been in rural communities where there may be few retailers that sell ammunition. The American Rounds machines are in Super C Mart and Fresh Value grocery stores in small cities, including Pell City, Alabama, which has a population over 13,600, and Noble, Oklahoma, where nearly 7,600 people live.
“Someone in that community might have to drive an hour or an hour and a half to get supplied if they want to go hunting, for instance,” Margers said. “Our grocery stores, they wanted to be able to offer their customer another category that they felt like would be popular.”
https://www.voanews.com/a/us-grocery-stores-add-ammo-to-vending-machines/7693493.html
date: 2024-07-13, from: VOA News USA
READING, PA — Religion and politics frequently overlap in Reading, an old industrial city in one of the most pivotal swing states of this year’s presidential election.
In Pennsylvania, there is early precedent for this kind of thing. The state began as a haven for Quakers and other European religious minorities fleeing persecution. That includes the parents of Daniel Boone, the national folk hero born just miles from Reading, a town where the Latino population is now the majority.
Today, the Catholic mayor is also a migrant — and the first Latino to hold the office in Reading’s 276-year history. Mayor Eddie Moran is keenly aware of the pivotal role Pennsylvania could play in the high-stakes race, when a few thousand votes in communities like his could decide the future of the United States.
“Right now, with the growing Latino population and the influx of Latinos moving into cities such as Reading, it’s definitely an opportunity for the Latino vote to change the outcome of an election,” Moran says. “It’s not a secret anymore.”
A community of spirituality — and Latinos
In Reading, the sky is dotted with crosses atop church steeples, one after the other. Catholic church pews fill up on Sundays and many stand for the services. Elsewhere, often in nondescript buildings, evangelical and Pentecostal congregations gather to sing, pray and sometimes speak in tongues.
Outside, salsa, merengue and reggaeton music (often sung in Spanglish) blast from cars and houses along city streets first mapped out by William Penn’s sons — and that now serve a thriving downtown packed with restaurants proudly owned by Latinos.
This is a place where, when the mayor is told that his town is 65% Latino, he takes pride in saying: “It’s more like 70%.”
They believe in their political sway. A Pew Research Center survey conducted in 2022 found that eight in 10 Latino registered voters say their vote can affect the country’s direction at least “some.”
On a recent Sunday, Luis Hernandez, 65, born in Puerto Rico, knelt to pray near the altar at St. Peter the Apostle Catholic Church. Later, walking out after Mass, Hernandez said he’ll vote for Trump — even on the very day of the former president’s criminal convictions related to hush money for a porn star.
“Biden is old,” Hernandez says, and then reflects on how Trump is only a few years younger. “Yes, but you look at Trump and you see the difference. … Biden’s a good man. He’s decent. But he’s too old.”
In the weeks after he spoke, many more Americans would join in calls for Biden to withdraw from the race after his debate debacle, which crystallized growing concerns that, at 81, he’s too old.
Immigration is a key topic
It’s not just about Biden’s age or debate performance. It’s also, Hernandez says, about the border crisis. He says too many immigrants are arriving in the United States, including some he considers criminals. And, he adds, so much has changed since his Dominican-born father arrived in the 1960s — when, he says, it was easier to enter and stay in America.
For some, there are other issues as well.
“It’s the economy, immigration and abortion,” says German Vega, 41, a Dominican American who became a U.S. citizen in 2015. Vega, who describes himself as “pro-life,” voted for Trump in 2020 and plans to do so again in November.
“Biden doesn’t know what he’s saying. He doesn’t know what he’s doing, and we have a country divided,” Vega says. Trump is “a person of character. … He looks confident. He never gives up; he’s always fighting for what he believes.”
Of course, there are some here who just don’t favor taking sides — except if it’s for Jesus. Listen to Pastor Alex Lopez, a Puerto Rican who cuts hair in a barber shop on the first floor of his home on Saturdays, and preaches on the second floor on Sundays.
“We’re neutral,” he says. “We just believe in God.”
A city with deep industrial roots resurges
Reading was once synonymous with iron and steel. Those industries cemented the creation of the Reading Railroad (an early stop on the Monopoly gameboard) that helped fuel the Industrial Revolution and became, in the late 19th century, one of the country’s major corporations.
Today, the city of about 95,000 people, 65 miles northwest of Philadelphia, has a fast-increasing population. However, it is one of the state’s poorest cities, with a median household income of about $44,000, compared to about $72,000 in Pennsylvania.
Reading is 67% Latino, according to U.S. Census figures, and home to high concentrations of people of Dominican and Puerto Rican heritage — as well as Colombians and Mexicans, who own restaurants and other businesses around town.
Political candidates are taking notice of Reading’s political and economic power. The 2020 presidential election in Pennsylvania was decided by about 82,000 votes, and — according to the Pew Research Center — there are more than 600,000 eligible Latino voters in the state.
It’s true that Reading still leans mostly Democratic — Biden crushed Trump in the city by a margin of about 46 percentage points in 2020. However in that election, voting-age turnout in the city (about 35%) was significantly lower than the rest of the state (about 67%).
But the Trump campaign doesn’t want to miss out on the opportunity to turn it around. It recently teamed up with the Republican National Committee and Pennsylvania GOP to open a “Latino Americans for Trump” office in a red-brick building near the Democratic mayor’s downtown office.
Moran has made a plea to Biden and other Democrats to take notice and visit Reading before the election. It’s crucial, he says.
“I think that it’s still predominantly Democratic,” he says. “But the candidates need to come out and really explain that to the community.”
One development, Moran says, is that religious leaders are now less hesitant to get involved in politics.
“Things change, even for churches,” he says. Clergy “realize the importance that they hold as faith-based leaders and religious leaders and they’re making a call of action through their congregations.”
The message: Get out and vote
A few blocks from St. Peter’s, a crowd gathers inside First Baptist Church, which dates to the late 19th century.
In a sign of Reading’s changing demographics, the aging and shrinking congregation of white Protestants donated the building to Iglesia Jesucristo es el Rey (Church Jesus Christ is the King), a thriving Latino congregation of some 100 worshippers who have shared the building with First Baptist for nearly a decade.
Pastors Carol Pagan and her husband Jose, both from Puerto Rico, recently led prayer. At the end of the service, microphone in hand, the pastors encourage parishioners to vote in the election — irrespective of who they choose as the president.
“The right to vote is,” Carol Pagan says before her husband chimes in: “a civic responsibility.”
After the service, the congregation descends to the basement, where they share a traditional meal of chicken with rice and beans.
“I believe the principle of human rights have to do with both parties — or any party running,” Carol Pagan says. “I always think of the elderly, of the health system, of health insurance, and how it shouldn’t be so much about capitalism but more rights for all of us to be well.”
Both of the Pagans make clear that they won’t vote for Trump. They’re waiting, like others, for circumstances that might lead Biden to withdraw, so they can support another Democratic candidate.
“It’s our duty to shield that person with prayer — it doesn’t matter if that person is a Democrat or a Republican,” Carol Pagan says. “We owe them that.”
date: 2024-07-13, from: VOA News USA
NORTH CHARLESTON, South Carolina — Shalom Korai never knew his real name or his birthday. He was saved from the streets of a burning Warsaw neighborhood while he was a toddler during World War II, when the rest of his family was killed by Nazis in Poland.
He grew up and lived in Israel with no idea of his past. He never knew a hug from someone who shared his blood or his DNA — until Wednesday, when Korai walked off an airplane in the U.S. state of South Carolina and into the arms of Ann Meddin Hellman. Her grandfather was the brother of Korai’s grandfather, making them second cousins.
It’s a story that would have been impossible without modern DNA science and without a genetic test that Korai was given by a psychologist who studies children orphaned in the Holocaust.
Hellman’s ancestors came to the United States while Korai’s family stayed behind in Poland to run a family business. Decades later, they would be among the 6 million Jewish men, women and children systematically killed by the Germans in World War II.
“I feel like I’ve given somebody a new life. He’s become my child. I have to protect him and take care of him,” Hellman said, although she is a few years younger than Korai, who is about 83.
She beamed and gave Korai another hug as they waited for his luggage so they could start several days of parties with dozens of other relatives at Hellman’s Charleston home.
Korai, who speaks mostly Hebrew, couldn’t stop smiling even if he didn’t quite understand the hubbub of camera crews and Southern hospitality swirling around him. He and Hellman spoke often since the DNA breakthrough, first in letters and later on video calls several times a week.
As Hellman waited at the end of the jetway, she nervously spoke to her brother and sister. “I can’t wait to get my arms around him,” she said.
What is known of Korai’s story started with him alone. He was on a street in a burning Jewish ghetto in Warsaw in 1943 when a policeman scooped him up and took him to a convent. Nuns baptized him and started to raise him as a gentile with several other orphaned children.
Lena Kuchler-Silberman, a Jewish woman who was part of the resistance against the Nazis, heard of the children. She saved around 100 Jewish children, sometimes taking them in as she found them abandoned or alone or sometimes negotiating or paying to take them out of non-Jewish orphanages.
Korai was taken to a Jewish boarding school in Poland, then to France and eventually to Israel in 1949. He spent 35 years working on semi-trucks. Korai had three children and eight grandchildren. And he put out of his mind that he would never know his actual birthday, the name given to him at birth, how his father and mother met or what his grandfathers did for a living.
“You can’t start searching for something you know nothing about,” Korai said in Hebrew to the website for MyHeritage, the company whose DNA testing helped find his relatives.
MyHeritage offered Korai and other Holocaust orphans DNA testing in the summer of 2023. A few months later Hellman got a ping from a DNA sample she had given during her extensive research of her family tree. It was an unknown second cousin.
The name and other information was unfamiliar. On a hunch, she asked another cousin to test her DNA. It matched too. Hellman reached out to MyHeritage and requested a photo and other information. She remembers gasping when she saw Korai. He looked just like her brother.
“The picture gave it away,” Hellman said.
The connection instantly fell into place. Hellman knew a branch of her family connected to her great uncle was killed during the Holocaust. Now she knew there was a survivor.
Hellman wasn’t looking for anyone in particular when she took her DNA test, but sometimes wonderful surprises happen, said Daniel Horowitz, an expert genealogist at MyHeritage.
“All this family that he was always praying for came to him just like that,” Horowitz said.
Some mysteries remain, thanks to the Nazi annihilation of people and many records of their existence. Hellman knows the name of Korai’s aunt. “But I haven’t been able to find his parents’ names. That upsets me the most,” she said.
Hellman has learned much about her cousin. He’s shy and quiet. As Korai got off the plane Wednesday along with his travel companion and translator, Arie Bauer, he jokingly asked if he could stand behind Bauer. His friend told him to hug his family.
“It’s slowly dawning on him,” said Bauer. “He’s getting used to, little by little, a brand new family he didn’t know about.”
It wasn’t just Hellman at the airport. More than a dozen other relatives — Hellman’s brother and sister, her husband and sons, a niece, sister-in-law and cousins were there to celebrate. Dozens more were gathered at Hellman’s house for more parties and gatherings.
Korai smiled as each of his relatives hugged him. In quieter moments when they talked among themselves, he looked them over.
“He’ll get to see himself in them in a way he has never gotten to see himself before,” Hellman said. “And we get to give a family to someone who never thought one existed.”
https://www.voanews.com/a/holocaust-orphan-now-has-cousins-thanks-to-dna-tests-/7695064.html
date: 2024-07-13, from: VOA News USA
MOUNT STORM, West Virginia — Down a long gravel road, tucked into the hills in West Virginia, is a low-slung building where researchers are extracting essential elements from an old coal mine that they hope will strengthen the nation’s energy future.
They aren’t mining the coal that powered the steel mills and locomotives that helped industrialize America — and that is blamed for contributing to global warming.
Rather, researchers are finding that groundwater pouring out of this and other abandoned coal mines contains the rare earth elements and other valuable metals that are vital to making everything from electric vehicle motors to rechargeable batteries to fighter jets smaller, lighter or more powerful.
The pilot project run by West Virginia University is now part of an intensifying worldwide race to develop a secure supply of the valuable metals and, with more federal funding, it could grow to a commercial scale enterprise.
“The ultimate irony is that the stuff that has created climate change is now a solution, if we’re smart about it,” said John Quigley, a senior fellow at the Kleinman Center for Energy Policy at the University of Pennsylvania.
The technology that has been piloted at this facility in West Virginia could also pioneer a way to clean up vast amounts of coal mine drainage that poisons waterways across Appalachia.
The project is one of the leading efforts by the federal government as it injects more money than ever into recovering rare earth elements to expand renewable energies and fight climate change by reducing planet-warming greenhouse gas emissions.
For the U.S., which like the rest of the West is beholden to a Chinese-controlled supply of these valuable metals, the pursuit of rare earth elements is also a national security priority.
Those involved, meanwhile, hope their efforts can bring jobs in clean energy to dying coal towns and clean up entrenched coal pollution that has hung around for decades.
In Pennsylvania alone, drainage from coal piles and abandoned mines has turned waterways red from iron ore and turquoise from aluminum, killing life in more than 8,000 kilometers of streams. Federal statistics also show about 1,200 square kilometers of abandoned and unreclaimed coal mine lands host more than 200 million tons of coal waste.
The metals that chemists are working to extract from mine drainage here are lightweight, powerfully magnetized and have superior fluorescent and conductive properties.
One aim of the Department of Energy is to fund research that proves to private companies that the concepts are commercially viable and profitable enough for them to invest their own money.
Hundreds of millions of dollars from President Joe Biden’s 2021 infrastructure law is accelerating the effort.
Department officials hope that by the middle of the 2030s this infusion will have spawned full-fledged commercial enterprises.
The two most advanced projects funded by the department are the one in West Virginia treating mine drainage and another processing coal dug up by lignite mining in North Dakota.
The first could be an important source of a number of critical metals, such as yttrium, neodymium and gadolinium, used in catalysts and magnets. The latter could be a major source of germanium and gallium, used in semiconductors, LEDs, electrical transmission components, solar panels and electric vehicle motors.
Researchers at each site are designing a commercial-scale operation, based on their pilot projects, in hopes of landing a massive federal grant to build it out.
The alternative would be to develop new mines, disturb more land, get permits, hire workers, build roads and connect power supplies, tasks that take years.
“With acid mind drainage, that’s already done for you,” said Paul Ziemkiewicz, director of the Water Research Institute at West Virginia University.
Ziemkiewicz began the mine drainage project almost a decade ago, helped by federal subsidies. He had envisioned it as a way to treat runoff, recover critical minerals and raise money for more mine cleanups in West Virginia.
But the Biden administration’s ambitious funding for clean energy and a domestic supply of critical minerals broadened that goal.
At the facility, drainage from a one-time coal mine — now closed and covered by a grassy slope — emerges from two pipes, and dumps about 3,028 liters per minute into a retention pond.
From there the water is routed through massive indoor pools and a series of large tanks that, with the help of lime to lower the acidity, separate out most of the silicate, iron and aluminum. That produces a pale powdery concentrate that is about 95% rare earth oxides, plus water clean enough to return to a nearby creek.
The Department of Energy is funding research on coal wastes in various states.
“There are literally billions of tons of coal ash and coal waste lying around, across the country. And so if we can go back in and remine those, there’s decades worth of materials there,” said Grant Bromhal, the acting director of the Department of Energy’s Division of Minerals Sustainability.
Not only coal, but old copper and phosphate mines also hold potential, Bromhal said.
The country won’t be able to recover metals from all of them right away, but technologies the department is helping develop can satisfy a substantial part of demand in the next 20 to 30 years, Bromhal said.
“So if we get into the tens of percents or 50%, I think that’s in the realm of possibility,” he said.
Other solutions to obtain more of these metals are retrieving them from discarded devices and shifting sourcing to friendly nations and away from geopolitical rivals or unstable countries, analysts say. For now, there is only a handful of critical or rare earth mineral mines in the United States, although many more are being proposed.
One final subsidy will be required from the federal government: buy the reclaimed metals at a price that guarantees a commercially viable operation, Ziemkiewicz said.
That way China can’t simply buy up the product or use its market dominance to drive down prices and scare away private investors, he said.
Quigley, a former environmental protection secretary of Pennsylvania and a one-time small-city mayor in coal country, hopes to see a facility like Ziemkiewicz’s come to the Jeddo mine tunnel system in northeastern Pennsylvania.
The Jeddo has defied decades of efforts to treat its flow, which drains a vast network of abandoned underground mines.
It is a massive source of pollution in the Chesapeake Bay watershed, producing an estimated 114,000 to 151,000 liters per minute.
Bringing the Little Nescopeck Creek back to life could put people to work cleaning up the stream and creating recreational opportunities from a newly revived waterway, Quigley said.
“This could mean a lot to coal communities, to a lot of people in the coal region,” Quigley said. “And to the country.”
date: 2024-07-13, from: SCV New (TV Station)
The regular meeting of the William S. Hart Union High School District’s Governing Board will be held Wednesday, June 5, beginning with closed session at 6 p.m., followed immediately by the public session at 7 p.m
https://scvnews.com/july-17-hart-governing-board-regular-meeting/
date: 2024-07-13, from: SCV New (TV Station)
The Santa Clarita Planning Commission will hold its regular meeting Tuesday, July 16, at 6 p.m., in City Hall’s Council Chambers to hold a public hearing on the development proposal for the Riverview project, which is slated for the Saugus Speedway property
https://scvnews.com/july-16-planning-commission-public-hearing-for-saugus-speedway-property/
date: 2024-07-13, from: SCV New (TV Station)
The city of Santa Clarita, in partnership with SCVTV, has released the fourth episode of “Santa Clarita Spotlight,” a Shop Local series dedicated to promoting and celebrating the diverse range of local businesses within the city. If you’re looking to shake up your workout routine tune in to the latest episode
https://scvnews.com/santa-clarita-spotlight-to-highlight-fitness/
date: 2024-07-13, from: SCV New (TV Station)
Valencia Marketplace’s annual free summer concerts will be held Friday evenings 6-8 p.m.
https://scvnews.com/free-summer-sunset-concerts-at-valencia-marketplace/
date: 2024-07-13, from: VOA News USA
The NATO alliance completed its annual summit this week in Washington, celebrating its 75th anniversary and making long-term commitments of military support for Ukraine. It promised the country’s future is in NATO, while calling out China, Iran and North Korea for enabling Russian belligerence. Jeff Custer reports.
https://www.voanews.com/a/nato-summit-concludes-with-security-guarantees-for-ukraine/7696456.html
date: 2024-07-13, from: VOA News USA
DUBAI, United Arab Emirates — The United States should realize that Iran will not respond to pressure, President-elect Masoud Pezeshkian said in a statement published Saturday, in which he also highlighted his country’s friendship with China and Russia.
Pezeshkian, a relative moderate who beat a hardline rival in elections, also reiterated that Iran does not seek nuclear weapons, adding that Tehran would expand ties with neighbors and engage with Europe.
“The United States … needs to recognize the reality and understand, once and for all, that Iran does not — and will not — respond to pressure (and) that Iran’s defense doctrine does not include nuclear weapons,” Pezeshkian said in the statement, titled “My message to the new world” and published in the daily Tehran Times.
Pezeshkian, a 69-year-old heart surgeon, has pledged to promote a pragmatic foreign policy, ease tensions over now-stalled negotiations with major powers to revive a 2015 nuclear pact and improve prospects for social liberalization and political pluralism.
However, many Iranians are skeptical about his ability to fulfill his campaign promises as Supreme Leader Ayatollah Ali Khamenei, not the president, is the ultimate authority in the Islamic Republic.
“China and Russia have consistently stood by us during challenging times. We deeply value this friendship,” Pezeshkian said.
“Russia is a valued strategic ally and neighbor to Iran and my administration will remain committed to expanding and enhancing our cooperation,” he said, adding that Tehran would actively support initiatives aimed at ending the conflict in Ukraine.
“The Iranian people have entrusted me with a strong mandate to vigorously pursue constructive engagement on the international stage while insisting on our rights, our dignity and our deserved role in the region and the world.
“I extend an open invitation to those willing to join us in this historic endeavor,” Pezeshkian said.
https://www.voanews.com/a/iran-s-pezeshkian-rejects-us-pressure-praises-russia-china-/7696461.html
date: 2024-07-13, from: NASA breaking news
Just like your smartphone navigation app can instantly analyze information from many sources to suggest the best route to follow, a NASA-developed resource is now making data available to help the aviation industry do the same thing. To assist air traffic managers in keeping airplanes moving efficiently through the skies, information about weather, potential delays, […]
https://www.nasa.gov/aeronautics/digital-information-platform-could-help-improve-air-traffic/
date: 2024-07-13, from: The Signal
News release Rep. Mike Garcia, R-Santa Clarita, voted in favor of H.R. 8281, the Safeguard American Voter Eligibility (SAVE) Act, which passed the House. This bill would better ensure […]
The post Garcia supports House passage of election security bill appeared first on Santa Clarita Valley Signal.
https://signalscv.com/2024/07/garcia-supports-house-passage-of-election-security-bill/
date: 2024-07-13, from: The Signal
News release Assemblywoman Pilar Schiavo, D-Chatsworth, announced that 16 bills in her legislative package have advanced, with five bills moving onto the Senate floor, many with bipartisan support. Additionally, […]
The post 16 Schiavo bills advance appeared first on Santa Clarita Valley Signal.
https://signalscv.com/2024/07/16-schiavo-bills-advance/
date: 2024-07-13, from: SCV New (TV Station)
With a 5-0 vote Tuesday night, the Santa Clarita City Council unanimously approved an agreement with the County of Los Angeles to transfer ownership of William S. Hart Park to the city
https://scvnews.com/city-approves-hart-park-plan/
date: 2024-07-13, from: The Signal
For West Ranch High School graduate Brennan T. Leem, pursuing high achievements is nothing out of the ordinary. The 18-year-old was recently awarded a National Merit Scholarship and said the award […]
The post West Ranch graduate awarded prestigious scholarship appeared first on Santa Clarita Valley Signal.
https://signalscv.com/2024/07/west-ranch-graduate-awarded-prestigious-scholarship/
date: 2024-07-13, from: SCV New (TV Station)
Child & Family Center will present its annual Purple Walk Domestic Violence Awareness 5K on Saturday, Oct. 12 from 8-11 a.m
https://scvnews.com/oct-12-child-family-center-purple-walk-domestic-violence-awareness-5k/
date: 2024-07-13, from: VOA News USA
SANTA FE, New Mexico — A New Mexico judge brought a sudden, stunning end Friday to the involuntary manslaughter case against Alec Baldwin, dismissing it in the middle of the actor’s trial.
Judge Mary Marlowe Sommer dismissed the case with prejudice - meaning it cannot be filed again - based on the misconduct of police and prosecutors. She said evidence in the shooting in 2021 of cinematographer Halyna Hutchins on the set of the film “Rust” had been withheld from the defense
Baldwin cried, hugged his two attorneys, gestured to the front of the court, then turned to hug his crying wife, Hilaria. He climbed into an SUV outside the Santa Fe courthouse without speaking to reporters.
Baldwin, 66, could have been sentenced to 18 months in prison if convicted.
“The late discovery of this evidence during trial has impeded the effective use of evidence in such a way that it has impacted the fundamental fairness of the proceedings,” Marlowe Sommer said. “If this conduct does not rise to the level of bad faith, it certainly comes so near to bad faith to show signs of scorching.”
Marlowe Sommer had paused the trial earlier Friday while she considered the defense motion to dismiss the case over the withheld evidence.
The defense argued that prosecutors had hidden evidence about ammunition that might have been related to the shooting. Defense attorneys said they should have had the ability to determine the importance of the evidence.
The prosecution said that the ammunition was not connected to the case and had not been hidden.
The issue emerged Thursday on the second day of the actor’s trial during defense questioning of sheriff’s crime scene technician Marissa Poppell. Baldwin attorney Alex Spiro asked whether a “good Samaritan” had come into the sheriff’s office with the ammunition earlier this year after the trial of Hannah Gutierrez-Reed, the film’s armorer, for her role in Hutchins’ death. She was sentenced to 18 months in prison on an involuntary manslaughter conviction, which she is now appealing.
Baldwin’s legal team said the Santa Fe sheriff’s office took possession of the live rounds as evidence in the case but failed to list them in the “Rust” investigation file or disclose their existence to defense attorneys.
They also alleged the rounds were evidence that the bullet that killed Hutchins came from Seth Kenney, the movie’s prop supplier. Kenney has denied supplying live ammunition to the production and has not been charged in the case.
“The state’s withholding of the evidence was willful and deliberate,” Marlowe Sommer said in delivering her decision. “Dismissal with prejudice is warranted to ensure the integrity of the judicial system and the efficient administration of justice.”
Erlinda Johnson, one of the state prosecutors, had resigned from the case earlier Friday.