Shared posts

28 Jul 17:19

Two Months with Apple’s New M1 iMac

by John Voorhees

The very first Mac I owned was an iMac. That white polycarbonate, first-gen Intel iMac was the epitome of a family computer, sitting in a central location where everyone in my family could use it for work, school, and projects. I had an early aluminum iMac too, but gradually, portable devices took over, satisfying everyone’s computing needs, and the iMac fell by the wayside.

In the ten years or so since then, the Macs I’ve bought for myself have been laptops and the Mac mini. It’s a flexible combination that has served me well. The mini isn’t as customizable as the Mac Pro, but it suited my needs well, allowing me to easily set up and tear down various peripheral configurations, which became even more useful when I started writing at MacStories. Combined with the MacBooks I’ve owned over the years for when I want to get away from my desk, I haven’t pay much attention to the iMac for a long time.

The iMac has come a long way since the first one I owned (left) and the latest M1 model (right).

The iMac has come a long way since the first one I owned (left) and the latest M1 model (right).

As a result, when Apple sent me an M1 iMac to test, I was curious to see how it would fit in in my home, but I didn’t expect it to rekindle my interest in an all-in-one Mac. Boy, was I wrong.

In some respects, the story of the M1 iMac isn’t much different than the M1 versions of the MacBook Air, Mac mini, and 13” MacBook Pro. I covered the performance of the M1 MacBook Air and mini early this year, and everything I said in that review is true for the iMac. It’s fast, cool, and quiet. There are vents along the bottom edge of the iMac and fans inside, but I haven’t heard them. I’m sure I could run some sort of intense stress test and put my ear right up to the iMac and hear something, but in everyday use, I’ve never heard fans, so they may as well not be there.

While the performance of the M1 iMac may already seem like an old story, there are obvious departures from those earlier M1 Macs that are worth focusing on and are part of why I’ve fallen hard for it. The biggest difference, of course, is in the design. The iMac is the first M1-based Mac that was designed around Apple silicon. As striking as it is to use a completely silent, fast MacBook Air, it and the mini are nearly identical to the models they replaced. By contrast, the iMac won’t be mistaken for the model it replaced while still retaining the family resemblance to the iMacs that preceded it.

The new iMac is sleek and thin yet feels substantial without being heavy. The balance the computer strikes is unlike the iMacs I’ve used before. I don’t mean to suggest that it’s portable, but it’s not hard to move either. I’ve moved it around my house several times from the kitchen table, to the island in our kitchen, then to my basement studio, and finally back to the first floor, where it’s been for the past several weeks, serving as my primary computer. I don’t expect that very many people need to be able to move their desktop Mac around their home often, but it’s still nice to know that it’s an option that isn’t a big production.

The M1 iMac is barely there when viewed from the side.

The M1 iMac is barely there when viewed from the side.

The iMac’s 24” display is just 11 mm thick, and most of the computer itself is housed in the computer’s ‘chin’ just beneath the screen. There are just four ports on the back of the iMac: two Thunderbolt ports and two USB-C ports, which is more than the M1-based MacBook Air or Mac mini, but still not a lot. The model I’ve been testing is silver, has 16 GB of RAM, and 500 GB of SSD storage.

The only other port on the body of the iMac is a 3.5 mm headphone jack on its bottom left edge. The location of the headphone jack is worth pausing to comment on because so many Apple laptops, including the latest M1 updates to the MacBook Air and MacBook Pro, put the jack on the right side of the keyboard. Because the cord of most headphones dangles from the left ear cup, the laptop configuration is annoying. I’ve produced several podcast episodes on the M1 iMac, and it’s a small but meaningful pleasure to not have the cord of my headphones crossing over my keyboard as I work. I hope future M1 laptop designs follow suit.

A headphone jack on the left is a welcome touch. Source: Apple.

A headphone jack on the left is a welcome touch. Source: Apple.

Another aspect of the iMac that I was skeptical about going into testing was the screen. I’ve used a 4K 27” LG display for several years and like it a lot, but it doesn’t hold a candle to the iMac’s display. The iMac’s colors are more vibrant, and everything is crisper. The screen is smaller than I’ve grown accustomed to, but the clarity of the images it produces makes up for a lot of what is lost by using a smaller display. That said, if Apple releases a 27” iMac with the same quality screen, I’d still go for the bigger screen.

The other big surprise is the iMac’s speakers. In a case just 11 mm deep, it’s hard to imagine how the iMac can produce such good sound. As with any tiny speaker, there are limits, of course. The bass is a little weak, and there’s some distortion at higher volumes, but the sound quality is substantially better than a laptop to my ears, and at moderate volumes, it’s more than adequate.

The camera quality is an improvement too. I haven’t used it a lot, but the iMac’s upgraded 1080p camera combined with Neural Engine processing produces noticeably better video than Apple’s laptops, for example.

The other notable highlights of the M1 iMac are its peripherals and power supply. Apple sent me a silver iMac, so the color-coordinated trackpad, mouse, and keyboard don’t look much different than existing options. I’ve never been a fan of Apple’s mice, and although I’ve been using it for several weeks, I still find myself gravitating to the trackpad, which I prefer. The trackpad has more rounded corners than Apple’s standalone model, but otherwise, it’s essentially the same.

The keyboard is a bigger departure because it’s the first external keyboard to feature Touch ID. I’ve had Touch ID or Face ID on laptops and iPads for a long time, and I longed for the day it would appear on a desktop Mac. That day is finally here, and it’s what I’d hoped for. I log into various personal and work services all day long and the time saved by Touch ID is small each time I do, but meaningful in aggregate, making it easier to live with complex passwords that I only know if they’re saved in Apple’s Keychain app or 1Password.

I first set up the iMac at my kitchen table.

I first set up the iMac at my kitchen table.

Power supplies aren’t something that usually get much coverage in a review, but the iMac’s isn’t your standard wall wart. It connects to the back of the iMac with strong magnets. It’s a novelty to plug the cord into the back of the iMac for the first time with a satisfying click of magnets engaging. However, other than making moving the computer a little easier to move around our house, I haven’t had any reason to interact with the magnets regularly.

The other feature that I appreciate more is the addition of an Ethernet port in the power brick. The clean lines of the iMac are a big part of its appeal, and by moving Ethernet to the power brick that will sit on the floor in most setups, including mine, Apple has made it easier to maintain a clutter-free desk. In my testing, the Ethernet port works as well as any you’d find on the back of a Mac’s chassis.

As novel as putting Ethernet in the power brick is, I wasn’t initially convinced of the value of it. However, my perspective has changed a lot since my studio flooded several weeks ago. That required me to move my office from an out-of-sight spot in our basement to a room that my family and visitors pass through daily. It’s been a big adjustment to the way I’ve worked from home in the past, but very similar to the sort of situation that many people found themselves in as they worked and went to school from home during the pandemic.

When my office was out of sight, it didn’t matter if I had cables and cords strewn across my desk and the floor of my basement. However, working in one of the main first floor rooms of our house is a whole different story. The clean, uncluttered design of the iMac may not make it work any better than another option, but it sure does look nice sitting on a desk, and the silver model I’ve been using is perfect if you want it to fade into the background in a way the colorful versions can’t.

When I moved my office to the first floor, it was the iMac’s design and the fact that I needed a Mac to use for testing Monterey that led me to set it up on my desk, putting my Mac mini out of sight in a closet. However, it’s the experience of using the iMac daily that sold me on it. What I’ve come to realize is that over the past several years, my dependence on having lots of peripherals hanging off my Mac all the time was more habit than necessity. That’s made the four-port configuration of the M1 iMac perfectly fine the lion’s share of the time. That’s allowed me to maintain a tidy, uncluttered desk without having to manage any cables, which I love.

Of course, whether you can get by with two Thunderbolt ports and two USB-C ports will depend on the kind of work you do. For me, it’s been a big help to have my 2018 Mac mini running in a closet behind my desk. That allows me to use it for Time Machine backups instead of connecting an external drive to the iMac. It’s slower than attaching a drive directly but works just fine.

I love the new iMac colors, but there's something to be said for the understated classiness of the silver model I've been testing too. Source: Apple.

I love the new iMac colors, but there’s something to be said for the understated classiness of the silver model I’ve been testing too. Source: Apple.

The other advantage has been how few of my day-to-day work files are locally stored. Between iCloud Drive, Dropbox, Obsidian Sync, and GitHub, I don’t need to transfer files from one machine to another; they’re almost always available via a cloud service or local syncing. That’s something I’ve grown accustomed to on the iPad, but old thinking meant it hadn’t completely sunk in just how true it is for the Mac too. Add to that Continuity features like Handoff and the Universal Clipboard, which I’ve found work much better with the M1 Macs than previous Intel-based Macs, and I’m working in a wireless environment most of the time.

Although not directly related to working on the M1 iMac these past several weeks, it’s worth noting how solid Monterey has been for an early-cycle beta. I’ve been using it full-time since developer beta 2, and there’s little I can’t do on it. Put another way, there’s far more I can get done on Monterey than any other recent macOS beta.

Safari crashes periodically, and Adobe Audition, which is part of my podcast production workflow, doesn’t work, but with Audition, for example, I simply use Screens to run it from my Mac mini sitting in the closet behind me. The audio files are stored in Dropbox, so they’re available immediately after I do loudness matching in Audition. That’s a minor hassle, but the real news is that apps like Logic Pro and iZotope RX, which haven’t always behaved well in past betas, have worked perfectly, allowing me to do all but a tiny sliver of my podcast production work on the iMac.

There are a couple of other third-party apps that aren’t working on Monterey, but none are critical to my daily routine. What that’s meant is that the M1 iMac has not only been an excellent test environment for Monterey, but Monterey itself has been a fantastic way to evaluate what it’s like to live with the iMac on a daily basis.


Thinking back to my original iMacs, it’s remarkable how resilient the iMac has been over its long history. An all-in-one computer like the iMac often gets knocked for its lack of flexibility, but the reality of the iMac is that what its design gives up in customization, it has managed to gain in other ways. Today’s iMac can still play the role of a centralized family computer as my first iMac’s did, but it’s equally good at professional work or sitting on a counter at a retail location.

Before I began using the iMac, I would have told you that I was hoping that my next Mac would be the next Apple silicon version of the Mac mini paired with an Apple display that I hope the company releases someday. That’s still an appealing combination to me, but after living with the M1 iMac since the end of May, I expect my next Mac will be an M1 iMac.


Support MacStories Directly

Club MacStories offers exclusive access to extra MacStories content, delivered every week; it’s also a way to support us directly.

Club MacStories will help you discover the best apps for your devices and get the most out of your iPhone, iPad, and Mac. Plus, it’s made in Italy.

Join Now
28 Jul 17:18

Twitter Favorites: [fullyjabbedUK] ▓▓▓▓▓▓▓▓▓▓░░░░░ 69.1%

