Shared posts

25 May 17:30

Lives cut short by Covid

by Nathan Yau

Alyssa Fowers and Leslie Shapiro, for The Washington Post, used the stories of 114 individuals to show weekly Covid deaths. Each story is “cut short”, making the length of each fragment match counts for the corresponding week.

My brain was slightly confused by the metaphor at first. The lower the count, the more an individual’s story is cut short, but my intuition expected that more deaths would mean stories were cut short more.

That said, the sentiment is in the right place. Maybe the stories didn’t need to be tied to weekly counts? I’m imagining something closer to Periscopic’s piece from 2013 on lives cut short by guns.

Tags: coronavirus, mortality, Washington Post

25 May 17:16

Vancouver close to achieving '15-minute city' status, SFU study finds

mkalus shared this story .

A new SFU study says the majority of Vancouverites can walk to their nearest grocery store in 15 minutes or less — a key marker of sustainable community design according to experts.

Researchers found 79 per cent of Vancouver's population can access a grocery store within a slow 15-minute walk, while the percentage increases for faster moving travellers.

Almost all residents, at 99 per cent, are within a 15-minute bike ride of a grocery store. 

The idea of the 15-minute city — where everyone can meet their essential needs within a 15-minute walk or bike ride — has been used by urban planners around the world since around 2016, said Meghan Winters, one of the study's authors. 

"Not everybody has access to a car or has the ability to drive, so it's really important that people can meet their daily needs by walking," said Winters. 

Vancouver's Climate Emergency Action Plan aims to have 90 per cent of residents "within an easy walk or roll of their daily needs" by 2030. 

"We're seeing these targets being set. . . we need to look at where we are now if we want to achieve those goals," said Winters. 

Areas in the city with lower access to grocery stores had higher proportions of children, older adults, and visible minorities, and lower rates of employment and post secondary education. The researchers recommend that city planners prioritize investments that ensure more equitable access to amenities.

"Those areas that might be seen as having more equity-deserving groups don't actually have good access to grocery stores."

Winters also noted the study was limited to the City of Vancouver, the most dense and amenity-rich municipality in Metro Vancouver. 

"If we look across the region. . . there are far fewer areas that would be considered 15-minute cities." 

Former Vancouver Chief Planner Brent Toderian said although the '15-minute city' is a relatively new term in urban planning, the concept has been around for decades. 

Toderian used to call it 'the power of nearness.'

"If you can get everything you need or want within 15 minutes of where you live, by foot or by bike, that means you're not car dependent," Toderian said. 

Overall, commute times in cities have increased in recent years, according to Toderian.

Amenities like schools, grocery stores, child care, health care, and shopping centres are often grouped together in large areas where patrons need to travel farther to access. 

"That hasn't been a good thing. It's eroded our quality of life." 

Toderian said the creation of complete communities, where key services and resources are within walking distance for residents, addresses several public goals. 

He said such communities mitigate climate change, increase affordability, reduce infrastructure costs, promote better public health, and champion equity. 

"You shouldn't have to travel many communities away to get what you need."

25 May 17:15

Ayn Rand, Objectivists, and COVID

mkalus shared this story from Science-Based Medicine.

Ayn Rand and the pandemic

Like many young people, I was a fan of Ayn Rand and her philosophy of Objectivism. I even attend several Objectivist conferences in college. Though I ended any formal association with her movement decades ago, and I’ve come to disagree with her about many things, I still consider her influence a net positive on my thinking.

First and foremost, I credit her with introducing me to the ideal of independent, critical thinking. Rand posits that there is an objective reality we can learn about through science and reason. She was a staunch atheist who rejected all forms of mysticism and groupthink. As she put it,

A is A. Facts are facts, independent of any consciousness. No amount of passionate wishing, desperate longing or hopeful pleading can alter the facts. Nor will ignoring or evading the facts erase them: the facts remain, immutable.

I agree, and this ethos clearly influenced my previous defense of skepticism. Things aren’t true just because we want them to be true, and I’ve written previously about the dangers of hopium and confirmation bias. Most of our pandemic woes are due to deniers who refuse to accept that A is A about an unthinking virus. The dangerous belief that its harms can wished away has been a core theme of my writing here.

Rand also believed that people have the absolute right to protection from physical aggression from any source. She vigorously defended abortion as a “moral right” and believed that people could do whatever they wanted with their bodies as long as their actions don’t directly impact anyone else. As the saying goes, your liberty to swing your fist ends just where my nose begins.

To this end, she had some interesting thoughts about vaccines and contagious diseases. There’s no question she would favor allowing private entities to establish whatever rules they wanted regarding vaccines. Indeed a recent Objectivist conference wisely required either proof of vaccination or a negative test prior to attendance. However, Rand was against the government forcibly vaccinating people, at least for a vaccine that perfectly prevented the disease. In this hypothetical scenario, no one’s choice would impact anyone else. She said,

Now, requiring inoculation against disease: should this be a job for the government? Most definitely not and there is a very simple answer for it. If it is medically proved that a certain inoculation is in fact practical and desirable, those who want it will take that inoculation. Now if some people do not see it that way—do not agree or don’t want to take it, only they will be in danger since all the other people will be inoculated. Those who do not go along, if they are wrong in this case, will merely catch the disease. They will not be a danger to anyone else and nobody has the right to force them to do anything for their own good against their own judgement. They will merely be ill then, but they could not infect others.”

Of course, no vaccine is perfect, and the idea that the unvaccinated pose no risk to the vaccinated is one of the oldest anti-vaccine tropes out there. In the real world, this issue is more complicated.

However, in another sense, this issue is actually quite simple. No one was “required” to get a vaccine this pandemic. Some people had to make some tough choices, but no one was strapped down and vaccinated by government goons. This only happens in the fevered imaginations of delusional anti-vaxxers, desperate to portray themselves as oppressed victims.

As far as I know, the government used force to vaccinate people only once in my lifetime, when several children were vaccinated against measles over 30 years ago. I’m confident Rand would have supported this action, as nine unvaccinated children had already died. She would have recognized that children aren’t property, and the government can intervene when their caretakers seriously jeopardize their health.  As she put it, “a child is an individual, and has the rights inherent in the nature of a human individual.” Amen.

Rand also had interesting thoughts on non-pharmaceutical interventions. She said,

The next question in regard to quarantine is somewhat different, because in the state of, sense of a quarantine, if someone has a contagious disease, against which there is no inoculation, then the government will have the right to require quarantine. What is the principle here? It’s to protect those people who are not ill, to protect the people who, to prevent the people who are ill from passing on their illness to others. Here you are dealing with a demonstrable physical damage.

Remember that in all issues of protecting someone from physical damage, before a government can properly act, there has to be a scientific, objective demonstration of an actual physical danger. If it is demonstrated, then the government can act to protect those who are not yet ill from contacting the disease, in other words to quarantine the people who are ill is not an interference with their rights, it is merely preventing them from doing physical damage to others.”

Again, this seems eminently reasonable. The locked TB ward outside my office never bothered me, and I’ve never heard any Objectivist complain about it either, though of course this drastic measure would be unenforceable for a disease like COVID.

Beyond this, her novels championed creators who were often loathed not because they were incompetent or dishonest, but because they were brilliant, dedicated, and independent. Rand’s heros were people of action who created and discovered things that improved all of our lives. The Wikipedia entry on The Fountainhead describes its protagonist as “an intransigent young architect, who battles against conventional standards and refuses to compromise with an architectural establishment unwilling to accept innovation.” I think my distaste for doctors who spread dangerous medical myths and refuse to correct basic errors in their writing can be traced back to this intransigent young architect.

It’s hard to think of a better Randian hero this pandemic than Dr. Katalin Karikó, a scientist who toiled anonymously for years because she loved her job. “You are not going to work — you are going to have fun,” her husband would say to her. Though her work was ignored for years, she knew its value, and now the entire world knows as well.  Her research led to the mRNA vaccines, and she has saved countless lives. One news report described her thusly.

By all accounts intense and single-minded, Dr. Karikó lives for “the bench” — the spot in the lab where she works. She cares little for fame. “The bench is there, the science is good,” she shrugged in a recent interview. “Who cares?”

This is exactly what a Randian hero would say and do, and heroic women were central to Rand’s novels.

In contrast, Rand’s villains created nothing and sought to destroy those with a spark of independence and greatness. One such villain stated his mission was to

Kill his capacity to recognise greatness or to achieve it. Great men can’t be ruled. We don’t want any great men. Don’t deny conception of greatness. Destroy it from within. The great is the rare, the difficult, the exceptional.

It’s harder to think of a better Randian villain this pandemic than someone who spreads disinformation about vaccines, knowing they will never have to deal with the consequences. These people can’t create or do anything themselves. Instead, they seek to undermine the work of scientists like Dr. Karikó in order to promote their own political and social agenda.

A Rand villain, jealous that his perceived genius is unappreciated by the masses, would seek to take down a widely-admired scientist by calling him the “number one anti-vaxxer”, for example. He would promote himself relentlessly in the media and have a preternatural sense of victimhood. He would be “mocked for claiming he carried papers giving him permission to go to work throughout the COVID-19 pandemic.” The removal of a YouTube video would enrage a Randian villain, and being called “fringe” would send him running to a TV camera to bemoan his sad fate.

In contrast, these insults would be a speck of dust to Dr. Karikó. “Who cares?” she’d say. She’d never consider herself a victim in a pandemic where one million Americans died. People like are her are too busy trying to stop the virus and save lives.

Objectivists and the pandemic

Given Rand’s devotion to rationality, her belief the government can take steps “to prevent the people who are ill from passing on their illness to others,” and her admiration for scientists, one might expect Objectivitists to express reasonable positions on the pandemic. I never expected them to be cheerleaders for lockdowns, though of course the lockdowns had no cheerleaders. However, I expected them to have a nuanced view of the subject during a time when nearly 1,000 New Yorkers were dying every day. At a bare minimum, I expected them to strongly encourage vaccination, including for children. After all, over 1,500 children have died of COVID, and the vaccine has proven to be very effective in preventing these dire outcomes. Vaccinating children is the rational thing to do. It’s not even a close call.

A is A, right?

Indeed some Objectivists have written very reasonable essays this pandemic, with one writer noting that “no one has the right to infect other people with a dangerous disease” and warning against “fake news, conspiracy theories, and the like.” He asked to give gratitude,

First and foremost, the doctors, nurses, and others in health care who are working overtime and at risk to deal with the rise in Covid-19 patients.”

I knew the author of that essay and I admired him a lot. This wise and compassionate essay aged incredibly well I think, which is very rare for early pandemic thoughts.

This aside, it sadly seems whenever a Rand acolyte discusses COVID, it’s mostly fake news, conspiracy theories, and the like.  For example, consider the relationship between Objectivists and the Brownstone Institute, the successor to the Great Barrington Declaration (GBD). There is a strong alliance between Objectivists and those sheltered doctors who fetishize “natural immunity”, encourage unvaccinated young people to catch the virus, and both spread and legitimize rank anti-vaccine disinformation. These are the people who surveyed scenes of forklifts dumping dead bodies into refrigerated trucks in NYC and concluded that too many people were trying to avoid the virus.

Really.

