Penny Arcade: Comic: King Of Ruination

New Comic: King Of Ruination

Bifurcated Rivets: From FB

The Toon

Bifurcated Rivets: From FB

Shoe Shine

Bifurcated Rivets: From FB

Indifference

Bifurcated Rivets: From FB

Lovely

Bifurcated Rivets: From FB

Sheba

Recent CPAN uploads - MetaCPAN: Data-Sah-0.911

Fast and featureful data structure validation

Changes for 0.911 - 2021-12-01

  • Support dynamic default value via x.perl.default_value_rules.

Recent CPAN uploads - MetaCPAN: Mojo-IOLoop-ReadWriteProcess-0.29

Execute external programs or internal code blocks as separate process.

Changes for 0.29 - 2021-12-01T12:28:22Z

  • Enable GitHub Actions for the project
  • Fix ReadWriteProcess::Queue as regression of 1e0addb6
  • Fix race on `open3/fork` and `session->register($pid)` call -- second attempt
  • Fix `args` processing
  • Fix race of SIG{CHLD} handler setup
  • Fix _getlines() to avoid extra newline (\n) in scalar context
  • Session: Do not set SIG{CHLD} handler twice
  • Match on 'armv7l' as well as 'arm' for prctl detection

MetaFilter: prepair too wante too TIPE LYKE DIS A LOTT

15 years ago, Something Awful Forums poster Dave Bulmer (Twitter) began a multi-year attempt to fill the hearts of his fellow posters with childlike joy at Christmastime - epically silly serialized, illustrated and even musical stories filled with crossovers inspired by British childhoods past and present. And it worked. On the tenth anniversary of each, he has been preserving them on their own site. Today, the sixth and final year begins (currently only via the next/previous buttons), but to avoid spoilers, you'd better start at the beginning of Year 1. (Also, Year 5 is a special case.) It's time... to WIGGLE HE. Mannie infoes beloe the foldey! (Full disclosure: yes, that's me in the archived comments from a decade ago, but I wasn't involved in production.) Previously.

Year 5 was re-released as a single video last year, but Dave recently discovered that the first half of its audio got flattened to mono so he plans to reupload it, which may result in a DED LINKE.

A reader-participation segment from Year 4 is yet to be preserved on the site and is currently present in summary form; it is planned to be added early next year.

Dave Bulmer is currently making, among other things, a podcast about Disney and an issue-by-issue podcast about the other official Sonic the Hedgehog comics.

Given the date of Year One, it's likely that a major inspiration for the whole thing was the enormous crossover that was The Queen's Handbag (parts 1, 2, 3, 4, 5)

Why yes, the whole thing is a prequel to a particular Christmas movie.

BOOOOOOOM! – CREATE * INSPIRE * COMMUNITY * ART * DESIGN * MUSIC * FILM * PHOTO * PROJECTS: “In My Head” by Artist Alvin Ong

Open Culture: Browse a Huge Collection of Prison Newspapers: 1800-2020

“By the end of the eighteenth and the beginning of the nineteenth century, the gloomy festival of punishment was dying out… Punishment, then, will tend to become the most hidden part of the penal process.” — Michel Foucault

The study of crime in the late 1800s began with racist pseudoscience like craniometry and phrenology, both of which have made a disturbing comeback in recent years. In his 1876 book, Criminal Man, the “father of criminology,” Cesare Lombrosco, defined “the criminal” as “an atavistic being who reproduces in his person the ferocious instincts of primitive humanity and the inferior of animals.” Lombrosco believed that certain cranial and facial features correspond to a “love of orgies and the irresistible craving for evil for its own sake, the desire not only to extinguish life in the victim, but to mutilate the corpse, tear its flesh, and drink its blood.” That such descriptions preceded Bram Stoker’s Dracula by several years may be no coincidence at all.

No such thing as a natural criminal type exists, but this has not stopped 19th century prejudices from embedding themselves in law enforcement, the prison system and the culture at large in the United States. Outside of the most sensationalist cases, however, we rarely hear from incarcerated people themselves, though they’ve had plenty say about their humanity in print since the turn of the 19th century, when the first prison newspaper, Forlorn Hope, was published in New York City on March 24, 1800.

“In the intervening 200 years,” notes JSTOR, “over 500 prison newspapers have been published from U.S. prisons.” A new collection, American Prison Newspapers: 1800-2020 – Voices from the Inside, “will bring together hundreds of these periodicals from across the country into one collection that will represent penal institutions of all kinds, with special attention paid to women-only institutions.”

The U.S. incarcerates “over 2 million as of 2019” — and has produced some of the world’s most moving jail and prison literature, from Thoreau’s “Civil Disobedience” to Martin Luther King, Jr.’s “Letter from a Birmingham Jail.” The newspapers in this collection do not often feature a similar level of literary bravura, but many show a high degree of professionalism and artistic quality. “Next to the faded, home-spun pages of The Hour Glass, published at the Farm for Women in Connecticut in the 1930s,” writes JSTOR Daily’s Kate McQueen, “readers will find polished staples of the 1970s like newspaper The Kentucky Inter-Prison Press and Arizona State Prison’s magazine La Roca.”

Many, if not most, of these publications were published with official sanction, and these “cover similar ground. They report on prison programing, profile locals of interest, and offer commentary on topics like parole and education” under the watchful gaze of the warden, whose photograph might appear on the masthead. “Incarcerated journalists walk a tightrope between oversight by administrations — even censorship — and seeking to report accurately on their experiences inside,” the collection points out. Prison newspapers gave inmates opportunities to share creative work and hone newly acquired literacy, literary, and legal skills. Those periodicals that circulated underground without the authorities’ permission had no need to equivocate about their politics. Washington State Penitentiary’s Anarchist Black Dragon, for example, took a fiercely radical stance on every page. Nowhere on the masthead will one find the names of correctional officers, or even a list of editors and contributors, or even a masthead.

Whether official, unofficial, or occupying a grey area, prison periodicals all hoped in some degree to “poke holes in the wall,” as Tom Runyon, editor of Iowa State Penitentiary’s Presidio wrote — reaching audiences outside the prison to refute criminological thinking. Arizona State Prison’s The Desert Press, led its January 1934 issue with the pressing headline “Are Convicts People?” (likely after Alice Duer Miller’s satirical 1904 “book of rhymes for suffrage times,” Are Women People?)  Lawrence Snow, editor of Kentucky State Penitentiary’s Castle on the Cumberland, picked up the question with more formality in a 1964 column, asking, “How shall [a prison publication] go about its principal job of convincing the casual reader that convicts, although they have divorced themselves temporarily from society, still belong to the human race?” Given that the United States imprisons more people than any other nation in the world, the question seems more pertinent — urgent even — than ever before. Enter the American Prison Newspapers collection here.

via Kottke

Related Content: 

On the Power of Teaching Philosophy in Prisons

Prisons Around the U.S. Are Banning and Restricting Access to Books

Bertrand Russell’s Prison Letters Are Now Digitized & Put Online (1918 – 1961)

Patti Smith Reads from Oscar Wilde’s De Profundis, the Love Letter He Wrote From Prison (1897)

Josh Jones is a writer and musician based in Durham, NC. Follow him at @jdmagness

Browse a Huge Collection of Prison Newspapers: 1800-2020 is a post from: Open Culture. Follow us on Facebook and Twitter, or get our Daily Email. And don't miss our big collections of Free Online Courses, Free Online Movies, Free eBooksFree Audio Books, Free Foreign Language Lessons, and MOOCs.

Open Culture: How Drummer Moe Tucker Defined the Sound of the Velvet Underground

A high school girl from Levittown, New York, the country’s first suburb, Maureen “Moe” Tucker hardly fit the profile of a rock star in one of the most influential bands of the 1960s. Then again, neither did any of the members of the Velvet Underground. Lou Reed, John Cale, Sterling Morrison, and Tucker had barely begun before Andy Warhol introduced them to Nico and billed them as the Exploding Plastic Inevitable, and it was Warhol who helped turn them into cult heroes. But Tucker made them sound like no one else. “Her style of drumming, that she invented” Reed once remarked, “is amazing. I’ve tried to get a drummer to do what she did and it’s impossible.” Her approach to Reed’s songs was a “mix of African trance rhythms and Ringo-like arrangement genius,” Adam Budofsky writes at Modern Drummer. “Her playing style was hugely responsible for the Velvet’s singular personality.”

Listen, for example, to 1970’s Loaded — which Tucker sat out due to pregnancy — next to The Velvet Underground & Nico, White Light/White Heat, or The Velvet Underground. Loaded, the only Velvet Underground album never to go out of print, may be called by some a “near-perfect rock album,” but it’s also the least experimental and least interesting of the band’s four studio releases, the sound of the band without Cale and Tucker, reaching for radio hits. The Velvet Underground with Moe Tucker, on the other hand, was the sound of a band that was constantly falling apart while rooting down into a primal rock and roll that would outlast them. It’s sublime, and Tucker deserves her reputation as “one of the head hypnotists,” in the words of Jonathan Richman.

Her contribution was as much youthful enthusiasm and nerve as raw talent. Compelled to play the drums by a love for the Rolling Stones, the Beatles, and Nigerian drummer Babatunde Olatunji, she might have banged away in unremarkable Long Island cover bands in her youth, becoming a more traditional player, had not Reed, who knew her brother, given her the chance to play the first paying VU gig at Summit High School in New Jersey. As she remembers it in the punk oral history project Please Kill Me:

I was a nervous wreck when we played that show. We were allowed to play three songs and we had practiced them at John Cale’s loft. We played, “Waiting For the Man,” “Heroin,” and I think the third one was “Venus In Furs.” 

Our set was only about 15 minutes at the most and in each song something of mine broke. All my stuff was falling apart! The foot pedal broke in one song, the leg of the floor tom started going loose. I thought, Oh shit, I’m going to ruin this!

Instead of ruin, what followed were more gigs and a period of experimentation in which Tucker, who started with only a snare, tried out different configurations of the drum kit in long jam sessions at Warhol’s Factory: playing her bass drum with mallets on the floor, then on chairs while standing up, eschewing cymbals altogether, making judicious use of tom toms and tambourines, playing a few memorable shows with trashcans when her drums were stolen…. She had no training, no one in the band told her she was doing it wrong, and so she was free to reinvent the drums her way.

As you’ll see in the thorough documentary above, Foundation Velvet, by Cam Forrester, Tucker’s way was exactly what the Velvets needed to recreate rock and roll in their image. She had a “discipline with regards to playing the song, and not the instrument,” Forrester says. You’ll also see him recreate Tucker’s instrumentation. In the timestamps below, click on the demonstrations to see her drum setup for each track on the band’s first three albums.

Quotes/Introduction – 0:00
Background & musical beginnings – 3:50
“Tucker’s sister plays drums?” – 6:14
Andy Warhol, ‘The Factory’, and Nico – 9:07
The ‘Exploding Plastic Inevitable’ Shows – 12:46
A female drummer? – 15:09
‘The Velvet Underground & Nico’ Sessions – 17:38
DRUM DEMONSTRATIONS – 21:22
Goodbye to Nico & Andy…hello to VOLUME! – 25:02
‘White Light/White Heat’ & DRUMMING DEMONSTRATIONS – 28:18
John Cale leaves, and Doug Yule joins – 34:35
The third album & DRUMMING DEMONSTRATIONS – 37:07
‘Loaded’, band breakup, and solo career – 43:09
Moe’s heroic return to the drums – 45:58
Retirement from the music business – 53:48
Influence & legacy – 54:28
“A natural drummer…” – 57:03

One can approximate Tucker’s style and reconstruct her influences, as Forrester has done here brilliantly, but there will never be another drummer like her.

Related Content: 

The Velvet Underground: Get a First Glimpse of Todd Haynes’ Upcoming Documentary on the Most Influential Avant-Garde Rockers

The Velvet Underground & Andy Warhol Stage Proto-Punk Performance Art: Discover the Exploding Plastic Inevitable (1966)

Watch The Velvet Underground Perform in Rare Color Footage: Scenes from a Vietnam War Protest Concert (1969)

Watch Footage of the Velvet Underground Composing “Sunday Morning,” the First Track on Their Seminal Debut Album The Velvet Underground & Nico (1966)

Andy Warhol Explains Why He Decided to Give Up Painting & Manage the Velvet Underground Instead (1966)

Josh Jones is a writer and musician based in Durham, NC. Follow him at @jdmagness

How Drummer Moe Tucker Defined the Sound of the Velvet Underground is a post from: Open Culture. Follow us on Facebook and Twitter, or get our Daily Email. And don't miss our big collections of Free Online Courses, Free Online Movies, Free eBooksFree Audio Books, Free Foreign Language Lessons, and MOOCs.

Hackaday: Korean Facial Recognition Project Faces Opposition

It was discovered last month that a South Korean government project has been providing millions of facial images taken at Incheon International Airport to private industry without the consent of those photographed. Several civic groups called this a “shocking human rights disaster” in a 9 Nov press conference, and formally requested that the project be cancelled. In response, the government has only promised that “the project would be conducted at a minimum level to ensure personal information is not abused”. These groups are now planning a lawsuit to challenge the project.

Facial information and other biometric data aren’t easily altered and are unique to the individuals concerned. If this data were to be leaked, it would constitute a devastating infringement upon their privacy. It’s unheard of for state organizations — whose duty it is to manage and control facial recognition technology — to hand over biometric information collected for public purposes to a private-sector company for the development of technology.

The program itself wasn’t secret, and had been publicly announced back in 2019. But the project’s scope and implementation weren’t made clear until a lawmaker recently requested documents on the project from the responsible government agencies. The system, called the Artificial Intelligence and Tracking System Construction Project, was a pilot program set to run until 2022. Its goals were to simplify the security and immigration screening of passengers, improve airport security, and to promote the local AI industry in South Korea. If the project proves successful, the plan is to expand it to other airports and ports in the country.

Current systems at the airport do one-to-one facial recognition. For example, they try to determine whether the face of the person presenting a passport matches the photo in the passport. The goal of this new project was to develop one-to-many matching algorithms, which can match one face against the plethora of faces in an airport, track the movement of a face within the airport, and flag “suspicious” activities which could be a security concern.

The groups protesting the project note that the collection and sharing of these images without the travelers’ consent is prohibited by the Personal Information Protection Act, the South Korean law which governs such things. Under this act, a project like this would ordinarily require consent of the participants. But the government’s interpretation relies on an exception in the act, specifically, Article 15 Section 3, which states:

A personal information controller may use personal information without the consent of a data subject within the scope reasonably related to the initial purpose of the collection

Basically they are saying that since the images were collected at the security and immigration checkpoints, and that the project will be using them to improve the security and immigration checkpoints, no consent is required.

  • Foreigners: 120 million individuals, face image, nationality, gender, age
  • Korean citizens: 57.6 million individuals, face image, nationality, gender, age
  • Other: unknown number of individuals, images and videos of atypical behavior and travelers in motion

The breakdown of the numbers above reveals that 57 million Korean citizens are in the data set, a bit surprising to many since the collection of biometric data on Korean citizens at immigration is prohibited by law. The project circumvented this by only collecting data from citizens who participate in the automated Smart Entry service, a voluntary program which uses fingerprints and facial recognition. It’s interesting to note that the number of passengers using Incheon airport since May 2019 (the program was announced 30 Apr 2019) is only 62 million, so the average passenger appears approximately three times in the data set.

Are there any similar programs in your region? How do they handle the issue of consent, if at all? Let us know in the comments below.

[Banner image: “Customer uses facial recognition as identification at TSA security checkpoint” by DeltaNewsHub, CC BY 2.0  — Yes, it’s from another country with similar problems, but much less public outcry. Discuss in the comments!]

MetaFilter: David Gulpilil Ridjimiraril Dalaithngu

David Gulpilil Ridjimiraril Dalaithngu , acclaimed Australian actor, died on November 29 at the age of 68.

David Gulpilil was from the Mandhalpingu clan of the Yolŋu people, and was raised in the traditional ways in Arnhem Land. He was an actor, dancer, singer and painter.

David Gulpilil rose to fame as a child star with his first film Walkabout in 1971. He went on to perform roles in a range of films including Mad Dog Morgan, Storm Boy, The Last Wave, Crocodile Dundee, The Tracker, Rabbit Proof Fence, Ten Canoes and Charlie's Company, to name a few.

For those concerned, permission has been granted for his name and image to be used after his death, in accordance with his wishes.

Once-in-a-generation' actor David Dalaithngu dies

Actor David Gulpilil Ridjimiraril Dalaithngu dies aged 68

Tributes pour in for pioneering indigenous actor David Gulpilil who died aged 68 after battle with lung cancer

Recent additions: zoovisitor 0.1.7.0

Added by lyndward, 2021-12-01T10:59:19Z.

A haskell binding to Apache Zookeeper C library(mt) using Haskell Z project.

Recent additions: mason 0.2.5

Added by FumiakiKinoshita, 2021-12-01T10:25:41Z.

Fast and extensible bytestring builder

Recent additions: vector-extras 0.2.2.2

Added by NikitaVolkov, 2021-12-01T10:23:26Z.

Utilities for the "vector" library

Open Culture: What Movies Teach Us About Mozart: Exploring the Cinematic Uses of His Famous Lacrimosa

In the annals of surprisingly impressive IMDb pages, few can surpass that of Wolfgang Amadeus Mozart. Despite having died a century before the birth of cinema, he has racked up and continues to rack up more composer credits each and every year. Many of these owe to the use of one piece, indeed one movement, in particular: the Lacrimosa from his Requiem, which contains the very last notes he ever wrote. “We should probably expect some of these uses to have a somber, funereal quality, and they do,” says Evan Puschak, better known as the Nerdwriter, in the new video essay above. In Amadeus, Miloš Forman’s film about the composer himself, the piece accompanies a sequence showing “Mozart’s dead body being unceremoniously transported and dumped into a mass grave.”

The shortcomings of Mozart’s burial have surely been compensated for by the glories of his legacy. But that legacy includes all manner of uses of the Lacrimosa in film and television, both glorious and inglorious. Given its “sense of both suspense and inevitability, which is a unique and potent combo,” it typically scores scenes of violence and villainy.

“The repeated association of Lacrimosa with evil conditions us to think of evil when we hear it, to the point that filmmakers choose it as a kind of shorthand, drawing on our memories of its past uses.” Eventually this hardened into cinematic convention, ultimately becoming “such a trope that it works brilliantly for parody and satire too,” as in The Big Lebowski‘s meeting of its two titular figures. (Note that the music becomes muffled when the Dude leaves the room, implying that Lebowski had actually put it on himself.)

Elsewhere, the Lacrimosa has been marshaled to evoke such emotions as loneliness, desperation, and reckoning — and even, in one of Puschak’s more recent examples, “the immense, unruly power of the social internet.” If such a phenomenon would be difficult to explain to Mozart himself, imagine showing him the television series The Good Fight, where “Lacrimosa amplifies the comedy of a scene in which the lawyers get their hands on Donald Trump’s alleged ‘pee tape.'” But Mozart obviously understood full well the underlying artistic principles at work: Amadeus also depicts him composing the Dies Irae, another of the Requiem‘s movements, whose melody he adapts from a thirteenth-century Gregorian funeral mass. Even in his time, the music of the past offered a means of heightening the feelings of the present. 

Related Content:

The Creepy 13th-Century Melody That Shows Up in Movies Again & Again: An Introduction to “Dies Irae”

The Wicked Scene in Amadeus When Mozart Mocked the Talents of His Rival Antonio Salieri: How Much Does the Film Square with Reality?

Animation Pioneer Lotte Reiniger Adapts Mozart’s The Magic Flute into an All-Silhouette Short Film (1935)

How Sergio Leone Made Music an Actor in His Spaghetti Westerns, Creating a Perfect Harmony of Sound & Image

Why Marvel and Other Hollywood Films Have Such Bland Music: Every Frame a Painting Explains the Perils of the “Temp Score”

Hear All of Mozart in a Free 127-Hour Playlist

Based in Seoul, Colin Marshall writes and broadcasts on cities and culture. His projects include the book The Stateless City: a Walk through 21st-Century Los Angeles and the video series The City in Cinema. Follow him on Twitter at @colinmarshall or on Facebook.

What Movies Teach Us About Mozart: Exploring the Cinematic Uses of His Famous Lacrimosa is a post from: Open Culture. Follow us on Facebook and Twitter, or get our Daily Email. And don't miss our big collections of Free Online Courses, Free Online Movies, Free eBooksFree Audio Books, Free Foreign Language Lessons, and MOOCs.

Hackaday: Nuclear Missile Silo Keyboard Re-Launched In USB

The Operator Input Device in a Minuteman II Missile Silo computer

When [jns] and their colleague came across an industrial or possibly military grade keyboard/trackball combo on eBay, their minds did the same backflips that yours or mine might. Enthralled by the specialty key caps, the custom layout, and companion trackball adorned with its own keys rather than buttons [jns] and his workmate they did the only thing that infatuated hackers can do: They each bought one! [jns]’s goal? Make it work via USB.  Everything’s been documented in both software and in a very well done video that you can see below the break.

The OID in its natural habitat, a Minuteman Missile installation
The OID its its natural habitat, a Minuteman III installation (U.S. Air Force photo)

After doing some digging, they found that the keyboard and trackball combination was used in Minuteman III nuclear missile silos beginning in the early 1990’s, when the REACT program replaced aging cold war era computers and communications systems with simpler, more flexible systems.

Since the eBay auction came with only the keyboard and trackball, and not the entire Minuteman III outfit, using the new keyboard in its native habitat and wielding nuclear launch capabilities was right out the door. Instead, [jns] focused on reverse engineering the keyboard and trackball, collectively known as the OID (Operator Input Device) for use via USB.

In the video, [jns] goes into more detail about the discovery of reed switched keys, the RS422 protocol being used, blowing up an Arduino Pro Micro, and even repairing the aging trackball. Success was had, and he’s graciously shared the software and hardware design with the world.

If industrial and military grade control hardware gets your hacker juices flowing, you’ll not want to miss that time we covered a control console from a nuclear power plant for sale. Have you been working on any tantalizing, weird, obscure keyboards or equipment with far too many buttons and blinkenlights for your own good? Be sure to let us know about it via the Tip Line!

Recent CPAN uploads - MetaCPAN: App-optex-rpn-1.01

Reverse Polish Notation calculation

Changes for 1.01 - 2021-11-15T10:04:45Z

  • original version

Recent CPAN uploads - MetaCPAN: BenchmarkAnything-Evaluations-0.004

Evaluation support for BenchmarkAnything data

Changes for 0.004 - 2021-12-01

  • switch from PDLA to PDL

Recent additions: vulkan 3.14.1

Added by jophish, 2021-12-01T07:05:24Z.

Bindings to the Vulkan graphics API.

Slashdot: Wanted: A Town Willing to Host a Dump for U.S. Nuclear Waste