Fully Jabbed UK @fullyjabbedUK
▓▓▓▓▓▓▓▓▓▓░░░░░ 69.1%
28 Jul 17:17

Twitter Favorites: [TwitterBlue] Tell us about a time when Undo Tweet would’ve come in handy 😬

Twitter Blue @TwitterBlue
Tell us about a time when Undo Tweet would’ve come in handy 😬
28 Jul 17:17

BBEdit 14

by peter@rukavina.net (Peter Rukavina)

When I switched to a Mac decades ago, BBEdit was my OG text editor.

In the years since I’ve been lured away by the siren call of TextMate and then of Sublime Text.

But now BBEdit 14 is out and its release notes start:

We encourage you to read the complete change notes for BBEdit 14.0. (We spent a lot of time writing those notes, so it would be great for someone to read them. Be that someone.)

I was that someone. And I walk away impressed enough to give BBEdit another look.

BBEdit’s maker, Barebones Software, is, by the way, just off Route 3 in North Chelsmford, MA. I drive right by every time I fly into Boston and drive up to [Yankee]. Someday maybe I’ll drop in.

28 Jul 17:13

Tokyo 2020 Olympics Haunted By The Holocaust

by subcultureist

JSRC Editor note:

The article below is reprinted from Unseen Japan. Please note: Kentaro Kobayashi, a comedian turned director of the Olympics opening ceremony was fired from his post, on July 22, after footage of him making holocaust jokes resurfaced. Kobayashi, made fun of the murder over 6 million Jews by the Nazis in a comedy skit in 1998. “Let’s play Holocaust (ホロコーストごっこしよう)” was one of the lines.

Any person, no matter how creative, does not have the right to mock the victims of the Nazi genocide. The Nazi regime also gassed Germans with disabilities. Any association of this person to the Tokyo Olympics would insult the memory of 6 million Jews and make a cruel mockery of the Paralympics,” stated SWC Associate Dean and Global Social Action Director, Rabbi Abraham Cooper.

It should also be noted that, as we reported here, the composer chosen to score the opening ceremony, Keigo Oyamada, had tortured, bullied, and sexually abused disabled children for many years while growing up, and bragged about in magazine interviews as an adult. He resigned before this scandal.

Holocaust Joke Lands Olympics Opening Director in Hot Water

by Noah Oskow

This piece originally appeared on Unseen Japan and a section has been printed here with their permission

Recently, I’ve gotten used to waking up, opening Twitter, and immediately seeing some new controversy erupting from the oncoming Tokyo Olympics. These daily scandals are often enumerated on the trending ticker to the right of the screen; most recent was the story of the Olympic Village being like “Medieval Japan,” with tiny rooms without internet, TV, or enough toilets. Much more serious was the furor over opening and closing ceremonies composer Oyamada Keigo (famed internationally by his stage name, Cornelious); a twenty-something Oyamada had bragged, back in the ’90s, of physically, sexually, and emotionally torturing disabled classmates during his school years.

Some time ago, Minister of Finance Aso Taro muttered that the 2020 Tokyo Olympics were “cursed.” (This was essentially in the same breath that he claimed that the low rate of COVID infection in Japan was due to the country’s superior “level of cultural standards.”). Of course, a global pandemic causing the entire games to be postponed a year and to suffer low levels of public support is enough reason to feel this way. Between these facts on the ground and sexist utterings from the head of the Japanese Olympic Committee, IOC President Bach calling the Japanese people “Chinese,” claims of logo plagiarism, and a seemingly ever-increasing list of controversies (voluminous enough to warrant an entire Wikipedia page), it seems Aso might be right. 

Still, when I woke up this morning and groggily glanced at Twitter, I never quite expected to see the Holocaust come into play. There, in the trending section, the word 「ユダヤ人」(yudaya-jin, Jewish person) shone out like a worrisome beacon. I was immediately concerned, even before I even had time to read and comprehend the whole phrase. Seeing “Jewish” trend rarely seems to mean anything good. And why would it be trending in Japan, a country with such limited awareness of anything Jewish? I refocused on the topic tag, and apprehensively read it out: 「ユダヤ人大量惨殺ごっこ」. “Playing at the Holocaust,” or, to literally read out the academic term used, “playing at the great massacre of Jewish people.” And above the phrase, portentously indicating the trending subject, was the word “Olympics.”

“Playing at the Holocaust” trending on Japanese-language Twitter. Associated trending terms are “Rahmens” and “Kobayashi Kentaro.”

A Laughing Matter?

Kobayashi Kentaro is half of the popular gag comedy duo “Rahmens.” Outside of Japan, his most famous work is most likley his legendary series of comedy shorts entitled “The Japanese Tradition.” The videos, which humorously lampoon aspects of Japanese culture, building from the believable to the outright surreal, were a staple in my high school Japanese class. (Their “Sushi” video is especially beloved; I can’t count the number of times I’ve shared it with friends.) Kobayashi is also the director of the Tokyo 2020 Olympics Opening Ceremony, entitled “United by Emotion,” which will air Friday night, Tokyo time (early morning PST).

The issue causing the hubbub over on Twitter doesn’t have anything, in particular, to do with the Olympics, other than perhaps causing some to be “United in Anger.” Much like the (substantially worse) Oyamada scandal, it involves something the principal said more than two decades ago. Nonetheless, it’s the sort of thing that demonstrates a lack of awareness towards the realities of other human beings; something which seems antithetical to the stated ideals of the Olympics.

“Playing at the Holocaust”

The controversy in question stems from a skit Rahmens put on in the years directly before gaining national fame. In the sketch, released on VHS collection by Colombia in 1998, the duo parody the children’s educational show 「できるかな」(Do You Think You Can Do It?) The Japanese show, which was also popular in Latin America, taught children how to make paper crafts using scissors and tape. 

In the skit, Kobayashi is portraying protagonist Noppo-san, while his partner is the show’s anthropomorphic gopher, Gonta. They’re discussing ways to play with paper; Kobayashi talks about how they could wrap up a newspaper into a cone and pretend it’s a baseball bat; a rolled-up newspaper sphere could be their baseball. As for the crowds, all they would need are a bunch of cut-outs of people to place on paper bleachers.

Katagiri Jin, playing Gonta, says he has just the right sort of collection of human paper cut-outs. He rushes off to grab the imagined paper figures. Kobayashi replies, “ah, from that time you said ‘let’s play the Holocaust.’” The audience laughs uproariously at this out-of-left-field joke. Kobayashi follows up with “Koda-san was really angry about this one. Said, ‘do you think we could air that?!’” Then, looking at the imagined paper cut-outs, he says, “wow, you made this many?”The skit in question.

The Brewing Storm

The sudden retrieval of this mostly-forgotten joke from decades ago and attendant media coverage resulted in a myriad of responses. Chief among these were those who expressed shocked disbelief.

“Ah, I didn’t know about this skit. This is no good. It’s like if you did a sketch where the joke was the atomic bombings of Hiroshima or Nagasaki, or about the Battle of Okinawa, or the Kobe or Great East Japan Earthquakes. The Genocide of the Jews isn’t a subject to be used in such a carefree manner. Much less to be made the subject of a gag.” 


“In the latter half of the 1990s, the same decade where the Goldhagen controversy burned through Europe, the Holocaust could still be used as a “funny gag,” and even be packaged and put into circulation on a VHS without a single issue. As a Japanese researcher of modern German history, this is really something I need to come to grips with…” 

A Real Controversy, or No?

Of course, there were also those for whom the joke, unearthed from decades past, was old news. Both topically, as a single joke, and as something for whom statutes of limitations may have passed, it seemed like an empty controversy…..

For the rest of the article, please click here at Unseen Japan

Noah Oskow is a professional Japanese translator and interpreter who holds a BA in East Asian Languages and Cultures. He has previously contributed to Japan Subculture Research Center.

28 Jul 17:13

FeverBee is Hiring A Research Analyst ($500 referral fee)

by Richard Millington

FeverBee’s mission is to help great companies build thriving communities of customers, employees, and members.

Over the past decade, our clients have included many of the world’s most successful organisations including Apple, Facebook, SAP, Oracle, Google, etc..

The foundation for our successes is deeply understanding both the needs of our clients and their audiences. We spend a vast amount of time reaching our audiences (and their environments) to determine how to develop indispensable communities.

To support our work, we’re now looking to hire a community analyst to join the team.

If you love working with large organisations, diving deep into community data, and helping some complex problems, this role might be for you.

(p.s. If this job isn’t for you but you recommend someone we hire for 3 months, you receive a $500 referral fee).

Objectives

  • Help clients deeply understand the needs and desires of members.

Responsibilities

  • Undertake qualitative and quantitative research of audiences to develop detailed member needs and personas.
  • Gather and analyse macro-level data to identify broader sector trends to effectively position our client’s communities for success.
  • Review existing communities against established benchmarks to identify and prioritise areas of improvement.
  • Develop and improve the systems through which FeverBee gathers, analyses, and uses community data to develop successful community strategies.
  • Present data to clients and other external audiences in compelling and persuasive ways.
  • (potentially) Build measurement frameworks to help clients continue measuring and evaluating the success of their communities.

Skills And Experience

  • Past experience gathering and analyzing qualitative data is critical. You should be comfortable undertaking interviews with a wide range of individuals.
  • Strong analytical skills are essential. Experience as an industry analyst, UX researcher, economist, or statistics might be beneficial.
  • Proficiency with statistics and dataset analytics (using R, SPSS, SAS, or Excel) is a plus. You should be able to run tests of significance on normal and non-normal data.
  • Intermediate data-visualisation skills. You don’t need to be world-class, but the output needs to look polished and something you would happily share with clients.

Location

  • This is a remote position. However, you should be in a time zone that allows for communication with clients in Europe and North America.

How To Apply

  • Send an email to richard@feverbee.com. Including your resume/CV can help, but examples of your work would be even better.

Salary

  • £40k to £45k GBP ($54k to $61k USD)

To apply, contact richard@feverbee.com.

The post FeverBee is Hiring A Research Analyst ($500 referral fee) first appeared on FeverBee.

28 Jul 17:13

Dave’s Best Writing

by Dave Pollard


image from pxfuel, cc0

I started this blog in 2003, and since then I’ve written over 3,000 articles, essays and stories, which, if I were to print them out in standard book size, would fill over 9,000 pages. I’m guessing it’s one of the largest one-person blogs still in existence.

Every once in a while I review what I’ve written, and think about whether or not to cull some of the old and embarrassing stuff, and rearrange the rest. But since How to Save the World is a sort of diary, I always end up deciding to leave it as it was written. Some of it is dated. Some of my predictions were colossally bad, while others, like this article I wrote on CoVid-19 almost exactly a year ago, in the lull between the first and second waves, have been quite prescient.