Even as the virus shutters schools (including private ones), restaurants, flights, and performances, they continue to oppose any and all measures to control it. While Rand would have found it problematic that the virus disrupted businesses this way, they refuse to even acknowledge this sad reality. For some people, unwanted facts are unmentionable facts. They prefer a Fantasyland where it’s still 2020, and they can be heroes, demanding we end the lockdowns right now!

Unsurprisingly, the Brownstone Institute has also been a main driver of anti-vaccine disinformation this pandemic (here, here, here, here). There are doctors who treat facts as completely mutable by pretending the virus poses no real threat to young people, and you can find them at the Brownstone Institute. They are already spewing predictable garbage about vaccines, Bill Gates, Dr. Fauci, and monkeypox. It’s no surprise their work is positively received on the website run by anti-vaccine supercrank RFK Jr.  They’re not really that different.

A is not A at the Brownstone Institute. The people who work there aren’t Howard Roarks.

Despite this, the founder of the Brownstone Institute has been welcome at The Atlas Society, an organization that purports to advance the ideas of Ayn Rand. The Atlas Society also published propaganda praising the pro-virus, anti-vaccine, fabulists behind the GBD and calling their critics “alarmist”. This article warned of “the political hysteria about the virus.” Hundreds of thousands of Americans have died since its publication, and COVID is a leading medical cause of death in young adults.

Like I said, A is not A.

Unlike Rand, the founder of the Brownstone Institute does not feel “the government can act to protect those who are not yet ill from contacting the disease.” In fact, he pays doctors who convinced politicians to purposefully infect unvaccinated children and young people, with devastating consequences for many of them. In one of his articles at the Atlas Society, he spread pure anti-vaccine balderdash while boldly anointing himself as a spokesman for healthcare workers- like me- who actually worked on COVID units. Fantasizing that he could speak on our behalf, he said,

They know that nothing beats acquired immunity via exposure. Especially with a coronavirus with a changing profile, a vaccine cannot compare. That is precisely what 100% of the studies have shown since that time. And yet here we have governments imposing the shot on people who took the risk, gained the immunities, and now refuse to take another and potentially more deadly risk from the vaccine that operates not like vaccines of old.

Had he actually spent any time with us, he would have known we did all we could to avoid acquired immunity via exposure. Too many healthcare workers suffered and died because they were unable to do so, including friends of mine. Of course, there is now evidence that viral-induced immunity is far from perfect and that vaccines can lower the reinfection rate in previously infected people.

Doctors saw what the virus could do, we read the studies on the vaccines, and most of us ran to get vaccinated as soon as we could. Nearly 100% of doctors are vaccinated against COVID, and one typical news headline from December 2020 captured our emotions by saying, “Healthcare Workers Cry Tears of Joy as Coronavirus Vaccinations Ramp Up: ‘It Feels Great'”.  No healthcare worker cried tears of joy for acquired immunity via exposure, and only a complete ignoramus or liar would imply otherwise. Either way, A isn’t A.

We’ve spent the past year pleading with our patients to get vaccinated and caring for those who were misled into thinking that nothing beats acquired immunity via exposure. Some of these people begged for the vaccine after it was too late. I wonder what concrete steps the founder of the Brownstone Institute took to reap the benefits of acquired immunity via exposure before he was vaccinated. Whatever the answer, it’s clear we’re not exactly dealing with a Dr. Karikó here.

Objectivists versus Ayn Rand

So why is it that many Objectivists- though not all– simultaneously embraced disinformation and undermined heroic scientists whose brilliance saved lives? I’m not entirely sure. However, I suspect many of them aren’t motivated by ideas and values as much as a desire to be contrarian. For some people, like my teenage son, nothing matters more than feeling different and special. Being a “free-thinker” means nothing more than doing the opposite of whatever “they” suggest.

If desperate public health officials use restrictions as a last resort, they will reflexively oppose those measures, even though Rand justified them, the morgues were literally overflowing with bodies down the street from where she lived, and there’s solid evidence they saved lives. If doctors tell young people to get vaccinated, they will reflexively oppose vaccination, even though many unvaccinated children have died of COVID. And on it goes.

It’s possible that Rand would have been a crank this pandemic.  Many people I admired surprised me by rejecting the notion that A is A.  “It’s just the flu and it’s all going away,” they said since day #1. So what follows may be wishful thinking.

But I’d like to believe that if Rand were here today, she’d recognize A is A. Her first mission would be to write a lengthy tribute to Dr. Karikó. Since they no longer seem to admire women like Dr. Karikó, no Objectivist has done this as far as I know. In fact, many have worked to undermine the fruits of her research. Rand would of course be horrified to learn that a virus killed a million Americans, many thousands of them after a vaccine was available. The worst thing she imagined was a power outage in NYC.

She would have deplored the abuse of healthcare workers at the hands of people who were tricked–  by articles on the Atlas Society- into thinking that the virus was only dangerous for old, sick people in nursing homes. An expert on violence against healthcare workers recognized that “violence is one of the repercussions.” of those who “downplayed the seriousness” of the virus.

Rand would also understand that this COVID denialism is a major reason why so many healthcare workers are leaving the field right now. As one nurse said,

We want to be rooting for our patients. But anyone I know who’s working in COVID has zero compassion remaining, especially for people who chose not to get the vaccine.”

Rand would have agreed with Dr. Sheetal Rao when she said “Physicians are some of the most resilient people out there. When this group of people starts leaving en masse, something is very wrong.” After all, resilient people leaving their jobs after being attacked for their virtues is the central theme of Atlas Shrugged, the novel she considered her masterpiece. Though he’s not a major character, a doctor was one of the heroes in that book. Rand clearly had a great respect the profession.

Today, healthcare workers are shrugging due to the consequences of disinformation spread by Objectivists. That’s ironic.

I’m confident that Rand would be mortified to learn her name was associated with prevaricators who spread fake numbers to minimize a deadly virus and discourage parents from vaccinating their children. She would have abhorred anyone who trashed the genius of Dr. Karikó in favor of a virus by saying “nothing beats acquired immunity via exposure”. You see, there’s no consistency with these Objectivists. It’s just malignant contrarianism and groupthink from a collective of talkers who’ve spent the past two years safe behind laptops and in front of cameras. Their disinformation ensured that doctors, who actually worked this pandemic, had a steady supply of gravely ill patients, many of whom who rewarded their knowledge and skill with hate and violence.

Ayn Rand would have seen right through these people.  

And though she helped me do the same, I’m glad I left that hive mind a long time ago.

Author

  • Dr. Jonathan Howard is a neurologist and psychiatrist based in New York City who has been interested in vaccines since long before COVID-19.

    View all posts

24 May 01:13

Videoconferencing may be a technology, but so is Sociocracy

by Doug Belshaw

WAO co-op uses sociocratic consent-based decision making. We use it primarily for anything that involves a budget, including the proposal I ran at today’s weekly member’s meeting. It’s recently been our end of financial year, so we compensated members who had shelled out for things that really should be paid for by the co-op.

During the pandemic, like most organisations, we defaulted to Zoom. It ‘just works’ and most people are familiar with it. We’re not a large enough organisation for the Enterprise plan to be relevant, which means that for the past couple of financial years we’ve expensed individual Zoom accounts that we’ve paid for ourselves. (Prior to that, we used Whereby)

There are plenty of reasons not to use Zoom, however. These range from security issues, to cost, to propping up capitalism. My main reason for wanting to try and use something else is decentralisation. The more we centralise the internet, the further we get from an egalitarian world where we share power.

I wondered whether, for the this coming financial year, we could replace these with something that is open source. That’s why I started to look at offerings like meet.coop. It quickly became clear that this particular option wouldn’t be viable for us, both because of the way they do their pricing (in structure, not that much different to Zoom) and because it uses Big Blue Button. While the guys behind BBB are great (I met them while at Moodle), I’ve always found the software sub-optimal. I can remember a time, for example, when everything slowed to a crawl because too many people were typing in the chat…

I’m doing a Sociocracy facilitators course at the moment and the people I’m doing it with chose to use the main public Jitsi instance. I hadn’t used Jitsi for a good few years, and so was impressed by how much it’s improved. I guess the pandemic and the need for everyone to videoconference helped with that. So, given that we have a WAO Digital Ocean account and Jitsi is a one-click option in their marketplace, I quickly span up and configured a droplet using the recommended settings. With backups enabled and the recent 20% price hike, this came in at $48/month!

When I asked around as to whether this was reasonable, I was informed that other hosts can provide the grunt needed to host a videoconferencing solution much more cheaply than this. In addition, and I probably should have checked this first, there are community-run Jitsi instances one which anyone can run meetings.

Unsurprisingly, then, when I ran a proposal at this week’s WAO meeting, we concluded that while it’s nice to run our own stuff, we were in effect paying for a vanity URL and the functionality can be easily obtained for free (or certainly much more cheaply) elsewhere!

One of the reasons I wanted to share this story was because it stands in stark contrast to how technology has been adopted in other organisations I’ve worked in and with. In the above example, a member (me) took it upon themselves to experiment and bring the findings to the rest of the co-op. We used the instance I span up to run the meeting, so we could see the pros and cons. In the end everyone, including me, voted against the proposal to spend almost $600 on videoconferencing for this financial year.

What will we use instead? I should imagine it will be a bit of a mixed economy. For better or worse, we use Google Workspace which includes Google Meet. I’m not a big fan, but it’s a backup option that’s available to anyone with an @weareopen.coop email address. We’ll probably continue to use Zoom for community calls, because it’s zero friction and the breakout rooms ‘just work’. For co-op meetings and co-working sessions I should imagine we’ll use a community-run instance of Jitsi.

If you’ve got suggestions of (viable, stable) alternatives, let me know! Add a comment below, or message me on the Fediverse.

The post Videoconferencing may be a technology, but so is Sociocracy first appeared on Open Thinkering.
24 May 01:11

Thunderbird By The Numbers: Our 2021 Financial Report

by Jason Evangelho

Transparency and open source go hand-in-hand. But just because Thunderbird’s development work, roadmap, and financials are public, doesn’t always mean they’re well publicized.

That’s where my role as Marketing Manager comes into focus. To shine a spotlight on the numbers, the features, the facts, and the future. I want to keep you informed without you needing to hunt down every scrap of information!

With that in mind, let’s talk about money. Specifically, Thunderbird’s income for 2021, and how it positively affects our team, our product, and our roadmap.

Thunderbird Income in 2021

You may have heard rumors of Thunderbird’s demise, or assumed that the project’s financial outlook was bleak. Thankfully, that’s not remotely close to reality.

In fact, 2021 was a very successful year for Thunderbird. Our income, which is sourced almost entirely by user donations, totaled $2,796,996. That represents a 21% increase over donations in 2020, and it’s more than twice the amount we received in 2018.

Thunderbird year-to-year donations: 2017 through 2021
Thunderbird year-to-year donations: 2017 through 2021

Do we have other sources of income? Yes, but that non-donation income is negligible, and represents less than a fraction of a fraction of one percent. It comes from our partnerships with Gandi and Mailfence for users to get new email addresses. That said, we are exploring other potential revenue opportunities beyond user donations, but only those that align with our mission and values. (When we make concrete decisions regarding those opportunities, you’ll read about them here).