The Biden administration is looking for communities willing to serve as temporary homes for tens of thousands of metric tons of nuclear waste currently stranded at power plants around the country. Bloomberg reports: The Energy Department filed (PDF) a public notice Tuesday that it is restarting the process for finding a voluntary host for spent nuclear fuel until a permanent location is identified. "Hearing from and then working with communities interested in hosting one of these facilities is the best way to finally solve the nation's spent nuclear fuel management issues," Energy Secretary Jennifer Granholm said in a statement. The agency, in its notice, requested input on how to proceed with a "consent-based" process for a federal nuclear storage facility, including what benefits could entice local and state governments and how to address potential impediments. Federal funding is also possible, the notice said. Approximately 89,000 metric tons of nuclear waste is being stored at dozens of nuclear power plants and other sites around the country. [...] One such interim storage site could be in Andrews, Texas. The Nuclear Regulatory Commission in September approved a license for a proposal by Orano CIS LLC and its joint venture partner, J.F. Lehman & Co.'s Waste Control Specialists LLC, to establish a repository in the heart of Texas' Permian Basin oil fields for as many as 40,000 metric tons of radioactive waste. The joint venture envisioned having nuclear waste shipped by rail from around the country and sealed in concrete casks where it would be stored above ground at a site about 30 miles (48.28 kilometers) from Andrews. But the plan has drawn opposition from Texas authorities and local officials who once embraced it as an economic benefit but have since had a change of heart. A similar nuclear waste storage project, proposed in New Mexico by Holtec International Corp., is awaiting approval by the Nuclear Regulatory Commission. The agency said it expects to make a decision on that proposal in January 2022.

Read more of this story at Slashdot.

Recent additions: advent-of-code-api 0.2.8.1

Added by jle, 2021-12-01T06:40:05Z.

Advent of Code REST API bindings and servant API

Recent CPAN uploads - MetaCPAN: App-DBBrowser-2.290

Browse SQLite/MySQL/PostgreSQL databases and their tables interactively.

Changes for 2.290 - 2021-12-01

  • Raised the Perl minimum version to '5.014'.
  • Use the '/r' option for non-destructive substitution.

MetaFilter: First they came for our news, then our homes, now our pets

There are many reasons life is unaffordable for many Americans. Stagnant wages and the high costs of housing and healthcare have been well covered by the media. What there's been less writing about is how private equity has impacted the houses we live in, the news we read and even how we care for our pets. Mass changes in ownership overtaking entire economic sectors raise important questions for Americans: Should we be pressuring our politicians to create policy that ensures whole industries don't get eaten up by the investor class? If so, at what point should we intervene?

Once upon a time, homebuyers bought houses. Now investors do: According to Housingwire, in the first quarter of 2021, "[o]ne of every five low-priced homes that sold in the U.S. (20.8%) was purchased by an investor, compared to 12.5% of high-priced homes and 11.3% of mid-priced homes." Vox begs to differ on the importance of the investor trend. They give a nuanced view of the many factors affecting supply and demand in "Wall Street isn't to blame for the chaotic housing market."

When it comes to newspapers, however, things are more clear cut. It used to be that local newspapers were owned by families. Now they're increasingly owned by a type of investor referred to as "vulture capitalists." "Today, half of all daily newspapers in the U.S. are controlled by financial firms, according to an analysis by the Financial Times, and the number is almost certain to grow...The [business] model is simple: gut the staff, sell the real estate, jack up subscription prices, and wring out as much cash as possible."

Healthcare for pets is the most egregious example of a covert industry takeover. "Last year, in the U.S., spending in the veterinary care market totaled $31 billion. Today we spend more than double what we did a decade ago on our pets." There's a reason for that. In recent years, "[c]orporate and even private equity money from everywhere from Goldman Sachs to Mars to JAB Holdings (ph), which is the parent company of Krispy Kreme, has been pouring into the vet industry." Of the approximately "6,000 small- to medium-sized vet practices and hospitals in the U.S., the kind that have at least two or three full-time vets on staff ... 5,000 of them are now owned by big corporations. You might not know it because a lot of them like to keep that small business look and feel. But many are consolidating or even buying and flipping them, and that is having an impact on independent vets" and pet owners.

Hackaday: Running Octoprint on a PinePhone Turns Out to be Pretty Easy

3D printer owners have for years benefitted from using Octoprint to help manage their machines, and most people run Octoprint on a Raspberry Pi. [Martijn] made it run on his PinePhone instead, which turned out to be a surprisingly good fit for his needs.

While [Martijn] was working out exactly what he wanted and taking an inventory of what Raspberry Pi components and accessories it would require, it occurred to him that his PinePhone — an open-source, linux-based mobile phone — would be a good candidate for his needs. It not only runs Linux with a touchscreen and camera, but even provides USB, ethernet, and separate DC power input via a small docking bar. It looked like the PinePhone had it all, and he was right. [Martijn]’s project page gives a walkthrough of the exact steps to get Octoprint up and running, and it even turns out to not be particularly difficult.

[Martijn] is no stranger to hacking his PinePhone to do various things; we’ve already seen him add thermal imaging to his PinePhone. For those of you who are intrigued by the idea but don’t own a PinePhone? Check out the octo4a project, which allows running Octoprint on Android phone hardware.

MetaFilter: The Yamaha DX7 synthesizer's clever exponential circuit, reverse-enginee

The Yamaha DX7 synthesizer's clever exponential circuit, reverse-engineered [Ken Shirriff's blog] "The Yamaha DX7 digital synthesizer was released in 1983 and became extremely popular, defining the sound of 1980s pop music. [technical chip information] In this blog post, I examine this circuit—implemented by a ROM, shifter, and other circuitry—in detail and extract the ROM's data."

Includes an astounding microscopic photo of the chipset that can be blown up big enough to see individual transistors.

MetaFilter: What Whale Barnacles Know

In the grand scheme of things, Michael Moore regrets losing his sense of smell decades ago as the result of chemical exposure in veterinary school. It may have spared him some discomfort, though, on the day in September 2010 when he arrived on a beach in Massachusetts to examine the colossal decaying carcass of a washed-up humpback whale... He did see one sign of life, however: clusters of freeloading whale barnacles, embedded in the whale's skin like calcium carbonate body piercings. Their shells clicked softly as they extended their feathery back legs, sweeping the air for plankton that were no longer floating by. For generations, these hitchhikers have been recording details about their hosts and their ocean home. (SLHakai)

Slashdot: Princeton Team Disables Long-Targeted Gene Behind Spread of Major Cancers

An anonymous reader writes: The mysterious ways cancer spreads through the body, a process known as metastasis, is what can make it such a difficult enemy to keep at bay. Researchers at Princeton University working in this area have been tugging at a particular thread for more than 15 years, focusing on a single gene central to the ability of most major cancers to metastasize. They've now discovered what they describe as a "silver bullet" in the form of a compound that can disable this gene in mice and human tissue, with clinical trials possibly not too far away. This discovery has its roots in 2004 research in which Princeton scientists identified a gene implicated in metastatic breast cancer, called metadherin, or MTDH. A 2009 paper by cancer biologist Yibin Kang then showed the gene was amplified and produced abnormally high levels of MTDH proteins in around a third of breast cancer tumors, and was central to not just the process of metastasis, but also the resistance of those tumors to chemotherapy. Subsequent research continued to shed light on the importance of the MTDH gene, demonstrating how it is critical for cancer to flourish and metastasize. Mice engineered to lack the gene grew normally, and those that did get breast cancer featured far fewer tumors -- and those tumors that did form didn't metastasize. This was then found to be true of prostate cancer, lung cancer, colorectal cancer, liver cancer and many other cancers. The crystal structure of MTDH shows the protein has a pair of protrusions likened to fingers, which interlock with two holes in the surface of another protein called SND1. This is "like two fingers sticking into the holes of a bowling ball," according to Kang, and the scientists suspected if this intimate connection could be broken, it could go a long way to dampening the harmful effects of MTDH. "We knew from the crystal structure what the shape of the keyhole was, so we kept looking until we found the key," Kang says. The team spent two years screening for the right molecules to fill these holes without any great success, until they landed on what they say is a "silver bullet." The resulting compound plugs these voids and prevents the proteins from interlocking, with profound anti-cancer effects that resemble those seen in the MTDH-deficient mice from their earlier work. "The scientists say that MTDH assists cancer in two primary ways, by helping tumors endure the stresses of chemotherapy and by silencing the alarm that organs normally sound when a tumor invades them," adds New Atlas. "By interlocking with the SND1 protein, it prevents the immune system from recognizing the danger signals normally generated by cancerous cells, and therefore stops it from attacking them. The team is now working to refine the compound, hoping to improve its effectiveness in disrupting the connection between MTDH and SND1 and lower the required dosage. [T]hey hope to be ready for clinical trials on human patients in two to three years." The research has been published across two papers in the journal Nature Cancer.

Read more of this story at Slashdot.

Hackaday: Turbo Rascal is the Retro Pascal Compiler We Always Wanted

Pascal is not one of the biggest programming languages these days; it’s fallen into the background as the world moved on to newfangled things like C#, Python and Java. However, the language has its fans, one of whom put together a new compiler which targets retro platforms – and it goes by the name Turbo Rascal.

The list of supported platforms is extensive, with Turbo Rascal able to compile highly-optimized binaries for the C64, Amiga 500, BBC Micro, IBM PC, Atari ST, Game Boy, Amstrad, NES, ZX Spectrum, and more. There’s a usable IDE and even an included graphics editor for getting projects put together quickly. Also known by its full name of Turbo Rascal Syntax Error, or TRSE, it’s the work of one [Nicolaas Groeneboom].

The compiler runs on 64-bit Windows, Linux, and OS X, and there are extensive tutorial videos available on YouTube, too. Thus, there’s no excuse not to start developing a new retro game immediately. Check out the demo video below, and remember – as long as we keep using it, Pascal isn’t dead!

Slashdot: Over 300,000 Android Users Have Downloaded These Banking Trojan Malware Apps, Say Security Researchers

Over 300,000 Android smartphone users have downloaded what turned out to be banking trojans after falling victim to malware that has bypassed detection by the Google Play app store. ZDNet reports: Detailed by cybersecurity researchers at ThreatFabric, the four different forms of malware are delivered to victims via malicious versions of commonly downloaded applications, including document scanners, QR code readers, fitness monitors and cryptocurrency apps. The apps often come with the functions that are advertised in order to avoid users getting suspicious. In each case, the malicious intent of the app is hidden and the process of delivering the malware only begins once the app has been installed, enabling them to bypass Play Store detections. The most prolific of the four malware families is Anatsa, which has been installed by over 200,000 Android users -- researchers describe it as an "advanced" banking trojan that can steal usernames and passwords, and uses accessibility logging to capture everything shown on the user's screen, while a keylogger allows attackers to record all information entered into the phone. [...] The second most prolific of the malware families detailed by researchers at ThreatFabric is Alien, an Android banking trojan that can also steal two-factor authentication capabilities and which has been active for over a year. The malware has received 95,000 installations via malicious apps in the Play Store. [...] The other two forms of malware that have been dropped using similar methods in recent months are Hydra and Ermac, which have a combined total of at least 15,000 downloads. ThreatFabric has linked Hydra and Ermac to Brunhilda, a cyber-criminal group known to target Android devices with banking malware. Both Hydra and Ermac provide attackers with access to the device required to steal banking information. ThreatFabric has reported all of the malicious apps to Google and they've either already been removed or are under review.

Read more of this story at Slashdot.

Disquiet: Fernando Pessoa (1888 – 1935)

Today marks the 86th anniversary of the death of poet Fernando Pessoa (June 13, 1888 – November 30, 1935), author of Livro do Desassossego, known to monolingualist English speakers (such as myself) under the title The Book of Disquiet.

Slashdot: Browser Extension Shows How Many Brands On Amazon Are Actually Just Amazon

A new browser extension promises to show you which products in your Amazon search results are sold by brands that are either owned by or are exclusive to Amazon, giving you a better idea of who's selling what you're buying. The Verge reports: It's called Amazon Brand Detector, and it uses a list of Amazon brands created by The Markup, along with filters and other techniques (detailed here) to detect and highlight products that are a part of Amazon's Our Brands program. The Markup created this extension after its investigation into how Amazon ranks its in-house brands in search results and says the tool (available for Chrome-like browsers and Firefox) is designed to make searches more transparent. When we tested it, it obviously highlighted Amazon Basics and Essentials products, but it also drew attention to results that were otherwise indistinguishable from ones not affiliated with Amazon: a dog leash labeled as being made by Panykoo, socks by Teebulen, a sweater by Ofeefan. While Amazon marked some of those results as "featured from our brands," that wasn't the case for all of them. That advisory text is also small and grey, making it easy to miss if you're casually browsing (especially since there may not be any notice of the affiliation on the actual product page), and it didn't show up on every result the tool highlighted. Amazon isn't necessarily shadowy about these brands: it has a page that lists its "private and select exclusive brands," many of which have legit-sounding names: Happy Belly, Wag, Nature's Wonder. Some are private labels owned by Amazon, where some are "curated selections" sold exclusively on Amazon but not necessarily operated by the company. According to The Markup, the extension "does not collect any data" and should be compatible with other extensions.

Read more of this story at Slashdot.

Slashdot: 'Massive' Startup Wants To Rent Your Spare Compute Power To Pay For Apps

What if users could pay for apps or services not with money or attention, but with their spare compute power? A startup called "Massive" is working to take this concept "into the modern world as an alternative to charging users or pounding them with advertisements to generate revenue," writes TechCrunch's Alex Wilhelm. From the report: Massive announced an $11 million round this morning, led by Point72 Ventures with participation from crypto-themed entities, including CoinShares Ventures and Coinbase Ventures. Several angels also participated in the funding event. The model is interesting, and Massive's funding round is an indication that it has found some market traction. So, we get the company on the horn to learn more. Massive co-founder and CEO Jason Grad described the startup's work as something akin to an Airbnb or Turo for users' computers, comparing its service to some of the more popular consumer-sharing startups that folks already know. It's a reasonable comparison. Some 50,000 desktop computer users -- nodes, in the company's parlance -- have opted into its service. Which is white hat, it goes without saying. Given that Massive is asking for compute power, it will have constant work to do to ensure that it is a good steward of user trust and partner selection; no one wants their spare CPU cycles to go to something illegal. The company has a good early stance toward caring for its nascent compute exchange, with a hard requirement of getting users to opt into its service before joining. To start, Massive is working with crypto-focused companies. They have an obvious need for compute power, and the work they execute -- running blockchain calculations -- is monetized through block rewards and other fees, making them easy choices for partnerships. You can now see why the company's investor list includes a number of crypto-focused venture capital firms. The startup's goal is broader, however. It wants to build a two-sided marketplace for compute power, Grad explained. That means lots more users offering up a slice of their computing power, future acceptance of mobile devices, and a broader partner list. Part of the company's perspective is rooted in the belief that the dominant business models of the internet today are lacking. "Shit," to quote Grad directly.

Read more of this story at Slashdot.

Hackaday: Recycled Parts Round Out Soap Shaped Electric Car

Hong Kong Hacker Builds Electric Vehicle From Waste

[Handy Geng] has a knack for fitting his creations with a large percentage of recycled material. And as is exemplified by the video below the break, he also loves to mix the practical with the whimsical.

Using parts salvaged from motor scooters, trash heaps, and likely many other sources, [Handy] has put together a small vehicle that he himself describes as looking like a bar of soap as it slips across the floor. You’ll agree when you see the independent front and rear steering at work, allowing the car’s front and rear to be driven and steered on their own. Crabbing sideways, driving diagonally, and we’re guessing spinning in place are possible.

What’s also clear in the video below is that [Handy] is a talented fabricator. While not taking himself too seriously (keep an eye out for the 360° selfie cam!) he clearly takes pride in the work. [Handy]’s workshop and skill set show that at the core, he’s quite serious about his craft. We appreciate the creative use of scrap materials used in such an inspiring build. The turn signals and “communicator” hand is absolutely marvelous.

If building with recycled materials is your thing, then you’ll love the Trash Printer, too. Thanks to [Fosselius] for the tip!

Daniel Lemire's blog: Can you safely parse a double when you need a float?

In C as well as many other programming languages, we have 32-bit and 64-bit floating-point numbers. They are often referred to as float and double. Most of systems today follow the IEEE 754 standard which means that you can get consistent results across programming languages and operating systems. Hence, it does not matter very much if you implement your software in C++ under Linux whereas someone else implements it in C# under Windows: if you both have recent systems, you can expect identical numerical outcomes.

When you are reading these numbers from a string, there are distinct functions. In C, you have strtof and strtod. One parses a string to a float and the other function parses it to a double.

At a glance, it seems redundant. Why not just parse your string to a double value and cast it back to a float, if needed?

Of course, that would be slightly more expensive. But, importantly, it is also gives incorrect results in the sense that it is not equivalent to parsing directly to a float. In other words, these functions are not equivalent:

float parse1(const char * c) {
    char * end;
    return strtod(c, &end);
}

float parse2(const char * c) {
    char * end;
    return strtof(c, &end);
}

It is intuitive that if I first parse the number as a float and then cast it back to a double, I will have lost information in the process. Indeed, if I start with the string “3.14159265358979323846264338327950”, parsed as a float (32-bit), I get 3.1415927410125732421875. If I parse it as a double (32-bit), I get the more accurate result 3.141592653589793115997963468544185161590576171875. The difference is not so small, about 9e-08.

In the other direction, first parsing to a double and then casting back to a float, I can also lose information, although only a little bit due to the double rounding effect. To illustrate, suppose that I have the number 1.48 and that I round it in one go to the nearest integer: I get 1. If I round it first to a single decimal (1.5) and then to the nearest integer, I might get 2 using the usually rounding conventions (either round up, or round to even). Rounding twice is lossy and not equivalent to a single rounding operation. Importantly, you lose a bit of precision in the sense that you may not get back the closest value.

With floating-point numbers, I get this effect with the string “0.004221370676532388” (for example). You probably cannot tell unless you are a machine, but parsing directly to a float is 2e-7 % more accurate.

In most applications, such a small loss of accuracy is not relevant. However, if you ever find yourself having to compare results with another program, you may get inconsistent results. It can make debugging more difficult.

Colossal: Meticulous Sculptures by Artist Carol Long Highlight the Curved Lines and Colorful Embellishments Found in Nature

All images © Carol Long, shared with permission

Honoring the humble shape of the vessel is at the center of Carol Long’s practice. From her studio in rural Kansas, the artist throws simple ceramic cylinders that she contorts into supple butterfly wings,  curved chrysalises, or vases with embellished handles.“When it comes off the potter’s wheel, that’s just the beginning,” she tells Colossal. “I usually sit for a second and look at the piece and see which way I can push it out or in.”

The resulting forms are evocative of both flora and fauna and traditional pottery, although Long’s sculptures emphasize smooth, sinuous walls and squiggly bases rather than angled edges. She uses slip trailing to add tactile decorative elements to the piece like small spheres, handles, or raised linework. “The relationship between the glazes that are inside the vectors, the shapes made by the slip trailing, are really important in how they’re divided and how they sit next to each other,” she says, noting that the process is particularly meticulous because it involves applying the material to each intricate, ribbed pattern and delicate outline.

Whether a vase or wide-mouthed jar, the whimsical sculptures are brimming with color and textured details. “I love the flowing lines, and I love the idea of framing a picture on my pots. A lot of times I have a focal point like an animal or insect and then I’ve framed it with other designs,” the artist says.

Long is hosting an annual open house at her studio next month and will show a body of work at Charlie Cummings Gallery in July of 2022. Until then, shop available pieces on Etsy—she also has an update slated for mid-December—and follow her latest pieces on Instagram. (via Women’s Art)

 

Quiet Earth: Here's what new this week on Blu-ray (November 30)

Malignant marks director James Wan’s return to his roots with this new original horror thriller. In the film, a woman is paralyzed by shocking visions of grisly murders, and her torment worsens as she discovers that these waking dreams are in fact terrifying realities.


Bonus Content: "Malignant: James Wan’s Visions"

Onwards!





ANDY WARHOL PRESENTS… DIRECTOR PAUL MORR [Continued ...]

Greater Fool – Authored by Garth Turner – The Troubled Future of Real Estate: Dropping the hammer

Elaine is a 28-year-old engineer. “I’m fortunate, risk-averse and hard working,” she says, “and I’m looking to make sure I don’t mess this up.” A down-to-earth, responsible, industrious Millennial. They exist.

Her problem: real estate speculation which doubled her money over the past four years. Maybe. Now E’s good fortune has impaled her on the horns of a dilemma. She wants off. This is her story..

“Been following your blog since 2015. Trying to navigate the ever-changing landscape of investment strategy and the housing sh*tshow that is the GTA and your guidance has been instrumental in making smart conservative decisions. Back in 2018, I bought a pre-construction condo in the Hammer (Hamilton, that is) because I had boyfriend in the area and had a job prospect there (parental pressure played a role too). I was terrified of the state of the market so I hedged with the cheapest smallest unit I could find. Fast forward 3 years and a pandemic later, no ties to Hamilton exist and I find myself in Toronto with a job and rental lifestyle that I love.

“As the Hamilton condo nears completion early 2022, I realize that making the commute from Hamilton to downtown Toronto more than 3 days/week will be less than ideal. However based on recent sales, the condo has went from 200k to 400k and it probably saved me from being completely left in the dust as the market took off. As a housing market self-proclaimed “bear”, I am naturally inclined to sell to lock in the gains. I’m also conscious of the fact that if I don’t live there for a period of time, I won’t qualify for the PRE. Call it greed but that 200k is the only thing keeping me with an ounce of hope in stabilizing my long-term housing situation and I’d like to reduce my tax liability as much as possible. Is there a way to elect this property as my PR even if I am renting elsewhere?

“As an alternative, I could rent it cash-flow positive, and use the rent to offset my Toronto rent. What happens then to the PRE, if this property is the only one that I own, and I rent it out? Post sale: where do I end up? collect 200k (ish), put it down on a 600k condo in Toronto and take on a huge 400k mortgage (massive liability)? No ties to Toronto other than family and current employment. Is it just better to keep renting in Toronto than to buy in at these prices? Paying 2k/month in rent will blow through the gain in about 8 years. Or: Suck it up, stay in the housing market as a hedge (future is unknown), and keep the condo, commute from Hamilton?”

The good news is that Elaine’s blind 24-year-old, pre-pandemic luck saw her buy into an undervalued market. Who know that two years later a virus would sweep the world and turn Hamilton (of all places) into a moister mecca. Or that mortgage rates would crash into the 1% range, goosing debt levels? Or that an air-borne communicable disease would have GTA urbanites fleeing for the great open skies and fresh breezes of… Hamilton? Oh well, it happened. Now what?

First, Elaine has no reason to go live in the Hammer when she works in T.O., loves where she lives and enjoys what a big city has to offer. Commuting is not possible. Not with sanity intact. And it sounds like the boyfriend ghosted.

The options available to her?

Sure, she can wait for completion, and rent the place out. After financing costs, condo fees, insurance and property tax, there might be a little left to put against Toronto rent. But every single dollar of net income is 100% taxable, added to her employment income and hoovered at her marginal rate. Besides, once the pandemic ends and Hamilton is again see as it was five years ago, the big capital gain could shrink, and still be taxable.