Instead of editing, I try to keep track of what I think is my best writing — no more than one full book’s worth, if I were to publish it. I periodically update the list, sorted by category, and listed (in true blog tradition) from newest to oldest in each category. I’ve just brought it up to date, and below are the 145 articles, essays, stories, poems and miscellaneous other writings I am most proud of. You can always find them on my right sidebar, but since most readers subscribe to my feed and don’t see the sidebars, I thought I would repost the full list for all to see.

Since I’m often asked what are my favourite posts, I guess I’d say that of my newer writings (over the past 18 months), I liked Slouching Towards Bethlehem. I liked All the Things I Was Wrong About. I had great fun with the latest in my “Several Short Sentences” series, this time about Sharks. I loved writing Bark Bark Bark Bark Bark Bark Bark. And researching and writing No Choice But to Misbehave was my biggest learning experience since Straw Dogs.

I really didn’t like writing The Tragic Spread of Misinformation, and I got a lot of hate mail and a couple of threats for my trouble, but I guess that means it hit a nerve. It got the most angry response to any of my writings since I wrote about veganism and CAFO-denialism back in 2009.

But I think my most important writing, the stuff that will hopefully never get stale or terribly annoying, is my creative work. I’ve written less fiction since CoVid-19, and I want to get back to it, because, as hard as it is to do, the work really pays off — the more I write, the better, I think, I get at it. Recently, my favourite piece to write, and occasionally read aloud to groups, is my A Canadian Sorry.

Here’s the whole list of 145, which sounds like a lot, but it’s less than 5% of my total output:

 

Collapse Watch:
2021
Dying of Despair
Notes From the Rising Dark
What is Exponential Decay

2020
Collapse: Slowly Then Suddenly
Slouching Towards Bethlehem

2019
Making Sense of Who We Are
What Would Net-Zero Emissions Look Like?
Post Collapse with Michael Dowd (video)
Why Economic Collapse Will Precede Climate Collapse
Being Adaptable: A Reminder List
A Culture of Fear
What Will It Take?

2018
A Future Without Us
Dean Walker Interview (video)

2017
The Mushroom at the End of the World

2016
What Would It Take To Live Sustainably?
The New Political Map (Poster)
Beyond Belief
Complexity and Collapse

2013
Save the World Reading List
Civilization Disease

2012
What a Desolated Earth Looks Like
If We Had a Better Story…
Giving Up on Environmentalism

2009
Going Vegan

2006
The Dark & Gathering Sameness of the World

2005
The End of Philosophy

A Short History of Progress

2004
The Boiling Frog

 

Our Culture / Ourselves:
2021
The Lab-Leak Hypothesis
The Right to Die

2020
CoVid-19: Go for Zero
Pollard’s Laws
On Caste
The Process of Self-Organization
The Tragic Spread of Misinformation
A Better Way to Work
Ask Yourself This

2019
What to Believe Now?
Rogue Primate

2018
Conversation & Silence
The Language of Our Eyes
True Story
May I Ask a Question?
Cultural Acedia: When We Can No Longer Care
Useless Advice

2015
Several Short Sentences About Learning

2014
Why I Don’t Want to Hear Your Story
A Harvest of Myths
The Qualities of a Great Story
The Trouble With Stories

2013
A Model of Identity & Community

2012
Not Ready to Do What’s Needed

2010
A Culture of Dependence
So What’s Next
Ten Things to Do When You’re Feeling Hopeless
No Use to the World Broken
Living in Another World
Does Language Restrict What We Can Think?
The Value of Conversation
Manifesto

2009
Nobody Knows Anything

2008
If I Only Had 37 Days
The Only Life We Know

2006
A Long Way Down
No Noble Savages

2005
Figments of Reality
Too Far Ahead
Learning From Nature
The Rogue Animal

 

How the World Really Works:
2021
Extinction Capitalism
Homeless
Republicans Slide Into Fascism
All the Things I Was Wrong About

2020
Several Short Sentences About Sharks
How Change Happens
What’s the Best Possible Outcome?
The Perpetual Growth Machine
We Make Zero
How Long We’ve Been Around (graphic)

2019
If You Wanted to Sabotage the Elections
Collective Intelligence & Complexity

2017
Ten Things I Wish I’d Learned Earlier

2016
The Problem With Systems

2015
Against Hope (Video)
The Admission of Necessary Ignorance

2014
Several Short Sentences About Jellyfish

2008
A Synopsis of ‘Finding the Sweet Spot’

2006
Learning from Indigenous Cultures

2005
The Gift Economy
The Job of the Media

2003
The Wal-Mart Dilemma

 

The Illusion of the Separate Self, and Free Will:
2021
Bark Bark Bark Bark Bark Bark Bark
Healing From Ourselves

2020
The Entanglement Hypothesis
Nothing Needs to Happen
Nothing to Say About This
What I Wanted to Believe
A Continuous Reassemblage of Meaning
No Choice But to Misbehave
What’s Apparently Happening
A Different Kind of Animal

2019
Happy Now?
This Creature
Did Early Humans Have Selves?
Nothing On Offer Here
Even Simpler and More Hopeless Than That
Glimpses

2018
Fragments
What Happens in Vagus

2017
We Have No Choice

2016
Never Comfortable in the Skin of Self
Letting Go of the Story of Me
All There Is, Is This
A Theory of No Mind

 

Creative Works:
2021
Reminder (Short Story)
A Canadian Sorry (Satire)

2020
Under No Illusions (Short Story)

2019
The Ever-Stranger (Poem)

2018
The Fortune Teller (Short Story)
Non-Duality Dude (Play)
Your Self: An Owner’s Manual (Satire)
All the Things I Thought I Knew (Short Story)
On the Shoulders of Giants (Short Story)
Improv (Poem)

2017
Calling the Cage Freedom (Short Story)
Rune (Poem)
Only This (Poem)

2016
The Other Extinction (Short Story)
Invisible (Poem)
Disruption (Short Story)
A Thought-Less Experiment (Poem)
Speaking Grosbeak (Short Story)

2015
The Only Way There (Short Story)

2014
The Wild Man (Short Story)
Flywheel (Short Story)
The Opposite of Presence (Satire)
How to Make Love Last (Poem)
The Horses’ Bodies (Poem)

2013
Enough (Lament)

2012
Distracted (Short Story)

2011
Worse, Still (Poem)
Conjurer (Satire)

2009
A Conversation (Short Story)
Farewell to Albion (Poem)

28 Jul 17:13

Twitter Favorites: [nicolb] Double vaxx life 🥰🥳

N @nicolb
Double vaxx life 🥰🥳
28 Jul 17:13

A happy life: Does it depend on where you live?

by Daniela Haake

Hi, this is Daniela. I am responsible for the administrative side and everything organizational at Datawrapper.

A few weeks ago, I was discussing with friends whether we are actually happy. A friend who is from Aarhus, Denmark, said that she has been less satisfied with her life since she moved to Berlin, Germany, three years ago. The Germans seem less happy and less satisfied with their lives, and that makes her feel less happy herself. She is even thinking about moving back to Denmark. This got me thinking. Today I want to see if it is indeed the case that people in Germany are less happy than people in Denmark.

Can happiness be measured?

The annual World Happiness Report, published by the United Nations, is the largest study of the state of global happiness. It uses data from the polling company Gallup, which asks 1,000 people in each of about 160 countries to rate the quality of their current lives on a scale of 0 to 10 – the happiness score. In its further research efforts, the WHR also tries to define and weigh possible factors such as GDP, social support, and life expectancy, as well as personal freedom.

Let's see how happy people are in different countries.

What immediately strikes me is the cluster of high-performing Nordic countries at the top of the ranking, which suggests that there are shared features of policy and perhaps geography and culture that matter. Meanwhile, the countries at the bottom of the list are less homogenous but nonetheless all either war-torn, close to being destitute, or maybe both. Also clear: the Danes (ranked second) actually do seem to be happier with their lives than the Germans (in 17th place).

Unfortunately, I could not use the most recent figures from the World Happiness Report 2021, which has a COVID-19 theme, as the associated data is not available for public use. But I was able to get the numbers for Germany and Denmark from a table in the report:

It is interesting to note that, while Denmark remains ahead in the current ranking (third place, happiness score of 7.52), Germany has caught up and is now in seventh place (happiness score of 7.31). We Germans might feel we have come through the crisis reasonably well. In any case, the gap between the two countries has narrowed significantly.

This is where the confidence interval becomes interesting. Each country's numerical score was based on a sample of 1000 people. However, this can only be an estimate of the score that would result from a survey of the whole population. Furthermore, the country rankings from the first chart show data averaged over 2016-2018, but not every country participated in the surveys in every year. And in 2021, the interviewers were faced with special challenges due to the pandemic and resulting restrictions, and were in some cases only able to conduct telephone interviews — which, in their eyes, could lead to minor inaccuracies in the 2020 results. The 95% confidence interval indicates a range of values that is likely to contain the "true" happiness score of each country. So the truth lies somewhere in between.

I have marked this range in the chart with gray bars. If you take a look at the gray-striped areas in chart number two, these estimation areas clearly overlap. So, for example, it could be that Denmark's actual happiness score is lower in its range (7.38), while Germany's could be higher (7.46). In reality, the Germans might even be happier than the Danes.

Can I understand my friend better now?

There is indeed a (small) difference in how happy people in our two countries consider themselves to be. But to be honest, I feel like the numerical difference in the two scores is too small to worry about — especially since the confidence interval shows that, at least last year, it was not clear which of the two countries' citizens were more satisfied.

Nevertheless, my friend certainly has her own personal reasons for thinking about moving back to the "happier" Denmark. And she may feel the difference is more serious than the numbers can show me. Because it is what it is: happiness is subjective. But if she moves, I will miss her. Will that make me less happy?


That's it for this week! If you want to learn how to add confidence intervals to your own bar charts, visit our blog post from June 2nd. See you next week and stay happy!

28 Jul 17:12

This Week in Glean: Firefox Telemetry is to Glean as C++ is to Rust

by chuttenc

(“This Week in Glean” is a series of blog posts that the Glean Team at Mozilla is using to try to communicate better about our work. They could be release notes, documentation, hopes, dreams, or whatever: so long as it is inspired by Glean. You can find an index of all TWiG posts online.)

I had this goofy idea that, like Rust, the Glean SDKs (and Ecosystem) aim to bring safety and higher-level thought to their domain. This is in comparison to how, like C++, Firefox Telemetry is built out of flexible primitives that assume you very much know what you’re doing and cannot (will not?) provide any clues in its design as to how to do things properly.

I have these goofy thoughts a lot. I’m a goofy guy. But the more I thought about it, the more the comparison seemed apt.

In Glean wherever we can we intentionally forbid behaviour we cannot guarantee is safe (e.g. we forbid non-commutative operations in FOG IPC, we forbid decrementing counters). And in situations where we need to permit perhaps-unsafe data practices, we do it in tightly-scoped areas that are identified as unsafe (e.g. if a timing_distribution uses accumulate_raw_samples_nanos you know to look at its data with more skepticism).