Thunderbird Spending in 2021

In total we spent $1,984,510 last year. The majority of that (78.1%) was allocated to Thunderbird personnel. These are the talented full-time employees and contractors paid to work on Thunderbird. And with an increase in generous donations, we’ve been able to grow our core staff.

We currently employ a talented team of 20 people in the following roles:

  • Technical Manager
  • Product and Business Development Manager
  • Community Manager
  • QA Engineer
  • Add-ons Coordinator
  • Lead UX Architect
  • Security Engineer
  • Senior Developers x3
  • Developers x4
  • Infra Team Lead
  • Build Engineer
  • Thunderbird Release Engineer / Web Infra Engineer
  • Director of Operations
  • Designer
  • Marketing Manager

But we’re not done expanding the team! For those interested, we are still hiring!

A pie chart showing Thunderbird spending in 2021.
Total Thunderbird spending in 2021

The pie chart above breaks down the rest of Thunderbird’s spending in 2021.

“Professional Services” include things like HR (Human Resources), tax services, and agreements with other Mozilla entities (for example, access to build infrastructure). The remaining items help us to run the business, such as various services and technology that help us communicate and manage operations.

2022 and 2023: Not Surviving, THRIVING!

As 2021 came to a close, we had a total of $3,616,032 in the bank. This means we can afford to pursue a variety of bold initiatives that will radically improve Thunderbird. We don’t want to just meet your expectations of what a modern, best-in-class communication tool can be. We want to exceed them.

And you’ve graciously given us those resources!

Moving forward, you’ll see fantastic new features and quality-of-life improvements in Thunderbird 102 this June.

Also happening in June: we’ll also be unveiling our plans to bring Thunderbird to Android, providing a much-needed open source alternative for mobile users. (June is going to be awesome!)

And in 2023, you can look forward to a modernized Thunderbird experience with a completely overhauled UX and UI.

One more thing before we sign off: having cash reserves doesn’t make us complacent. We are careful stewards of the donations we receive from you. We don’t just use it to enhance features; we invest it strategically and wisely towards ensuring long-term stability and viability of Thunderbird. That’s what you deserve!

Your ongoing contributions not only enable Thunderbird to survive, but to thrive. And we can’t thank you enough for that.

Thunderbird is the leading open-source, cross-platform email and calendaring client, free for business and personal use. We want it to stay secure and become even better. A donation will allow us to hire developers, pay for infrastructure, expand our userbase, and continue to improve.

Click here to make a donation

The post Thunderbird By The Numbers: Our 2021 Financial Report appeared first on The Thunderbird Blog.

24 May 01:11

Bundling binary tools in Python wheels

I spotted a new (to me) pattern which I think is pretty interesting: projects are bundling compiled binary applications as part of their Python packaging wheels. I think it’s really neat.

pip install ziglang

Zig is a new programming language lead by Andrew Kelley that sits somewhere near Rust: Wikipedia calls it an "imperative, general-purpose, statically typed, compiled system programming language".

One of its most notable features is that it bundles its own C/C++ compiler, as a “hermetic” compiler - it’s completely standalone, unaffected by the system that it is operating within. I learned about this usage of the word hermetic this morning from How Uber Uses Zig by Motiejus Jakštys.

The concept reminds me of Gregory Szorc's python-build-standalone, which provides redistributable Python builds and was key to getting my Datasette Desktop Electron application working with its own hermetic build of Python.

One of the options provided for installing Zig (and its bundled toolchain) is to use pip:

% pip install ziglang
...
% python -m ziglang cc --help
OVERVIEW: clang LLVM compiler

USAGE: zig [options] file...

OPTIONS:
  -###                    Print (but do not run) the commands to run for this compilation
  --amdgpu-arch-tool=<value>
                          Tool used for detecting AMD GPU arch in the system.
...

This means you can now pip install a full C compiler for your current platform!

The way this works is really simple. The ziglang package that you install has two key files: A zig binary (155MB on my system) containing the full Zig compiled implementation, and a __main__.py module containing the following:

import os, sys, subprocess
sys.exit(subprocess.call([
    os.path.join(os.path.dirname(__file__), "zig"),
    *sys.argv[1:]
]))

The package also bundles lib and doc folders with supporting files used by Zig itself, unrelated to Python.

The Zig project then bundles and ships eight different Python wheels targetting different platforms. Here's their code that does that, which lists the platforms that are supported:

for zig_platform, python_platform in {
    'windows-i386':   'win32',
    'windows-x86_64': 'win_amd64',
    'macos-x86_64':   'macosx_10_9_x86_64',
    'macos-aarch64':  'macosx_11_0_arm64',
    'linux-i386':     'manylinux_2_12_i686.manylinux2010_i686',
    'linux-x86_64':   'manylinux_2_12_x86_64.manylinux2010_x86_64',
    'linux-armv7a':   'manylinux_2_17_armv7l.manylinux2014_armv7l',
    'linux-aarch64':  'manylinux_2_17_aarch64.manylinux2014_aarch64',
}.items():
    # Build the wheel here...

They suggest that if you want to run their tools from a Python program you do so like this, to ensure your script can find the installed binary:

import sys, subprocess

subprocess.call([sys.executable, "-m", "ziglang"])

I find this whole approach pretty fascinating. I really love the idea that I can add a full C/C++ compiler as a dependency to any of my Python projects, and thanks to Python wheels I'll automatically get a binary excutable compiled for my current platform.

Playwright Python

I spotted another example of this pattern recently in Playwright Python. Playwright is Microsoft's open source browser automation and testing framework - a kind of modern Selenium. I used it recently to build my shot-scraper screenshot automation tool.

Playwright provides a full-featured API for controlling headless (and headful) browser instances, with implementations in Node.js, Python, Java and .NET.

I was intrigued as to how they had developed such a sophisticated API for four different platforms/languages at once, providing full equivalence for all of their features across all four.

So I dug around in their Python package (from pip install playwright) and found this:

77M ./venv/lib/python3.10/site-packages/playwright/driver/node

That's a full copy of the Node.js binary!

% ./venv/lib/python3.10/site-packages/playwright/driver/node --version
v16.13.0

Playwright Python works by providing a Python layer on top of the existing JavaScript API library. It runs a Node.js process which does the actual work, the Python library just communicates with the JavaScript for you.

As with Zig, the Playwright team offer seven pre-compiled wheels for different platforms. The list today is:

  • playwright-1.22.0-py3-none-win_amd64.whl
  • playwright-1.22.0-py3-none-win32.whl
  • playwright-1.22.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
  • playwright-1.22.0-py3-none-manylinux1_x86_64.whl
  • playwright-1.22.0-py3-none-macosx_11_0_universal2.whl
  • playwright-1.22.0-py3-none-macosx_11_0_arm64.whl
  • playwright-1.22.0-py3-none-macosx_10_13_x86_64.whl

I wish I could say "you can now pip install a browser!" but Playwright doesn't actually bundle the browsers themselves - you need to run python -m playwright install to download those separately.

Pretty fascinating example of the same pattern though!

pip install a SQLite database

It's not quite the same thing, since it's not packaging an executable, but the one project I have that fits this mould if you squint a little is my datasette-basemap plugin.

It's a Datasette plugin which bundles a 23MB SQLite database file containing OpenStreetMap tiles for the first seven zoom levels of their world map - 5,461 tile images total.

I built it so that people could use my datasette-cluster-map and datasette-leaflet-geojson entirely standalone, without needing to load tiles from a central tile server.

You can play with a demo here. I wrote more about that project in Serving map tiles from SQLite with MBTiles and datasette-tiles. It's pretty fun to be able to run pip install datasette-basemap to install a full map of the world.

Seen any other interesting examples of pip install being (ab)used in this way? Ping them to me on Twitter.

Update: Paul O'Leary McCann points out that PyPI has a default 60MB size limit for packages, though it can be raised on a case-by-case basis. He wrote about this in Distributing Large Files with PyPI Packages.

24 May 01:10

One nuthatch returned

by Chris Corrigan

A couple of weeks ago I wrote about how the nuthatches have disappeared from my home island this year and how I was missing their little calls.

Today,fromt he other side of the world a friend shared with me a watercolour he made inspired by that post. And so, through relationship and connection across time and space, one nuthatch has re-appeared on Bowen Island, , early on a holiday morning.

24 May 01:10

Crypto speculator loses over $200,000 to wallet compromise

Crypto speculator Jonny Reid wrote on May 22 that his crypto wallet had been hacked and drained of approximately $203,000. He wrote that he had never owned a hardware wallet before and had only used MyEtherWallet and MetaMask. "My security has always been great, always cautious with phishing links / websites / discord / telegram / social media scans etc". He wrote that he suspected the compromise might have been the result of a Chrome extension he had downloaded to auto-refresh a page to schedule a passport appointment.

Reid traced the stolen funds until they disappeared into the crypto exchange "Fixed Float". Reid contacted the exchange, who told him they couldn't supply him with server logs without a law enforcement request. Reid wrote that he was "angry [with] the fact they cant provide me with any details to help me follow the trace" and urged crypto Twitter to try to pressure the exchange to release more information to him.

24 May 01:09

Broader opens: on the relevance of cryptolaw for open lawyers

by Luis Villa

I’ve been thinking a lot of late about what “libre” and “open” mean to me, in large part by thinking about movements adjacent to open source software, and how open software might learn/borrow from its progeny. I hope to go into that more this summer, but in the meantime, I’m publishing this as a related “just blog it and get it out” note.

A chart from a recent presentation I gave on legal topics adjacent to open. Security, DAOs, smart contracts, and Swiss non-profits, among others, show up here and stem from, or are more salient in, the crypto space.

This post started as an email to a private list, giving my best-case argument for why open lawyers should pay attention to crypto/blockchain/web3 even if it’s apparent that most of these things are at best naive and at worst planet-destroying scams. I think it’s worth sharing in public to get more comments and more thoughts on this attempt to steel man the argument for cryptolaw.

So, why should open-adjacent lawyers take crypto seriously?

The Bad Bits

Liability

I’ll start with a point designed to appeal to the most diehard crypto-haters (and to be clear, that’s mostly me too!) Quite simply, crypto (particularly but not just smart contracts) is an almost ideal test case for anyone who wants to bring product liability into software. For decades now, we’ve argued (essentially) that software is too complicated, and so software developers should not be liable when it breaks. And in any case, how do you figure out who owes what to whom when it breaks?

In crypto, those arguments start to look particularly weak. The code is much simpler, and the damages are very specific and clear: “my money(-like-thing) disappeared!” And of course this breakage happens all the time; I haven’t looked but I assume there’s an entire category on Web 3 Is Going Great devoted just to software bugs.

Given all this, lawyers will be tempted to bring product liability cases, and judges will be tempted to resolve them. If that happens, and it finally brings serious product liability to software, what does that mean for our FAVORITE BLOCKS OF ALL-CAPS TEXT? To put it another way: the worse you think blockchain is, probably the more worried you should be about the impact of blockchain on every free software license.

(For this point, I am indebted to Mark Radcliffe, who has been writing and speaking on this issue for a while.)

Ethics, or lack thereof