Yes, she can move in and dwell there long enough to sell and realize the profit tax-free. That would require at least two years of occupancy and a soulless eterity on the GO Train. Plus she has to live in Hamilton.

Sell now and crystallize the profit? The only way of doing this prior to the building being finished, then registered as a condo corp (which can take up to a year) is to assign ownership of the unit. It’s totally legit and increasingly common. Elaine sells the paper allowing her to buy the unit (if it is permitted in her contract) and collects her profit. Then she reports it to the CRA, and the adventure starts.

If she’s lucky, the $200,000 will be allowed as a capital gain. Half will be tax-free. Half added to her annual taxable income. So she’ll owe maybe 20% (depending on work wages). If she’s unlucky, the CRA will deem the entire $200,000 to be business income, fully taxable, likely kicking her into the 53% bracket for the year.

Why would this happen?

An assignment is a disposition of property and may not be allowed the special tax treatment reserved for capital gains – considered to flow from long-term investments, not flips, and primarily used to generate income. The CRA has a number of criteria to figure out how to tax profits emanating from a property sale like this.

For example, why was it bought? Did E ever intend living there when she worked in another city? She fails that test. Is she in the business of buying/selling real estate, or has done flips like this in the past? She passes that one. Is she selling now just to collect a profit, or because assuming ownership would be a burden? She’d likely pass that one, too.

As you might see, it’s subjective. There are no hard-and-fast CRA rules because the feds don’t want them. And lately Ottawa has been cracking down mightily on specuvestors, sweeping up some hapless folks like Elaine in the process. The odds are this will end up as a capital gains tax event. No, there’s no mitigation of that, save making a big RSP contribution in the same taxation year.

Finally, should this Mill take what’s left of the Hammer cash, buy a Toronto pad and finance a honking big mortgage?

Of course not. What’s the point? Ownership expenses will be far in excess of rental costs. The days of 30% annual virus-inspired property valuation leaps are over. Elaine may find a new BF, get married and change her life completely. How would leveraged real estate figure into that? She might get a stunning new engineering job in Vancouver or Calgary, and crave the flexibility and spontaneity that renting provides. Plus, buying in Toronto means double land transfer taxes and rising property tax, so with normal rates of appreciation and high selling commission a profit could be elusive. And meanwhile monthly cash flow would prevent her from investing.

A bird in the hand, Elaine. Pluck it.

About the picture: “This is Buddy in a contemplative moment at the cottage,” writes Diego. “A corgidor cross who came from a rescue in Ohio and brought to Canada. Hands down the best animal friend I ever had. I can’t even begin to describe his virtues. Thanksgiving weekend, October 11th, marked the 10th anniversary of his passing. I am still struggling to find it in me to get a new animal companion. I thought a picture on your blog might be a fitting tribute to Buddy. Thank you. I appreciate all you do. Take care and keep on keeping on.”

Charles Petzold: Concert Diary: Joshua Bell Performs Beethoven

I s

... more ...

Open Culture: Watch Paul McCartney Compose The Beatles Classic “Get Back” Out of Thin Air (1969)

In its nearly eight-hour runtime Peter Jackson’s new documentary series The Beatles: Get Back offers numerous minor revelations about the world’s favorite band. Among the filmmaker’s avowed aims was to show that, even on the verge of acrimonious dissolution, John, Paul, George, and Ringo enjoyed stretches of productiveness and conviviality. Much else comes out besides, including that the catering at Apple Corps headquarters was miserable (amounting most days to toast and digestive biscuits) and that, even amid the excesses of the late 1960s, the Beatles dressed more or less respectably (apart, that is, from George’s occasionally outlandish choices of outer- and footwear). But it also lays bare exactly how they created a song.

The Beatles went into these sessions with little material prepared. All they knew for sure was that they had to come up with a set of songs to be recorded live, without overdubs, in order to “get back” to the simplicity that had characterized their process before such aesthetically and technically convoluted albums as Revolver and Sgt. Pepper’s Lonely Hearts Club Band. These they would then perform in a concert film. The whole project was undertaken with what Rolling Stone‘s Rob Sheffield calls a “magnificent arrogance. In a way, that’s what helped keep them together, through all their ups and downs. Without that level of arrogance, there’s no way an adventure as admirably daft as Get Back could happen in the first place.”

Somehow, to the very end, that arrogance always proved justified. For much of Jackson’s Get Back, the Beatles appear to be just screwing around, cracking jokes, drinking tea and beer, and launching into abortive performances in cartoon voices. And that’s when everyone shows up. “Lennon’s late again,” says Paul in the clip above. “I’m thinking of getting rid of him.” But instead of nursing resentment for his unpredictable musical partner, he sits down and starts playing. His first chords will sound familiar to any Beatles fan, though they belong to a song that doesn’t yet exist. Paul then adds to his strumming a bit of mostly non-verbal vocalization, which soon coheres into a melodic line: we (and a yawning George) are witness to the birth of “Get Back.”

During the lifetime of the Beatles, Paul seems to have been the most productive member. Even since the band’s end half a century ago, music has continued to flow unimpeded from his mind, shaped as if by pure instinct. In that time it has become ever more well-documented that he motivated the group to work, especially after the death of their manager Brian Epstein in 1967. While Get Back attests to a certain overbearing quality in his attitude toward the other Beatles, it also shows how McCartney’s hardworking-yet-freewheeling example encouraged each of them to express his own particular genius. When George gets stuck on the end of a lyric, for example, he, too, simply sings whatever comes to mind. Hence the temporary line “Something in the way she moves / Attracts me like a pomegranate” — and we all know how that tune eventually turned out.

Related Content:

Peter Jackson Gives Us an Enticing Glimpse of His Upcoming Beatles Documentary The Beatles: Get Back

Paul McCartney Breaks Down His Most Famous Songs and Answers Most-Asked Fan Questions in Two New Videos

Watch Preciously Rare Footage of Paul McCartney Recording “Blackbird” at Abbey Road Studios (1968)

Chaos & Creation at Abbey Road: Paul McCartney Revisits The Beatles’ Fabled Recording Studio

Watch The Beatles Perform Their Famous Rooftop Concert: It Happened 50 Years Ago Today (January 30, 1969)

The Beatles’ 8 Pioneering Innovations: A Video Essay Exploring How the Fab Four Changed Pop Music

Based in Seoul, Colin Marshall writes and broadcasts on cities and culture. His projects include the book The Stateless City: a Walk through 21st-Century Los Angeles and the video series The City in Cinema. Follow him on Twitter at @colinmarshall or on Facebook.

Watch Paul McCartney Compose The Beatles Classic “Get Back” Out of Thin Air (1969) is a post from: Open Culture. Follow us on Facebook and Twitter, or get our Daily Email. And don't miss our big collections of Free Online Courses, Free Online Movies, Free eBooksFree Audio Books, Free Foreign Language Lessons, and MOOCs.

Colossal: Loose Threads Dangle from Bizarrely Expressive Portraits Sewn by Yoon Ji Seon

“Rag face #21004” (2021), sewing on fabric and photography, 112 x 73 centimeters. All images © Yoon Ji Seon, courtesy of CRAIC AM, shared with permission

The cheeky, uncanny works that comprise Yoon Ji Seon’s ongoing Rag Face series bring the knotted, twisting, and generally convoluted entanglements of a subject’s psyche to the forefront. Her photographic portraits are printed on roughly cut pieces of canvases and then overlaid with rows of tight stitches and loose strings that drip from an eye or loop across a face. Adding color and depth, the threads “can be seen or felt like internal conflicts, external stimuli, umbilical cord, blood vessels, sagging skin, hair, or time as a point of each viewer,” the artist says.

Zany and outlandish in expression, the portraits are a playful mix of confusion and jest that Yoon derives from traditional Korean comedies, called madangnori. Those performances consider “the suffering and reality of the people through humor and satire while arousing the excitement of onlookers,” she says, explaining further:

I think what I’m doing these days is to make (an) ‘image’ of these comedies. What I want to pursue through my work is ‘humor’ in the end, but this humor does not bloom in happiness. During intense, painful, and chaotic lives, humor can be like a comma, to relax and recharge.

Because the sewn works are unique on either side, they produce mirrored images that are a distorted version of their counterpart, bolstering the strange, surreal affect of each piece.

The Rag Face series now spans decades of the Daejeon City, South Korea-based artist’s practice, and you can browse dozens of those pieces on her site. (via Lustik)

 

“Rag face #16020” (2016), sewing on fabric and photography, 141 x 97 centimeters

“Rag face #21003” (2021), sewing on fabric and photography, 94 x 68 centimeters

“Rag face #21004” (2021), sewing on fabric and photography, 112 x 73 centimeters

“Rag face #16015” (2016), sewing on fabric and photography, 47 x 26 centimeters

“Rag face #17010” (2017), sewing on fabric and photography, 128 x 97 centimeters

“Rag face #19003” (2019), sewing on fabric and photography, 146 x 119 centimeters

“Rag face #21002” (2021), sewing on fabric and photography, 170 x 118 centimeters

“Rag face #17010” (2017), sewing on fabric and photography, 128 x 97 centimeters

Saturday Morning Breakfast Cereal: Saturday Morning Breakfast Cereal - Morality



Click here to go see the bonus panel!

Hovertext:
I'm gonna start using that threat when my kids won't brush their teeth.


Today's News:

Quiet Earth: Peter Jackson Hints at a Future Box Set of His Early Horror Films Remastered in 4K

In a recent interview about his new Beatles Documentary "Get Back", Peter Jackson revealed that new restorations of his gonzo early horror movies were on the way.

Here's what he said:

“We are doing a remastering and whole digital 4K thing and it looks great. But we’ve been trying to do all that in between Beatles stuff, and that’s been put on a shelf for a while. But, hopefully, within another year or so they’ll come out remastered.”

This process has been in the works for many years. Back in 2018, Jackson said the following in a Hollywood Reporter interview.

"I’ve done some tests on [Continued ...]

ScreenAnarchy: Blu-ray Review: ONCE UPON A TIME IN CHINA: THE COMPLETE FILMS, Essential Entertainment

Tsui Hark's magnificent reinvention of Wong Fei-hung, starting with Donnie Yen, gets a deluxe treatment as The Criterion Collection scores a knockout with its box set.

[Read the whole post on screenanarchy.com...]

Charles Petzold: Concert Diary: John Adams Conducting the Julliard Orchestra

Joh

... more ...

ScreenAnarchy: Tallinn 2021 Review: OTHER PEOPLE, Social Realism Redefined, Cocky and Raunchy

Directed by Aleksandra Terpinska, the drama from Poland stars Jacek Beler, Sonia Bohosiewicz and Magdalena Kolesnik.

[Read the whole post on screenanarchy.com...]

Colossal: Winter In The Rainforest: Porcelain Characters Navigate the Amazon in a Surreal Stop-Motion Short

In Anu-Laura Tuttelberg’s stop-motion short “Winter In The Rainforest,” time passes at an unusual pace. The Estonian writer, director, and animator (previously) sets a cast of fragile, porcelain puppets within the lush rainforests of Chiapas, Mexico, and the Peruvian Amazon, a contrast of real and manufactured that grounds the surreal story. Throughout the film, carnivorous flowers trap their prey, an articulate grasshopper climbs a tree, and a miniature girl wakes from a stupor at a clip that’s wildly different from their timelapsed surroundings, which are evident through leaves shaking in the wind and shadows rolling across the landscape at a quickened tempo.

Shot with 16-millimeter film, the grainy short is years in the making—Tuttelberg details the process on her site—and blurs the boundaries between the imagined and real in both material and narrative. Rather than create an illusion of the characters occupying the tropical ecosystem in a lifelike manner, each element progresses at its own speed. She explains:

While moving the puppets frame by frame, I let the light and the nature in the background move naturally. In this way, the puppets are moving smoothly in their own pace and the nature around them is changing rapidly. This creates a new obscure reality of time and space in the film. It keeps the viewer aware of the stop motion technique in the film. I don’t want to hide the animation technique behind the scene but rather to bring it out and observe the new strange reality it creates.

“Winter In The Rainforest” has already won numerous festival awards, and Tuttelberg tells Colossal she’s working on a sequel titled “On Weary Wings Go By,” which brings the same cast to the frigid beaches of Estonia and Norway. You can keep an eye out for that project, and watch the animator’s previous works, on Vimeo.

 

ScreenAnarchy: Opening This Week: AZOR, ENCOUNTER, LAST SHOOT OUT, WOLF and More

Our site is based in Toronto, Canada, though some of us live and work in The Lower 48, myself included, and so I know that the following films will be opening in the U.S. this week; some (most?) of them are also opening in Canada, and some in other regions of the world. Scroll down to watch the trailers. (All quoted material is from the official verbiage for the films and thus subject to possible excess hyperbole.) Azor: From Swiss director Andreas Fontana comes an invitation into a "moneyed world where political violence simmers just under the surface." Money? Violence? International intrigue? You have my attention. [Mubi.] Last Shoot Out: Bruce Dern is my main attraction here. He co-stars with Cam Gigandet in a "gritty,...

[Read the whole post on screenanarchy.com...]

Open Culture: How a Mosaic from Caligula’s Party Boat Became a Coffee Table in a New York City Apartment 50 Years Ago

Imagine owning Caligula’s coffee table — or, better yet, a coffee table made from the mosaic flooring that once covered the infamously cruel Roman Emperor’s party boats. Art dealer and Manhattanite Helen Fioratti owned such a table for 45 years, but she had no idea what it was until she happened to go to a 2013 book signing by author and Italian stone expert Dario Del Bufalo. There, a friend noticed her table in Del Bufalo’s coffee table book, Porphyry, “about the reddish-purple rock much used by Roman emperors,” notes Gloria Oladipo at The Guardian. Fioratti’s husband bought the piece from an aristocratic Italian family in the 1960s, then affixed it to a base and made into a table. “It was an innocent purchase,” Fioretti told The New York Times in 2017 after Italy’s Nemi museum seized the artifact and returned it to its home country. Del Bufalo agreed, and it pained him to have to take it, but the artifact, he says in an interview above with Anderson Cooper, is priceless.

Caligula had two luxurious wooden ships with elaborate tile floors built to float on Lake Nemi, just a few miles outside of Rome. “Stretching 230 feet and 240 feet long and mostly flat,” Brit McCandless Farmer writes for Sixty Minutes, it was said they were once “topped with silk sails and featured orchards, vineyards, and even bathrooms with running water.” They even boasted lead pipes “inscribed Gaius Caesar Augustus Germanicus, Caligula’s official name, according to a 1906 issue of Scientific American.” He was “once the most powerful man in the world,” says Anderson Cooper above, but Caligula became renowned for his brutality, self-indulgence, and possible insanity. The third Roman emperor was assassinated four years into his reign by a conspiracy of Praetorians and senators. So hated was he at the time that Romans attempted to “chisel him out of history.” The sinking of his party boats was one of many acts of vandalism committed against his wasteful, violent legacy.

Interest in the pleasure ships was only piqued again when divers found the wreckage in 1895. “The deck must have ben a marvelous sight to behold,” wrote Italian archaeologist Rodolfo Lanciani in 1898; “it goes beyond the power of imagination for its strength and elegance.” Lanciani described in detail “the pavement trodden by imperial feet, made of disks of porphyry and serpentine… framed in segments and lines of enamel, white and gold, white and red, or white, red, and green.” But it would be another few decades before the ships, submerged for almost 2,000 years, would see dry land again when Benito Mussolini, who was obsessed with Caligula, ordered Lake Nemi partially drained in the 30s and the boats resurrected and housed in a nearby museum built for that purpose. Then, in 1944, retreating Nazis allegedly set fire to the museum, after using it as a bomb shelter, destroying Caligula’s pleasure cruisers. No one knows how Fioretti’s mosaic made it out of Italy during this time.

It seems that the Emperor’s star has been on the rise once more the past few years, since the discovery of the mosaic and of Caligula’s imperial pleasure garden, Horti Lamiani, “the Mar-a-Lago of its day,” Franz Lidz writes at The New York Times. Unearthed in an excavation between 2006 and 2015, the now-subterranean ruins found beneath a “condemned 19th century apartment complex, yielded gems, coins, ceramics, jewelry, pottery, cameo glass, a theater mask, seeds of plants such as citron, apricot and acacia that had been imported from Asia, and bones of peacocks, deer, lions, bears, and ostriches.” The ruins opened to tourists this past spring. As for Mrs. Fioratti, “I felt very sorry for her,” said Del Bufalo, “but I couldn’t do anything different, knowing that my museum in Nemi is missing the best part.” He hopes to make a replica to return to her Park Avenue living room for beverage service. “I think my soul would feel a little better,” he says.

Related Content:

The History of Ancient Rome in 20 Quick Minutes: A Primer Narrated by Brian Cox

A Virtual Tour of Ancient Rome, Circa 320 CE: Explore Stunning Recreations of The Forum, Colosseum and Other Monuments

What Did the Roman Emperors Look Like?: See Photorealistic Portraits Created with Machine Learning

Josh Jones is a writer and musician based in Durham, NC. Follow him at @jdmagness

How a Mosaic from Caligula’s Party Boat Became a Coffee Table in a New York City Apartment 50 Years Ago is a post from: Open Culture. Follow us on Facebook and Twitter, or get our Daily Email. And don't miss our big collections of Free Online Courses, Free Online Movies, Free eBooksFree Audio Books, Free Foreign Language Lessons, and MOOCs.

Ideas: The Mystery of Louise Labé

Stakes are high for readers and scholars as the identity of a groundbreaking poet, Louise Labé, is debated in France and beyond. Sexy, wry, and bold, her poems cut across time. They also upend assumptions about how female desire was expressed in the past. *This episode originally aired on October 1, 2020.

new shelton wet/dry: What doesn’t kill you mutates and tries again

2.jpgSelf-reported hand preference for masturbation was examined in 104 left-handed and 103 right-handed women, and 100 left-handed and 99 right-handed men […] For kissing the preferred cheek of an emotionally close person from the viewer’s perspective, left-handers showed a left-cheek preference, and right-handers a weaker right-cheek preference.

This research demonstrates that the physical properties of shopping carts influence purchasing and spending

Real-time alerting system for COVID-19 and other stress events using wearable data […] we built a real-time smartwatch-based alerting system that detects aberrant physiological and activity signals (heart rates and steps) associated with the onset of early infection […] this system generated alerts for pre-symptomatic and asymptomatic SARS-CoV-2 infection in 67 (80%) of the infected individuals.

The Science of Mind Reading — Cognitive psychologists armed with an fMRI machine can tell whether a person is having depressive thoughts; they can see which concepts a student has mastered by comparing his brain patterns with those of his teacher. By analyzing brain scans, a computer system can edit together crude reconstructions of movie clips you’ve watched. One research group has used similar technology to accurately describe the dreams of sleeping subjects.

Rather than being centralized in one part of the body like our own brains, the jellyfish brain is diffused across the animal’s entire body like a net. The various body parts of a jellyfish can operate seemingly autonomously, without centralized control; for example, a jellyfish mouth removed surgically can carry on “eating” even without the rest of the animal’s body. But how does the decentralized jellyfish nervous system coordinate and orchestrate behaviors?

A variety of insects can produce honey – bumblebees, stingless bees, even honey wasps – but only honey bees (Apis species) produce enough to stock grocery store shelves. This ability didn’t happen overnight; it was millions of years in the making.

Team Builds First Living Robots That Can Reproduce — AI-designed Xenobots reveal entirely new form of biological self-replication—promising for regenerative medicine

Google is reportedly delisting the controversial U.S. e-commerce platform Wish from its search results in France Google and Apple both removed the Wish app from their French app stores, and rival search engines such as Microsoft’s Bing and France’s Qwant delisted the website from their results, before Google also took the search-engine step. […] ContextLogic/Wish had the dubious distinction of having last year’s worst U.S. trading debut, with its stock falling 16% in a December IPO. That took it down to a shade over $20 a share, but it was only the beginning of an ongoing slide that broke through the $4 barrier last week.

Who Owns a Recipe? U.S. copyright law protects all kinds of creative material, but recipe creators are mostly powerless in an age and a business that are all about sharing.

Lucian Freud painting denied by artist is authenticated by experts

The New Luxury Vacation: Being Dumped in the Middle of Nowhere

How to use a horse’s tail to catch fish

Vagina NFTs

OCaml Weekly News: OCaml Weekly News, 30 Nov 2021

  1. opam 2.1.1, opam 2.0.10, and opam-depext 1.2
  2. OTOML 0.9.0 — a compliant and flexible TOML parsing, manipulation, and pretty-printing library
  3. New release of Fix
  4. New release of Menhir (20211125)
  5. Lwt 5.5.0, Lwt_domain 0.1.0, Lwt_react.1.1.5
  6. OCaml's CI is gradually moving to GitHub Actions
  7. How to combine 3 monads: Async/Lwt, Error and State?

BOOOOOOOM! – CREATE * INSPIRE * COMMUNITY * ART * DESIGN * MUSIC * FILM * PHOTO * PROJECTS: Artist Spotlight: Milena Bucholz

Schneier on Security: Intel is Maintaining Legacy Technology for Security Research

Interesting:

Intel’s issue reflects a wider concern: Legacy technology can introduce cybersecurity weaknesses. Tech makers constantly improve their products to take advantage of speed and power increases, but customers don’t always upgrade at the same pace. This creates a long tail of old products that remain in widespread use, vulnerable to attacks.

Intel’s answer to this conundrum was to create a warehouse and laboratory in Costa Rica, where the company already had a research-and-development lab, to store the breadth of its technology and make the devices available for remote testing. After planning began in mid-2018, the Long-Term Retention Lab was up and running in the second half of 2019.

The warehouse stores around 3,000 pieces of hardware and software, going back about a decade. Intel plans to expand next year, nearly doubling the space to 27,000 square feet from 14,000, allowing the facility to house 6,000 pieces of computer equipment.

Intel engineers can request a specific machine in a configuration of their choice. It is then assembled by a technician and accessible through cloud services. The lab runs 24 hours a day, seven days a week, typically with about 25 engineers working any given shift.

Slashdot thread.

Explosm.net: Comic for 2021.11.30

New Cyanide and Happiness Comic

Disquiet: Tweeting Audio

So, it’s unclear to me how long this has been around, but you can tweet sounds. Not merely sounds that are links from other sources, but from within Twitter itself. I only got my new phone a few months ago, and all of a sudden today the iOS Twitter app had a little colorful waveform symbol next to the photo, GIF, poll, etc. options, and there was a little announcement saying it was new and I should try it out. So, I did.

My initial tweet, which isn’t embedding easily here, hence the link, contains 17 seconds of living room room tone (“living room tone”?). I could hear fog horns and passing cars from where I was seated, on the couch, when I recorded it, but I’m not sure how much is evident in the audio recording. Either way, this is nifty. Here’s what the tweet looks like:

It’s an interesting development. For many years, I’ve tweeted (in words) what I hear, and now I can just post sounds themselves. For example, at the start of 2019, I tweeted: “Morning trio for bathroom fan, passing commuter buses, and low-level electric hum.” And a few months later: “Morning sounds: plane overhead, typing, distant bus, low-level electric hum.”

Of course, it’s not that simple: Our phones “hear” differently from how we do. And describing is itself a form of recording, of inscribing. (I wrote an essay on this topic back in June 2017, “Audio or It Didn’t Happen,” for New Music Box: nmbx.newmusicusa.org.)

It’s funny that this thing seems to be called “Twitter Voice,” since the human voice is to non-verbal sound what sight is to sound in general: an overbearing presence. I’m sure this will be used for more than voice. Oddly, there was a Twitter blog post, which I vaguely remember, back in 2020 about the service, but I think today is the first I saw (well, heard) it in action.

A few more initial thoughts:

  • The Twitter embed isn’t functioning well on my website, but that may be an issue on my backend. Still, the fact that it isn’t simple to share the audio beyond Twitter gets at the ease and versatility of text and image online versus the complications and temperament of sound.
  • It was just two weeks or so ago that someone on Twitter said they wanted to know why they couldn’t just drag an MP3 to Twitter the way they can an image. You still can’t, but you can record audio on the spot (well, on your phone) and post it.
  • I wonder how the copyright bots will come into play.
  • From what I can tell, this isn’t on Android yet. I’m also not seeing it in the macOS client, or in the web browser.
  • Is there an official manner by which one can extract one’s audio from a tweet one has uploaded?
  • Certainly, the “Mute this conversation” option within Twitter means something unintentional in a Twitter suddenly filled with sonic tweets. I wonder if the word “mute” will be revisited if sound takes off.
  • explodingdog:

    explodingdog:

    Charles Petzold: Concert Diary: “A Russian Spectrum” with the Jupiter Players

    Mod

    ... more ...

    Greater Fool – Authored by Garth Turner – The Troubled Future of Real Estate: Omiflop

    Was Omicron an omiflop?

    Maybe. Maybe not. Viruses are dodgy, icky, unpredictable little peckers, so the jury’s still out

    But when the markets opened Monday, oil rebounded, stocks went up, bonds went down and we got back to worrying about inflation, the Coquihalla and corporate earnings. Was the Friday sell-off a one-day correction? Is the reopening trade so strong it can power through this variant and the next two or three?

    Yep. Seems so.

    Now the attention of Canadian investors will be diverted for at least a few days by the giant, gleaming, 15%-occupied bank towers where the pandemic ended up being excellent news. In case you missed it, the Toronto stock market has been on steroids for the past year, rising faster than a slanty semi in Leslieville and reaffirming the wisdom of keeping a third of the 60% growth portion of your balanced portfolio in maple despite Canada being just 4% of the world’s equity market.

    But it all gets more intense on Tuesday. That’s when the first of the Big 6 announces profits and (especially) dividends. Expect some gushers.

    The backstory is all about the pandemic. In March of 2020, when the world looked dark, Canada’s financial regulator took steps to protect the banking system. Nothing is more central to the health and viability of the economy than the banks. They’re legally designated as “domestic systemically important” or D-SIB – and that’s why there are formal ‘bail-in’ provisions now in place virtually eliminating the chance of failure, wiping out your pathetic GICs.

    The regulator banned higher dividends during Covid forcing the banks to sit on cash. They also made it illegal during this time for the bankers to buy back their own stock, also to preserve capital. Meanwhile the bankers themselves set aside billions of dollars to cover losses from loans that would go south as consumers and businesses hit a viral wall and were unable to service their debts.

    What happened?

    Nothingburger. Those giant losses never occurred. Instead the government bailed out everybody, transferring the pain from the banks to the taxpayers. At the same time Canadians lost their minds, were infected with FOMO and aggressive nesting, created a real estate bubble and borrowed for mortgages as never before. So in the past 18 months residential and home-equity credit balances mushroomed by more than $150 billion. That was all new debt to consumers, but new assets for the bankers. It represented an astonishing 13% growth in in the banks’ portfolios, and was six times higher than the increase from other operations.

    Now, here we are. Despite omiflop, Covid-19 is effectively over as far as markets are concerned. Employment is back at pre-pandemic levels. Consumer spending is ramping up. The housing insanity continues. GDP is amping. And – as we are about to hear – the dudes in the Bay Street towers are rolling in it.

    Ah yes, and the regulator just announced the ban on divvies is over.

    As a result, analysts are expecting a dividend tsunami. Increases should range from 10% (Scotia) to 22% (RBC) to 34% (National). The average is anticipated to be about 18%. In addition, we expect to hear word of buybacks as the Bix Six reduce their floats by as much as 5%. Buybacks mean less stock is available for public trade, which makes all outstanding shares more dear, adding value to existing shareholders.

    Higher dividends. Big profits. Rising share values. How could it get any better?

    Source: Bloomberg

    Actually it does. Interest rates are going up. No variant varmint is going to stop that from happening as inflation makes a 25-year comeback, meaning CBs have to suck stimulus out of the economy. Whenever the hikes arrive, they will help the bankers with spreads and bottom lines. Just imagine the gloriousness of all those tens of billions of 2% mortgages renewing in a few years at 4% and 5%. It’s enough to arouse any guy in a suit.

    For the market, all good. Financials make up 30% of the TSX, compared with 10% for tech and just 3% for real estate. Combined with the rising value of commodities as the world gets vaxed and reopens, there’s still a lot to love about investing in Canada. The best way of doing this is through an ETF holding the biggest publicly-traded corps, which will give lots of exposure to the financial giants as well as the rocks and trees (and Shopify).

    Own the banks. Just don’t invest there.

    Colossal: From Intricate Stencils to Vibrant Flowers, Nine New Murals Transform Blank Facades in Tbilisi

    MonkeyBird. All images courtesy of Tbilisi Mural Fest, shared with permission

    Since Tbilisi Mural Fest began in 2019, the streets of Georgia’s capital have seen the towering, large-scale works of artists like Collin van der Sluijs (previously), Case Maclaim, and Faith XLVII (previously), whose celestial, intersecting circles are a highlight of this year’s event. The 2021 festival features nine pieces in total that range in aesthetic and subject matter, including a mythological, black-and-white stencil by MonkeyBird (previously), bold botanicals by Thiago Mazza (previously), and a striking trompe-l’œil papercut by 1010. Each monumental work addresses an environmental, social, or other relevant issue affecting today’s world, and you can find 2021’s lineup below. (via Street Art News)

     

    Thiago Mazza

    1010

    Faith XLVII

    JDL

    Left: Kade90. Right: David Samkharadze

    APHENOAH

    Quiet Earth: TECH NOIR: Look Inside The New Art of James Cameron Book

    Explore the creative evolution of James Cameron in the new book TECH NOIR, an exclusive journey into his personal art archives, showcasing a range of rare and never-before-seen works from the acclaimed director’s private collection.

    James Cameron has blazed a trail through the cinematic landscape with a series of groundbreaking films that have each become deeply embedded in the popular imagination. But while Cameron has created and employed advanced filmmaking technologies to realize his unique vision, his process of creative ideation began with pen, pencil, and paints long before he picked up a camera.

    [Continued ...]

    Charles Petzold: Concert Diary: Jamie Barton and Jake Heggie in Recital

    In

    ... more ...

    Ansuz - mskala's home page: Scarcity, abundance, and lost careers

    How should institutions make hiring and promotion decisions, in theory? How do institutions make such decisions, in actual practice? What happens, and what should happen, when someone's career is interrupted? Is it possible to restore an interrupted career, and should that be done? What happens to institutions when society overproduces, or underproduces, elite individuals? This article looks at ways to understand these questions, starting from an historical episode.

    Ansuz - mskala's home page: Scarcity, abundance, and lost careers

    How should institutions make hiring and promotion decisions, in theory? How do institutions make such decisions, in actual practice? What happens, and what should happen, when someone's career is interrupted? Is it possible to restore an interrupted career, and should that be done? What happens to institutions when society overproduces, or underproduces, elite individuals? This article looks at ways to understand these questions, starting from an historical episode.

    Saturday Morning Breakfast Cereal: Saturday Morning Breakfast Cereal - Bad



    Click here to go see the bonus panel!

    Hovertext:
    Asking whether humans intrinsically bad is like asking if a sword is intrinsically bad. The answer is yes, with occasional exceptions.


    Today's News:

    Colossal: Learn to Build Speculative Worlds in SCI-Arc’s LA-Based Fiction and Entertainment Postgraduate Program

    “Mercury XX,” short film designed and directed by Miriam Kuhlmann, SCI-Arc Fiction & Entertainment 2020

    SCI-Arc’s Master of Science in Fiction and Entertainment is a one-year, three-semester program during which students work with world-renowned professionals from the entertainment industry to develop expertise in worldbuilding, storytelling, film, animation, visual effects, and video games to build new forms of creative practice.


    Our perception of the world is unquestionably determined by the extraordinary shared languages of fiction and entertainment. Through these stories, we exchange ideas and engage with our environment. Fictional worlds have always been sites where we can prototype new scenarios and emerging cultures. They can act as teleportation machines, helping us immerse ourselves in the various consequences of the decisions we face today. They can be both cautionary tales or roadmaps to an aspirational future.

    The Master of Science in Fiction and Entertainment at SCI-Arc provides the opportunity for students to learn the techniques of entertainment design and visual storytelling, as well as employ a broad range of digital and narrative tools to imagine, animate, and produce compelling, alternative worlds. Deeply embedded in the entertainment industry of Los Angeles, the program challenges students to develop provocative stories that critically examine the emerging conditions of contemporary life.

    Organized as a year-long thesis project, students are encouraged to develop a unique directorial voice and personal body of work that may take the form of a short film, animation, music video, documentary, video game, graphic novel, VR environment, immersive experience, or performance. The Fiction and Entertainment curriculum simultaneously creates space for students to develop their own interests, passions, and agendas while directly focusing on preparation for careers that will continue to propel their professional practice after graduation and help them to transition into their chosen field.

    Throughout the year, students are supported by an intense program of workshops, talks, and mentoring sessions led by world-renowned filmmakers, concept artists, screenwriters, and animators from the film and entertainment industry. A critical motivation of the program is helping students to establish a productive network of collaborators and ongoing mentors to help launch them and their work after graduation.

    Recent graduates from the program are developing careers in production design, creative direction, video games, visual effects, commercial, music video and TV production, media art, and design research. Projects incubated within Fiction and Entertainment have premiered at festivals such as Sundance, Tribeca, SXSW, Rotterdam, and platforms such as Nowness, VICE, FACT, and many more.

    Applications for students and scholarships are now open, and details can be found on the program website.

     

    Breach,” interactive concept album by Rick Farin, SCI-Arc Fiction & Entertainment 2019

    Earth Mother Sky Father,” music film directed by Kordae Henry, SCI-Arc Fiction & Entertainment 2018

    Where Turtles Fly,” video game created by Andre Zakhia, SCI-Arc Fiction & Entertainment 2020

    A Graphic Memoir,” VR experience created by Ainslee Alem Robson, SCI-Arc Fiction & Entertainment 2019

    Penny Arcade: News Post: Flightality

    Tycho: I ended up having two separate Thanksgivings; It's not really Thanksgiving in my house unless it culminates in a cathedral of rich bones I can morph into a week's worth of dinners. I go into all that in the Club PA strip that drops tomorrow, but in any event we discovered the endgame strats for Thanksgiving and it involves doing major surgery on a bird. Because I am abreast of all the hottest trends, and my familiarity with the clock app is profound, I knew that the way our fathers cooked turkey was a barbarous holdover from an unlettered "age of darkness" where giant fowl were…

    Penny Arcade: News Post: Child’s Play Auction 2021

    Gabe: The Child’s Play Charity dinner auction has gone virtual again this year and that means you can pick up some tickets and bid on cool stuff from the comfort of your own home. The auction will be on December 2nd this year and I’ve got a sneak peek at some of the items you can get your hands on.  Here's a prototype of the Thornwatch game we made a a few years ago. Lord Saldin's Helmet!   Tons of Gunpla. Original acrylic paintings by someone who loves Kris Straub but is not him! Saberforge Dueling Lightsabers!   AND MUCH MORE!   In fact, in addition…

    Penny Arcade: Comic: Flightality

    New Comic: Flightality

    Planet Haskell: Monday Morning Haskell: See and Believe: Visualizing with Gloss

    Last week I discussed AI for the first time in a while. We learned about the Breadth-First-Search algorithm (BFS) which is so useful in a lot of simple AI applications. But of course writing abstract algorithms isn't as interesting as seeing them in action. So this week I'll re-introduce Gloss, a really neat framework I've used to make some simple games in Haskell.

    This framework simplifies a lot of the graphical work one needs to do to make stuff show up on screen and it allows us to provide Haskell code to back it up and make all the logic interesting. I think Gloss also gives a nice demonstration of how we really want to structure a game and, in some sense, any kind of interactive program. We'll break down how this structure works as we make a simple display showing the BFS algorithm in practice. We'll actually have a "player" piece navigating a simple maze by itself.

    To see the complete code, take a look at this GitHub repository! The Gloss code is all in the Game module.

    Describing the World

    In Haskell, the first order of business is usually to define our most meaningful types. Last week we did that by specifying a few simple aliases and types to use for our search function:

    type Location = (Int, Int)
    data Cell = Empty | Wall
      deriving (Eq)
    type Grid = A.Array Location Cell

    When we're making a game though, there's one type that is way more important than the rest, and this is our "World". The World describes the full state of the game at any point, including both mutable and immutable information.

    In describing our simple game world, we might view three immutable elements, the fundamental constraints of the game. These are the "start" position, the "end" position, and the grid itself. However, we'll also want to describe the "current" position of our player, which can change each time it moves. This gives us a fourth field.

    data World = World
      { playerLocation :: Location
      , startLocation :: Location
      , endLocation :: Location
      , worldGrid :: Grid
      }

    We can then supplement this by making our "initial" elements. We'll have a base grid that just puts up a simple wall around our destination, and then make our starting World.

    -- looks like:
    -- S o o o
    -- o x x o
    -- o x F o
    -- o o o o
    baseGrid :: Grid
    baseGrid =
      (A.listArray ((0, 0), (3, 3)) (replicate 16 Empty))
      A.//
      [((1, 1), Wall), ((1, 2), Wall), ((2, 1), Wall)]
    
    initialWorld :: World
    initialWorld = World (0, 0) (0, 0) (2, 2) baseGrid

    Playing the Game

    We've got our main type in place, but we still need to pull it together in a few different ways. The primary driver function of the Gloss library is play. We can see its signature here.

    play :: Display -> Color -> Int
      -> world
      -> (world -> Picture)
      -> (Event -> world -> world)
      -> (Float -> world -> world)
      -> IO ()

    The main pieces of this are driven by our World type. But it's worth briefly addressing the first three. The Display describes the viewport that will show up on our screen. We can give it particular dimensions and offset:

    windowDisplay :: Display
    windowDisplay = InWindow "Window" (200, 200) (10, 10)

    The next two values just indicate the background color of the screen, and the tick rate (how many game ticks occur per second). And after those, we just have our initial world value as we made above.

    main :: IO ()
    main = play
      windowDisplay white 1 initialWorld
      ...

    But now we have three more functions that are clearly driven by our World type. The first is a drawing function. It takes the current state of the world and create a Picture to show on screen.

    The second function is an input handler, which takes a user input event as well as the current world state, and returns an updated world state, based on the event. We won't address this in this article.

    The third function is an update function. This describes how the world naturally evolves without any input from tick to tick.

    For now, we'll make type signatures as we prepare to implement these functions for ourselves. This allows us to complete our main function:

    main :: IO ()
    main = play
      windowDisplay white 20 initialWorld
      drawingFunc
      inputHandler
      updateFunc
    
    drawingFunc :: World -> Picture
    
    inputHandler :: Event -> World -> World
    
    updateFunc :: Float -> World -> World

    Let's move on to these different world-related functions.

    Updating the World

    Now let's handle updates to the world. To start, we'll make a stubbed out input-handler. This will just return the input world each tick.

    inputHandler :: Event -> World -> World
    inputHandler _ w = w

    Now let's describe how the world will naturally evolve/update with each game tick. For this step, we'll apply our BFS algorithm. So all we really need to do is retrieve the locations and grid out of the world and run the function. If it gives us a non-empty list, we'll substitute the first square in that path for our new location. Otherwise, nothing happens!

    updateFunc :: Float -> World -> World
    updateFunc _ w@(World playerLoc _ endLoc grid time) =
      case path of
        (first : rest) -> w {playerLocation = first}
        _ -> w
      where
        path = bfsSearch grid playerLoc endLoc

    Note that this function receives an extra "float" argument. We don't need to use this.

    Drawing

    Finally, we need to draw our world so we can see what is going on! To start, we need to remember the difference between the "pixel" positions on the screen, and the discrete positions in our maze. The former are floating point values up to (200.0, 200.0), while the latter are integer numbers up to (3, 3). We'll make a type to store the center and corner points of a given cell, as well as a function to generate this from a Location.

    A lot of this is basic arithmetic, but it's easy to go wrong with sign errors and off-by-one errors!

    data CellCoordinates = CellCoordinates
      { cellCenter :: Point
      , cellTopLeft :: Point
      , cellTopRight :: Point
      , cellBottomRight :: Point
      , cellBottomLeft :: Point
      }
    
    -- First param: (X, Y) offset from the center of the display to center of (0, 0) cell
    -- Second param: Full width of a cell
    locationToCoords :: (Float, Float) -> Float -> Location -> CellCoordinates
    locationToCoords (xOffset, yOffset) cellSize (x, y) = CellCoordinates
      (centerX, centerY)
      (centerX - halfCell, centerY + halfCell) -- Top Left
      (centerX + halfCell, centerY + halfCell) -- Top Right
      (centerX + halfCell, centerY - halfCell) -- Bottom Right
      (centerX - halfCell, centerY - halfCell) -- Bottom Left
      where
        (centerX, centerY) = (xOffset + (fromIntegral x) * cellSize, yOffset - (fromIntegral y) * cellSize)
        halfCell = cellSize / 2.0

    Now we need to use these calculations to draw pictures based on the state of our world. First, let's write a conversion that factors in the specifics of the display, which allows us to pinpoint the center of the player marker.

    drawingFunc :: World -> Picture
    drawingFunc world =
      ...
      where
        conversion = locationToCoords (-75, 75) 50
        (px, py) = cellCenter (conversion (playerLocation world))

    Now we can draw a circle to represent that! We start by making a Circle that is 10 pixels in diameter. Then we translate it by the coordinates. Finally, we'll color it red. We can add this to a list of Pictures we'll return.

    drawingFunc :: World -> Picture
    drawingFunc world = Pictures
      [ playerMarker ]
      where
        -- Player Marker
        conversion = locationToCoords (-75, 75) 50
        (px, py) = cellCenter (conversion (playerLocation world))
        playerMarker = Color red (translate px py (Circle 10))

    Now we'll make Polygon elements to represent special positions on the board. Using the corner elements from CellCoordinates, we can draw a blue square for the start position and a green square for the final position.

    drawingFunc :: World -> Picture
    drawingFunc world = Pictures
      [startPic, endPic, playerMarker ]
      where
        -- Player Marker
        conversion = locationToCoords (-75, 75) 50
        (px, py) = cellCenter (conversion (playerLocation world))
        playerMarker = Color red (translate px py (Circle 10))
    
        # Start and End Pictures
        (CellCoordinates _ stl str sbr sbl) = conversion (startLocation world)
        startPic = Color blue (Polygon [stl, str, sbr, sbl])
        (CellCoordinates _ etl etr ebr ebl) = conversion (endLocation world)
        endPic = Color green (Polygon [etl, etr, ebr, ebl])

    Finally, we do the same thing with our walls. First we have to filter all the elements in the grid to get the walls. Then we must make a function that will take the location and make the Polygon picture. Finally, we combine all of these into one picture by using a Pictures list, mapped over these walls. Here's the final look of our function:

    drawingFunc :: World -> Picture
    drawingFunc world = Pictures
      [gridPic, startPic, endPic, playerMarker ]
      where
        -- Player Marker
        conversion = locationToCoords (-75, 75) 50
        (px, py) = cellCenter (conversion (playerLocation world))
        playerMarker = Color red (translate px py (Circle 10))
    
        # Start and End Pictures
        (CellCoordinates _ stl str sbr sbl) = conversion (startLocation world)
        startPic = Color blue (Polygon [stl, str, sbr, sbl])
        (CellCoordinates _ etl etr ebr ebl) = conversion (endLocation world)
        endPic = Color green (Polygon [etl, etr, ebr, ebl])
    
        # Drawing the Pictures for the Walls
        walls = filter (\(_, w) -> w == Wall) (A.assocs $ worldGrid world)
        mapPic (loc, _) = let (CellCoordinates _ tl tr br bl) = conversion loc 
                              in Color black (Polygon [tl, tr, br, bl])
        gridPic = Pictures (map mapPic walls)

    And now when we play the game, we'll see our circle navigate to the goal square!

    maze_game_3.gif

    Next time, we'll look at a more complicated version of this kind of game world!

    Michael Geist: The Law Bytes Podcast, Episode 110: Waiting to Connect – Karen Barnes and Catherine Middleton on the CCA’s Report on Internet Access in Canadian Rural, Remote and Indigenous Communities

    Canada’s strategy to ensure that everyone from coast to coast to coast has access to affordable high speed Internet services is widely viewed as a failure and the source of ongoing frustration for many, particularly those in rural, remote and indigenous communities. Those communities often face the prospect of no broadband access or at best expensive, unreliable services. The Council of Canadian Academies recently convened an expert panel on High-Throughput Networks for Rural and Remote Communities in Canada.

    The panel’s report is a must read for anyone concerned with equitable and affordable Internet access and the consequences of leaving many communities – particularly indigenous communities – behind. The panel was chaired by Karen Barnes, the former president of Yukon University and included Professor Catherine Middleton, the Director of the Ted Rogers School of Information Technology Management at Ryerson University. They join the Law Bytes podcast this week  to discuss the panel, the report, and the recommendations for policy action.

    The podcast can be downloaded here, accessed on YouTube, and is embedded below. Subscribe to the podcast via Apple Podcast, Google Play, Spotify or the RSS feed. Updates on the podcast on Twitter at @Lawbytespod.

    Show Notes

    CCA Report, Waiting to Connect: The Expert Panel on High-Throughput Networks for Rural and Remote Communities in Canada

    Credits:

    CBC News, Digital Divide May Impact the Future of Indigenous Youth

    The post The Law Bytes Podcast, Episode 110: Waiting to Connect – Karen Barnes and Catherine Middleton on the CCA’s Report on Internet Access in Canadian Rural, Remote and Indigenous Communities appeared first on Michael Geist.

    Ideas: Song of Zong!

    Exactly 240 years ago today, a massacre began on the Zong slave ship. The tragedy inspired the Canadian poem Zong! by M. NourbeSe Philip. She reflects on the mass murder, the bizarre court case, and the work of art still rising from its depths.

    Arduino Blog: Our 12 favorite Arduino UNO projects

    The UNO wasn’t Arduino’s first board, and it won’t be its last. There have been many varieties of microcontroller and maker boards before and after the UNO, but none have been as iconic. As we cross the epic milestone of 10 million UNOs sold and the launch of the UNO Mini Limited Edition, we decided it was time to take a look back at some of our favorite UNO projects from the last 10 years.

    And we want to hear about yours, too. Join us over on social media to share your favorite UNO projects, whether you built them yourself or marveled at someone else’s electronic creation.

    The Toothbrush Machine

    The queen of terrible tech Simone Giertz casually blew the internet’s mind back in 2015 with her robotic skateboard helmet with an automated toothbrush mounted on the front.

    Arduino GRANDE

    Spend more than five minutes Googling “Arduino UNO” and you’re bound to find yourself looking at the Arduino GRANDE. A fully operational UNO that’s six time bigger than it should be.

    Coffee Printer

    If you’ve ever left a coffee ring on your notepad or table top, you’ll appreciate how effective it is at leaving a mark. This UNO project put that annoying side effect of coffee to artistic use.

    Autonomous “Follow Me” Cooler

    Why carry your own beer and sandwiches around like a sucker, when you can “simply” connect a robotic cooler to your smartphone’s Bluetooth, hook it up with GPS and let if follow you around.

    Skeleton Arduino Uno

    This Arduino UNO is its own project, which is so meta it’s impossible not to love it! It’s a PCB without the PCB, and takes “open” source more literally than any other maker board has ever achieved.

    Gaming Microwave

    Microwave’s used to be considered the fastest way to cook things. But in today’s CPA-addled world, even one-minute noodles take too long. Problem solved; game while you’re waiting.

    Floppotron

    This UNO project takes the concept of “everything is a drum” to new levels by turning devices like hard drives, floppy drives, scanners and more into a techno-orchestra.

    pedalSHIELD UNO

    This programmable guitar pedal built from an UNO lets you create all your own effects and digital sounds, with an ever-growing repository of pre-built effects from the Arduino music community.

    Automated Dust Collection

    Master maker and craftsman I Like to Make Stuff has created some incredible carpentry projects, and underneath it all is an Arduino UNO keeping his awesome workshop clean.

    Useless Box

    Useless machines are a wonderful maker project rabbit hole to fall down. This is a great example, and even though they’re useless, you can learn so much from building one. Which means it’s not actually useless, right?

    Drumcube

    Drumcube is a drummer in a box, so as long as you’ve got an Arduino UNO and a small box, you’ll always have someone down in the boiler room when you play at a gig.

    Petoi Bittle

    This highly maneuverable little palm-sized robot runs, jumps and plays to become your very own robotic pet. Some stunning design work, and it can even carry up to half a kilogram as it skips around!

    Got a mind-blowing Arduino UNO project we missed? Share it with us on social media, and let us know if you’re planning a brand new UNO project, ideally using the stunning UNO Mini Limited Edition!

    The post Our 12 favorite Arduino UNO projects appeared first on Arduino Blog.

    BOOOOOOOM! – CREATE * INSPIRE * COMMUNITY * ART * DESIGN * MUSIC * FILM * PHOTO * PROJECTS: “The Day After Tomorrow” by Photographer Eric Asamoah

    BOOOOOOOM! – CREATE * INSPIRE * COMMUNITY * ART * DESIGN * MUSIC * FILM * PHOTO * PROJECTS: “Distance” by Illustrator Evan M. Cohen

    Disquiet: Crossing Signal

    All of the crossing signal buttons on this stretch of road have been taped over, block after block, north/south and east/west. In a breeze, this looks a bit like a very (OK, very) low-key Christo installation, or like someone speedily took down all the photocopied posters after their lost puppy was found. The tape suggests the buttons are due either for an upgrade, or for eradication. My money is on eradication. (Pedestrians shouldn’t have to wait for the little figure of a walking person to appear to remind drivers to pause before making a turn.) If these buttons are, indeed, disappearing from a major city, then they’re likely disappearing elsewhere, too, which makes me wonder: if the buttons are going away, then how about the crossing signal sounds? You know, like the fake birds, for example, that tell walkers they’re free to go? Presumably, the fake birds will remain, because they serve a purpose whether or not a button needs to be pushed. We’ll no longer have control, as pedestrians, as to whether the birds sing. The birds will sing every time the lights change, which is how it should be.

    Explosm.net: Comic for 2021.11.29

    New Cyanide and Happiness Comic

    The Shape of Code: The software heritage of K&R C

    The mission statement of the Software Heritage is “… to collect, preserve, and share all software that is publicly available in source code form.”

    What are the uses of the preserved source code that is collected? Lots of people visit preserved buildings, but very few people are interested in looking at source code.

    One use-case is tracking the evolution of changes in developer usage of various programming language constructs. It is possible to use Github to track the adoption of language features introduced after 2008, when the company was founded, e.g., new language constructs in Java. Over longer time-scales, the Software Heritage, which has source code going back to the 1960s, is the only option.

    One question that keeps cropping up when discussing the C Standard, is whether K&R C continues to be used. Technically, K&R C is the language defined by the book that introduced C to the world. Over time, differences between K&R C and the C Standard have fallen away, as compilers cease supporting particular K&R ways of doing things (as an option or otherwise).

    These days, saying that code uses K&R C is taken to mean that it contains functions defined using the K&R style (see sentence 1818), e.g.,

    writing:

    int f(a, b)
    int a;
    float b;
    {
    /* declarations and statements */
    }
    

    rather than:

    int f(int a, float b)
    {
    /* declarations and statements */
    }
    

    As well as the syntactic differences, there are semantic differences between the two styles of function definition, but these are not relevant here.

    How much longer should the C Standard continue to support the K&R style of function definition?

    The WG14 committee prides itself on not breaking existing code, or at least not lots of it. How much code is out there, being actively maintained, and containing K&R function definitions?

    Members of the committee agree that they rarely encounter this K&R usage, and it would be useful to have some idea of the decline in use over time (with the intent of removing support in some future revision of the standard).

    One way to estimate the evolution in the use/non-use of K&R style function definitions is to analyse the C source created in each year since the late 1970s.

    The question is then: How representative is the Software Heritage C source, compared to all the C source currently being actively maintained?

    The Software Heritage preserves publicly available source, plus the non-public, proprietary source forming the totality of the C currently being maintained. Does the public and non-public C source have similar characteristics, or are there application domains which are poorly represented in the publicly available source?

    Embedded systems is a very large and broad application domain that is poorly represented in the publicly available C source. Embedded source tends to be heavily tied to the hardware on which it runs, and vendors tend to be paranoid about releasing internal details about their products.

    The various embedded systems domains (e.g., 8, 16, 32, 64-bit processor) tend to be a world unto themselves, and I would not be surprised to find out that there are enclaves of K&R usage (perhaps because there is no pressure to change, or because the available tools are ancient).

    At the moment, the Software Heritage don’t offer code search functionality. But then, the next opportunity for major changes to the C Standard is probably 5-years away (the deadline for new proposals on the current revision has passed); plenty of time to get to a position where usage data can be obtained 🙂

    explodingdog:

    Greater Fool – Authored by Garth Turner – The Troubled Future of Real Estate: The big thing

    Exactly a year ago (when we were all waiting for the vax) a big Bay Street consulting outfit sounded the alarm. Veritas Investment Research has creds. RBC is one of its heavy clients, and these days good data matters.

    But, yikes, they blew it.

    Real estate is ready to go over a mortgage deferral cliff, the company said. And the number of homes listed for sale will mushroom.

    “We see a potential headwind for real estate prices as payment deferral programs wind down in 2020… An increase in MoI (inventory) represents a buildup of excess supply resulting in lower real estate prices and vice versa. Our analysis estimates the potential impact to real estate prices based solely on increased supply from properties tied to mortgage deferrals being listed for sale.”

    The conclusion: A “material decline” in house prices. Across Canada, up to 11%. In Vancouver as much as 17%. And in the GTA, a cascade of up to 26%, as owners ran into financial distress and listings jumped.

    Never happened. Veritas laid an egg. Not alone, though. Most bank economists were on the same page a year ago. So was CMHC. Remember Evan Siddall, its outspoken boss? He said prices were going down 15% as most of a million families took a holiday from mortgage payments.

    Fail. Prices went up nationally by almost 20%, and in major markets and high-demand suburbs by a third. Moreover, inventory collapsed. Instead of having a 6-8 month supply of houses building up (as Veritas projected), in places like Toronto it’s measured in weeks. The number of active listings in Victoria, Vancouver, Mississauga, Hamilton, Ottawa, Toronto, Montreal and Halifax has crashed by up to 60%. The mortgage deferral cliff was not even a pimple. In terms of academic research, data-collecting and expert analysis through a macroeconomic lens, this was a disaster.

    But why?

    Mortgage rates are higher now. We’re in the fourth wave of this miserable pathogen. Inflation has surged, putting pressure on family incomes. Wage growth has been pathetic. Debt of all kinds – but especially for home loans and HEOCs – has taken a giant leap. Now Omnicron has arrived. Sheesh. Enough, already.

    What the research failed to measure was human emotion. The real estate mess we now witness was caused by desire, house-lust, FOMO and the hormonal Bank of Mom – not record-low mortgage rates, Chinese dudes, money-laundering or any of the other bogus reasons thrown around below decks. Missed was a massive inter-generational transfer of wealth, unique in Canadian history. Sure, parents have always helped kids get established. But not like this.

    A survey from IG/Pollara has found that 75% of high net-worth families (investible assets $1 million+) have funded downpayments, or plan to do so. The average gift is $145,000, and in most cases Mom Money is paying 25% of the purchase price. The total amount being transferred to adult kids by affluent parents: $100 billion.

    By the way, real estate has never gone up as much, as fast, under any prime minister as it has during the Reign of T2. The Macdonald-Laurier Institute says in a report called “Hitting too Close to Home” that values under Trudeau are 70% higher – adding $300,000 to an average property. Just since the pandemic arrived, we’ve seen a 31% inflation. Meanwhile the money people make has barely budged. And this explains all the debt. Canadians are borrowing from the future to buy what they cannot afford today.

    Besides FOMO and Mom Money, here’s the third thing screwing up real estate: house hoarding. As we told you last week, a quarter of all housing transactions now involve buyers who already own homes. It’s the financialization of accommodation. Given cheap money, easy leverage and lax downpayment regs, this is the one asset class Canadians have swarmed to. Half of all Toronto condos go to investors, not end users, and become part of the rental pool. Everybody with a house wants another one.

    Well, it’s the end of November. Veritas has just issued its 2021 report. President & CEO Anthony Scilipoti has these messages for his corporate clients:

    • High household debt could lead to a reckoning.
    • That would involve “a series of sharp interest rate hikes to rein in inflation.”
    • Politicians have “no idea” on how to deal with low inventories and the trend towards house hoarding.
    • “My biggest concern,” he says, “is what happens when there is a rush to the exits for real estate investors.”
    • The work-from-home equation has been a mass social experiment that has likely changed how we live, work and play forever.

    Should we ignore such words and keep pushing our kids into the most expensive, highly-leveraged housing market of all time? Will Canadian residential real estate be the first asset class that goes up forever? Does Mom know better than the data scientists?

    Looks like 2022 will be a shocker.

    About the picture: “This is Ozzie, our first granddog,” writes Ilona. “She’s almost 2 years old mini Australian Shepherd, unusually chill for the breed (and never barks!) Very pretty and knows it. If a passerby says, “Aw look at those beautiful blue eyes!”, they’d have to pet her and compliment the silky soft fur as well. We sure she misses Toronto snow, but otherwise is happy with her hoomans in BC. Segue to MSU: your blog helped me get over the idea of buying a condo for our daughter, who was a student at the time. She got the placement in Vancouver, and our B&D portfolio is definitely working better for us than a rental unit would! Thank you for your wisdom and sarcasm.”

    Daniel Lemire's blog: Science and Technology links (Novembre 28th 2021)

    1. Government-funded research is getting more political and less diverse:

      The frequency of documents containing highly politicized terms has been increasing consistently over the last three decades. The most politicized field is Education & Human Resources. The least are Mathematical & Physical Sciences and Computer & Information Science & Engineering, although even they are significantly more politicized than any field was in 1990. At the same time, abstracts have been becoming more similar to each other over time. Taken together, the results imply that there has been a politicization of scientific funding in the US in recent years and a decrease in the diversity of ideas supported.

    2. Parabiosis is the process of tying the blood vessels of animals. Zhang et al. proceeded with parabiosis between young and old mice, followed by a detachment period. The old mice lived longer than control mice and they appear to have been rejuvenated by the parabiosis.
    3. A single injection to enable paralyzed mice to walk again.
    4. The Artic has been warming for much longer than we thought.
    5. Dog fed only once daily are healthier.
    6. India fertility rate is now below replacement rate.

    Planet Haskell: Joachim Breitner: Zero-downtime upgrades of Internet Computer canisters

    TL;DR: Zero-downtime upgrades are possible if you stick to the basic actor model.

    Background

    DFINITY’s Internet Computer provides a kind of serverless compute platform, where the services are WebAssemmbly programs called “canisters”. These services run without stopping (or at least that’s what it feels like from the service’s perspective; this is called “orthogonal persistence”), and process one message after another. Messages not only come from the outside (“ingress” calls), but are also exchanged between canisters.

    On top of these uni-directional messages, the system provides the concept of “inter-canister calls”, which associates a respondse message with the outgoing message, and guarantees that a response will come. This RPC-like interface allows canister developers to program in the popular async/await model, where these inter-canister calls look almost like normal function calls, and the subsequent code is suspended until the response comes back.

    The problem

    This is all very well, until you try to upgrade your canister, i.e. install new code to fix a bug or add a feature. Because if you used the await pattern, there may still be suspended computations waiting for the response. If you swap out the program now, the code of that suspended computation will no longer be present, and the response cannot be handled! Worse, because of an infelicity with the current system’s API, when the response comes back, it may actually corrupt your service’s state.

    That is why upgrading a canister requires stopping it first, which means waiting for all outstanding calls to come back. During this time, your canister is not available for new calls (so there is downtime), and worse, the length of the downtime is at the whims of the canisters you called – they could withhold the response ad infinitum, rendering your canister unupgradeable.

    Clearly, this is not acceptable for any serious application. In this post, I’ll explore some of the ways to mitigate this problem, and how to create canisters that are safely instantanously (no downtime) upgradeable.

    It’s a spectrum

    Some canisters are trivially upgradeable, for others all hope is lost; it depends on what the canister does and how. As an overview, here is the spectrum:

    1. A canister that never performs inter-canister calls can always be upgraded without stopping.
    2. A canister that only does one-way calls, and does them in a particular way (see below), can always be upgraded without stopping.
    3. A canister that performs calls, and where it is acceptable to simply drop outstanding repsonses, can always be upgraded without stopping, once the System API has been improved and your Canister Development Kit (CDK; Motoko or Rust) has adapted.
    4. A canister that performs calls, but uses explicit continuations to handle, responses instead of the await-convenience, based on an eventually fixed System API, can be upgradeded without stopping, and will even handle responses afterwards.
    5. A canister that uses await to do inter-canister call cannot be upgraded without stopping.

    In this post I will explain 2, which is possible now, in more detail. Variant 3 and 4 only become reality if and when the System API has improved.

    One-way calls

    A one-way call is a call where you don’t care about the response; neither the replied data, nor possible failure conditions.

    Since you don’t care about the response, you can pass an invalid continuation to the system (technical detail: a Wasm table index of -1). Because it is invalid for any (realistic) Wasm module, it will stay invalid even after an upgrade, and the problem of silent corruption mentioned above is avoided. And otherwise it’s fine for this to be invalid: it means the canister “traps” once the response comes back, which is harmeless (and possibly even cheaper than a do-nothing computation).

    This requires your CDK to support this kind of call. Mostly incidential, Motoko (and Candid) actually have the concept of one-way call in their type system, namely shared functions with return type () instead of async ... (Motoko is actually older than the system, and not every prediction about what the system will provide has proven successful). So, pending this PR to be released, Motoko will implement one-way calls in this way. On Rust, you have to use the System API directly or wait for cdk-rs to provide this ability (patches welcome, happy to advise).

    You might wonder: How are calls useful if I don’t get to look at the response? Of course, this is a set-back – calls with responses are useful, and await is convenient. And if you have to integrate with an existing service that only provides normal calls, you are out of luck.

    But if you get to design the canister and all called canisters together, it may be possible to use only one-way messages. You’d be programming in the plain actor model now, with all its advantages (simple concurrency, easy to upgrade, general robustness).

    Consider for example a token ledger canister, not unlike the ICP ledger canister. For the most part, it doesn’t have to do any outgoing calls (and thus be trivially upgradeble). But say we need to add notify functionality, where the ledger canister tells other canisters about a transaction. This is a good example for a one-way call: Maybe the ledger canister doesn’t care if that notification was received? The ICP leder does care (once it comes back successful, this particular notification cannot be sent again), but maybe your ledger can do it differently: let the other canister confirm the receip via another one-way call, instead of via the reply; or simply charge for each notification and do not worry about repeated notifications.

    Maybe you want to add archiving functionality, where the ledger canister streams its data to an archive canister. There, again, instead of using successful responses to confirm receipt, the archive canister can ping the ledger canister with the latest received index directly.

    Yes, it changes the programming model a bit, and all involved parties have to play together, but the gain (zero-downtime upgrades) is quite valuable, and removes a fair number of other sources of issues.

    And in the future?

    The above is possible with today’s Internet Computer. If the System API gets improves the way I hope it will be, you have a possible middle ground: You still don’t get to use await and instead have to write your response handler as separate functions, but this way you can call any canister again, and you get the system’s assistance in mapping responses to calls. With this in place, any canister can be rewritten to a form that supports zero-downtime upgrades, without affecting its interface or what the canister can do.

    Saturday Morning Breakfast Cereal: Saturday Morning Breakfast Cereal - Efficient



    Click here to go see the bonus panel!

    Hovertext:
    The other thing is that his preference for believing he is right is higher than any other.


    Today's News:

    new shelton wet/dry: (In strident discord peasants and townsmen of mange and Green factions sing Kick the Pope and Daily, daily sing to Mary.)

    31.jpg

    1.jpg

    { YassifyBot }

    new shelton wet/dry: Sweet almond oil and tincture of benzoin, Mr Bloom said, and then orangeflower water

    6.jpg

    Sophia Urista apologizes for peeing on fan. The rocker ordered the man to lie down on his back before she unbuttoned her pants, popped a squat and relieved herself on his head. Sophia Urista isn’t first rocker to urinate onstage

    Disquiet: twitter.com/disquiet: Holiday Pause

    For many months now, I’ve made it a habit that each Saturday I collate in a single blog post the tweets I made over at twitter.com/disquiet during the preceding week. However, having taken the past week off Twitter for the Thanksgiving break, I find I have zero tweets for repackaging today.

    Now, the main benefit of reposting the Twitter material here on Disquiet.com isn’t really about archiving it, though having searchable access is nice. It’s great, over time, to be able to sift through one’s own site, one’s own outboard memory, for the things one has said about a certain novelist’s penchant for sonic observation, or a certain producer’s employment of piano samples, or an unusual and inspiring cross-genre team-up¹, or a certain operating system’s annoyances², or a piece of hardware’s³, or the pleasures of re-watching a favorite TV series⁴. The main benefit of doing so, though, is the process itself, the process of reading back through a week’s tweets and reflecting on what I’ve said offhand, what I’ve learned, and what conversations I’ve participated in.

    I take every weekend off Twitter, which means that on a given Saturday morning, when I normally do the tweet package post while drinking coffee, I have five days’ worth of material to work through, Monday through Friday. This all takes maybe 10 minutes or so, a bit longer if I used a lot of images or links. Sometimes the previous Monday feels like a month ago. Often I recognize that my mood has shifted over the course of the week. On occasion I watch my attitude on a given topic veer this way and that as I absorb and process input.

    This week has been different. This week I’ve been offline. A week without Twitter is a strange thing, as the habit to tweet has become so natural, so commonplace, as much an urge as an outlet. I use Twitter as a public notebook as much as I do as a water cooler, as a way to float concepts as much as a means to chat. A post I make to Twitter is sometimes a trial run of an idea, an inchoate thought, a stray observation, a bit of data. Sometimes I’ll follow up with an additional thought, which leads to a thread. Sometimes I’ll revisit the idea from another angle later in the day or the week. If someone responds, then a conversation may ensue.

    For the past week, I’ve had no public venue, not in terms of social media. The break has been healthy. A week without Twitter doesn’t mean I’ve had no notebook; it just means I haven’t had a public one (aside from some pie photos on Instagram). When I read an interesting phrase in the new John le Carré novel, Silverview, which I’m almost finished with, I just jotted it down in an actual notebook, a paper one. Same with something in the new Neal Stephenson, Termination Shock, which I’m about halfway through, and something about guitar practice (I’ve been working on Travis picking), and something about the recent Robert Fripp box set, and about a few songs by the Jam. There’s been other writing, long form work, more on which later, and a few looks back at the year. All in relative isolation. I’ve still posted here every day, but here, on my own website, is different from Twitter. Here, it is quiet.

    See you next week at twitter.com/disquiet.


    These are all things I would have tweeted this week. Some, yes, would have been threads:

    ¹Got a new CD player, because the old 5-CD changer died after 30 years of dedicated service. A simple, small, stereo component CD player is difficult to come by these days. For the moment, I’m using a DVD player with audio outs, but it has no display readout, so you don’t know what track is playing, which if fine for the Monkees’ greatest hits, but not so useful with Morton Feldman’s For Christian Wolff. (It’s also oddly difficult to find an affordable Blu-ray player with audio outs.) The first CD I put on was the Necks’ team-up with Underworld, one of my favorite albums in recent years.

    ²So, both iOS/iPadOS and macOS use the same gear icon for something similar, but the former calls it “Settings” and the latter calls it “System Preferences.” Within macOS, the “System Preferences” icon is re-used for “Software Update,” whereas in iOS/iPadOS, a simplification of the icon is used for “General,” which is how you navigate to “Software Update.”

    ³I got a “hardware authentication device,” and sometimes if my finger touches it the computer spits out random arrays of characters. Part of me wants to share what the letter salad looks like, but for all I know it’s some sorta private digital fingerprint. (Also, I’d swear this evening it somehow made the laptop screech out loud, such that initially I thought the noise was coming from the TV, which was on mute.)

    ⁴Been re-watching Person of Interest (2011-2016, 103 episodes). There is so much sound in this epic A.I. surveillance drama. That’s Michael Emerson as Harold Finch, working undercover:

    Explosm.net: Comic for 2021.11.28

    New Cyanide and Happiness Comic

    explodingdog:

    new shelton wet/dry: Every day, the same, again

    The first South African doctor to alert the authorities about patients with the omicron variant has told The Telegraph that the symptoms of the new variant are unusual but mild. […] They included young people with intense fatigue and a six-year-old child with a very high pulse rate. None suffered from a loss of taste or smell.

    why we won’t know for weeks how dangerous Omicron is

    “What’s the process to add additional presidents to Mount Rushmore?”, a Trump admin official reportedly asked. — Sculpture of Donald Trump’s face carved into Mount Rushmore has been pictured at his office in Mar-a-Lago

    New plastic made from DNA is biodegradable and easy to recycle

    “It is currently possible to drive a mid-size electric car 1.8 million kilometres using the same energy it takes to mine one single Bitcoin” Europe must ban Bitcoin mining to hit the 1.5C Paris climate goal, say Swedish regulators

    In the early 2010s, the leading music-intelligence company was the Echo Nest, which Spotify acquired in 2014. Founded in the MIT Media Lab in 2005, the Echo Nest developed algorithms that could measure recorded music using a set of parameters similar to Serrà’s, including ones with clunky names like acousticness, danceability, instrumentalness, and speechiness. To round out their models, the algorithms could also scour the internet for and semantically analyze anything written about a given piece of music. The goal was to design a complete fingerprint of a song: to reduce music to data to better guide consumers to songs they would enjoy. By the time Spotify bought the Echo Nest, it claimed to have analyzed more than 35 million songs, using a trillion data points. […] The result is that users keep encountering similar content because the algorithms keep recommending it to us.

    “Ghost particles” detected in the Large Hadron Collider for first time

    The Pigeon Puzzle: How Do They Figure Out Their Impossibly Long Routes Home?

    Back when it was normal to advertise cocaine gadgets in magazines, 1970-1980

    ScreenAnarchy: Trailer: AJAGAJANTHARAM, Get Ready For A Festival Of Nonstop Action

    Blasting out of India's current cinema hotspot of Kerala, Tinu Pappachan's Ajagajantharam is ready to knock the action movie world on its ass. A student and collaborator of Jallikattu director, Lijo Jose Pellissary, Pappachan has worked for years as an associate director on LJP's films. In 2018 he stepped out on his own with a prison break film called Swathanthryam Ardharithriyil (Freedom at Midnight), a distinctly action-centered take on The Shawshank Redemption, which I absolutely adored. Now he's finally returning to the director's chair with his sophmore project, Ajagajantharam. The latest film, which doesn't really have an English translation (I looked), is the story of a festival interrupted by feuding factions bent on destroying one another. It looks abslutely insane in the best possible way....

    [Read the whole post on screenanarchy.com...]

    Saturday Morning Breakfast Cereal: Saturday Morning Breakfast Cereal - Oops



    Click here to go see the bonus panel!

    Hovertext:
    Bonus points if you convince them to bury it and not tell the cops.


    Today's News:

    Planet Haskell: Magnus Therning: Fallback of actions

    In a tool I'm writing I want to load a file that may reside on the local disk, but if it isn't there I want to fetch it from the web. Basically it's very similar to having a cache and dealing with a miss, except in my case I don't populate the cache.

    Let me first define the functions to play with

    loadFromDisk :: String -> IO (Either String Int)
    loadFromDisk k@"bad key" = do
        putStrLn $ "local: " <> k
        pure $ Left $ "no such local key: " <> k
    loadFromDisk k = do
        putStrLn $ "local: " <> k
        pure $ Right $ length k
    
    loadFromWeb :: String -> IO (Either String Int)
    loadFromWeb k@"bad key" = do
        putStrLn $ "web: " <> k
        pure $ Left $ "no such remote key: " <> k
    loadFromWeb k = do
        putStrLn $ "web: " <> k
        pure $ Right $ length k
    

    Discarded solution: using the Alternative of IO directly

    It's fairly easy to get the desired behaviour but Alternative of IO is based on exceptions which doesn't strike me as a good idea unless one is using IO directly. That is fine in a smallish application, but in my case it makes sense to use tagless style (or ReaderT pattern) so I'll skip exploring this option completely.

    First attempt: lifting into the Alternative of Either e

    There's an instance of Alternative for Either e in version 0.5 of transformers. It's deprecated and it's gone in newer versions of the library as one really should use Except or ExceptT instead. Even if I don't think it's where I want to end up, it's not an altogether bad place to start.

    Now let's define a function using liftA2 (<|>) to make it easy to see what the behaviour is

    fallBack ::
        Applicative m =>
        m (Either String res) ->
        m (Either String res) ->
        m (Either String res)
    fallBack = liftA2 (<|>)
    
    λ> loadFromDisk "bad key" `fallBack` loadFromWeb "good key"
    local: bad key
    web: good key
    Right 8
    
    λ> loadFromDisk "bad key" `fallBack` loadFromWeb "bad key"
    local: bad key
    web: bad key
    Left "no such remote key: bad key"
    

    The first example shows that it falls back to loading form the web, and the second one shows that it's only the last failure that survives. The latter part, that only the last failure survives, isn't ideal but I think I can live with that. If I were interested in collecting all failures I would reach for Validation from validation-selective (there's one in validation that should work too).

    So far so good, but the next example shows a behaviour I don't want

    λ> loadFromDisk "good key" `fallBack` loadFromWeb "good key"
    local: good key
    web: good key
    Right 8
    

    or to make it even more explicit

    λ> loadFromDisk "good key" `fallBack` undefined
    local: good key
    *** Exception: Prelude.undefined
    CallStack (from HasCallStack):
      error, called at libraries/base/GHC/Err.hs:79:14 in base:GHC.Err
      undefined, called at <interactive>:451:36 in interactive:Ghci4
    

    There's no short-circuiting!1

    The behaviour I want is of course that if the first action is successful, then the second action shouldn't take place at all.

    It looks like either <|> is strict in its second argument, or maybe it's liftA2 that forces it. I've not bothered digging into the details, it's enough to observe it to realise that this approach isn't good enough.

    Second attempt: cutting it short, manually

    Fixing the lack of short-circuiting the evaluation after the first success isn't too difficult to do manually. Something like this does it

    fallBack ::
        Monad m =>
        m (Either String a) ->
        m (Either String a) ->
        m (Either String a)
    fallBack first other = do
        first >>= \case
            r@(Right _) -> pure r
            r@(Left _) -> (r <|>) <$> other
    

    It does indeed show the behaviour I want

    λ> loadFromDisk "bad key" `fallBack` loadFromWeb "good key"
    local: bad key
    web: good key
    Right 8
    
    λ> loadFromDisk "bad key" `fallBack` loadFromWeb "bad key"
    local: bad key
    web: bad key
    Left "no such remote key: bad key"
    
    λ> loadFromDisk "good key" `fallBack` undefined
    local: good key
    Right 8
    

    Excellent! And to switch over to use Validation one just have to switch constructors, Right becomes Success and Left becomes Failure. Though collecting the failures by concatenating strings isn't the best idea of course. Switching to some other Monoid (that's the constraint on the failure type) isn't too difficult.

    fallBack ::
        (Monad m, Monoid e) =>
        m (Validation e a) ->
        m (Validation e a) ->
        m (Validation e a)
    fallBack first other = do
        first >>= \case
            r@(Success _) -> pure r
            r@(Failure _) -> (r <|>) <$> other
    

    Third attempt: pulling failures out to MonadPlus

    After writing the fallBack function I still wanted to explore other solutions. There's almost always something more out there in the Haskell eco system, right? So I asked in the #haskell-beginners channel on the Functional Programming Slack. The way I asked the question resulted in answers that iterates over a list of actions and cutting at the first success.

    The first suggestion had me a little confused at first, but once I re-organised the helper function a little it made more sense to me.

    mFromRight :: MonadPlus m => m (Either err res) -> m res
    mFromRight = (either (const mzero) return =<<)
    

    To use it put the actions in a list, map the helper above, and finally run asum on it all2. I think it makes it a little clearer what happens if it's rewritten like this.

    firstRightM :: MonadPlus m => [m (Either err res)] -> m res
    firstRightM = asum . fmap go
      where
        go m = m >>= either (const mzero) return
    
    λ> firstRightM [loadFromDisk "bad key", loadFromWeb "good key"]
    local: bad key
    web: good key
    8
    
    λ> firstRightM [loadFromDisk "good key", undefined]
    local: good key
    8
    

    So far so good, but I left out the case where both fail, because that's sort of the fly in the ointment here

    λ> firstRightM [loadFromDisk "bad key", loadFromWeb "bad key"]
    local: bad key
    web: bad key
    *** Exception: user error (mzero)
    

    It's not nice to be back to deal with exceptions, but it's possible to recover, e.g. by appending <|> pure 0.

    λ> firstRightM [loadFromDisk "bad key", loadFromWeb "bad key"] <|> pure 0
    local: bad key
    web: bad key
    0
    

    However that removes the ability to deal with the situation where all actions fail. Not nice! Add to that the difficulty of coming up with a good MonadPlus instance for an application monad; one basically have to resort to the same thing as for IO, i.e. to throw an exception. Also not nice!

    Fourth attempt: wrapping in ExceptT to get its Alternative behaviour

    This was another suggestion from the Slack channel, and it is the one I like the most. Again it was suggested as a way to stop at the first successful action in a list of actions.

    firstRightM ::
        (Foldable t, Functor t, Monad m, Monoid err) =>
        t (m (Either err res)) ->
        m (Either err res)
    firstRightM = runExceptT . asum . fmap ExceptT
    

    Which can be used similarly to the previous one. It's also easy to write a variant of fallBack for it.

    fallBack ::
        (Monad m, Monoid err) =>
        m (Either err res) ->
        m (Either err res) ->
        m (Either err res)
    fallBack first other = runExceptT $ ExceptT first <|> ExceptT other
    
    λ> loadFromDisk "bad key" `fallBack` loadFromWeb "good key"
    local: bad key
    web: good key
    Right 8
    
    λ> loadFromDisk "good key" `fallBack` undefined
    local: good key
    Right 8
    
    λ> loadFromDisk "bad key" `fallBack` loadFromWeb "bad key"
    local: bad key
    web: bad key
    Left "no such local key: bad keyno such remote key: bad key"
    

    Yay! This solution has the short-circuiting behaviour I want, as well as collecting all errors on failure.

    Conclusion

    I'm still a little disappointed that liftA2 (<|>) isn't short-circuiting as I still think it's the easiest of the approaches. However, it's a problem that one has to rely on a deprecated instance of Alternative for Either String, but switching to use Validation would be only a minor change.

    Manually writing the fallBack function, as I did in the second attempt, results in very explicit code which is nice as it often reduces the cognitive load for the reader. It's a contender, but using the deprecated Alternative instance is problematic and introducing Validition, an arguably not very common type, takes away a little of the appeal.

    In the end I prefer the fourth attempt. It behaves exactly like I want and even though ExpectT lives in transformers I feel that it (I pull it in via mtl) is in such wide use that most Haskell programmers will be familiar with it.

    One final thing to add is that the documentation of Validation is an excellent inspiration when it comes to the behaviour of its instances. I wish that the documentation of other packages, in particular commonly used ones like base, transformers, and mtl, would be more like it.

    Footnotes:

    1

    I'm not sure if it's a good term to use in this case as Wikipedia says it's for Boolean operators. I hope it's not too far a stretch to use it in this context too.

    2

    In the version of base I'm using there is no asum, so I simply copied the implementation from a later version:

    asum :: (Foldable t, Alternative f) => t (f a) -> f a
    asum = foldr (<|>) empty
    

    Disquiet: Moving Day

    No post tonight … well, except this post. Spent the afternoon and evening getting a new laptop set up. The old one had gotten to the point where it did very little without its fan running at full blast, and it took forever to turn on whenever the screen was brought back from sleep. Still have a bit further to go with the new one, but it’s working well.

    I’m not so picky about my settings that I need to transfer them over, but doing it manually does take a bit of time. The fact is, I’m fairly OS-agnostic at this point. The cloud is my computer, and a laptop is just a means to access that data and processing power. Still, one wants that laptop to have a good screen, and a fast hard drive, and a powerful CPU, albeit not so powerful that it sets the fan running.

    This new one seems pretty solid. The laptop is so deep, there is a sense of cavernousness to the keyboard, like the space below the keys is evident, not just the depth of them, but the spaciousness further below. That’s unlike my more recent laptops, where I was essentially tapping on the surface of something just above the table top, with a negligible air gap. Typing on those super thin laptops wasn’t particularly different from doing so on an iPad.

    There’s much to adjust to with the new laptop, but the majority of the software has now been installed. There are a few lingering issues, like an account calendar that won’t sync and a social network denying access due to some missing backup codes, but it’ll get sorted soon enough.

    Getting a new laptop is sort of like moving into a rental apartment. You know you’ll only be here for about five years (I’m pretty rough on laptops, and they often last little more than three), but while you’re here, you want to make it your own. Swap out the wallpaper, add your fingerprint to the lock, change the default tools for more specialized ones.

    And one by one, turn off those annoying alert sounds. Every time you mute one, another makes itself known. Months will pass at some point, and only then will you look back and realize, “Oh, it’s been a while since an alert went off. I must have gotten them all.”

    MattCha's Blog: Ranked! Western Puerh Vendors 2021 Yiwu GuoYouLin Productions Part 2!

     Last year one of my most popular posts was this one where I ranked all of the 2019/2020 Yiwu Guoyoulin productions by Western facing puerh vendors.  The list was ranked simply by my personal preference ( not overall quality), didn’t take value or price into consideration, and was limited by only the Guoyoulin productions I managed to sample.  An interesting conversation developed and I had a lot of feedback regarding my ranking.  Within only a few months of posting most in that list we’re sold out (Blogger effect??).  This year I tried some more excellent Guoyoulin/ Gushu from our finest Western puerh vendors.  Many of these were given to me as complimentary samples and some of them I purchased myself.  I thought I would keep the few earlier productions that have not sold out yet in the ranking list this year.  Some of these are going to be marked down with the Black Friday sales going on now.  Okay In order of personal preference…

    1- 2021Essence of Tea Bai Hua Qing ($1.40/g)- this is a brilliant lesson in powerful complex Yiwu Gushu from a new and trendy area.  Tastes profile changes lots throughout the session.  With an interweaving of sweet floral and woody bitter.  First 5 flash infusions are pretty bitter but it integrates more harmoniously into the taste structure as the session progresses.  Very solid saliva returning with aftertaste.  Nice Qi sensation of mind fuzziness and physical face and jaw sensations.  What’s not to love about this one???

    2- 2021 Tea Encounter Chawangshu Gushu ($1.75/g)- the most famous area in Yiwu doesn’t disappoint!  This one has extra points for the Qi that makes this area so desired- lots of chesty Heart beats, face and head sensations, even body swaying nervous system effect… so so good!  Strong lively euphoria energy.  Has very long sweet taste that really melts in the mouth with nice oily structure, mouthfeel, open throat, and saliva returning.

    3- 2021 Essence of Youle GaoGan ($1.24/g)- a nice Youle with a deeper complex structure that would make it an ideal Youle for aging.  A calm relaxing Qi with deeper body feels.  Solid taste and saliva producing and stronger sticky/drying/tight tongue mouthfeeling with a complex movement of tastes that complicate the session nicely as the session moves along.  I’m really into nearding out over this decadent Youle experience!

    4- 2021 Tea Encounter Guafengzhai Gushu ($1.35/g)- This puerh has lots of “deeper” Gushu qualities… so I used the word deep to describe it a lot in the tasting notes.  A nice strong deep euphoria Qi feeling, with strong mind floating.  There is a thick rich feeling to the liquor, taste, and Qi which brings a with it full cohesive feeling. Deep evolving Qi relaxing matches nicely to the thick oily sweet tastes.

    5- 2021 Essence of Tea Yiwu “Queen of the Forest” ($0.99/g)-  This is a super interesting blend of Yiwu Guoyoulin material.  It definitely is greater than the sum of its parts as mostly ethereal, light and harder to grasp Yiwu materials combine to give off much more.   Complex and interesting in its presentation the simple complexity of each area come together to offer a single entrancing experience.  Many interesting abut subtle things happen through the session.  A weak throat feeling and super soft but very silky silty mouthfeeling back an orchestra of separate parts.

    6- 2021 Tea Encounter Yi Shan Mo ($0.70/g)- The slow and steady evolution of narrow but engaging and dense tastes coupled with the building of Qi and the powerful stamina of these leaves, especially the signature lubricating mouthfeeling, make this the best Yishanmo I’ve tried to date.  A treat for those who like this region!

    7-  2021 Essence of Tea Yao Zhu Di ($1.10/g)- is maybe the best pure and true Guoyoulin out of the list and a very honest and straightforward Yiwu Guoyoulin profile.  Flavours are a lingering pure uninterrupted and deeply expansive sweetness with a quick arriving but ling arch of cool pungency.  It goes over very nicely.  It is also something that can be both pushed hard or enjoyed light- either experience is a very nice one.  A happy and rejuvenating energy to it.  It’s also one of the cheaper options on the list.  This Yiwu Guoyoulin is very full and satisfying to me- maybe just not enough to order…. I think I might have over ranked this one… not sure…

    8- 2021 Tea Encounter Yiwu Guoyoulin ($0.35/g) -  this is way cheaper than others on the list yet I feel it is still very Gushu.  It has that barnyard gamey Gushu taste and some wild floral taste with not too much sweetness- the flavours are not that condensed.  It’s the deeper Qi I really like in here with bodyfeeling in the neck and a deep spacey almost feel good feeling.  This is the one out of the teas on this list that I’m most likely to cake this year… nice and cheap but believably Guoyoulin with a Qi to back it up!

    9- 2020 white2tea Is A Gift ($1.25/g)- is a solid above average Yibang which I quite enjoy.  It has some strength behind it and a very and a very satisfying aftertaste.  The taste peaks slowly and has above average stamina.  Qi is warming and euphoric.  Seems more processed and more balanced than the 2019 version.  I blind caked this one.

    10- 2021 Biyun Hao Longdui Guoyoulin (Standard Rounian) ($0.55/g) Nice pure, clean, clear Guoyoulin energy.  This has a bit more bitterness but also stronger throat sensations and returning sweetness than the stronger rolling below.  Same nice feel good relaxing Qi as the stronger rolling #11 below.  Some people could easily place this higher on their list especially considering the cheaper price.

    11- 2021 Biyun Hao Longdui Guoyoulin (Stronger Rounian) ($0.55/g) - A Nice clean processed Yiwu single estate production.  Has a classic simple but pure and enjoyable honest taste and faint aftertaste.  I enjoy the uncomplicated purity of it for sure.  Time will only tell if it outdoes the standard rolling above… but why not buy the half cake set offered on TeasWeLike website and find out on your own?

    Just like last year, I wish I tired a few more from white2tea and Yunnan sourcing… maybe next year.

    Peace


    Explosm.net: Comic for 2021.11.27

    New Cyanide and Happiness Comic

    Daniel Lemire's blog: Are tenured professors more likely to speak freely?

    University professors often have robust job security after a time: they receive tenure. It means that they usually do not have to worry about applying for a new job after a few years.

    Tenure is not available in all countries. Countries like Australia reassess positions every few years.

    So why does it exist where it does?

    One of the justifications for tenure is that professors who have tenure can speak more freely. Thus, in theory, they can be critical of government or corporate policies.

    Do they? What would “speaking freely” entails?

    What about denouncing a colleague who commits blatant fraud? On this front, the evidence is not great. Diederik Stapel published well over 100 research papers in prestigious journals. He was fired when it was determined that he was making up all of his research data. It took outsiders (students) to report him. Harvard professor Marc Hauser published over 200 papers in the best journals, making up data as he went. It took naive students to report the fraud. We find too many examples of over fraud in science, and rarely do we find that the close colleagues, the ones who should first spot the problems, report them. Brian Wansink was another famous professor who published countless papers based on fraudulent practices. It took media pressure as well as an investigation lead by a non-academic book publisher to take him down. I could go on. Professors rarely denounce other professors.

    What about teaching controversial courses or engaging in disliked research? Ceci et al. found little evidence:

    The findings from the present survey suggest that tenure itself does not result in faculty members routinely teaching courses that their senior colleagues disfavor, nor in their conducting research that their senior colleagues dislike.

    Whenever professors tell me that they feel free to hold controversial ideas thanks to their tenure… I ask about the positions that they took recently that would endanger their job security if not for tenure. I might also ask about the positions that they might take that would endanger their chances of getting a research grant?

    I should make it clear that being an advocate for transgenders’ rights or climate change is not controversial in 2021. I am looking for examples where a lone professor goes against the majority and would otherwise loose their job.

    If not themselves, then I might ask about other professors that did so. And we will find some of them. In Canada, we have Jordan Peterson at the University of Toronto, for example. Yet I do not consider Peterson particularly controversial. In fact, at the core, Peterson is merely a politically conservative professor. We used to  have a healthy share of politically conservative professors. It is only in the academy that it is highly troublesome to be politically conservative. A truly controversial professor was Denis Rancourt who thought important to question the foundation of the academy. Sadly Rancourt was fired (tenure did not protect him). I might throw in with Rancourt people like Bret Weinstein, Kathleen Stock and so forth.

    So while tenure might protect professors  if they want to hold controversial ideas… professors are trained to seek prestige: they avoid serious controversy when they can. Holding controversial views puts one’s reputation in danger. The overwhelming majority will never publicly hold controversial views. They are happy to go along with whatever is the policy of the day, whatever is fashionable.

    It does not follow the tenure is useless. It appears that tenured professor are often more productive. Indeed, it is possible that if you do not have to worry about where your next job will be, you can concentrate more on your teaching and your research.

    More content: Gad Saad and Pat Kambhampati are controversial tenured professors in Montreal. They are not the average professor.

    Arduino Blog: Converting a Fat Cat cushion into a controller for Final Fantasy XIV

    Mounts in the video game Final Fantasy XIV act like how cars or horses do in our world since they allow players to travel around the map much faster than would otherwise be possible. But even better, mounts are ways to express personality and have some fun, which is especially evident with the infamous “Fatter Cat” mount, as it got so widely beloved that Square Enix, the game’s publisher, decided to start selling a plushie version of it in their store. 

    With his own Fatter Cat cushion, FFXIV modder Louis Hamilton (SuperLouis64 on YouTube) decided to add some extra functionality by attaching both a touch sensor and a passive infrared module that lets it sense when someone has sat on it. This in turn causes an Arduino Micro board to send out a keystroke that activates a macro in the game, thus causing the Fatter Cat mount to appear. 

    You can watch SuperLouis64’s video below for a short demonstration of how this fun system works.

    The post Converting a Fat Cat cushion into a controller for Final Fantasy XIV appeared first on Arduino Blog.

    BOOOOOOOM! – CREATE * INSPIRE * COMMUNITY * ART * DESIGN * MUSIC * FILM * PHOTO * PROJECTS: Call to Submit: New Booooooom Photo Book

    The theme for this book is CIRCLES and we will be looking to feature work by 60 photographers!

    ScreenAnarchy: Review: LICORICE PIZZA, Paul Thomas Anderson Serves Up the Perfect Recipe

    Directed by Paul Thomas Anderson, Bradley Cooper, Sean Penn and Tom Waits join newcomer stars Alana Haim and Cooper Hoffman for a quality slice of life.

    [Read the whole post on screenanarchy.com...]

    Saturday Morning Breakfast Cereal: Saturday Morning Breakfast Cereal - Everything



    Click here to go see the bonus panel!

    Hovertext:
    There's a really good bakery near me called Paradox, but all the stuff the make appears to be permitted in this reality.


    Today's News:

    Penny Arcade: News Post: Millenery

    Tycho: At first, I thought Ridley Scott was laying the blame for his movie's failure at the door of milliners - hardworking folk whose craft is plied to the delight of the head and scalp. But no! No. It was instead placed on the brow of that oft maligned cadre, The Millennial, whose disinterest in the schemes of their boomer forebears is well known. Sometimes when there is an article about a director's incredible take-smithing, I can go and read it and - as is my doom - understand what they meant by it, even if they aren't especially invested in the gesticulations and obeisances of…

    Schneier on Security: Proposed UK Law Bans Default Passwords

    Following California’s lead, a new UK law would ban default passwords in IoT devices.

    Ideas: IDEAS listens to Stuff the British Stole

    There’s often a very messy history behind tidy museum exhibits: war and empire, power and theft. Stuff the British Stole tells the vivid truth. From the Parthenon Marbles to Tipu’s Tiger, we introduce you to an entertaining history podcast.

    Explosm.net: Comic for 2021.11.26

    New Cyanide and Happiness Comic

    Quiet Earth: Here are the best blu-ray and 4K UHD releases this week!

    The Safdie brothers, modern masters of jittery realism, cast Adam Sandler in a manically brilliant dramatic role. This jolt of pure cinematic adrenaline affirmed directors Josh and Benny Safdie as heirs to the gritty, heightened realism of Martin Scorsese and John Cassavetes.

    Adam Sandler delivers an almost maniacally embodied performance as Howard Ratner, a fast-talking New York jeweler in relentless pursuit of the next big score. When he comes into possession of a rare opal, it seems Howard’s ship has finally come in—as long as he can stay one step ahead of a wife (Idina Menzel) who hates him, a mistress (Julia Fox) who can’t quit him, and a frenzy of loan sharks and hit men closing in on him.

    Wrapping a vivid look at the old-school Jewish world of Manhattan&rsquo [Continued ...]

    Charles Petzold: Concert Diary: Percussion Music of Steven Mackey

    We

    ... more ...

    CreativeApplications.Net: The Lost Passage

    The Lost Passage
    The Lost Passage is an interactive experience for the web that creates a new digital home for an extinct species called passenger pigeon. It’s a digitally crafted world of a swarm of artificial pigeons, which seem to be inhabiting a sublime yet destitute memory of a lost landscape.

    Ideas: Nima Elbagir delivers the Peter Stursberg Foreign Correspondents Lecture

    CNN's Senior International Correspondent Nima Elbagir delivers this year's Peter Stursberg Foreign Correspondents Lecture. The award-winning journalist has reported from the frontlines of the Ebola outbreak in West Africa and in Chibok, the Nigerian village from which over 250 schoolgirls were kidnapped by Boko Haram. Her talk is entitled Humanity and the Foreign Correspondent.

    Planet Lisp: Tim Bradshaw: The endless droning: corrections and clarifications

    It seems that my article about the existence in the Lisp community of rather noisy people who seem to enjoy complaining rather than fixing things has atracted some interest. Some things in it were unclear, and some other things seem to have been misinterpreted: here are some corrections and clarifications.


    First of all some people pointed out, correctly, that LispWorks is expensive if you live in a low-income country. That’s true: I should have been clearer that I believe the phenonenon I am describing is exclusively a rich-world one. I may be incorrect but I have never heard anyone from a non-rich-world country doing this kind of destructuve whining.

    It may also have appeared that I am claiming that all Lisp people do this: I’m not. I think the number of people is very small, and that it has always been small. But they are very noisy and even a small number of noisy people can be very destructive.

    Some people seem to have interpreted what I wrote as saying that the current situation was fine and that Emacs / SLIME / SLY was in fact the best possible answer. Given that my second sentence was

    [Better IDEs] would obviously be desirable.

    this is a curious misreading. Just in case I need to make the point any more strongly: I don’t think that Emacs is some kind of be-all and end-all: better IDEs would be very good. But I also don’t think Emacs is this insurmountable barrier that people pretend it is, and I also very definitely think that some small number of people are claiming it is because they want to lose.

    I should point out that this claim that it is not an insurmountable barrier comes from some experience: I have taught people Common Lisp, for money, and I’ve done so based on at least three environments:

    • LispWorks;
    • Something based around Emacs and a CL running under it;
    • Genera.

    None of those environments presented any significant barrier. I think that LW was probably the most liked but none of them got in the way or put people off.

    In summary: I don’t think that the current situation is ideal, and if you read what I wrote as saying that you need to read more carefully. I do think that the current situation is not going to deter anyone seriously interested and is very far from the largest barrier to becoming good at Lisp. I do think that, if you want to do something to make the situation better then you should do it, not hang around on reddit complaining about how awful it is, but that there are a small number of noisy people who do exactly that because, for them, no situation would be ideal because what they want is to avoid being able to get useful work done. Those people, unsurprisingly, often become extremely upset when you confront them with this awkward truth about themselves. They are also extremely destructive influences on any discussion around Lisp. (Equivalents of these noisy people exist in other areas, of course.) That’s one of the reasons I no longer participate in the forums where these people tend to exist.


    (Thanks to an ex-colleague for pointing out that I should perhaps post this.)

    Planet Lisp: vindarel: Lisp for the web: pagination and cleaning up HTML with LQuery

    I maintain a web application written in Common Lisp, used by real world© clients© (incredible I know), and I finally got to finish two little additions:

    • add pagination to the list of products
    • cleanup the HTML I get from webscraping (so we finally fetch a book summary, how cool) (for those who pay for it, we can also use a third-party book database).

    The HTML cleanup part is about how to use LQuery for the task. Its doc shows the remove function from the beginning, but I have had difficulty to find how to use it. Here’s how. (see issue #11)

    Cleanup HTML with lquery

    https://shinmera.github.io/lquery/

    LQuery has remove, remove-attr, remove-class, remove-data. It seems pretty capable.

    Let’s say I got some HTML and I parsed it with LQuery. There are two buttons I would like to remove (you know, the “read more” and “close” buttons that are inside the book summary):

    (lquery:$ *node* ".description" (serialize))
       ;; HTML content...
            <button type=\"button\" class=\"description-btn js-descriptionOpen\"><span class=\"mr-005\">Lire la suite</span><i class=\"far fa-chevron-down\" aria-hidden=\"true\"></i></button>
            <button type=\"button\" class=\"description-btn js-descriptionClose\"><span class=\"mr-005\">Fermer</span><i class=\"far fa-chevron-up\" aria-hidden=\"true\"></i></button></p>")
    

    On GitHub, @shinmera tells us we can simply do:

    ($ *node* ".description" (remove "button") (serialize))
    

    Unfortunately, I try and I still see the two buttons in the node or in the output. What worked for me is the following:

    • first I check that I can access these HTML nodes with a CSS selector:
    (lquery:$ *NODE* ".description button" (serialize))
    ;; => output
    
    • now I use remove. This returns the removed elements on the REPL, but they are corrcetly removed from the node (a global var passed as parameter):
    (lquery:$ *NODE* ".description button" (remove) (serialize))
    ;; #("<button type=\"button\" class=\"description-btn js-descriptionOpen\"><span class=\"mr-005\">Lire la suite</span><i class=\"far fa-chevron-down\" aria-hidden=\"true\"></i></button>"
    

    Now if I check the description field:

    (lquery:$ *NODE* ".description" (serialize))
    ;; ...
    ;; </p>")
    

    I have no more buttons \o/

    Now to pagination.

    Pagination

    This is my 2c, hopefully this will help someone do the same thing quicker, and hopefully we’ll abstract this in a library...

    On my web app I display a list of products (books). We have a search box with a select input in order to filter by shelf (category). If no shelf was chosen, we displayed only the last 200 most recent books. No need of pagination, yet... There were only a few thousand books in total, so we could show a shelf entirely, it was a few hundred books by shelf maximum. But the bookshops grow and my app crashed once (thanks, Sentry and cl-sentry). Here’s how I added pagination. You can find the code here and the Djula template there.

    The goal is to get this and if possible, in a re-usable way:

    I simply create a dict object with required data:

    • the current page number
    • the page size
    • the total number of elements
    • the max number of buttons we want to display
    • etc
    (defun make-pagination (&key (page 1) (nb-elements 0) (page-size 200)
                             (max-nb-buttons 5))
      "From a current page number, a total number of elements, a page size,
      return a dict with all of that, and the total number of pages.
    
      Example:
    
    (get-pagination :nb-elements 1001)
    ;; =>
     (dict
      :PAGE 1
      :NB-ELEMENTS 1001
      :PAGE-SIZE 200
      :NB-PAGES 6
      :TEXT-LABEL \"Page 1 / 6\"
     )
    "
      (let* ((nb-pages (get-nb-pages nb-elements page-size))
             (max-nb-buttons (min nb-pages max-nb-buttons)))
        (serapeum:dict :page page
                       :nb-elements nb-elements
                       :page-size page-size
                       :nb-pages nb-pages
                       :max-nb-buttons max-nb-buttons
                       :text-label (format nil "Page ~a / ~a" page nb-pages))))
    
    (defun get-nb-pages (length page-size)
      "Given a total number of elements and a page size, compute how many pages fit in there.
      (if there's a remainder, add 1 page)"
      (multiple-value-bind (nb-pages remainder)
          (floor length page-size)
        (if (plusp remainder)
            (1+ nb-pages)
            nb-pages)))
    #+(or)
    (assert (and (= 30 (get-nb-pages 6000 200))
                 (= 31 (get-nb-pages 6003 200))
                 (= 1 (get-nb-pages 1 200))))
    

    You call it:

    (make-pagination :page page
        :page-size *page-length*
        :nb-elements (length results))
    

    then pass it to your template, which can {% include %} the template given above, which will create the buttons (we use Bulma CSS there).

    When you click a button, the new page number is given as a GET parameter. You must catch it in your route definition, for example:

    (easy-routes:defroute search-route ("/search" :method :get) (q shelf page)
       ...)
    

    Finally, I updated my web app (while it runs, it’s more fun and why shut it down? It’s been 2 years I do this and so far all goes well (I try to not upgrade the Quicklisp dist though, it went badly once, because of external, system-wide dependencies)) (see this demo-web-live-reload).


    That’s exactly the sort of things that should be extracted in a library, so we can focus on our application, not on trivial things. I started that work, but I’ll spend more time next time I need it... call it “needs driven development”.

    Happy lisping.

    Planet Haskell: Tweag I/O: The Varieties of the Haskelling Experience

    Recently, a group of Haskellers within Tweag had a knowledge-sharing event where we shared our varied Haskell setups with each other, and learned some nice tricks and tips for every-day life.

    The idea was raised of sharing these findings via the blog, so without further ado, let’s explore the varieties of the Tweag Haskelling experience by covering a few of our personal setups!

    Nicolas Frisby

    • Editor: emacs
    • Other main tools: grep, cabal, inotify/entr around cabal build all, my own prototype tags generator.
    • Explanation: barebones emacs = syntax highlighting + basic Haskell mode for minimal indentation suggestions + a hack of gtags.el for querying my Tweag tags db
    • I love: fast start-up, tags for instance declarations, tags only require parse not typecheck, never hangs, never crashes, all state is persistent, independence of all the tools
    • Could be better: my tags prototype only handles cabal.project, just one at a time, not the source-repository-package entries (a cabal limitation, but fix on its way), and I still use grep for finding use sites, no Haddocks integration
    • Trivia: aliases of any kind worry me because I won’t be able to work in a fresh/foreign machine/login; these two are my only exceptions

      • git config --global alias.lg log --first-parent --color --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
      • git config --global alias.lgtree log --graph --color --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit

    Richard Eisenberg

    • Editor: Visual Studio Code
    • Other main tools: haskell-language-server, cabal, cabal-env, ghci, emacs’s smerge-mode.
    • Explanation: A recent convert from emacs, I’m enjoying the easier discoverability of commands in VSCode — and the power of the Haskell Language Server.
    • I love: Not worrying about directories when finding files in VSCode
    • Could be better: The switch has made me realize I need to upgrade my 5-year-old laptop; VSCode’s merge conflict resolution is not as good as smerge-mode.
    • Trivia: alias gitlog='git log --graph --full-history --all --color --pretty=format:"%x1b[31m%h%x09%x1b[32m%d%x1b[0m%x20%s"'. Try it. Be happy.

    Facundo Domínguez

    • Editor: Vim
    • Other main tools: bash, hasktags, grep, hoogle, stackage.org.
    • Explanation: Every project has its own ways of building, and in my experience, figuring out IDE configuration for each one takes so long that I don’t feel it helps me read or write code fast enough to deserve it. Vim is almost always already installed when I approach a new development environment.
    • I love: I can focus on the task to solve as fast as possible.
    • Could be better: hasktags sometimes sends you to the wrong definition. A more sophisticated indexing solution could give more precision, without necessarily complicating the setup.
    • Trivia: I rely a lot on the undo history and the language-agnostic autocompletion that vim provides.

    Thomas Bagrel

    • Editor: VS Code + Haskell extension pack (HLS, Hlint, formatter using Ormolu)
    • Other main tools: nix, hoogle, stackage.org
    • Explanation: I’m still a beginner with haskell, and I usually rely a lot on IDE features (especially autocompletion, real-time type inference, documentation at call site) to learn a new programming language. However, this strategy doesn’t work that well with haskell (for various reasons I could detail if someone is interested). Anyway, VS Code with haskell extensions gives the closest experience to what I’m used to have. Previously, I extensively used JetBrains IDEs (for Java, Scala, Rust, JavaScript and Python dev).
    • I love: the IDE is decently fast (compared to JetBrains IDEs for example)
    • Could be better:

      • I still don’t know how to navigate in the code quickly with VSC,
      • I still need to learn the keyboard shortcuts,
      • Refactoring capabilities and “find referencesâ€� actions are nowhere near as good as IntelliJ for Rust dev for example,
      • Documentation popup (at call site) works well most of the time, but I can’t jump to the documentation of a type itself in some function signature for example,
      • I can’t jump to the definition of something defined in a library.
    • Conclusion: I really like large (and slow) JetBrains IDEs, because I can often access everything from the IDE (I don’t need to fetch documentation online most of the time, ease-of-discoverability is great, and most importantly, muscle memory is here). But because their Haskell support is not really good at the time (but maybe I need to try harder, and tweak/configure the haskell plugin better), I fallback to VSCode. I still feel quite lost to be honest.

    Clément Hurlin

    • Editor: NeoVim
    • Other main tools:

      • Plugins:
      • fzf for fuzzing finding things (files, symbols),
      • coc.nvim as the LSP server, that delegated to haskell language server under the hood,
      • neoformat for formatting with ormolu,
      • vim-grepper to search for text with git ls-files under the hood. Although alternatively I more and more rely on the LSP “searchâ€� feature (which opens a nice preview window).
      • Other tools:
      • Usually I have ghcid running in a terminal on the side, because the LSP sometimes doesn’t list all errors (the error appears only when you open the file).
      • hls-tactics-plugin for automatic case splitting (hole filling never works :-/)
      • hoogle in a browser nearby :-)
    • Trivia: My history: Like Thomas, I used to exclusively use (and develop actually) large IDEs such as Eclipse, but I always used the vim mode in there. When starting Haskell I started with vscode but it started to be too slow when my project started growing. On the contrary, neovim with coc.nvim under the hood and the LSP is really fast and easy to setup ğŸ‘�(and I use it with OCaml too).

    Torsten Schmits

    • Editor: NeoVim
    • Other main tools: nix, zsh, tmux, ghcid, HLS, CoC, tree-sitter
    • Explanation: I maintain my own haskell-nix toolkit that’s rather specific to my workflow for the projects I work on mostly alone, and do some ad-hoc setup for those I collaborate on. Luckily, HLS is making it easier to hack on a new project. I’ve also built a few Neovim plugins in Haskell that implement some IDE-like features, like running ghcid in a tmux pane.
    • I love: Nix’s reproducibility is a total paradigm shift for setting up dev environments, and I’m very happy about the features that HLS does well.
    • Could be better: Maybe it’s my idiosyncratic workflow, but HLS still has significant problems. Before version 1.2 it kept crashing after 1-5 minutes on lots of my projects (it was an insane relief when this was fixed), and it still doesn’t work well with multi-project setups.
    • Trivia: Did you know I wrote the Haskell grammar for tree-sitter?

    Guillaume Desforges

    • Editor: VS Code
    • Other main tools: Nix, “Nix Environment Selectorâ€� (VSCode extension), “Haskellâ€� (VSCode extension)
    • Explanation: I make a shell.nix to get stack and haskell-language server. (and requirements for plugins), load it into the VSCode env, then create my project with stack. I write a small hie.yaml to explicit the cradle. You need to edit the settings.json so that Haskell (VSCode extension) actually uses the one from Nix.
    • I love-: “it just worksâ€�â„¢, ease of setup (at least relatively), get full HLS
    • Could be better: first load of the nix shell can be a bit long, and Nix Environment selector has no output, so I’d advise loading it in shell before loading it using the extension.
    • Trivia: if you are on NixOS, stack enables nix build automatically so you might need to define a stack-shell.nix and specify it in stack.yaml.

    Jeff Young

    • Editor: Spacemacs (emacs)
    • Other main tools: Nix! I’ve used NixOS+Xmonad as a daily driver for 3 years now. Fish shell. Rigrep and fzf for searching. Magit, a legendary git UX; I don’t know how people live without it.
    • Explanation: I mostly work on Haskell and GHC, but in my spare time I’ve been contributing and exploring J, BQN, and Dyalog-APL. So I’ve been working on better package in nixpkgs for each of these and writing concomitant layers for Spacemacs. This means I’m in way too deep into emacs to switch now. I track all my goals in org-mode including clocking time, I have syncthing setup to sync my org files on a home server I built. This then syncs to my phone for notifications so the interface between all digital objects in my home is emacs+org. All of this to say that I’m probably a lifer when it comes to emacs. Although I am thinking of switching and contributing to Doom emacs (Spacemacs has been on version 0.3 for 3 years now?!)
    • I love:

      • A small set of extremely powerful tools. Once you grok it it is the hammer for every problem (and therein lies the problem with emacs!).
      • Available everywhere and is free. Focus on backwards compatibility.
      • Built in documentation for everything. I simply hit SPC h d f over any function and get documentation for it. This integrates in varying ways with Haskell docs but nothing is as good as common lisp’s SLIME or emacs-lisp’s built in documentation.
      • The docs do what they say, say what they mean and are up to date. I can read some documentation that describes a configuration change, then go do that exact change and the predicted effect will occur.
      • Emacs is a lisp machine. Don’t like something? Then sling some code and overwrite it with a hook, or if it is old then directly since emacs-lisp is dynamically scoped.
      • TRAMP mode allows my to SPC f f write /sudo::/etc and get a sudo’d shell into /etc. This same feature of emacs allows me to remote into any server and use my emacs configuration from my desktop. This means I never need to export my emacs configuration to the remote server, I simply need to use TRAMP to ssh in and I’m all set.
      • Copy paste with the kill ring allows me to hit SPC r y and see the last n things I’ve killed or copied. In contrast with most clip boards which just save the last thing copied.
      • emacs-everywhere
    • Could be better:

      • Latency, although this is improving with emacsGcc (a jit’d version of emacs)
      • No true Async!
      • Various packages are missing documentation. I’m sure this bites people trying to use emacs to work on Haskell. For me I’ve gotten used to reading source code in lieu of reading docs.
      • It is easy to get lost. There are a million ways to do the same thing and there are numerous packages that solve the same problem. Just understanding org-mode means reading docs for org org-babel org-ox org-publish etc.
      • Setting up HLS and LSP in spacemacs on NixOS is a very involved process and is not beginner friendly in any way. I have struggle with getting it working but now it is pretty good! I even have it setup for GHC which was a minor miracle.
    • Trivia: I’d regularly lose workflow without fish’s history autocompletion.

    Karol Czulkowski

    • Editor: emacs + haskell-mode + haskell-language-server (lsp, lsp-ui)
    • Other main tools: nix/nixos, helm, key-chord, eno, projectile, silver-searcher, nix-direnv, envrc (thx Steve!), yasnippet, hoogle search (from haskell-mode)
    • Explanation: My journey with emacs started from terrible scala support in IntelliJ. Frontend compiler for this ide was showing fake errors which had confused me many, many times. Then I found ensime which unfortunately was abandoned but simultaneously Metals was presented to the wider audience. This LSP experience was something that I was looking for. When it comes to Haskell & emacs, I started with Intero which was… inevitably abandoned and somehow not working on NixOs. Then I’ve found Dante but the overall experience for me was worst in comparison to Scala Metals. I gave another chance to HLS and now this is really, really close my best LSP experience so far.
    • I love:

      • emacs: Albeit, I’m not elisp hacker, I know there is always a way to setup anything I want in the way I want. I can use different plugins like jumping between windows/words/braces, regexp expressions, key-chords, dired-helm, projectile, multiple-cursors for all the projects or tech-stacks I work on.
      • projectile: all the boost it gives me when it comes to navigating among projects.
      • hls: Feedback it gives. Immediately.
    • Could be better:

      • hls: jump to definition works only for local definitions
      • hls: haskell-language-server & bazel integration :)
    • Trivia: I feel like I’m still not utilizing all the power that emacs gives (especially after reading Jeff’s setup :) ).

    Adrian Robert

    • Editor: VS Code + NixEnv + HLS.
    • Other main tools: rg (ripgrep), Cabal, haskell.nix
    • Explanation: I first tried IntelliJ but found it reminiscent of my experience with Eclipse for Scala – not good enough. So then became a first-time user of VS Code and liked it. Why not Emacs? Somehow the collective relative friction of setting up, the more specialized UI, and a general feeling of greater speed have me on the VS Code side now. I’ll continue experimenting.
    • I love: Quick feedback (underline + hover) on type mismatch problems. As a Haskell newbie I’d go through a lot more compile cycles without this.
    • Could be better: The experience still feels pretty basic, say like using XCode for Objective-C ten years ago. I appreciate what’s there, but nowadays one misses having things like refactoring and code templating. I don’t know if this is a fundamental limitation in the LSP paradigm or in VS Code, or a lack in the Haskell implementation or weakness in the Haskell plugin.
    • Trivia: For Scala I still haven’t managed to get our Scala/Gradle project up and running properly in VS Code with Metals, which I suspect has to do with its multidirectory and subproject structure, together with too many parameters in Gradle versions and things it pulls in. Frustrating, though since I don’t work on this very often it hasn’t been frustrating enough for me to get it working. :-}

    Noon van der Silk

    • Editor: NeoVim
    • Other main tools: XMonad, nix, zsh, rip-grep, fzf
    • Explanation: I use a fairly simple vim setup, with a strong reliance on fuzzy-finding and grep.
    • I love: How fast everything starts up; independence of all the tools.
    • Could be better: I’m jealous of people using HLS.
    • Trivia: I rely on a lot of zsh aliases to live a convenient command-line life.

    Julien Debon

    • Editor: Spacemacs
    • Other main tools:

    • Explanation: I have been a heavy user of IDEs like Eclipse and IntelliJ for many years, but after several frustrations about configuring/fine tuning, I moved to VS Code for a while, and then a year ago to Emacs, via Spacemacs. While the learning curve is steep, I would never go back: I can exactly customize my editor as I wish with minimal effort, and nearly all languages and features are already supported. On the Haskell front, a lot of changes have happened in the past few years. Using HLS is currently pretty good, though I still occasionally miss a good debugger or advanced refactoring tools.
    • I love:

      • Emacs: Emacs extensibility and Spacemacs mnemonics: almost all shortcuts just make sense.
      • Hoogle: I am a user and abuser of Hoogle: I can’t believe I have developed all these years in various languages without this game-changing tool which allows looking for functions by signature. Whatever function, type, typeclass or package I am looking for, Hoogle finds the perfect solution 99% of the time. It baffles me that most languages don’t have an equivalent feature, including other languages I use on a regular basis.
      • HLS: I love code navigation, documentation display, instant typechecking, and call hierarchy.
    • Could be better:

      • Emacs: every once in a while I would like to scroll a buffer without moving the cursor, but it’s impossible in Emacs. I think it is the only feature from my past editors that is not simply possible in Emacs.
      • HLS: I learn a lot by browsing dependency code, so I really, really wish we could navigate to dependency code. Currently I browse dependency code via Hackage/Stackage, but this is nowhere near as comfortable as editor integration.
    • Trivia: I only discovered Magit a year ago, but if anyone forced me to go back to using vanilla Git, the situation would escalate pretty quickly. Similarly to Hoogle, I just don’t understand why it’s not more widespread, considering how many people interact with Git every day.

    What’s your preferred way of working in Haskell? We’d love to hear from you! Share your setup with us on Twitter!

    Quiet Earth: Paul Schrader's THE CARD COUNTER Blu-ray Details

    Universal Pictures Home Entertainment, in association with Focus Features, has detailed the upcoming Blu-ray release of Paul Schrader's latest film, The Card Counter (2021), starring Oscar Isaac, Tye Sheridan, Willem Dafoe, and Tiffany Haddish. The release will be available for purchase on December 14.

    Studio description:
    Redemption is the long game in Paul Schrader's The Card Counter. Executive produced by Martin Scorsese and told with Schrader's trademark cinematic intensity, the revenge thriller tells the story of an ex-military interrogator turned gambler haunted by the ghosts of his past decisions. Cin [Continued ...]

    Schneier on Security: Apple Sues NSO Group

    Piling more on NSO Group’s legal troubles, Apple is suing it:

    The complaint provides new information on how NSO Group infected victims’ devices with its Pegasus spyware. To prevent further abuse and harm to its users, Apple is also seeking a permanent injunction to ban NSO Group from using any Apple software, services, or devices.

    NSO Group’s Pegasus spyware is favored by totalitarian governments around the world, who use it to hack Apple phones and computers.

    More news:

    Apple’s legal complaint provides new information on NSO Group’s FORCEDENTRY, an exploit for a now-patched vulnerability previously used to break into a victim’s Apple device and install the latest version of NSO Group’s spyware product, Pegasus. The exploit was originally identified by the Citizen Lab, a research group at the University of Toronto.

    The spyware was used to attack a small number of Apple users worldwide with dangerous malware and spyware. Apple’s lawsuit seeks to ban NSO Group from further harming individuals by using Apple’s products and services. The lawsuit also seeks redress for NSO Group’s flagrant violations of US federal and state law, arising out of its efforts to target and attack Apple and its users.

    NSO Group and its clients devote the immense resources and capabilities of nation-states to conduct highly targeted cyberattacks, allowing them to access the microphone, camera, and other sensitive data on Apple and Android devices. To deliver FORCEDENTRY to Apple devices, attackers created Apple IDs to send malicious data to a victim’s device — allowing NSO Group or its clients to deliver and install Pegasus spyware without a victim’s knowledge. Though misused to deliver FORCEDENTRY, Apple servers were not hacked or compromised in the attacks.

    This follows in the footsteps of Facebook, which is also suing NSO Group and demanding a similar prohibition. And while the idea of the intermediary suing the attacker, and not the victim, is somewhat novel, I think it makes a lot of sense. I have a law journal article about to be published with Jon Penney on the Facebook case.

    Tea Masters: Become a Tea Ambassador

     

    Wenshan Rougui Baozhong, spring 2021

    The purpose of a Tea Ambassador is to help spread the culture of Gongfu Cha in the Western world. Gongfu Cha is the skill of brewing high quality tea leaves without any sugar, lemon or milk! Only high quality leaves can make a tasty brew without these additives, provided they are prepared following some rules or advice. There's much to learn and experience, because the world of teas is almost infinite. It's fun and enables us to enjoy life and good company.

    We are several online tea retailers who decided to launch this initiative together : Farmer Leaf, Nannuoshan, Crimson Lotus, Essence of Tea, Yiwu Mountain Tea and Tea-Masters.com 

    So, what we hope is that the Tea Ambassadors help promote Gongfu Cha, by organizing tea events, tea gatherings with their family, friends, colleagues, neighbors... and that you post those on your social media with the hashtag #TeaAmbassador (and #TeaMastersBlog if you are using my tea or ware) to help generate more interest in GongFu Cha and quality tea. Maybe this can even help you find out if there are other Gongfu Cha enthusiasts close by?!

    By using the hashtag #TeaAmbassador, you also make it possible for us vendors to see that you are indeed active promoting Gongfu Cha around you and this allows us to give you our support to spread the love of tea. 

    This support can vary depending on your needs and your plans. A Tea Ambassador will get more access to the vendor(s). With our experience, we can be useful resources. And speaking of resources to learn about GongFu Cha, I think that you'll find a lot of help on my blog! I've been writing on all aspects of tea since 2004. Therefore, before asking a question, I recommend that you make a search on my blog on the front page at the top left corner. And if you prefer to learn about tea in video format, please check my YouTube channel where I post a new class weekly. My latest video, the fastest way to rinse tea, is one of the funniest I've done. (Tea doesn't have to be boring!)

    These resources are available to everybody. What Tea Ambassadors get is the opportunity for longer exchanges with the vendor(s) and maybe even a video conference call. We may even make publicity for Tea Ambassadors and try to link you with other tea friends in your neighborhood (with mutual consent). 

    And since Thanksgiving is approaching, I would like to thank you all for your support this year. It was a difficult year for online tea retail from Taiwan, because a lot of countries had closed their borders and didn't accept postal shipments from Taiwan. And also because shipping costs have gone up dramatically and I did my best to absorb these costs by continuing to provide FREE SHIPPING for orders above 100 USD (or 200 USD for EMS). 

    This is a good reminder to be grateful for the fact that tea actually remains one of the most affordable luxury in this world of mass consumption. Tea is a great product on so many different levels: it affords good wages to people in Taiwan's countryside. It is healthy and lets you drink and drive. Dehydrated, it is light and easy to transport (compared to wine, for instance). It also soothes the mind, warms you in winter and cools you in summer. Tea can be a door to discover Chinese names, Asia's geography, the long history of tea through the dynasties, Chinese literature ('The Dream in the Red Chamber', for instance)...

    But the best part of tea, for me, has been to meet wonderful people over the years. So, even though I didn't get to make any real life tea class, I've very much enjoyed interacting live with my students when I teaching tea live on FB. I'm not sure I'm getting much better at talking in front of a camera, but, at least, I feel more comfortable than when I started last year.

    Note en français: puisque j'en suis aux remerciements traditionnels de Thanksgiving, je tenais aussi à remercier tous mes lecteurs et clients francophones. J'ai vraiment de la chance que, si certains loisirs attirent des gens de peu d'intérêt, le thé, lui, me met en contact avec des personnes très sympas, patientes pour les délais de la poste (qui arrivent parfois) et très talentueuses. 

    Cette année, j'ai notamment eu la chance de faire connaissance virtuelle avec Olivier Delasalle. Il est l'auteur de plusieurs livres: 'Le philosophe errant', 'Dans les rues de Tokyo', 'Dans les rues de Brooklyn', 'Marrane', 'L'odyssée du microscopique'... Lui aussi est un Français expatrié et cela lui permet d'avoir une vision décallée et originale de la société dans son blog. Merci à lui et à vous tous!

    Wenshan Rougui Baozhong, printemps 2021

    Ideas: Black Myths on Screen: Hollywood and a Century of Race, Part Three

    Since its beginnings, Hollywood has portrayed African Americans in a variety of ways: as primitive beings in Birth of a Nation, as happy former slaves in Gone With the Wind, and as hypersexual heroes during the 1970s "blaxploitation" era. In this three-part series, IDEAS explores a century of racial politics in Hollywood. *This episode originally aired on March 19, 2021.

    CreativeApplications.Net: B612 | Data Real-time Interactive Imaging Installation

    B612 | Data Real-time Interactive Imaging Installation
    Curated by Art ZHIYI, "Chant of the Present Imagery" is an exhibition organized for the 10th anniversary of Taikoo Hui Guangzhou. With an emphasis on data visualization and local links in artistic expression, this exhibition creates a space and time experiment and delivers a multi-dimensional experience.

    Arduino Blog: Introducing the Arduino UNO Mini Limited Edition: Pre-orders now open

    Arduino UNO Mini Limited Edition

    The iconic Arduino board is back, in the shape of the UNO Mini Limited Edition. Pre-orders have just gone live, so don’t dawdle if you want to get your hands on this stunning piece of Arduino history.

    10 Million Makers Can’t Be Wrong

    The UNO Mini Limited Edition is here to celebrate a pretty epic milestone in Arduino’s history. The iconic board, which first launched back in 2010, has become synonymous with Arduino itself. It’s like the company and the board are inextricably linked in the minds of makers around the world. For many, Arduino is the UNO.

    There was a feature in Make: Magazine once, which declared Arduino was here to stay because it had just crossed the 10,000 sales threshold. Back then (and it’s not even that long ago), the idea that you could sell 10,000 maker boards was pretty epic. 

    The UNO has now sold over 10 million units.

    It’s impossible to guess how many projects that equates to. Just like us, many of you will have owned a lot of UNOs over the last decade, and some of those will have been used in multiple projects. Can you still remember your first UNO, or your first UNO project? Share them with us!

    So we wanted something super cool to celebrate this new maker board milestone. And that something is the UNO Mini Limited Edition.

    Arduino UNO Mini

    Meet the UNO Mini Limited Edition

    First and foremost, this is an UNO like any other. It’s (almost) the same specs, with the same processor, pinouts and performance that made the UNO so popular. But there are a couple of cool tweaks we think you’ll love.

    Probably one of the first things you noticed was that the USB port has been updated to USB-C. An update we’re confident you’ll appreciate, and not just because it helps with the reduced form factor. Most of us have an abundance of spare USB-C cables kicking around these days, so it’s decidedly more convenient.

    And then there’s the form factor. The UNO Rev 3 is, more or less, the same size as its predecessors, dating back to the original design. As you expect, the UNO Mini Limited Edition is a quarter of the size of the original footprint, measuring 34.2mm x 26.7mm x 8mm.

    Arduino UNO Mini dimensions

    Limited Edition, for Serious Collectors

    It’s not just the beautiful new black and gold design that makes the board so desirable. This is a limited edition, with each board individually numbered.

    All the features you’ve come to know and love are still there, so this is a fully functional UNO in every respect. But hardcore Arduino lovers will also appreciate its desirability and collectability. Everything about the UNO Mini Limited Edition screams quality, from the device to the assembly, the packaging to the printing. Who knows what an unopened UNO Mini Limited Edition (R@RE! Mint, still in box!) will be worth in the years to come.

    UNO Mini in box

    UNO Mini Limited Edition Specs

    • Microcontroller: ATmega328P
    • Operating Voltage: 5V
    • Input Voltage: 6-20V
    • Digital I/O Pins: 14
    • PWM I/O Pins: 6
    • Analog Input Pins: 6
    • Flash Memory: 32KB
    • SRAM: 2 KB
    • EEPROM: 1 KB
    • Clock Speed: 16MHz
    • Dimensions: 34.2mm x 26.7mm x 8mm

    The UNO Mini Limited Edition is available for pre-order right now here on the Arduino Store, and will be available from all your favorite electronics suppliers very soon. Some of our partners already have their per-orders live:

    Make sure you join us on social media (#UNOmini) to share your thoughts and first impressions when you get it in your hands, and we’d love to see your videos of this beautiful new board being unboxed when it lands on your doorstep.

    The post Introducing the Arduino UNO Mini Limited Edition: Pre-orders now open appeared first on Arduino Blog.

    things magazine: Dream worlds

    Hidden patterns in tropical fruit / underground test / The Sun In Ultra-HD / art by Russell Moreton / the Frinton Park Estate Mini Guide / 25 years on from Adam and Joe / technology is beautiful: Docubyte (via Synth … Continue reading

    Planet Lisp: Stelian Ionescu: On New IDEs

    There has been some brouhaha about the state of Common Lisp IDEs, and a few notable reactions to that, so I’m adding my two Euro cents to the conversation. What is a community ? It’s a common mistake to refer to some people doing a certain thing as a “community”, and it’s easy to imagine ridiculous examples: the community of suburban lawn-mowing dwellers, the community of wearers of green jackets, the community of programmers-at-large etc…

    Planet Haskell: Edward Z. Yang: Interactive scraping with Jupyter and Puppeteer

    One of the annoying things about scraping websites is bouncing back and forth between the browser where you are using Dev Tools to work out what selectors you should be using to scrape out data, and your actual scraping script, which is usually some batch program that may have to take a few steps before the step you are debugging. A batch script is fine once your scraper is up and running, but while developing, it's really handy to pause the scraping process at some page and fiddle around with the DOM to see what to do.

    This interactive-style development is exactly what Juypter notebooks shine at; when used in conjunction with a browser-based scraping library like Puppeteer, you can have exactly this workflow. Here's the setup:

    1. Puppeteer is a JavaScript library, so you'll need a JavaScript kernel for Jupyter to run it. As an extra complication, Puppeteer is also async, so you'll need a kernel that supports async execution. Fortunately, ijavascript-await provides exactly this. Note that on recent versions of node this package does not compile; you can install this PR which makes this work: https://github.com/n-riesco/ijavascript/pull/257 Hypothetically, we should be able to use stock ijavascript when node supports top level await, but this currently does not work: https://github.com/nodejs/node/issues/40898
    2. Inside the directory you will store your snotebooks, you'll need to npm install puppeteer so that it's available for your notebooks.
    3. Launch Puppeteer with let puppeteer = require('puppeteer'); let browser = await puppeteer.launch({headless: false}); and profit!

    There will be a live browser instance which you can poke at using Dev Tools, and you type commands into the Jupyter notebook and see how they affect the browser state.

    I tweeted about this and the commenters had some good suggestions about other things you could try:

    • You don't have to use Puppeteer; Selenium can also drive the browser, and it has a Python API to boot (so no faffing about with alternate Jupyter kernels necessary). I personally prefer working in JavaScript for crawlers, since the page scripting itself is also in JavaScript, but this is mostly a personal preference thing.
    • For simple interactions, where all you really want is to just do a few interactions and record them, Headless Recorder provides a nice extension for just directly recording operations in your browser and then getting them out in executable form. I haven't tried it out yet but it seems like it would be very easy to use.

    Arduino Blog: Meet RobBob, a 3D-printed robot head that works with an N64 controller

    Inspired by a special two-axis mechanism that uses a pair of beveled gears to create panning and tilting motions, maker and YouTuber JBV Creative wanted to integrate it into a larger kinetic sculpture that could move electromechanically while also looking great at the same time. This led to the creation of RobBob, which is essentially a robot-shaped head that has been placed onto a pan/tilt system. 

    Initially, RobBob could only move with the help of a person turning a pair of opposing knobs — one for each axis. But after some minor additions, including mounts on each side for a single servo motor and adapters that allow servo horns to attach to the knobs, RobBob could now move on its own power. At first, JBV considered using a serial monitor to send rotation commands, although he eventually settled on an N64 joystick since it was a more natural choice for fluid motion. 

    After writing a small program, which takes in joystick data from the N64 controller and converts it into positional data for the servos, JBV loaded it onto an Arduino Uno. To see RobBob in action, check out JBV Creative’s demo/build video below or read more about the project on his website.

    The post Meet RobBob, a 3D-printed robot head that works with an N64 controller appeared first on Arduino Blog.

    OCaml Weekly News: OCaml Weekly News, 23 Nov 2021

    1. Multicore OCaml: October 2021
    2. Robur Reproducible Builds
    3. OCaml compiler development newsletter, issue 4: October 2021
    4. How do you read the lines of a text files…
    5. WebAuthn - Web Authentication
    6. Set up OCaml 2.0.0-beta9
    7. Windows-friendly OCaml 4.12 distribution 2nd preview release (0.2.0)
    8. opam build and opam test: the opam plugins that simplifies your dev setup
    9. Twenty Years of OCaml Weekly News

    The Universe of Discourse: Consecutive squareful numbers

    On Saturday I was thinking about how each of is a multiple of a square number, and similarly . No such sequence of four numbers came immediately to mind. The smallest example turns out to be .

    Let's say a number is “squareful” if it has the form $$a\cdot b^2$$ for . The opposite, “squarefree”, is a standard term, but “non-squarefree” sounds even worse than “squareful”. Do ten consecutive squareful numbers exist, and if so, how can we find them?

    I did a little algebraic tinkering but didn't come up with anything. If are consecutive squareful numbers, then so are , except they aren't consecutive, but maybe we could find the right so that and are also squareful. I couldn't make this work though, so I wrote some brute-force search programs to get the lay of the land.

    The computer quickly produced sequences of length 7:

    $$\begin{array}{rcrr} 217070 & = & 4430 \ · & 7^2 \\ 217071 & = & 24119 \ · & 3^2 \\ 217072 & = & 54268 \ · & 2^2 \\ 217073 & = & 17 \ · & 113^2 \\ 217074 & = & 1794 \ · & 11^2 \\ 217075 & = & 8683 \ · & 5^2 \\ 217076 & = & 54269 \ · & 2^2 \end{array} $$

    and length 8:

    $$\begin{array}{rcrr} 1092747 & = & 3027 \ · & 19^2 \\ 1092748 & = & 273187 \ · & 2^2 \\ 1092749 & = & 22301 \ · & 7^2 \\ 1092750 & = & 43710 \ · & 5^2 \\ 1092751 & = & 9031 \ · & 11^2 \\ 1092752 & = & 273188 \ · & 2^2 \\ 1092753 & = & 121417 \ · & 3^2 \\ 1092754 & = & 6466 \ · & 13^2 \\ \end{array} $$

    Neither of these suggested anything to me, and nor did any of the other outputs, so I stuck into OEIS. With numbers like that you don't even have to ask for the whole sequence, you only need to ask for the one number. Six sequences came up but the first five are all the same and were what I was looking for: A045882: Smallest term of first run of (at least) n consecutive integers which are not squarefree.

    This led me to Louis Marmet's paper First occurrences of square-free gaps and an algorithm for their computation. The paper provides the earliest sequences of consecutive squareful numbers, for , and bounds for how far out these sequences must be when . This is enough to answer the questions I originally asked:

    • Are there ten consecutive squareful numbers? Yes, the smallest example starts at , found in 1999 by D. Bernier.

    • How can we find them? Marmet gives a sieve method that starts simple and becomes increasingly elaborate.

    The paper is from 2007, so it seems plausible that the same algorithms on 2021 computers could produce some previously unknown results.

    [ Addendum 20211124: The original version of this article ended “The general problem, of whether there are arbitrarily long sequences of squareful numbers, seems to be open.” This is completely wrong. Daniel Wagner and Shreevatsa R. pointed out that the existence of arbitrarily long sequences is quite elementary. Pick any squares you like that do not share a common factor, say for example and . Now (because Chinese remainder theorem) you can find consecutive numbers that are multiples of those specific squares; in this case . ]

    [ In only vaguely related news, I was driving Toph to school this morning, and a car in front of mine had license plate number . ]

    new shelton wet/dry: Every day, the same, again

    Changes in Penile-Vaginal Intercourse Frequency and Sexual Repertoire from 2009 to 2018 Compared to adult participants in the 2009 NSSHB, adults in the 2018 NSSHB were significantly more likely to report no PVI in the prior year (28% in 2018 vs. 24% in 2009). A similar difference in proportions reporting no PVI in the prior year was observed among 14–17-year-old adolescents (89% in 2018 vs. 79% in 2009). Additionally, for both adolescents and adults, we observed decreases in all modes of partnered sex queried and, for adolescents, decreases in solo masturbation.

    Big data study suggests the human brain navigates by taking the “pointiest path” rather than the shortest path

    Sometimes we want vicious friends: Friend preferences are target-specific

    People mistake the internet’s knowledge for their own

    Narcissism was surprisingly the strongest predictor, and intelligence showed a negative relationship with belief in astrology

    Belief in astrology is on the rise, although the reasons behind this are unclear. We tested whether individual personality traits could predict such epistemically unfounded beliefs. Tracking the Air Exhaled by an Opera Singer

    “The NFT Bay” — it appears that the 10GB of “data” is nothing of value and the Torrent really is effectively empty

    Fifty percent of Facebook Messenger’s total voice traffic comes from Cambodia. — Keyboards weren’t designed for Khmer. So Cambodians have just decided to ignore them

    Your Fingerprint Can Be Hacked For $5

    Singapore’s tech-utopia dream is turning into a surveillance state nightmare

    In “the trial of the century,” a Houston socialite was accused of plotting her husband’s murder—and of having an affair with her nephew. But Candace Mossler was only getting started.

    In August 2014, a padded FedEx envelope arrived at the Calgary International Airport. It had been shipped from an address in Levittown, Pennsylvania, and on the customs form it had been labelled “Book.” As it was being sorted, a customs agent saw the package move. Inside the envelope was a slim cardboard box with holes along its sides. Inside that box were two small fabric pouches with duct-taped edges. An agent carefully opened the pouches into a plastic mail-carrying bin. Golf ball–size baby turtles emerged.

    Adele gets Spotify to take shuffle button off all album pages

    Schneier on Security: “Crypto” Means “Cryptography,” not “Cryptocurrency”

    I have long been annoyed that the word “crypto” has been co-opted by the blockchain people, and no longer refers to “cryptography.” I’m not the only one.


    churchturing.org / 2021-12-01T13:57:52