In Glean we encourage instrumentors to think at a higher level (e.g. memory_distribution instead of a Histogram of unknown buckets and samples) thereby permitting Glean to identify errors early (e.g. you can’t start a timespan twice) and allowing Glean to do clever things about it (e.g. in our tooling we know counter metrics are interesting when summed, but quantity metrics are not). Speaking of those errors, we are able to forbid error-prone behaviour through design and use of language features (e.g. In languages with type systems we can prevent you from collecting the wrong type of data) and when the error is only detectable at runtime we can report it with a high degree of specificity to make it easier to diagnose.

There are more analogues, but the metaphor gets strained. (( I mean, I guess a timing_distribution’s `TimerId` is kinda the closest thing to a borrow checker we have? Maybe? )) So I should probably stop here.

Now, those of you paying attention might have already seen this relationship. After all, as we all know, glean-core (which underpins most of the Glean SDKs regardless of language) is actually written in Rust whereas Firefox Telemetry’s core of Histograms, Scalars, and Events is written in C++. Maybe we shouldn’t be too surprised when the language the system is written in happens to be reflected in the top-level design.

But! glean-core was (for a long time) written in Kotlin from stem to stern. So maybe it’s not due to language determinism and is more to do with thoughtful design, careful change processes, and a list of principles we hold to firmly as the number of supported languages and metric types continues to grow.

I certainly don’t know. I’m just goofing around.

:chutten

28 Jul 17:12

DX, to me

A while ago Sarah Drasner wrote a great post on her view of Developer Experience (DX) at Netlify and how that manifests in roles like Developer Advocate. I felt prompted to write a bit about how I, a consumer of DX, experience DX and what good DX is to me. Although I’m not a Developer Advocate, I interact with advocates and evangelists daily and feel strongly that any company that produces developer tools, an API, or even open source projects need to leverage their skills.

DX resolves to three important questions to me:

  • Is it easy? Does this technology solve a problem I have better than I’m currently doing it.
  • Can I get help? If I have a problem, can I talk to someone? Will I talk to someone helpful or someone shitty?
  • Is the community healthy? If I do go all-in on this, is the community toxic or nice? If applicable, do good community extensions exist?

The first question, “Is it easy?” comes down to good documentation which takes time and money to create. If a company can create good docs, tutorials, videos, livestreams, etc and they can convince me that this is a smidge better than my current way, sells me more than bells and whistles ever would.

The second question, “Can I get help?” is a bit tricky and may sound like a privileged Karen in a McDonald’s. What I mean is this: If I have a question about something (general or specific), is there someone who can answer my question? Are people in or around the core team accessible? What degree of separation is there between me and the people who make this? Sometimes asking the abyss for an answer works, but sometimes people copy-paste the first Google result back at you.

The third question, “Is the community healthy?” has a lot of ramifications. I think Developer Advocates play an important role in setting the behavior standard for any community surrounding a project or technology. Hire assholes, you get assholes. For a long, long time (e.g., Linux). Hire good, helpful people, you get good and helpful people hanging around your technology. I think if you don’t focus on healthy community engagement, you open the door for shitlords to rule the roost and cement the culture.

I could provide a dozen anecdotes on each of those tenets, highlight dozens of people who are doing it well, but instead of spinning boring tales of times past, here’s an old Kevin Kelly quote I love:

A tool is an opportunity with a handle.
— Kevin Kelly

If you’re in the business of building tools, build the tool but make sure the handle is as appealing as possible. Make it seem easy, make sure the people who use it are helpful, and pay people to stand in the proverbial Costco aisle to show off your tool. In the modern world of influencers and content creators, it’s never been more important.

And one final thought, it’s easy to conflate “developer experience” with “developer gratification”. Developers are the customer, after all, and their satisfaction is important but more important than that is to acknowledge that a lot of our tooling also effects the End User. Consideration of End Users is a key part to any good developer experience. What are the tradeoffs for the User? Not in an unquantifiable “it helps developers ship products faster” brand of hand-waving, but in a transparent way that acknowledges the tradeoffs being made. Written into the ethos of the Web is “Users over Authors over Implementors…” and I believe we must preserve this principle even in our tools. Otherwise we’re building an internet for developers and not an internet for everyone.

Thanks Jim Nielsen for reviewing a draft of this post.

28 Jul 17:11

Why people end up mad when AI flags toxic speech

Edmund L. Andrews-Stanford, Futurity, Jul 22, 2021
Icon

There's a lesson here anyone interested in the ethics of AI or education or whatever should heed. "There are no simple solutions, because there will never be unanimous agreement on highly contested issues. Making matters more complicated, people are often ambivalent and inconsistent about how they react to a particular piece of content." There's no one thing called 'ethics'. "For example, human annotators rarely reached agreement when they were asked to label tweets that contained words from a lexicon of hate speech. Only 5% of the tweets were acknowledged by a majority as hate speech, while only 1.3% received unanimous verdicts."

Web: [Direct Link] [This Post]
28 Jul 17:11

My ‘Man on the Moon’ Project

Clark Quinn, Learnlets, Jul 22, 2021
Icon

Clark Quinn's moonshot is this: "I’d like to see an entire K12 curriculum online." But he has some conditions. "It can’t be the existing curriculum," he writes. "Common Core isn’t evil, but it’s still focused on a set of elements that are out of touch." Um, OK. Also: "it can’t be the existing pedagogy... Instruction is designed action and guided reflection." OK, that's one view. Finally, "having a teacher support component along with every element is important." So, I'm sympathetic, but I'm sceptical of a moonshot that people can't currently use and won't be able to use in their actual schools even when trained. I think that instead of thinking of education as one big thing, like sending a person to the moon, it's better to think of it like many little things, like words and sentences and languages, that anybody can use.

Web: [Direct Link] [This Post]
28 Jul 17:11

There's No One Thing Called Ethics

by Stephen Downes

I wrote this in OLDaily today:

There's a lesson here anyone interested in the ethics of AI or education or whatever should heed. "There are no simple solutions, because there will never be unanimous agreement on highly contested issues. Making matters more complicated, people are often ambivalent and inconsistent about how they react to a particular piece of content." There's no one thing called 'ethics'. "For example, human annotators rarely reached agreement when they were asked to label tweets that contained words from a lexicon of hate speech. Only 5% of the tweets were acknowledged by a majority as hate speech, while only 1.3% received unanimous verdicts."

This is a topic I've touched on over the years, from my Censorship My Way article in the Blue Ribbon campaign in 1996 to my work on ethics and analytics from last year (which I still do hope to finish one day). My argument is essentially that, first, I'm an ethical person, and second, I have a certain set of ethics I adhere to. So either what counts as 'ethics' is whatever I happen to believe is ethical, or, there is no one thing called ethics. Since I'm pretty sure you won't agree with me on what I call ethical, it follows that there is no one thing called ethics.

Now you might just say that I'm not an ethical person. But on what grounds? I've never been sent to jail. My driving record is virtually spotless. I donate to charity and have dedicated my working life to public service and helping those less fortunate than me. My climate impact is minimal; I drive an electric car and live in a province where almost all electricity is non-carbon. I am kind to animals and avoid killing even insects. And so on: you would have a difficult case to make if you were to say I'm unethical.

So, maybe you agree with me on these ethical principles. You, that is, and everyone else. That would be a way to defeat my argument, but if so, then I would be happy to be defeated, because then we would be living in a world that at least aspired to be ethical as I define ethical. But no, I don't think we're going to get that. Let's look at some examples.

Let's begin with killing and injuring. I think it's unethical to do either. Yes, accidents happen, and I'm not going to condemn a person who is blameless, though these cases are quite rare. Let's focus on the deliberate killing or injuring of a person, such as in cases like torture and murder.  If there's agreement anywhere, it would be there, right?

Well, no. I oppose capital punishment, just as (in my view) any ethical person should oppose capital punishment. Not because innocent people might be executed (though that is an entirely foreseeable consequence) but because, if we allow for capital punishment, then what makes murder wrong isn't the fact that you killed someone, it's that you killed someone without the proper paperwork. And I refuse to accept that it's morally acceptable to kill someone just because you've been given permission to do so.

I have a similar view with respect to war, the other major way society turns a blind eye to this 'universal moral principle'. There are many other ways we could decide international disputes; why not just push against each other with shields and decide the outcome that way? Or even more radically, allow people to live where they want and for people to decide for themselves how they want to live?

So perhaps you might argue that we might not have a choice, that's there's a Bashar al-Assad or an Isis who will not let the people live in peace, so we must rise up and defend ourselves. And, yes, I recognize that there are sometimes cases where there is no other reasonable course of action to take up arms to defend oneself. But we have to ask, how did we come to be in this situation? How did Assad come to be in power? From whence did Isis obtain its weapons and its ideology?

This business of killing people ought by itself to be enough for me to make my case, but there's also the matter of injuring people through torture of some such mechanism. And here we have numerous cases where the prohibition against torture in international human rights law has been "rendered quaint", to quite a high ranking American official. And of course torture is still practiced widely around the world, presumably by people who believe themselves to be acting ethically (though it's hard for me to imagine how).

We could go further with our discussion. For example, what is it that makes people think that violence and killing and torture are ethical? People aren't born with these ideas; they need to be taught. And they could be taught differently. They do not need to revere as heroes figures who fight and kill as a means to resolve disputes. I would rather see the scientists and the healers and the artists depicted in a heroic light.

And let me impose an interlude here, so that I can skip over discussing my entire system of ethics and morality, to take us to the original point that was being made in the article I quoted.

What counts as hate speech? I'm going to include in hate speech any language that calls for or justified violence, killing and torture. I don't care who utters it, I don't care what their justification is. It does nothing more than to contribute to the cycle of violence we already face.

I'm also going to call out language that signifies a person or group as essentially inferior. This is language that dehumanizes the person or group, thus making them more acceptable as a target of hate, and hence, violence and harm. That does not eliminate all discussion of classes of people - I could, for example, say "black people have darker skin than I do". But it does eliminate most such discussion. It's hard to find a generalization that begins with "Jews..." or "Italians..." that does not instantiate some harmful stereotype, whether arguing in favour or against.

Additionally, I'm going to include language intended to offend people. The argument that "I don't find it offensive, so it's OK" doesn't fly with me. Now I agree, pretty much anything we do or say is going to offend someone. After all, there is no one thing called ethics. But in my world, going out of your way to be offensive to someone is hurting them, injuring them. There are many different way to do it, from making 'jokes' to publishing cartoons that insult Muslims to profligate swearing. There's no reason to do any of these things; you're not making a point about 'freedom of speech'. You're just being offensive for the same of being offensive (specifically, to create an in-group that clearly separates 'us' and 'them'). This is unethical.