To continue again with the “the more you hate crypto, the more you should pay attention” theme: lots of developers also hate crypto! In the past year I have been repeatedly asked about anti-crypto riders to attach to open source licenses. This would of course make them non-OSI-approved, but lots of developers hate crypto even more than they like (or are aware of) OSI. I suspect that if ethics-focused licenses ever really take off, anti-crypto energy may be the main driver. How those licenses are defined will make a difference, possibly in clauses that live well-past the current crazy.

The Better(?) Bits

Creates lots of code

To turn towards the more positive side: crypto is one of the most dynamic nearly-completely-FOSS sectors out there; it’d be weird for the open community more broadly to ignore them as FOSS consumers and producers. They write a lot of FOSS-licensed code!

As a practical matter, even if you think tokens/blockchain are likely to fail in the long run, it is likely that some of this code will leak back into non-token applications, so its licensing (and related: licensing hygiene) matters.

Governance innovation

Open source communities have traditionally had at least some members interested in how to govern online communities. Many of us who have been around long enough will have participated in more than one discussion of which version of Ranked Choice Voting to use 😭

Crypto is innovating furiously in the online governance space. As with all “innovation” most of that will turn out to be pointless or actively bad. But as a few practical examples of how it is filtering back into open source:

Again, most of that is somewhere between naivete and scam, but not all of it. Open lawyers (and open leaders more generally) should be aware of these ideas and have responses for them.

Taking ‘freedom’ seriously, sometimes

Related to the previous point, as the Cryptographic Autonomy License process reminded us, at least some crypto communities are taking the principles of free software very seriously and extending them to critical future issues like data governance and privacy. If open source wants to move the ball forward on these values and methodologies, the action is by and large in crypto (even if finding the good-faith action is a little bit like finding a needle in a haystack of greed and scams).

‘Smart’ contracts as new legal form?

Smart contracts are mostly garbage (because they are software and most software is garbage) but the interface of this new legal form with existing institutions is both (1) intellectually interesting and (2) has a lot of parallels to early adoption of open licensing as a legal form/tool. I’d love to interview the author of this paper on smart-contracts-as-vending-machines, for example. Similarly, I suspect there is something to be learned from efforts to bring arbitration to the smart contract space.

Money and interest

Finally, there is, quite simply, a pile of crypto-derived money and therefore employment out there. I personally find taking that money pretty distasteful, but lots of friends are taking it in good faith. Every open and open-adjacent lawyer will be getting questions (and many of will be getting paid for their time) out of that pile of money in coming months and years.

Whether we like it or not, this money — and the people paid by it — will set agendas and influence directions. We need to take it seriously even if we dislike it.

Closing (re-)disclaimer

Again: lots of cryptocurrency/web3 is malicious, and the primary legal response to carbon-emitting proof-of-work should be to figure out how to lock people up for it.

But there are, I suspect, a growing number of overlaps between what “we” do in “open” and what “they” are doing “there”. If we want to be seriously forward-looking, we need to take it seriously even if we hate it.

23 May 04:12

Complex software makes economic sense

by Derek Jones

Economic incentives motivate complexity as the common case for software systems.

When building or maintaining existing software, often the quickest/cheapest approach is to focus on the features/functionality being added, ignoring the existing code as much as possible. Yes, the new code may have some impact on the behavior of the existing code, and as new features/functionality are added it becomes harder and harder to predict the impact of the new code on the behavior of the existing code; in particular, is the existing behavior unchanged.

Software is said to have an attribute known as complexity; what is complexity? Many definitions have been proposed, and it’s not unusual for people to use multiple definitions in a discussion. The widely used measures of software complexity all involve counting various attributes of the source code contained within individual functions/methods (e.g., McCabe cyclomatic complexity, and Halstead); they are all highly correlated with lines of code. For the purpose of this post, the technical details of a definition are glossed over.

Complexity is often given as the reason that software is difficult to understand; difficult in the sense that lots of effort is required to figure out what is going on. Other causes of complexity, such as the domain problem being solved, or the design of the system, usually go unmentioned.

The fact that complexity, as a cause of requiring more effort to understand, has economic benefits is rarely mentioned, e.g., the effort needed to actively use a codebase is a barrier to entry which allows those already familiar with the code to charge higher prices or increases the demand for training courses.

One technique for reducing the complexity of a system is to redesign/rework its implementation, from a system/major component perspective; known as refactoring in the software world.

What benefit is expected to be obtained by investing in refactoring? The expected benefit of investing in redesign/rework is that a reduction in the complexity of a system will reduce the subsequent costs incurred, when adding new features/functionality.

What conditions need to be met to make it worthwhile making an investment, I, to reduce the complexity, C, of a software system?

Let’s assume that complexity increases the cost of adding a feature by some multiple (greater than one). The total cost of adding n features is:

K=C_1*F_1+C_2*F_2 ...+C_n*F_n

where: C_i is the system complexity when feature i is added, and F_i is the cost of adding this feature if no complexity is present.

C_2=C_B+C_1, C_3=C_B+C_1+C_2, … C_n=C_B+sum{i=1}{n}{C_i}

where: C_B is the base complexity before adding any new features.

Let’s assume that an investment, I, is made to reduce the complexity from C_b+C_N (with C_N=sum{i=1}{n}{C_i}) to C_B+C_N-C_R, where C_R is the reduction in the complexity achieved. The minimum condition for this investment to be worthwhile is that:

I+K_{r2} < K_{r1} or I < K_{r1}-K_{r2}

where: K_{r2} is the total cost of adding new features to the source code after the investment, and K_{r1} is the total cost of adding the same new features to the source code as it existed immediately prior to the investment.

Resetting the feature count back to 1, we have:

K_{r1}=(C_B+C_N+C_1)*F_1+(C_B+C_N+C_2)*F_2+...+(C_B+C_N+C_m)*F_m
and
K_{r2}=(C_B+C_N-C_R+C_1)*F_1+(C_B+C_N-C_R+C_2)*F_2+...+(C_B+C_N-C_R+C_m)*F_m

and the above condition becomes:

I < ((C_B+C_N+C_1)-(C_B+C_N-C_R+C_1))*F_1+...+((C_B+C_N+C_m)-(C_B+C_N-C_R+C_m))*F_m

I < C_R*F_1 ...+C_R*F_m

I < C_R*sum{i=1}{m}{F_i}

The decision on whether to invest in refactoring boils down to estimating the reduction in complexity likely to be achieved (as measured by effort), and the expected cost of future additions to the system.

Software systems eventually stop being used. If it looks like the software will continue to be used for years to come (software that is actively used will have users who want new features), it may be cost-effective to refactor the code to returning it to a less complex state; rinse and repeat for as long as it appears cost-effective.

Investing in software that is unlikely to be modified again is a waste of money (unless the code is intended to be admired in a book or course notes).

23 May 04:12

Saturday Morning Breakfast Cereal - Proof

by tech@thehiveworks.com
mkalus shared this story from Saturday Morning Breakfast Cereal.



Click here to go see the bonus panel!

Hovertext:
If there is no God, there is no morality. There is no morality, therefore no God.


Today's News:
23 May 04:10

The balance has shifted away from SPAs

The balance has shifted away from SPAs

"There’s a feeling in the air. A zeitgeist. SPAs are no longer the cool kids they once were 10 years ago." Nolan Lawson offers some opinions on why the pendulum seems to be swinging back in favour of server-side rendering over rendering every page entirely on the client. He argues that paint holding, back-forward caching and service workers have made the benefits of SPAs over MPAs much less apparent. I'm inclined to agree.

Via Hacker News

23 May 04:10

B.C. pledges $100 million to address historical wrongs of interning Japanese Canadians

mkalus shared this story .

B.C. Premier John Horgan committed a $100 million endowment Saturday to address the lasting effects of the internment of Japanese Canadians in the province during the Second World War. 

Horgan made the announcement on Saturday from the Steveston Martial Arts Centre, the oldest Japanese-style dojo in North America, in Richmond B.C.

It comes on the 80th anniversary of the first arrivals of Japanese Canadians to the Greenwood, Kaslo, New Denver, Slocan City, and Sandon Internment Camps in 1942. 

"This endowment will not change the past, but it will ensure that generations that are with us still, and those that come after, will have the opportunity to see something positive coming out of what was clearly a very, very dark period in our collective histories,'' Horgan said at the Saturday news conference.

The province said in a news release more than 90 per cent of Japanese Canadians in B.C. were detained and stripped of their homes, possessions, and businesses during the Second World War. 

The endowment, which will be provided through the National Association of Japanese Canadians (NAJC), will support health and wellness programs for internment-era survivors, restoration of heritage sites, the creation of a monument to honour survivors, and updating the province's school curriculum to reflect this history. 

President of the NAJC Lorene Oikawa said at Saturday's announcement approximately 22,000 Japanese Canadians were forcibly uprooted in B.C. 

"They had nothing, and they had to start over. And they did. This is very personal, this is my family. It's your families," said Oikawa. 

The province says the funding builds on a government apology for the wrongs made in the B.C. Legislature in 2012 and responds to a redress proposal advanced in 2021 by the NAJC. 

The province says around 6,000 people who were interned are alive today. One of them, 87-year-old internment camp survivor Keiko Mary Kitagawa, spoke at Saturday's announcement. 

Kitagawa, who was born on Salt Spring Island, said her family and people in her community lost their fishing boats, farms, businesses, homes, personal items, and vehicles, among much else. 

"It was legalized theft," said Kitagawa. 

The memories of her father being taken away by the RCMP in 1942, when she was only seven years old, came flooding back. 

"All the suffering kept coming back to me. . . that's a trauma that I cannot get rid of," said Kitagawa. 

After six months of physical labour doing road work, Kitagawa's dad was given the option to reunite with his family–but on the condition that they move to Alberta to work on a sugar beet farm. 

"Sugar beet farming is like slavery really. It was hard work and we lived in this tiny shack, not fit for humans really," said Kitagawa.

Their entire family, including the children and retired grandparents, were forced to work farming sugar beets.

The family was moved around to different internment camps in Alberta and B.C. until 1949 when the government granted Japanese Canadians their freedom. 

"Many like my grandparents lost their enjoyment of a retirement, for which they worked a whole lifetime to achieve," said Kitagawa. "Many like my parents lost the most productive years of their lives."

23 May 04:10

Using the Fly Docker registry

by Simon Willison

Fly.io lets you deploy Docker containers that will be compiled as a Firecracker VM and run in locations around the world.

Fly offer a number of ways to build and deploy apps. For many frameworks you can run fly launch and it will detect the framework and configure a container for you. For others you can pass it a Dockerfile which will be built and deployed. But you can also push your own images to a Docker registry and deploy them to Fly.

Today I figured out how to use Fly's own registry to deploy an app.

Tagging images for the Fly registry

Fly's registry is called registry.fly.io. To use it, you need to tag your Docker images with a tag that begins with that string.

Every Fly app gets its own registry subdomain. You can create apps in a number of ways, but the easiest is to use the Fly CLI:

flyctl apps create datasette-demo

Fly app names must be globally unique across all of Fly - you will get an error if the app name is already taken.

You can create an app with a random, freely available name using the --generate-name option:

~ % flyctl apps create --generate-name
? Select Organization: Simon Willison (personal)
New app created: rough-dew-1296

Now that you have an app name, you can tag your Docker image using:

registry.fly.io/your-app-name:unique-tag-for-your-image

If you are building an image using Docker on your machine, you can run this command in the same directory as your Dockerfile:

docker build -t registry.fly.io/datasette-demo:datasette-demo-v0 .

Pushing images to the registry

In order to push your image to Fly, you will first need to authenticate.

The flyctl auth docker command will do this for you:

~ % flyctl auth docker
Authentication successful. You can now tag and push images to registry.fly.io/{your-app}

This works by hooking into Docker's own authentication mechanism. You can see what it has done by looking at your ~/.docker/config.json file. Mine looks like this:

{
  "auths": {
    "registry.fly.io": {
      "auth": "... secret token here ..."
    }
  ,
  "experimental": "disabled",
  "stackOrchestrator": "swarm"
}

Now you can push your image to the registry like this:

docker push registry.fly.io/datasette-demo:datasette-demo-v0

Deploying an image

Now that your image is pushed, you can deploy an instance of it like this:

flyctl deploy --app datasette-demo \
  --image registry.fly.io/datasette-demo:datasette-demo-v0

A few seconds later your app will be running at:

https://name-of-your-app.fly.dev/
23 May 04:08

Fährt hier jemand ein Elektroauto von Hyundai oder ...

mkalus shared this story from Fefes Blog.

Fährt hier jemand ein Elektroauto von Hyundai oder Kia?
Der koreanische Autokonzern Hyundai und dessen Tochterfirma Kia müssen Elektroautos auf Basis ihrer Elektroplattform E-GMP zurückrufen. Einem Bericht des US-Mediums Ars Technica zufolge können Spannungsschwankungen dazu führen, dass sich bei geparkten Fahrzeugen die Bremse löst. Dadurch könnten die Fahrzeuge wegrollen.
Hey, wer hätte gedacht, dass agile Produktentwicklung bei physischen Produkten zu genauso beschissenen Ergebnissen führt wie bei Software? Nur dass man da nicht kostengünstig patchen kann!

Lasst uns alle mehr agile machen. Klar kommt da Scheiße raus, aber wir werden den ganzen Weg über bezahlt! Nicht unser Problem!

23 May 04:07

Downtown to Brighton Electric Lawnmower Cycle Transportation System

by peter@rukavina.net (Peter Rukavina)

The kids bicycle trailer that Dave and Erin gave me years ago, converted to a cargo trailer, continues to find new roles.

,
23 May 04:07

Here’s how you can launch a range of iPhone features by tapping the Apple logo

by Karandeep Oberoi

Apple has come a long way in making sure its products are easy to use for everyone, and accessibility is the name of the game for the Cupertino, California-based company.

From the ability to alter display and text sizes, to voice control, gestures and Assistive Touch, most of the accessibility features available on Apple devices are readily deployed by users. However, one of the more useful features that, unfortunately, gets buried deep down in Apple's accessibility settings catalogue is 'Back Tap.'

The Back Tap feature, which launched with iOS 14 back in 2020, allows you to double-tap or triple-tap the Apple logo on the rear of your iPhone 8 or later released device to perform a pre-set function, such as taking a screenshot, navigating back to the home screen, pulling up spotlight, turning on/off the flashlight and wide range of other features.

The feature works even if you have a hard case on, and allows you to operate your device with a single hand.

iPhone models that support back tap include:

  • iPhone SE (2nd-gen and later)
  • iPhone 8
  • iPhone 8 Plus
  • iPhone X
  • iPhone XS
  • iPhone XS Max
  • iPhone XR
  • iPhone 11
  • iPhone 11 Pro
  • iPhone 11 Pro Max
  • iPhone 12 mini
  • iPhone 12
  • iPhone Pro
  • iPhone 12 Pro Max
  • iPhone 13 mini
  • iPhone 13
  • iPhone Pro
  • iPhone Pro Max

To access the feature, head to settings and scroll down to  'Accessibility.' Under the "Physical and Motor" setting within the Accessibility menu, tap on 'Touch' and scroll down to access 'Back Tap.' If you haven't used the feature before, the page will show you "Double Tap" and "Triple Tap" with no function attributed to them.

You can decide to use double-tap or triple-tap, or both, depending on your need, and set a 'System,' 'Accessibility,' 'Scroll Gesture' or 'Shortcut' to go off with the tapping action.

As seen in the video above, I set the double-tap action to take a screenshot, whereas the triple-tap option allowed me to go back to the home screen instantly. And I know, there are easier and faster ways to go back to the home screen, but this was just a demonstration to show you how seamlessly the tapping feature works.

The feature is especially useful in case one of the buttons on your device malfunctions. For example, if the lock button on your device has stopped functioning properly, you can set the double or triple tap feature to lock the device, whereas if your volume up/down buttons come loose, you can set the double-tap as volume up, and triple-tap as volume low.

You can also set the taps to pull down the Control Center, Spotlight or the Notification Center, making it much easier to use your iPhone with a single hand.

Finally, if you have any shortcuts set up on your device, you can set the tap to trigger that shortcut. For reference, I have my vaccination card shortcut set up somewhere on my home screen. So whenever I want to pull it up, I normally go to spotlight, type in "vaccination" and it shows up. An easier way to pull it up would be to set the double-tap to trigger the shortcut, so the next time I go to a restaurant and they ask me for my vax record, I don't just stand there nervously scrambling to find it.

23 May 04:05

Blogging is Back

by peter@rukavina.net (Peter Rukavina)

Paul Capewell pointed me to the blog of Phil Gyford, which I have quickly come to love:

This week I went to the latest Punchdrunk immersive theatre event and it was completely convincing: a recreation of London as if Covid had never happened. I saw thousands of performers behaving exactly like people in the before times of 2019, barely a mask in sight anywhere, and everything just how it used to be. If there was a narrative somewhere I missed it, which is nothing new, but as an experience it was incredibly impressive and a lovely reminder of times past.

Ha ha, no, I actually went to actual London where no one is actually bothered about actual Covid any more! Satire!

I’ve long been sceptical of “blogging is back, baby!!” pronouncements. But blogging is undergoing a renaissance, in part because of fatigue from the web becoming an interconnected garden of surveillance capitalism, manifested by the pain one feels simply wanting a recipe for corn chowder and finding the recipe buried under a stack of 4,000 surgical words of SERP-bait.

Genuine unsponsored voices, writing personal essays about the everyday, all of a sudden seem novel and compelling anew.

23 May 00:07

The Universe Decided

by peter@rukavina.net (Peter Rukavina)

In today’s Corrections and Clarifications in The Guardian:

And due to a transcription error, Rosenkranz was misquoted as saying “the universe decided that this would be my role”; he said “the university decided”

23 May 00:07

‘In no city have I felt as unsafe as Berlin’: opera singer sues metro over racism claims | Race

mkalus shared this story from The Guardian.

A Berlin metro ticket controller squeezes through a throng of old-school punks, mariachi band members and burly men in leather chaps, all while jauntily humming Is’ mir egal, “It’s all the same to me”.

The 2015 viral ad, featuring Turkish-German Neukölln rapper Kazim Akboga, was a great marketing success for the German capital’s public transport company, BVG: if you ride on our metros, trams and buses, it said, you can be whoever you want to be – as long as you remember to buy a ticket.

Jeremy Osborne’s experience with Berlin ticket inspectors is a less cheerful one. The dual national American-German opera singer is one of a string of people of colour who say they have been singled out and physically abused by controllers on the public transport system of a city that outwardly prides itself on its diversity and social liberalism. In a landmark case for Germany, he is currently suing the state-owned metro operator for discrimination over an incident in October 2020.

At about 7pm one day, Osborne was on a train on the U2 underground line between Spittelmarkt and Hausvogteiplatz when four plainclothes ticket controllers stepped into his carriage. Berlin’s underground train network does not have ticket barriers, which BVG says it cannot install because of fire safety regulations and building preservation orders. Instead, paper and digital tickets are spot-checked by a pool of 170 roaming controllers, of whom a quarter are BVG staff and wear uniforms, and the rest work for two private subcontractors, who started wearing blue uniforms in their role only last November.

When Osborne asked one of the controllers to show proof he was really entitled to see the annual season pass he was carrying in his wallet, things turned ugly.

According to a report BVG’s subcontractor produced a year and a half after the incident, and which is in parts inconsistent with a police report written immediately after the event, the passenger had provoked the controllers by showing his ticket “very slowly” and abusing them as ausländer or “foreigners” (three of the four controllers had Turkish citizenship). Osborne, who had yet to obtain German citizenship at the time of the incident, denies doing so.

According to the Arkansas-born singer, the inspectors snatched his pass and made him leave the carriage for the platform, where one told him that “Black Lives Matter is only an excuse for you” and another pushed him on to a metal bench, causing scrapes on his forearm and thigh that required hospital treatment.

“I’ve lived in Baltimore, New York, Nice and Vienna, but in no city have I felt as unsafe on public transit as in Berlin,” the 35-year-old told the Observer. “It’s as if the controllers feel they have the freedom to harass you at will.”

Osborne’s injuries were milder than those of Abbéy Odunlami, a Nigerian-American art curator, who in December 2020 suffered a crushed shoulder blade, a broken collar bone and two broken ribs, one of which pushed into his lung, when he was shoved to the platform floor by Berlin ticket controllers working for the same subcontractor, Berlin Object Protection and Service (BOS).

“The doctor who operated on me said I had been lucky,” Odunlami said. “A few millimetres deeper and I wouldn’t have survived.” Like Osborne, Odunlami was asked to step on to the platform even though he had a valid ticket.

Juju Kim, a 31-year-old American yoga teacher, suffered a broken finger in January this year when a ticket controller twisted her hand. Kim had been asked to get off the M10 tram for having validated her ticket too late. “Public transport shouldn’t feel scary,” Kim said in an Instagram post in which she recounted the incident.

A petition and social media campaign called #WeilWirunsFürchten (“Because we are afraid”) – after the BVG’s own slogan #WeilWirDichLieben (“Because we love you”) – has had about 60 reports since it started in February 2021 from people who felt they had been aggressively singled out by ticket controllers because of their appearance.

“Controlling tickets is low paid and precarious work,” said Anna-Rebekka Helmy, one of the women behind the campaign. “No one outside a certain socioeconomic context wants to do this job.” Instead of focusing on the subcontractors, she says change needs to come from Berlin’s majority state-owned transport company.

Among other measures, her petition calls on BVG to pay its controllers better wages and enforce anti-discrimination and de-escalation training among its subcontractors.

BVG says its subcontracted controllers are already schooled in “intercultural competences” and made to role-play scenarios where they assume the role of passengers. The operator points out that ticket controllers are regularly subject to verbal and physical aggression themselves, with 118 cases leading to criminal charges over the past two years. BVG said it could not put a number on the complaints it had received about controllers behaving aggressively.

In a Germany-wide first in 2020, Berlin state introduced a new anti-discrimination law, and Jeremy Osborne will be the first person to sue the city’s transport operator under this legislation.

His lawyers argue that the law, which bars discrimination against anyone based on their skin colour, gender, religion, disability, worldview, age or sexual identity from taking place in a public authority’s “area of responsibility”, applies to Berlin’s public transport company and the conduct of its ticket inspectors.

The same transport operator that used to have a ticket controller rap about its laissez-faire philosophy in viral video ads, however, now argues that it has no real legal responsibility for the behaviour of the men and women who try to catch fare-dodgers on its trains and trams.

In a letter sent to Osborne’s lawyers in April, BVG’s legal team argues that while the transport authority was a public body, a ticket bought to ride on its metros or trams was a private-law contract, and any fine issued was a penalty for breach of contract rather than an administrative act.

21 May 22:59

Firefox Presents: A YouTube creator blending femininity and engineering

by Kristina Bravo

Being feminine and having technical skills are not mutually exclusive. This should be obvious, but Xyla Foxlin has had to work hard to prove femininity and engineering can go hand in hand. While in college, she started a YouTube channel called Beauty and the Bolt, where she co-produced tutorials on STEM topics like electronics, math and physics. Schools and other programs used the videos to teach young people, and the project became a nonprofit where she served as executive director. Now, Xyla has her own YouTube channel, where she gets to “play around” with whatever material she can get her hands on in her garage. She made a corset out of a cedar strip. She built a rocket and launched it, wearing a dress. Last year, she bought a small plane – something she’s worked toward since learning to fly an aircraft while working as an airport crew member during high school (“I’d show up to fuel this guy’s plane and he’d be like, ‘No way.’”) We talked to Xyla about getting into engineering, what she loves about the internet and building a Tesla coil for a beauty pageant. 

Tell us about your name.

I have very interesting parents and they let me name myself when I was like 10. They had Foxlin as a combination of both of their names and they both changed their names when they got married. So changing names is sort of a family hobby. 

They named me Kayla because they thought they had made it up. And then it was  on the top 10 girls’ names list that year, and they were really heartbroken about it. They spent my whole childhood talking about how much they regretted naming me Kayla. What’s even better is my middle name is Ray. So they named me Kayla Ray, and I’m like a Jewish Asian from Boston,not a Southern Belle. 

At one point, I was sitting at a diner with my parents and my mom said, “Pick a new name. We’ll just go change it like right now.” My dad really wanted a high Scrabble scoring name and I liked X’s more than Zs because I was 10. I didn’t understand the adult implications of the letter X yet. Xena was on the list, but the warrior princess kind of did it first. By the end of the night, my new name was Xyla.

You were in the robotics team in high school but didn’t build robots until college. What changed?

I was in the back hoping someone would let me do something. But the reality is a lot of times when you join any organization, you have to get in there and be really loud and be like, “I’m going to do this thing. I’m going to try it.” And that is not really socially conditioned into most girls. 

So I was quiet and obedient and I did whatever was told to me. I was told to organize the outreach events, make the engineering notebook or organize the bake sale. I organized a lot of big sales and raised a lot of money. 

When I went to college, I was like, “I’m going to be the best engineer I can possibly be.” My freshman year, I joined  the robotics team. I joined the rocket team. I was going to hackathons on weekends. I was building robots for this NASA robotic mining competition

Xyla Foxlin, sitting in front of a computer, points at a video playing on a monitor.
Photo: Dana Lynn Pleasant for Mozilla

Tell us about the YouTube channel you started in college, Beauty and the Bolt. 

It was born out of an issue I saw with the Makerspace that I worked at in school. There was this moment where a girl walked in and she wanted to 3D-print a phone case. She wasn’t an engineer. It was maybe her first time in this space. She was already really uncomfortable. We were really busy that day, and so my boss was like, “Just give her the text tutorial.” So I sat her down on the machine, I opened up the document for her and said, “Just read through this. I’ll get you set up and then come see me if you have any issues.” It was 42 pages long. I saw her scroll through it, and then when I had my back turned, she had closed her laptop.

I thought, “That sucks. We need a better way of doing this.” So I reached out to one of my friends and asked, “How do you feel about making video tutorials for the space?” Because I think that if someone had a video to watch on how to do it, it would lower the barrier to entry for the people who are uncomfortable. 

So we made a handful of videos on how to use machines in the Makerspace. We posted them on YouTube. A ton of schools and other Makerspaces found them and started using them as their training. We started getting requests for more videos and then it snowballed into a nonprofit.

You also competed in pageants for a year during college and won Miss Greater Cleveland as part of the Miss America program. Why did you decide to explore that?

I was sort of angry about how there was this notion that I couldn’t be super feminine and also be an engineer at the same time. People would make fun of me for wearing pink and flowers. And I thought , screw all of you. I’m just going to go compete at Miss Ohio and see what happens. 

One of the other reasons I did it is I wanted an excuse to build a musical Tesla coil. I read through the Miss America talent rules and fire is not allowed. Although fire is a plasma, not all plasma is technically fire. I figured showing up with a lightning machine was not technically outside of the rules of Miss America. So there’s the mischievous part of me that was like, “Now I have to do it.” 

I built a little Tesla coil and I hooked it up to my electric violin and played. It was part of the personal mission I had of trying to get girls who are more feminine to know that they could do stuff like engineering, and that it wouldn’t make them any less of who they are.

Xyla Foxlin speaks into a microphone.
Photo: Dana Lynn Pleasant for Mozilla

Now you run your own YouTube channel.

With the nonprofit, I felt a lot of pressure to keep my projects simple and classroom friendly. When I started my own channel,, I want to be able to build whatever wacky, crazy idea that I can come up with. I want to be able to push myself really hard and make projects that I don’t even think I know how to do. I am me, the person Xyla Foxlin and I’m building the things that Xyla Foxlin wants to build.

What would high school freshman Xyla think if she could see you now?

She’d be so jazzed. I don’t think there was ever a moment in my life where I thought I would own an airplane at 25. I have played that moment in my mind a bunch of times: What if I could travel back in time and talk to the 13-year-old version of myself? That it paid off and it was worth it.

What’s your favorite part about the internet?

One of my favorite things about being my age and living in 2022 is that the internet lets you create whatever job that you want. You have to be very entrepreneurial. You have to be willing to put yourself out there. It’s not for everyone, but the tools are at your disposal to forge your own path and create the job that you want.

Firefox is exploring all the ways the internet makes our planet an awesome place. Almost everything we do today ties back to the online world in some way — so, join us in highlighting the funny, weird, inspiring and courageous stories that remind us why we love the world wide web.

Xyla Foxlin jumps in front of a mural.

Get the browser that makes a difference

Download Firefox

The post Firefox Presents: A YouTube creator blending femininity and engineering appeared first on The Mozilla Blog.

21 May 22:55

Nuclear winter explained visually

by Nathan Yau

Neil Halloran, known for his documentary films that lean strongly on data visualization, collaborated with RAND to explain the possibility (or lack) of a nuclear winter. In the last third of the film, Halloran also discusses the pursuit of absolute truth and whether it’s truly worth it in the end. Lots to think about.

Tags: Neil Halloran, nuclear, RAND

21 May 22:52

Many cups of tea

by Chris Corrigan

It is apparently International Tea Day, and my friend Carolyn Camman sent along this beautiful twitter thread describing tea culture across the Muslim world. It put me in mind of some memorable cups of tea I have had in my time:

  • I fell in love with Turkish tea culture sipping tea from tulip glasses in Istanbul, during summer downpours in Taksim, by the side of the Bosphoros, or in the quiet back alleys of the old town as the calls to prayer echoed through the streets. Or on a gullet in the quiet waters off Demera, or in the mountains of Selçuk.
  • A impromptu stop in for a gorgeous cup of tea and a perfect scone with my beloved beside the Ouse in St. Ives in the UK on a summer day, pictured above.
  • Developing a deep love of the cornflower flavoured black tea that we used to buy from The Tea Merchant on the Byward market in Ottawa.
  • Endless cups of Dilmah tea with my lovely mother-in-law. She introduced me to Dilmah, and I’ve never gone back. A lovely Ceylon tea, from a great company.
  • Drinking dark thick, bitter tea from a huge pot boiled for hours on a woodstove in a hunting cabin on the tundra of Nunavik as a group of Inuit polar bear hunters sat in circle and discussed their futures over caribou stew and bowhead muktuk.
  • Making an impromptu tea ceremony with So Yoshida and friends in a small tea house in a little park near the Tokyo harbour.
  • Watching used Irish Breakfast tea bags pile up in a little plate in the kitchen of a cottage I shared with Chris Chapman and Anthony McCann by the shores of Galway Bay in Ballyvaughn, Co. Clare as a kind of metric of the conversations and stories we were telling.
  • Sharing a pot of tea with Simon and Julia Lucas back in 1989 when a group of us Native Studies students travelled to Hesquiaht in Clayoquot Sound with Sennan Charleson to spend a week immersed in the community. It was my first trip ever to BC, the first time I ever got to meet Simon and Julia and it was a memorable afternoon, listening to stories of the community, the culture, the language and the plans for the future.
  • Drinking rooibos outside our meeting space while watching giraffes carefully pick their way around small dialogue groups during an Art of Hosting at the Heia Safari in South Africa.

Grateful for these experiences and connections.

21 May 00:51

The Next Generation of MOOCs

In this presentation I outline the development of MOOCs, discuss the impact of the pandemic, and suggest several ways MOOCs will grow and develop in the future, including through the use of web3 technologies, live linked data, artificial intelligence, and the metaverse.

Iranian Conference of Health Professions Education (ICHPE), Tehran, Iran, by Zoom (Keynote) May 20, 2022 [Link] [Slides] [Video] [Transcript]
21 May 00:42

New Thoughts on Link Culture

by peter@rukavina.net (Peter Rukavina)

I love everything about this rumination on link culture.

Writing for the web has been trapped in stasis for a long time—it’s nice to read new thoughts about concepts that are so familiar they seem to have existed always.

20 May 16:43

These Weeks in Firefox: Issue 115

by Mike Conley

Highlights

  • Firefox 100 goes out today! A milestone release, but also business as usual!
    • Congratulations to contributors who helped get Firefox 100 out the door!
  • Initial support for subtitles and captions in the Picture-in-Picture video player goes out today in Firefox 100. Woohoo!
  • Starting from Firefox >= 101, when a WebExtension calls the browser.downloads.download API method, the download panel will be automatically opened if and only if the extension was handling user input when that API method has been called – Bug 1761828 / Bug 1762033 / Bug 1759231
  • This fixes the “Firefox :: Downloads Panel” issue reported from more than a few users due to the downloads panel opening and quickly closing automatically when one of the extensions installed uses the downloads API to periodically backup the extension settings (see Bug 1759231 and its duplicates)
    • Thanks to aminomancer for the work on the “Firefox :: Downloads Panel” part of this fix!
  • Raphaël improved the DevTools Inspector class autocomplete so that the selected class in the autocomplete is applied as you browse the autocomplete list. Super handy on website using CSS utility rules systems like Bootstrap (bug)
    • An animated GIF showing how the autocomplete field for adding a new class to a node in the Developer Tools Inspector will automatically apply that class as the autocomplete list is browsed.

      Autocomplete? Autoclass!

  • We’ve implemented enough Webdriver BiDi commands to begin the process of shipping it! (bug, intent-to-ship) Congrats to Henrik, James, Julian and Sasha 🎉

Friends of the Firefox team

Resolved bugs (excluding employees)

Script to find new contributors from bug list

Volunteers that fixed more than one bug

  • F3n67u
  • kernp25
  • manisha.singh2019
  • Oriol Brufau [:Oriol]
  • Shane Hughes [:aminomancer]

New contributors (🌟 = first patch)

Project Updates

Add-ons / Web Extensions

Addon Manager & about:addons
  • Fixed a small visual regression related to the about:addons add-on card, due to the sitepermission row not hidden for non-sitepermission addon types  – Bug 1766167
WebExtensions Framework
  • As part of the ongoing ManifestVersion 3 work:
    • Manifest V3 “host_permissions” to be visible and user-controllable from “about:addons” add-on cards – Bug 1745820
    • Deprecated cross-origin requests from ManifestVersion 3 extension content scripts – Bug 1578405
    • Added support for the new “injectImmediately” option to browser.scripting.executeScriptBug 1762366
WebExtension APIs

Developer Tools

Toolbox
  • F3n67u simplified a few files which were violating eslint complexity rule (bug, bug, bug)
  • Sebo made progress on custom formatters support in DevTools by handling JsonML data in DevTools (bug)
  • Arai fixed console.table when it is called with unexpected arguments (bug)
  • Alex fixed setting breakpoints in HTML inline scripts in iframes (bug)
  • mach run takes a –jsdebugger argument that will automatically open the Browser Toolbox. The arg can be empty, or you can pass a path to a specific binary (e.g. ./mach run –jsdebugger /Applications/FirefoxDeveloperEdition.app/Contents/MacOS/firefox) that will be used for the Browser Toolbox, which can be handy if you’re trying to debug a broken local build. If you reload the main browser window, the Browser Toolbox will reload but keep using the binary you set in the first place. Thanks Alex! (bug)
  • Julian fixed a pretty nasty inspector bug impacting pages embedding Shopify chat UI (bug)
  • A few releases ago we added the ability to tweak any dimension in the inspector rule view by dragging the mouse over the value. Some people are not fan of this feature so Julian added an item in the Settings panel to disable it (bug)
WebDriver BiDi
  • Henrik made navigator.webdriver to be  true when Remote Agent is enabled (bug)
  • Julian implemented the browsingContext.create command, which enable opening tabs (bug)

Fluent

  • Thanks to Niklas who ported videocontrols.js to Fluent! This pulls out more DTDs (which is good), but should also help prevent Yellow Screen of Death frames from appearing on video elements.

Form Autofill

Lint, Docs and Workflow

Password Manager

Picture-in-Picture

Performance Tools (aka Firefox Profiler)

  • Improve Firefox Profiler user docs (#3998). Take a look at https://profiler.firefox.com/docs/ for our user guide. More improvements are on the way as well.
  • Add a “Copy page URL” option to the right click context menu for markers (#3981)
    • In the Marker Chart for a profile in the Firefox Profiler tool, a next context menu is available for markers associated with a page URL that allows for copying that URL to the clipboard.
  • Add “Hide matching tracks” option to the track menu (#3955) It appears after searching something in the filter input and allows you to hide multiple tracks quickly.
    • A new "Hide all matching tracks" item in the track filter panel in the Firefox Profiler allows for quickly hiding all tracks matching the query.

      This makes it easier to drill down to what really matters in a profile.

  • Draw all interval markers as rectangles in the marker chart (#3996)
    • An animated GIF of the Firefox Profiler Marker Chart showing that interval markers are now rendered as rectangles rather than ellipses. This makes their start and end times more visually precise.

      Now all markers that represent a duration are more accurate in the graph!

Search and Navigation

  • Mark has updated the expiring version for the browser.searchinit.engine_invalid_webextension telemetry, that measures disabled or potentially invalid WebExtension search engines – Bug 1763528
  • Drew has improved Firefox Suggest telemetry to measure dismissed or blocked Firefox Suggest entries – Bug 1764669 – and properly report reset impression counts – Bug 1765881

Storybook / Reusable components

20 May 16:43

Backyard on Bleecker Street, 1969 Albert Jacques Franck



Backyard on Bleecker Street, 1969 

Albert Jacques Franck

20 May 16:29

The web3 world computer is at a 1970 level of development

I’ve been hanging out in the web3 space recently. The art and aesthetic generally is awesome and effervescent. But there are big claims made for the technology and, given the high level of scams, I’ve spend a bunch of time considering that.

With any new tech, it’s interesting to ask: does this matter? Is it a weird blip or does this become part of the technology landscape for decades to come? If so, how? A change in consumer expectations or wildly disruptive at a widespread and technical level? Does this tech matter directly, or is it basically a discovery mechanism for new use cases, acting as inspiration for new tech that answers that same revealed use case but in a different way?

Most interesting: where are we in computing history?

For e.g.: My take is that VR is waiting for its Macintosh moment which puts it in the mid 80s and my gut says that’s about right. Assuming decent smart glasses drop this year or next, then it’ll take a decade of deployment phase till we’re in the “mid 90s” and VR is transforming everyday life. At which point we’ll be ready for the big twist, which for the PC was the arrival of the web, and it took another decade for PCs to become culturally dominant. Perhaps, v roughly, VR is on the same curve.


Ok, web3.

So I’ve been poking around in Ethereum which is one of the two big blockchains. Bitcoin is the other and that’s mostly financial. Ethereum is… something else.

Reading the smart contract source code that underpins NFTs (here’s the spec and here’s some code) is super informative! You can see what it means for a digital item to “exist.” You can see what it means for one of these items to be “owned.”

I get the same feeling as when I read the source code for the original Unix operating system, which is basically the ur-OS that either directly or indirectly (because it established the concepts) underpins this epoch’s computing environment. You can see what a process is! What is a file is. What a user is. The feeling is a combination of: oh now I know the fundamental particles; and, is that it??

NFTs don’t “exist” on the Ethereum blockchain. The smart contract that tallies and tracks ownership for a class of NFTs does exist: it’s code that runs. As a single instance, this means that NFTs of the same class are forever linked. By analogy: imagine a print of some art is limited to 100 editions and they are all sold and now hang in people’s homes all over the world. Now imagine that they are spookily connected to one-another.

An NFT is a smart contract that achieves something like digital ownership, but actually it has a subtly different nature. Which is worth knowing. Opportunities for invention come from knowledge of the deep physics of a universe.

Long story short, I finally came to understand whey they call Ethereum the World Computer.

NFTs are one type of smart contract that can run on the world computer. Other smart contracts can do anything that code can do.

Smart contracts aren’t contracts, that’s a financial or legal framing. Smart contracts are object instances, in the object-oriented code sense, and the Ethereum blockchain is a shared object runtime.


Robin Sloan gets it. I didn’t get it when I read his notes last year, but now I do.

Ifeel like this simple premise is often lost in the haze: the Ethereum Virtual Machine, humming heart of Web3, is a computer that charges you many dollars to execute a very small program very slowly. It does so in an environment with special properties, and in some cases, those properties are worth the expense. In others … it’s like running your website on a TRS-80 with a coinslot.

– Robin Sloan, Notes on Web3 (2021)

(And also read Sloan’s essay from around the same time, The slab and the permacomputer, which is a meditation on the idea that "‘computers’ might melt into ‘compute’", something more environmental then physical.)


There is a picture in my head that the computing environment of the future is a vast shared substrate where digital ownership is IRL-equivalent. With all that ownership implies and requires: identity, economics, object permanence, a truth grounded deep in the physics.

Maybe achieving that requires tearing up everything way back to… well, when?

Let’s say that the Ethereum virtual machine, the world computer, is indeed the shared object runtime that we will need. Object-oriented code being the paradigm invented by Alan Kay such that blobs of code sit together, an object instance representing (say) an on-screen menu, or a user, or whatever. The paradigm provides abstraction such that code can reach dizzying complexity, while also retaining expressiveness to create new things.

Object runtimes such as…

  • NOW: the object-oriented heart of MacOS and iOS, originally the Objective-C runtime of NeXT (and the reason that Apple bought NeXT), which is the reason why iPhone has great consistency in the user experience and was also, at release, hugely easier to develop for than anything else on the market.
  • BACK THEN: the Smalltalk runtime, developed by Alan Kay’s team at Xerox PARC, and used to invent modern graphical user interface on the Xerox Alto in the early 1970s.

(Yes, I continue to be obsessed with the career history of Alan Kay.)

It’s interesting to me that you need both (a) the hardware, and also (b) an expressive and powerful object runtime such as Smalltalk if you are going to invent the user interface layer, which allows users to interact with the machine and also provides a platform for apps.

If I kinda squint… I can kinda imagine how you might bootstrap today’s Ethereum virtual machine all the way up to a Smalltalk-equivalent. And if you get to that point, you can ladder your way up to a GUI analogue, and from there to modern-day computing.

So how far away are we?

How far away is today’s web3 from something as sophisticated as today’s computer world?


Let’s do some sums.

And really hand wave our way to a Fermi estimation.

Executing a function on a smart contract (an object instance) on the Ethereum virtual machine, updating internal state etc, takes a few minutes.

On a Mac, the overhead to pass a message to an object is measured in nanoseconds on a modern machine.

So there’s is a 10 orders of magnitude difference: Ethereum needs to be 10 billion times faster.

That’s 33 Moore’s law doublings. 50 years away from being as complex and fully-expressed as today.

So we’re in the equivalent of 1970 – which feels about right.

Web3 is waiting for minicomputers. Even that’s a long way off from today. In the minicomputer boom around 1980, in our history, a single NAND gate cost 8 cents, wholesale: In 1981 money, a single iPhone would cost "$1.4 billion in parts, no margin."

We’re still waiting for our Unix moment, locking down the fundamental concepts, the system that takes the network and time-sharing for granted, giving us the native programming language and system calls to bootstrap up to the next layer of emergent complexity.

We’re pre GUI; direct manipulation and the desktop metaphor has yet to be figured out. There are no SDKs. Development is still close to the metal.

It gives me a rough handle on the scale of work to be done.

1970 doesn’t mean that web3, this new epoch of computing (if that’s what it is), is unusable. Far from it. People in the real 1970 were making video games! The personal computer had already been imagined and prototyped!


This analogy helps me have a view on questions like: are NFTs the final form of that concept, or do we have some way to go to digital ownership?

I think what NFTs want to be like is the MP3. The Fraunhofer Institute’s invention of the MP3 (and their licensing approach) unlocked a whole industry including consumer ownership of digital music, online music stores and streaming, and digital devices like the iPod (which paved the way to the iPhone).

But the MP3 file format was invented in 1989 so - if we’re on a similar trajectory - then NFTs have conceptually the right frame but are 20 years too early.


The question is: how do we accelerate 50 years to 20 years or to 10 years?

There were multiple generations of computers between 1970 and the networked smartphone. It wasn’t a steady evolution.

Maybe there would be scope in imagining the next generation of web3, already. Are there other ways to achieve a global, zero-trust, persistent, shared object runtime – and can it be built? Perhaps Microsoft or Google have warehouses of genius engineers doing just that, attempting the generational leapfrog.

Or maybe it would be worth bullying a Smalltalk-like expressive development environment into existence, sitting atop today’s Ethereum world computer, however slowly it run, just to see what could be created with that new clay.


IF REAL! The alternative view is that web3 and all of the above isn’t real. There will be ways to achieve digital ownership (if that’s even important!) without baking it into the physics of a future world computer.

It could be that part of the appeal of web3 is that it’s a new glass bead game.

(Whether it has 1,000 year appeal like THE Glass Bead Game, Hermann Hesse’s abstract and beautiful fictional game at the heart of his 1943 novel, our descendants will find out. So let’s lowercase it for now.)

Where else can you manipulate a novel set of symbols and bounce between code, social dynamics, arts and economics? There are endless permutations.

And perhaps - per Hesse - it’s best left to a caste of esoteric monks revered yet safely isolated from the rest of society…

I’m not saying there is nothing else there, or that the nerd-sniping joy of web3 is the only value (I happen to believe there is something real here), but alongside the gambling drive which comes from the financial component of this emerging tech stack, I feel like novel symbol manipulation is a big part of the early appeal for many.

Which is a risk. I kinda vaguely feel like physics burnt a couple decades on a similar pursuit: string theory. A consumingly absorbing idea for whole communities, but where did it go?

So perhaps it’s all a mirage. For the sake of argument, let’s assume it’s not.


My hunch and my heuristic metaphor:

If the web3 world computer has only just reached 1970 then, first, don’t expect too much. There’s real utility to be found but in very prescribed use cases. But also, second, there are wild and unrecognisable transformations to come. There is room for imagination and invention.

20 May 16:25

Chat group leak reveals far-right fantasies of Germany’s AfD | Germany

mkalus shared this story from The Guardian.

The leaked contents of a WhatsApp chat group associated with Germany’s far-right AfD has offered an unfiltered glimpse into party discussions, including fantasies over the imprisonment of Angela Merkel, homophobic attacks and armed resistance.

Called the Quasselgruppe, or “yakking group”, the chat contains conversations between 76 of the 92 Alternative für Deutschland MPs who entered parliament in 2017 for the first time after the federal election.

It contains about 40,000 posts sent from 2017 to 2021 and was passed on by an anonymous AfD member last summer to journalists from the broadcasters NDR and WDR who were making a documentary about the party.

The discussions focus on topics including the US presidential election, the pandemic and how the aggressively nationalistic AfD should position itself with regards to the Querdenker movement, a coronavirus denial group.

It also touches on other events that deeply shocked the political world in Germany, such as the storming of the Reichstag building in September 2020 by demonstrators protesting against coronavirus safety measures who were assisted by AfD members, and the constitutional crisis, also in 2020, triggered by the collaboration between the AfD and the CDU that enabled the election of a state premier in Thuringia.

Also discussed are the homophobic attacks on the former health minister Jens Spahn, and the SPD MP Johannes Kahrs.

There are calls for regime change, reflecting some of the language widely heard among anti-Merkel street protests in some parts of eastern Germany, with one calling for the “old regime” to be brought to an end, predicting a “ruthless battle” for which it would be necessary to arm.

On Merkel, then chancellor, one post read: “This traitor deserves to be sent to prison until the end of her life.”

Indications of internal party disagreements are rife. There is criticism about the party leadership’s failure to not have “pulled the plug” sooner on its radical wing, known as “der Flügel” or wing, due largely to the bad publicity it brought.

Parliamentary leaders Alice Weidel, Alexander Gauland and Tino Chrupulla are accused repeatedly in the chat of having weak strategies and of failing to boost the party’s profile.

There is also much disgruntlement over the AfD’s failure to make its mark in parliament, with some MPs referring to their own parliamentary faction as a “chaos outfit”.

Weidel was reported to have lost her temper at a meeting of parliamentary colleagues when news of the leaks came to light, asking them how it was that the internal communications had been made public. She told the makers of the documentary that she had not been part of the group, that she distanced herself from the remarks and had become accustomed to calls to oust her.

After the party was made aware of the leak, internal discussions led the party to switch to communicating on Telegram instead.

The AfD, which was founded in 2013, entered the Bundestag for the first time in September 2017.

20 May 16:23

10 steps to running an event I’d want to attend

by Doug Belshaw

As I sit down to write this I’m aware of two things. The first is that I’m likely to sound like a grumpy old man. The second is that it seems extremely entitled to talk about how to run an event I’d want to attend.

However, this post is the outgrowth of an (online) conversation I had yesterday after an event I’d attended. It was a conference I used to go to every year which, for some reason this year mostly left me cold.

I’m not particularly interested in deconstructing that particular event, especially as everyone else seemed to love it. To be fair it did have some good sessions! Instead, it’s probably more useful to talk about what, after attending hundreds of conferences, makes for a good one.


1. Encourage participation

This has got to be number one. Without the event feeling like a participatory experience, I may as well stay at home and watch the livestream. Not every session needs to be a workshop, but nor should every session merely be someone talking from the stage without even the ability for Q&A.

2. Provide clear scope

I like an eclectic mix of things and to find out about stuff I didn’t even know existed. However, I want to know in advance what’s in and out of scope. In fact, I kind of want to know the principles of the conference organisers and what they’re trying to achieve from the event. Pro tip: sometimes you can work this out by who’s sponsoring it…

3. Ensure a diverse range of speakers/facilitators

Before I was a bit more enlightened, I would have rolled my eyes at diversity quotas. However, I’ve first-hand experience of how important it is to be exposed to as many different worldviews as possible. By diversity I’m talking here about both visible and invisible differences. For example, it’s no good in simply ensuring your speakers have a variety of skin tones if they all went to the same Business School for their MBA. I’m talking gender, neurodiversity, race, and everything inbetween.

Yes, this means less white guys like me on the stage. No, that’s not discrimination.

4. Challenge the audience with different views

Related to the previous point, within the scope of the conference there should be as broad a range of views on topics as possible. Panel sessions can be good for this so long as they don’t turn into speeches. Getting a proper debate going in a panel session takes a skilled chairperson.

In general, and I know this in itself is probably controversial, so long as people aren’t engaging in hate speech, I think it’s absolutely OK for the audience to be deeply challenged by what a speaker has to say. Otherwise, what’s the point of the event? To nod along with stuff that confirms your worldview?

5. Have tracks and/or themes

Depending on the size of the event, there may be conference tracks. This means that participants can choose things of interest to them in parallel sessions. If it’s a smaller, single-track conference, I’d encourage the event organisers to group sessions by theme. This allows participants to skip chunks of the day should they need to for whatever reason.

6. Provide space for chatting

It’s a cliché that the best parts of in-person gatherings are the conversations in hallways and corridors, but that doesn’t make it any the less true. This is a valid reason for skipping out on sessions (see previous point) and providing space for this should be something that responsible and forward-thinking conference organisers should prioritise.

7. Recognise off-stage talent

It may be that every single speaker or facilitator at the conference is a leader in their field and absolutely at the top of their game. However, this is unlikely, and the combined wisdom in the room far exceeds that of whoever happens to be on-stage.

There are many ways to capture this, including having backchannels, extending the session into asynchronous conversations, and providing ways during the session for feedback and pushback.

8. Provide a mix of session formats and lengths

One hour is a sub-optimal amount of time for which to schedule a session. It’s too long, really, for a presentation plus Q&A (45 mins max!) and too short for a workshop. An hour can work for a panel session, but only if the chair is good at keeping things interesting.

Instead, sessions should vary in length in a way that’s appropriate to their format. Having an unconference element to proceedings, even if a semi-official fringe event can add a lot of value for certain types of participants (including me!)

9. Get the food right

It’s absolutely crucial to ensure that the food you provide is portable and meets everyone’s dietary needs. Yesterday’s event actually nailed this through five different coloured bags: two were meat, two were vegetarian, one was vegan. They were in compostable packaging and portable enough to be eaten anywhere.

10. Build a community

If, as is likely, the conference is one in a series of events, then the aim should be to build a community around it. This doesn’t have to be a one where there’s continual interaction all year, but there should be some recognition that there are participants coming back every year.

Their expertise can be used to welcome newbies, establish positive norms, and celebrate the growth of the community or sector. In all of the events I’ve been to, there are only a few I’ve seen do this at all, let alone well.


So there we go. I’m sure I could add more if I spent longer thinking about it, but these are the 10 that spring to mind in the time I’ve set aside to write this post. What’s missing from your point of view? Feel free to add a comment below!


Update: some additional things I missed that others have picked up on…

Good post. Quick notes from the perspective of a speaker working against the grain of the mainstream:

– Point in #2 about sponsors is key.

– I’d add: pay your speakers (this will also help with the diversity bit)

– On debates: I’d add from personal experience that I have zero desire to be the token dissenting voice at a conference. e.g., If your event is 29 people from Silicon Valley people farmers, don’t invite me “for balance.” That’s not balance; it’s the illusion of balance.

Aral Balkan

Now that we know how, make all conferences hybrid in one form or another, and choose the location with good transport links in mind. Flying long distance to a conference is immoral anyway, but travel costs, disability, passport inequality, caring duties, and any number of other factors prevent really good people from participating in traditional conferences.

Two versions of this that I have participated in, both of which worked well, were:
a) Local nodes videolinked into the big gathering (this allows for locally negotiated childcare, disabled access, preconference planning, etc.)
b) Fully hybrid, with careful account taken of time zones, local languages, etc.

Will Tuladhar-Douglas

I’d put more detail into the diversity stuff you’ve already mentioned, including “have a code of conduct” and “make clear how accessible your event is to different demographics”. I wrote about this stuff at https://blog.mattcen.com/2018/01/26/diverse_events/

Matt Cengia

I think this is a great list. AND (ahem) on point 10 (community) I have some thoughts. Sometimes an event is just great on its own even if it doesn’t generate or foster a community. Sometimes that’s because those communities already exist and people don’t have time in their lives for another community. I’ve seen it work both ways. When a community builds from or is fostered by a event or can be great. But it’s also ok if it just exists at that point in time I think.

Daniel Appelquist

That’s a good list, with some good additions too! I like to think Penguicon hits a number of those. I hope those calling for hybrid events understand the competing interests of cost and privacy. Also, as a non-profit event we get pros who are willing to share with the local community but don’t want to be broadcast to the internet.

Of course, lots of issues are solved with more money.

Skennedy

also see with @ada had to say about making sure events are inclusive: https://ada.is/blog/2018/04/16/help-someone-has-pointed-out-my-conference-has-diversity-issues/

Daniel Appelquist

It’s a good list, Doug, in theory. But there are big unsuspecting traps here that will not only reduce true accessibility for ND’s (neurodivergents -ADHD/autistic/trauma/etc). NT’s (neurotypicals) ideas of participation are often poorly-thought out things that serve to exclude ND. Similarly, often “community building” does the same. In my exp, the prob is worse w/ NT’s who believe themselves paragons of “open” and “critical” based on race or gender.

Jim Luke

Point in #1, encourage but don’t pressure or force people into participating

Tribbick

great post! I did think it interesting the suggestions are based on conferences. while a conference may have been the inspiration for the list, there are other types of events.

Expanding on themes, the way you design an event contains multiple opportunities to explore a theme. Make it fun/interesting – work it into your physical space and website.

creating smaller events around a larger one help foster community. For a conference, this could be a kickoff meetup

Andrew Woods
The post 10 steps to running an event I’d want to attend first appeared on Open Thinkering.