There's more, so much more. Advertising junk food to children. Promoting entrepreneurship as a virtue. Dropping spoilers into forums. Creating involuntary obligations. Imposing ethical and religious values on others. Borders. Slavery and servitude. Weapons manufacture and sales. Kicking dogs. Polluting. Misrepresenting one's credentials and self-promotion generally. Propaganda generally. Charging interest on loans. Keeping everything for yourself. I could go on and on. There's a lot I find unethical.

And there's a lot that other people think is unethical that I don't have a problem with at all. What consenting adults do, for example, is fine with me, even some things that I would not in a million years consider doing myself. I don't care how people dress, or even whether they dress. I'm not offended by the ethical conduct (see above) of religion or any belief system. Dancing is OK. Co-ops and socialism. Sharing generally. Happiness. Sushi. I could go on and on. There's a lot I find ethical.

I don't think there's anyone who has the exact same ethical views I do. I think it's pretty much a given that not everyone does. The key thing here is that that's OK with me. You don't have to agree. We can lead our lives by our own ethical principles. And the purpose of government, and society generally, is to allow us to do that while living our lives in quiet enjoyment.




















28 Jul 17:11

Datasette - an ecosystem of tools for working with small data

This is the transcript and video from a talk I gave at PyGotham 2020 about using SQLite, Datasette and Dogsheep to work with small data.

I really like the term "small data", as a counterpoint to big data. I define small data as anything that fits on a mobile phone, and since my iPhone has half a terabyte of storage these days that ends up covering a lot of ground!

I think SQLite is the ideal tool for working with data that fits this definition.

My PyGotham talk demonstrates how to find SQLite databases that already exist on your laptop, how to use Datasette to explore them, and then expands to cover Datasette as a tool for publishing data online and my Dogsheep family of tools for personal analytics.

Here's the talk video on YouTube. I've included a full transcript below with additional links and embedded code samples.

Transcript and notes

I'm going to spend the next 20 minutes trying to convince you that almost every data problem you have should be solved using SQLite.

This is also an excuse for me to promote open source project I've been working on for the last three years, called Datasette.

Datasette is a tool for exploring and publishing data that's stored in SQLite databases. So the more people I can use convince to use SQLite to solve things the better!

So let's talk about SQLite, which claims to be the most widely deployed and used database in the world, and I think that claim holds up.

You may not have realised it, but you're using SQLite every single day. It's in phones and laptops. It's in embedded devices. I have an Apple Watch, so I'm wearing SQLite databases on my wrist right now.

Let's take a look on my laptop and see what we can find.

So this right here is a magic incantation that on a Mac will search for the largest SQLite databases across the entire system.

mdfind "kMDItemDisplayName == *.sqlite" -0 | \
  xargs -0 stat "-f%z %N" | sort -nr | head -n 20

I'm gonna run this right now to get my top 20. And here we are. Evernote is using SQLite, Firefox uses it, but the one at the top, this one is 857 megabytes for SQLite file. It's something to do with Apple Photos, so let's see what's in there.

Datasette can be installed as a command-line application, you can run it against the path to a SQLite database, and it starts up a little local web server, which you can then use to explore that data.

So there are 67 tables in this Apple Photos database, with detected face prints and face crops and albums and all sorts of things.

But the one that I happen to know is super interesting is this one here. It's called the Z Cloud Master Media Meta Data. It has 44,000 rows in and I happen to know I've taken about 44,000 photographs - so it looks like there's some interesting stuff here.

This is kind of garbled, but there's a clue. The binary column here starts with BPlist, and I happen to know that Apple have a format called a binary plist, which is probably what this is.

So I'm gonna install a plugin for Datasette called datasette-bplist that knows what to do with that data. This is being installed from PyPI.

datasette install datasette-bplist

And now I can start Datasette up again. Hit refresh on this page. And now that Z Data has been decoded into something that's a little bit more readable.

And straightaway we can see that OK, this is classic photo metadata. We've got the make and model of the device. we've got EXIF data. The really exciting stuff is we've got GPS data. So this is a database that includes the latitude and longitude of every photograph I've ever taken, and we're absolutely going to dig into that and see if we can do some interesting stuff with it later on.

So SQLite is clearly a pretty great database - if Apple are using it this extensively it must have some good things going on for it. But then why don't we use it for web applications?

Well, the classic answer to that is that the one thing SQLite is not so good at is accepting concurrent writes. If you've got a high traffic web site with lots of people writing to your database, you're better off with something like MySQL or Postgres.

But I realised that I have a whole bunch of use cases that don't require any writes at all. Any time I want to publish data online that isn't going to change, SQLite is actually a really good fit for that.

So that was the original inspiration for Datasette. I was thinking about how if I want to publish data online, is this a way I can do it that's really cheap and flexible and interesting?

So that's what I've been doing. I'll show you a few examples.

This is Covid-19 case data, which is published online right now by Johns Hopkins University. The New York Times, the L.A. Times and The Economist.

https://covid-19.datasettes.com/

They're all publishing their data as CSV files in GitHub repositories, which is pretty great because you get a commit history of changes to that CSV data. But it's not necessarily something you can dive straight into and start using.

That's where Datasette comes in. This is a Datasette instance which is automatically updated every day with the latest data from these different publications and I can drill through and see things like this New York Times data for example.

The New York Times publishes county level data of cases and deaths from Covid-19 and they've got over half a million rows in this spreadsheet. And so when we look at this data, it's pretty unexciting in a sort of table form. We've got the date, the county, the state, the FIPS code, which is a unique identify for each county, the number of cases and the number of deaths.

But Datasette kicks in and does some really useful things for us.

Firstly, Datasette has a concept of faceting where it looks for columns in the database which have a small number of unique values - like the State column for example, which only has 50 values in it, and it makes those available for navigation at the top along with these summary counts. So I can look down at this and say, Oh, look, Tennessee. Let's drill into just the rows in this table that mention Tennessee. And then Tennessee has 16,000 rows of which each county has a whole bunch. So let's look at Rutherford County in Tennessee. That's 181 rows. And now that we've drilled down these two levels, we've got back a table that is just showing us the number of cases and number of deaths ordered my date.

So each of these rows says on the sixth of September, there have been 80 deaths reported in 8100 cases.

You saw a Datasette plugin earlier when I installed the bplist plugin. Another plugin I wrote is called Datasette Vega. It gives you simple charting options, so we can say I want a bar chart that plots the date on the X axis against the number of cases on the Y axis. And now we've got a chart of cases over time in this particular county in the state of Tennessee.

A couple of other things you can do: You can export the data back out again so I could get this data as JSON if I want to load this programmatically into something, and get it out as CSV if I want to load it into something like Microsoft Excel.

I can actually export it as YAML because there's an experimental plugin I've been building that does a YAML export. And then, more importantly, you can view and edit the SQL query that was used for this page.

Now this is one of the interesting things about publishing read-only data: because the data as read only and it's opened in a special read only mode, people executing SQL queries can't cause any damage to that database. So SQL injection which in most web applications is a serious security vulnerability for us, becomes a feature.

We could say I just want back the data on the cases and the deaths columns - I'm gonna hit "run SQL" and now I'm getting back just that data that I requested, and I could export that data back out again as JSON or CSV. So this becomes a really powerful way of remixing and slicing and dicing data and then getting it back out again in a format that I can use somewhere else.

So that's all well and good. But the obvious question is, how do you get this data into a SQLite file in the first place? So I'm gonna show you a demo using one of my favourite pieces of data of all time. This is the results of the 2018 New York Central Park squirrel census, where a bunch of volunteers went out and tried to answer the crucial question: "How many squirrels are there in Central Park?".

And this is published as a CSV file, it's got 3,023 rows. Each row is a squirrel. And we can export that out and get back CSV. So I've got the file here. I'm gonna turn it into a SQLite database.

I have a tool I wrote called csvs-to-sqlite, which takes a CSV file - or multiple CSV files - and turns them into, or loads them into SQLite. So here we go, I've run that command and and now I have squirrels.db, which is a SQLite database.

csvs-to-sqlite 2018_Central_Park_Squirrel_Census_-_Squirrel_Data.csv squirrels.db

If I run sqlite3 squirrels.db .schema, it'll show me the schema - and it is indeed a table with columns for squirrels with unique squirrel IDS and which hectare they're in and all of that kind of stuff.

datasette squirrels.db

And so now that we've done that, I can run datasette squirrels.db and start up Datasette and I can see that data in my browser. And here we go here, here are 3,000 rows of squirrel data.

Faceting is kind of fun: you can see things like primary fur colour, showing up as options there. And, actually, if we facet by that, we can say you know what? For the 392 cinnamon squirrels, let's see what the highlight fur colours are for those. Show me the 10 squirrels that are black and have cinnamon hair.

Another thing that stands out about this data is that there are these two columns here, X and Y, which look suspiciously like they might be latitudes and longitudes. We can do something really interesting with that.

I'm gonna load up the SQLite command-line tool for squirrels.db, and I'm gonna rename the X column to longitude.

sqlite3 squirrels.db
alter table "2018_Central_Park_Squirrel_Census_-_Squirrel_Data"
rename column X to longitude;
alter table "2018_Central_Park_Squirrel_Census_-_Squirrel_Data"
rename column Y to latitude;

So "alter table" - um, quite a long table name this one - gonna alter this table here. Rename column X to longitude. And I'm gonna rename column Y to latitude. And now I'm going to check my datasette plugins and make sure I've got a plugin installed called datasette-cluster-map.

There it is. So now if I run Datasette against squirrels again and refresh this page, the plugin here notices the latitude and longitude columns and it draws them on the map. So this is a map of everywhere that they saw a cinnamon squirrel with black highlight fur.

And if I close off these filters you can see that here's a map of all 3,000 squirrels that were spotted in Central Park. And I can zoom in and explore the data that way.

That's pretty cool. Wouldn't it be cool if we could share this data on the Internet somehow?

So we've got a SQLite database. And this is where another key feature of Datasette comes in, which is the"datasette publish command.

Datasette Publish lets you publish databasees online, using Google Cloud Run or Heroku or Vercel. I'm going to use Vercel right now, so if I type datasette publish vercel squirrels.db - I need to give it a project name. I'm going to call it pygotham-squirrels. And I know that I want to install that datasette-cluster-map plugin as well.

datasette publish vercel squirrels.db \
  --project=pygotham-squirrels \
  --install=datasette-cluster-map

So I run this command, and it packages up that database with the Datasette application itself, uploads it and starts running a build on Vercel. It gives me a URL here. I can watch it doing its thing - so it's installing runtimes, it's installing those required dependencies, that additional plugin. And normally, this only takes about 20 seconds to run. And at the end of that 20 seconds, I will have a Web application that is running online with that data.

https://pygotham-squirrels.vercel.app/

So anyone can visit this URL right now, click on that map and they get that Datasette of squirrels with the map plugin, with the ability to facet by primary fur colour. It's all up there. It's running online and it's ready for other people to visit.

I designed this initially for newspapers based on my experience working at the Guardian newspaper, where we wanted to publish some of the data behind our stories, but as a way productively getting structured data onto the web in a way you can start using it I think this is really, really exciting as a capability.

And remember there are JSON APIs for this. So we have just published an API online for squirrel data that anyone who can write JavaScript or Python can start using to build their own squirrel maps.

Another thing that I've been doing with this is figuring out how to turn these into much more custom experiences.

Datasette allows you to provide custom templates, it lets you provide custom CSS, which means you can actually use it to build entire websites powered under the hood by Datasette.

One of the first I built was this one here. This is called niche-museums.com - it's a website for my hobby of trying to track down weird and niche museums around the world, I can click "Use my location" and see just the weird museums near me.

There's one just around the corner from our house called The Comic Book Rockstars Toilet Seat Museum, where a local comic book store has been collecting toilet seats illustrated by famous comic artists. And if you're ever in San Francisco, you should absolutely pop by Hayes Valley and check this place out.

But this right here is just a heavily styled Datasette instance. If you go to /browse, it will give you access to the data. You can see that each museum is a row in a SQLite database table. I've got that plugin, so I get a free map showing you where everything is. Then the actual museum pages are just templated versions of the underlying Datasette pages.

I really like this as a way of publishing websites because it's gives you all of the benefits of static publishing where you it scales magically by starting up new instances, you don't have to worry about security holes and stuff because it's all read only data, but because there's a relational database under it, you can build features like search - so I can search for Bigfoot and get back the Bigfoot Discovery Museum.

Or you can build things like this little "use my location", button at the top of the screen. But again, this is all built using Datasette and Datasette plugins. I have a plugin that knows how to turn a SQL query into an Atom feed so that people can subscribe to new updates to the website as well.

But to finish, I want to talk about a totally different use-case for all of this stuff, and that's personal analytics.

This is an idea that I had had a year and a half ago, inspired by an essay written by Stephen Wolfram. Stephen wrote this absolutely fascinating essay about his approach to personal productivity, and the main feature of this essay is the scroll bar down the side. This thing just goes on and on and on, and he talks about how he had a standing desk, but then his heart rate monitor showed him that he gets better health benefits from walking around outside. So he built himself a little like popcorn tray for his laptop. He scanned every document he's ever every document he's ever written from the age of 11. He's got all of this amazing infrastructure setup for being productive, most of which I feel is way over the top for how I want to live my life.

He has a green screen setup in his basement so he can give talks from home.

But there was one thing in here that kind of caught my eye, and that's this idea that he has of a metasearcher. It's a personal search engine that he built that can search every e-mail, every file, every paper he's written, all of the people he knows for any any search term.

And I saw this and I thought, you know, that's something I'd really like. I would love to have a personal search engine for all of my stuff.

But if I'm gonna build that and it's inspired by Stephen Wolfram, I need to come up with a decent name for it.

And so since it is inspired by Wolf Ram, but it's not really aiming to be as good or comprehensive as the thing that he built, I decided to call it Dog Sheep. So I have a project called Dogsheep. I love that pun so much I committed myself to actually building the software.

And so Dogsheep is a collection of tools for personal analytics: tools for pulling in data about yourself from lots of different sources, turning those into SQLite databases so that you can start working with them and then you can load them up in Datasette and start doing interesting things against them.

I'll give you a a demonstration of my personal Dogsheep instance, where all of the data from these tools ends up.

This is my personal Dogsheep. It has data from a a whole bunch of different places. I've got data from Twitter and HealthKit - my Apple Watch tracks my health over time. GitHub data, Foursquare Swarm, I pulled in data from LinkedIn and Goodreads and Hacker News and all of these different places, and I can do all sorts of fun things with this.

So I'll start by showing you a couple of things from from Twitter. So I index all of my tweets, anytime somebody mentions me, and all of the tweets that I've favorited and because I've indexed my favourited tweets I can run searches against them.

So I can search for PyGotham and see all of the tweets that I've favorited about PyGotham.

Twitter does not offer this feature themselves and having this feature suddenly makes Twitter favourites so, so much more useful.

I can search my followers so if I decide I want to have a conversation with a VC, I can type in VC and see anyone who follows me on Twitter who mentions VC in their bio, and hence is somebody that I might be able to contact via direct messages.

But a really useful example is that my dog, Cleo, has a Twitter account. And every time she goes to the vet, she tweets a selfie and with her selfie she tweets how much she weighs. So she'll tweet "I weigh 42.5 pounds. I grew a little bit more dog". Because she tweets this and I've got this coming into Dogsheep I now have these in a SQL database - so I can construct a SQL query that looks for tweets that mentioned her weight. And I can use a regular expression to extract that weight value out as the thing before the LB. And then I can use my charting plugin to plot that as a chart. So I now have a chart of Cleo's weight over time, as reported by her posting selfies at the vet. It's like having the kind of data warehouse you get at a giant corporation, but just against your own data, and costing about $5 a month in hosting fees.

So that's tweets. But there was so much more stuff in here. I'm running dozens and dozens of projects on GitHub, and I pull all of the issues, issue comments, commits and releases into my one database.

So here I have a table of all 7,000 commits that I've made on GitHub across all of these different project so I can search these in one place, I can evaluate them, I can compare commits across different projects and I can also do charting. So here's a graph that's constructed by a custom SQL query, which pulls out just the date of each commit, groups by them and sticks on a count. So these are my commits over time as a chart.

A key philosophy of Datasette is everything should have a URL. So once I've constructed this query and put it on a chart, I can bookmark that page right there and that becomes, essentially, the application encoded in a URL that I can bookmark and link to and visit later on.

I've got a copy of my genome. I did 23AndMe a few years ago, and I found out recently that they have an export button and you can export your genome out as a CSV file. So I did that. I now have a copy of the 600,000 rows of my genome that 23AndMe keep track of. Which means I can use SQL queries to analyse my own genome. I have a query here that tells me what colour my eyes are based on running this query against my genome - apparently my eyes are blue 99% of the time because I have a GG genotype in this particular location on my genome.

This took an entire weekend figure out. I went to Science Hack Day and borrowed a geneticist so I could see if I could figure out some homebrew genetic explorations.

I mentioned the Apple Watch earlier. Apple record an incredible amount of data about me and they don't uploaded to the cloud - an interesting thing about Apple is they keep that stuff on your device. So if you dig around in the HealthKit app on the iPhone, there's an export button that will give you that data back out again. And I wrote code to turn that into SQLite and there was an enormous quantity of data in here. I've got standing time and basal energy burned, my body mass over time reported by my Withing scales, headphone audio exposure is something that showed up last year, the number of flights of steps I climbed, all sorts of stuff

But the most interesting one is workouts because every time you track a workout using your Apple Watch, it goes in the database. And if it's an outdoor workout - where you're, say, going for a run, it records your GPS location every few seconds. I ran the Bay To Breakers race in San Francisco a couple of years ago and beecause of that, I've got a database table with my location tracked route. It's 3,800 points, and I can plot that on a map and see the exact, finely grained route I took through San Francisco when I ran Bay To Brakers just over three years ago.

It's kind of amazing to me that this stuff is just sat there on our devices waiting for us to liberate it and start using it to build these visualisations and learn interesting things about ourselves.

I also mentioned earlier on Apple Photos. Apple Photos databases are absolutely fascinating because it turns out Apple run machine learning models on your phone to figure out what you took photographs of. And this means I can do things like run a SQL query that shows me all of the photographs that I've taken of a pelican.

My personal Dogsheep right here shows me these pictures - these are Apple Photos I took where Apple itself has labelled them as pelican.

And even more fun than that is Apple calculates scores for your photos. These are hidden away in the SQLite database. And they have names like Z Overall Aesthetic Score or Z Harmonious Colour Score or Z Pleasant Camera Tilt Score. So this query here isn't just showing me photographs I've taken of pelicans - it's sorting them by the most aesthetically pleasing according to Apple's classification algorithm that they're running on my device.

I can show you the Pelican photo with the most pleasant camera tilt - there's so much fun stuff you can do digging into all of this.

So I've been building this set of Dogsheep tools for about a year now, but the thing I always want to do was to tie them all together. I wanted to build that personal search engine.

And a couple of weeks ago, I finally got it working.

I've called it Dogsheep Beta because Stephen Wolfram's search engine is called Wolfram Alpha. So I figured Dogsheep Beta was definitely the appropriate name for it.

And so this right here is Dogsheep Beta, and it lets me run searches across my tweets, my photos, my GitHub commits, issue comments, releases, comments I made on Hacker News - all in one place.

And so if I search for example, for "cleopaws costume", I will see all of the tweets by my dog, whose Twitter handle is @Cleopaws where she's tweeting about her costumes. I think she makes a particularly fetching pirate.

Or again, I can search for PyGotham and I get back not just not just tweets, but I get back issue comments from my personal issues where I've been tracking the fact that I need to submit a talk.

Again, this is a custom search interface, but really all this is under the hood is SQLite - it's a SQLite database with a table that acts as a search index and I'm running queries using SQLite's built-in full text search mechanism.

If any of this has caught your interest, all of this is aggressively open source. So if you go to dogsheep.github.io this is an index page for all of the Dogsheep project. Click through to the GitHub Datasette repository and I've got very extensive documentation covering Datasette, what it can do, the plugins available and how to write plugins of your own.

And really, my goal with this project is I want to build a growing ecosystem of not just Datasette plugins, but tools for getting data from all of these different sources and loading them into SQLite databases so that we can join them together and use them to find out interesting things about the world and about our own lives.

If this has piqued your interest, please drop by the project. We have a GitHub discussions board which you're welcome to join.

[I hadn't launched the full website when I gave this talk, but today I'd encourage you to explore datasette.io]

28 Jul 17:08

Whatever Happened to TidyBlocks?

TidyBlocks is a Scratch-like tool for doing basic data science. Originally built by Maya Gans, it was overhauled in 2020, after which several volunteers translated its interface into several different (human) languages. We were excited by its potential, but:

  1. We had reached the limits of what the Blockly toolkit could do without some serious extension work. (In particular, there’s no comprehensible way to represent joins using the available styles of blocks.)

  2. Nobody was willing to fund further development. The overhaul in 2020 took about 300-400 hours of volunteer time; while I would have liked to continue, I didn’t see a way forward without fixing #1 above, and that couldn’t be done without financial support.

I still think the idea is a good one: the user testing we did showed that the interface is immediately comprehensible to anyone who has used Scratch (which these days means most middle school kids and their teachers), and after watching my daughter plod through their school’s “data literacy” module, I think we need something better. I hope someone, some day, will find a way to make it happen.

28 Jul 17:08

I Hope They Would Have Liked It

My mum would have been 94 today, and my sister would have been 57. Mum knit every day for more than 80 years and Sylvia collected toy mice, so I got this. I suspect both would have disapproved but secretly been pleased.

Knitting Mouse tattoo
28 Jul 17:08

Instapaper Liked: Will I Return to China?

In April, ChinaFile sent a short questionnaire to several hundred ChinaFile contributors to get a sense of their feelings about traveling to China once COVID-19…
28 Jul 17:07

Instapaper Liked: The Day the Good Internet Died

Rob Dobi Over the next week at The Ringer , in honor of the release of Woodstock 99: Peace, Love, and Rage , we will explore events that changed the world as we
28 Jul 17:01

The Tyranny of Spreadsheets

The Tyranny of Spreadsheets

In discussing the notorious Excel incident last year when the UK lost track of 16,000 Covid cases due to a .xls row limit, Tim Harford presents a history of the spreadsheet, dating all the way back to Francesco di Marco Datini and double-entry bookkeeping in 1396. A delightful piece of writing.

Via Hacker News

28 Jul 17:00

Twitter Favorites: [joshtpm] I just saw someone referencing the Substack Cinematic Universe. And that really brought everything together for me.

Josh Marshall @joshtpm
I just saw someone referencing the Substack Cinematic Universe. And that really brought everything together for me.
28 Jul 17:00

We’re hiring a backend developer

by David Kokkelink

Datawrapper’s mission is to help the world create better visualizations. We provide an easy-to-use, free online tool to create charts, maps, and tables. It’s used by thousands of people every day, among them brands like The New York Times, Quartz, or FiveThirtyEight.

To help us fulfill our mission, we are hiring a Backend Developer (4-5 days per week).

You can join remotely (in the time zones around Berlin, so GMT, CET, or EET) or get a desk in our Berlin office, as soon as the team is back there.

A few of the visualization types you can create with Datawrapper. Among others: multiple donut charts, scatter plots, choropleth and symbol maps.

Who are we looking for?

We are looking for a motivated, self-directed developer to join our small team to help us provide the best data visualization tool possible. You might be a good fit if you…

  • bring strong experience in web backend development and an understanding of the web as a platform.
  • value high-quality, maintainable code, and have an appreciation for sound software architecture.
  • are able to balance speed of iteration and quality of code. We follow best practices such as automated testing and code review, and we don’t expect you to reinvent the wheel — we use libraries and tools to get things done quickly without compromising on reliability, usability, or accessibility.
  • are comfortable with quickly picking up new tools and languages needed for the task at hand.

You do not need to have experience with all the particular parts of our stack. We are looking for somebody who can comfortably orient themselves in a new codebase with an existing architecture.

What you’ll do

In your day-to-day work, you will…

  • implement new backend functionality that will get used by thousands of journalists, editors, and authors worldwide.
  • improve the performance, reliability, and security of Datawrapper’s backend services.
  • collaborate closely with our frontend engineering, design, and support teams.

Our stack

Our technology stack is based on…

  • a NodeJS/ES backend, using the hapi framework and Sequelize as an ORM.
  • a MySQL database and S3 as the backend data stores, as well as Redis for caching.
  • Docker for local installations.
  • hosting on AWS and Cloudflare.

In addition to that, we have some legacy components written in PHP, which are being ported to NodeJS at the moment. For collaboration, we use Notion for project management, GitHub to manage our repositories and code reviews, and Slack for direct communication.

Company mission

Datawrapper wants to help the world create better charts and maps. Initially born out of frustration over how long it takes to create a simple bar chart in a fast-paced newsroom environment, Datawrapper has since grown in functionality to cover dozens of chart types, maps, and tables.

An area chart, locator map, line chart, and heatmap created with Datawrapper.

We aim to empower users to create both more and better charts and maps. Be it a journalist at a newspaper, an analyst at a bank, or a public servant in a government department, we want to enable everyone to create beautiful and correct graphics — regardless of their skill level.

Life at Datawrapper

We’re a small team of 17, with a shared passion for design and data visualization. We value a quiet, focused work environment, and have a healthy disregard for distractions, unnecessary meetings, and open-office floor plans. Every employee gets 30 days of vacation per year and an education budget to (for example) go to conferences or buy books.

You choose your tools. Whether you prefer Linux or Macs, like Lenovos or Dells, big screens or portable laptops (or both!) — you shall have it.

We’re a small team making a big impact. Through a focus on quality, design, and support, we’ve been able to win leading brands worldwide with a team of just 17 people — 18 with you! No investors needed. Learn more about the team here.

We are proud to serve customers all around the world. Here’s a Datawrapper map in the print edition of the Los Angeles Times.

If you’re into data visualization, you’ll love our office: Between a large library of data vis classics, some great map and chart artwork on the walls, and data-vis-centric lunch conversations, there’s enough to keep your mind occupied for days.

How to apply

To apply, send us an email at jobs@datawrapper.de. We don’t particularly care about CVs, just skills and attitude. Here’s what we’d like you to include in your email:

  • Please talk a bit about yourself and how your skills and experience could be a good fit for this job.
  • If possible, please include links to samples of your prior work (for example, links to projects you’ve worked on, open-source work on GitHub, etc.)
  • Also make sure to include all the questions that you might have for us.

→ Send it all to jobs@datawrapper.de

As part of the application process, we will provide a take-home software development exercise for applicants who are selected to interview. It should take less than a few hours to complete, and the results will be discussed in a follow-up call with us. Its purpose is to help us understand your thinking, and to help you understand our values and priorities and determine if it’s a good fit.

We hope you apply, especially if you’re from a group that’s underrepresented in our office. If you have any questions, please let us know — we’re looking forward to hearing from you!

David, Gregor, and the Datawrapper team

28 Jul 17:00

I broke my Major IV and Marshall replaced it

by Volker Weber

Vor zwei Wochen war ich für drei Tage verreist und habe meinen sehr leichten Marshall Major IV dabei gehabt. Die Wahl war einfach: bequem, weich, leicht und riesiger Sound. Am zweiten Tag bemerkte, dass ich ihn nicht mehr ausschalten konnte. Obwohl ich kein Ladekabel eingesteckt habe, war das kein Problem. Der Kopfhörer läuft mit einer Ladung 80 Stunden durch. Was war passiert? Der Kontrollknopf registrierte keinen Druck mehr. Die genauere Inspektion zeigt, dass er sich im Gehäuse gelöst hatte.

Kontrollknopf lose

Nach meiner Rückkehr habe ich auf der Website einen Garantiefall angemeldet und Marshall Headphones hat nur ein paar Daten abgefragt: ein Foto des QR Codes mit der Seriennummer, hinter einem der abnehmbaren Kissen versteckt, ein Bild des Kopfhörers auf einem Blatt Papier mit meinem Namen (handschriftlich), Adresse und Telefonnummer und Kaufbeleg. Das war’s. Keine weiteren Fragen nach warum und wieso.

Drei Tage später brachte DHL Express den Ersatzkopfhörer.

Neu und alt: zwei Marshall Major IV, rechts mit V-MODE BoomPro

Den kaputten Kopfhörer darf ich behalten und werde ihn in Zukunft mit dem sehr preiswerten und hervorragend klingenden V-MODA BoomPro Mikrofon benutzen. In dieser Betriebsart ist der Kontrolknopf ohnehin ohne Funktion.

Das war ein vorbildlicher Service. Vielen Dank.

28 Jul 16:53

CoVid-19: Still Making the Same Mistakes

by Dave Pollard

Take a look at these four charts. They pretty much speak for themselves.


Chart 1: New Daily Reported Cases per M people. (Actual daily cases are ~6x these numbers, per IHME)


Chart 2: New Daily Reported Deaths per M people. (Actual daily deaths are ~1.6x these numbers, per IHME)


Chart 3: Percentage of population vaccinated


Chart 4: % of population wearing masks, per IHME

What the data now tells us, in my opinion:

  1. The fourth wave is now upon us. In most parts of the world, this is now a pandemic of the unvaccinated.
  2. Thanks to the variants, cases are spiking in precisely those areas that have (a) the lowest rates of vaccination, and (b) low rates of mask use. While Canada, the US and the UK have very similar rates of vaccination (especially if you add in the proportion that have acquired immunity from infection — 11% in Canada and Germany, 21% in the UK, 33% in France, and 39% in the US — there is not a lot of differences between the total percentage of the population in these countries that is, we hope, now immune to infection. But that total varies enormously within countries, from about 50% in conservative, rural and vaccine-and-mask-hesitant areas (far below herd immunity levels), to over 80% in progressive, more urban and highly-vaccinated areas (where herd immunity has probably been reached). The difference in new case loads, hospitalizations and new deaths between 50%-immune areas and 80%-immune areas, even within countries, and even within cities, is enormous.
  3. Because young people have been the least encouraged to get vaccinated and to use masks, the fourth wave is hitting the young especially hard. The new variants are dense (much higher average number of viral particles per infected patient) and highly-transmissible, and even though young people are less likely to be hospitalized or die if they get CoVid-19, they are now making up a much larger percentage of the infected, hospitalized, and dying. And that means that the total number of people who are likely to get permanent or chronic “long-CoVid” syndromes is likely to soar.
  4. Wearing masks still helps dramatically. The decision to eliminate indoor mask mandates was clearly premature. Compare Canada’s case rate (65% wearing masks, leading to 10 new cases/M/day and 0.17 new deaths/M/day) with that of the US (only 20% now wearing masks, leading to 120 new cases/M/day and 0.75 new deaths/M/day). Back in the spring when Americans were nearly as diligent at wearing masks as Canadians, their new case rates and death rates per capita were comparable to Canadians’. Not anymore.
  5. Areas like Taiwan, Australia, New Zealand and Hawai’i (especially their older citizens) are especially vulnerable to wave four. Their “Go For Zero” strategy has saved countless lives and much “long-CoVid” misery, but their combination of very slow vaccination rates, vaccine hesitancy and in some cases low mask usage rates, means that once their borders are opened even a little, their infection rates could quickly catch up to global averages.
  6. New case rates have not yet dropped nearly low enough to justify reopening restaurants and other often mask-less indoor spaces, or to justify allowing events with lots of crowds and non-local visitors to resume. This is the fourth time now we have been either too slow responding to spikes in new case rates, or too hasty in reopening establishments and activities before the pandemic is under control.

My personal strategy for masks is to keep my mask on in indoor spaces and at crowded events if the local daily new reported cases/M people is above 3. Especially if I’m going to be in that space for more than, say, 15 minutes. That’s the gold standard the Go For Zero strategy recommends and it seems logical to me. Much of Canada was there last summer and we might, if we keep the masks on and the unvaccinated out, get there again (from the current level of 10) in a month or two. Until then, I’d rather be safe than sorry, and considerate of all those who can’t yet get vaccinated.

28 Jul 16:53

“more than other networked software, tools for ...

“more than other networked software, tools for thought want to be owned. I don’t want to store my second brain on someone else’s computer.“

Aggregators aren’t open ended, @gordonbrander

26 Jul 06:56

Do you own a connected device? Here’s why you should be wary of the Peloton lock issue.

by Jen Caltrider

A growing number of us have connected devices in our homes, offices, driveways and even our bodies. The convenience and fun of integrating a device with daily life is real, but there haven’t been nearly enough conversations about who owns that data and how much consumers are letting big companies into their lives in unexpected ways. A current example: Peloton. 

By now, nearly everyone has heard of Peloton exercise bikes, from the viral ad when they first launched to questions about the security on President Biden’s bike. Peloton’s popularity is largely tied to its design as a connected device with an extensive online community. Peloton also makes treadmills. Tragically, a 6-year old was recently killed in an accident on one of these treadmills. Due to safety concerns, Peloton issued a recall and added a feature called Tread Lock that requires a four-digit passcode to keep their treadmills from starting up for anyone without authorized access.

Sounds great, right? Here’s the problem. Peloton treadmill users now need that Tread Lock four-digit passcode to unlock their treadmill, and Tread Lock requires a $39 per month Peloton membership. If users cannot unlock their treadmill, they can’t use the machine at all. Peloton is offering the Tread Lock subscription at no cost for three months and says they are working on restoring access to the treadmill without a subscription. However, Peloton has provided no timeframe for restoring the no-subscription access.
Many Peloton users are worried their costly treadmills will turn into expensive towel racks — not something they signed up for when they bought the treadmill.

Use the Privacy Not Included Guide to shop smart for connected devices

Go to the guide

Why this matters to you

Even if you don’t own a Peloton, the issue of who owns and controls a connected device after purchase could be coming your way in the near future. As the number of connected devices in homes and offices continues to grow globally, consumers should be on the lookout for increasing conflicts with makers of connected devices. 

Another recent example came up during a heat wave in the U.S. earlier this summer when power companies in Texas remotely turned up connected thermostats of customers trying to keep their homes cool. Seems these customers had signed up for an energy saver program they didn’t realize gave the power companies the ability to control their smart thermostat until their homes got unexpectedly warm when they were trying to stay cool.

Corporations having a certain level of control over the devices you own in your own home without your explicit awareness because it was buried in the fine print that often goes unread, or companies making you pay extra to use a device you’ve already paid a lot of money for, is potentially pretty creepy. And it’s something we plan to keep an eye on for you in the future.

The post Do you own a connected device? Here’s why you should be wary of the Peloton lock issue. appeared first on The Mozilla Blog.

25 Jul 20:12

GM is recalling Chevy Bolts again

by Brad Bennett

GM is once again recalling some Chevrolet Bolt cars from 2017-2019 over battery fire risks. The company assumed it had solved the problem with the last recall in May, but apparently, there are still problems to be resolved.

This time, GM is saying that it’s discovered that some battery cells that are used in the vehicle can have two defects at the same time that result in a fire. The automaker hasn’t explained what these specific issues are, but it’s attempting to fix them with this recall.

Until drivers can get their cars fixed, GM is asking them not to charge the battery more than 90 percent or let it drop below roughly 27 percent, according to The VergeThis means that for the time being, drivers are going to have to get by with a much more limited amount of range than they’re promised.

General Motors also suggests that owners charge up their cars after every use, but not to park it indoors or near a house that could burn down in case of a fire.

You can learn more about the recall on Chevy’s recall website.

These problematic battery cells stem from LG Chem in South Korea, and other automakers who use the same one, like Hyundai and Porsche, have both also issued recalls on their cars.

Source: Chevrolet, The Verge

The post GM is recalling Chevy Bolts again appeared first on MobileSyrup.

25 Jul 20:06

Identify this battery

by jwz
mkalus shared this story from jwz.

b'Is this battery a mass market thing that I can buy somewhere, or was it some custom job?

It\'s for the bike lights that I have been using for many years, but today the USB charging port snapped off, and there\'s no way I\'m going to be able to solder this surface-mount piece of shit back on. The company went out of business several years ago, and even their domain has been squatted, so I can\'t ask them. (So their "lifetime guarantee" turns out to have meant "three years".) I would rather buy a new battery than switch to a new model of bike light.

(By "battery" I obviously do not mean the battery part, but the whole assembly.)'

25 Jul 20:05

webshit weekly

by http://n-gate.com/hackernews/2021/07/07/0/
mkalus shared this story from n-gate.com..

b'

An annotated digest of the top "Hacker" "News" posts for the first week of July, 2021.

Purelymail \xe2\x80\x93 cheap, no-nonsense email
July 01, 2021 (comments)
Some Internets experiment with disrupting Silicon Valley business practices by offering a service in exchange for money. Since the service in question is email, Hackernews picks up the megaphone and declares that only Google or Microsoft are capable of operating an SMTP service, much less arcane magic such as IMAP. The service vendors arrive in the comments to be informed that their business is impossible.

Copilot regurgitating Quake code, including sweary comments
July 02, 2021 (comments)
Somebody on Twitter is mad at Microsoft\'s Markov chains. Hackernews assumes the traditional vestment of the Copyright Clergy and proclaims that Sandalphon is watching, and those who do not decry the Infractor will not have their prayers carried to the Most Holy Lord of Intellectual Property. Since every single Hackernews has seen a copyright notice, they are all experts in legal matters with impeccable credentials, and we\'re subjected to six hundred comments\' worth of the sorts of opinions you\'d expect. No technology is discussed.

I do not agree with Github\'s use of copyrighted code as training for Copilot
July 03, 2021 (comments)
Someone[who?] is so mad about yesterday\'s Markov chain fiasco that drastic changes are made: a dozen small programs are removed from GitHub and put somewhere else. Microsoft\'s stock price immediately fell six hundred percent and all English-speaking internet users ceased to use GitHub immediately. Sorry, no, what happened is that Hackernews posted all the same comments they posted yesterday, often directly linking to those comments in the process.

Is Alexandra Elbakyan in real trouble this time?
July 04, 2021 (comments)
Someone had something to say about someone else, but I didn\'t bother working around the paywall. Hackernews pasted a link to such a workaround, but I couldn\'t be bothered to click on it. Hackernews splits its time between inventing pedantic methods for avoiding the laws of a country the person at hand does not occupy, whether or not scientific journals should be suffered to exist, or angry rants proclaiming the entire concept of science itself to be a vast conspiracy to enrich postdoctoral students.

No More Movies
July 05, 2021 (comments)
Some asshole has opinions about the film industry. We are never treated to a specific reason we should care. Hackernews insists that real cinema is only found outside of the United States, or in the pages of specific home media vendors. Hackernews has other opinions, but none of them are any more novel or valid than the original article\'s. No technology is discussed.

European Parliament approves mass surveillance of private communication
July 06, 2021 (comments)
The European Union wants to see your emojis. Hackernews does not want them to see your emojis, and instead questions whether "human rights" exist. Unable to get to the bottom of that quagmire -- too many dictionaries -- Hackernews turns to the question of whether "human rights" should exist. One Hackernews is mad at the BBC. The rest of the arguments are about whether encrypting the emojis will save us.

Npm Audit: broken by design?
July 07, 2021 (comments)
A webshit is mad at a program. Hackernews sympathizes, but explains that the reason the tool sucks is that the entire culture around computer security is based on the needs of hysterical attention-seeking jackals, who outnumber actual professional practitioners about a thousand to one. Hackernews then informs us that this is for the best.

'
21 Jul 17:57

The stock market is a machine for creating cults

I’ve been naive about stock ownership. That is, stocks traded on the public markets like NASDAQ and FTSE.

My old mental model was that holders of stocks were partial owners by virtue of them owning, well, shares. Owners can vote, in theory, on company decisions. It’s a bit abstract because mostly the mechanism is that you vote for directors, who are shareholder representatives, a bit like elected political representatives, and they take company decisions on your behalf. And then there are passive owners who are simply there for the ride, waiting for the value of the company to go up and therefore the value of their stock.

Furthermore, the natural value of a share is tied to the future anticipated value of the corporation.

But my old model ignored the dynamic and social nature of the situation. My eyes were opened by this line in Economic Science Fictions (book homepage):

shareholders in corporations are expected to agree or sell their shares (p44).

Consequences:

A diverse shareholder base does not moderate decisions, in itself. Those who disagree will simply sell their shares. Voting doesn’t matter.

ALSO: The price of a share will increase (in line with demand) when there is growth in the number of people in the shareholding population AT LARGE (not just current owners) who agree with company decisions.

BUT individual shareholders are strongly incentivised to increase their own wealth.

Which means that, for shareholders to profit via increasing share price, there is an incentive for those shareholders to encourage others to agree with company actions.

There is also the reverse incentive: if a shareholder disagrees with company actions, they would be wise to keep silent until they have sold their shares (and once they have sold, they have no incentive to say anything at all).

Shareholders turn into evangelists. That’s the function of the market. Profit-seeking stock holders will spread the word and squash dissent, purely from self interest.

There is a cult aspect to the publicly traded corporation. That’s my new mental model.

It’s intrinsic to the way the market works. So the big question about meme stocks (being stocks where the value is determined by online communities piling on) is not: why did they take off in 2021. But instead: how did it take so long for the underlying truth to come to the surface? All stocks are meme stocks.


Let me caveat that. I’m not saying that the pricing mechanism for any given share is exclusively cult-like behaviour.

But another of my long-standing mental models is perturbation theory. Quick summary: you find a way to crudely describe the coarse shape of a dynamic system first, then you add on finer and finer “perturbations” to make your model more accurate. But to a first approximation you only need the first bit.

Perturbation theory doesn’t always hold – it breaks down in chaotic dynamical systems (that’s the definition of chaos). But it’s often good enough.

So what I’m saying is that, yes, there are many factors. But, in my new mental model, it’s the meme stock dynamic that dominates.


The question is: what is to be done about it? I get super uncomfortable about equities being traded where the value is divorced from the underlying intrinsic value of the equity, and instead comes from marketplace activity. I can’t put my finger on why I find it uncomfortable, it just smells of bullshit and society spinning valuable capacity on churning air.

So my response has two parts:

  1. Find alternatives. Is it possible to imagine a stock market which is genuinely tied to the intrinsic value of a corporation? One which somehow discourages pure profit-seeking speculation and pricing based on supply/demand? I have no idea. I don’t know enough about finance.
  2. Lean into it. If all stocks are meme stocks, then a share purchase is a push on the “more like this” button for the corporate world. When you buy a stock, you’re training the engine. So it may not be as profitable, but it should be possible to move the world, just a fraction, by buying stock strictly in keeping with your personal values.

Dunno.