Shared posts

10 Apr 05:36

Goodbye Zeit Now v1, hello datasette-publish-now - and talking to myself in GitHub issues

This week I’ve been mostly dealing with the finally announced shutdown of Zeit Now v1. And having long-winded conversations with myself in GitHub issues.

How Zeit Now inspired Datasette

I first started experiencing with Zeit’s serverless Now hosting platform back in October 2017, when I used it to deploy json-head.now.sh - an updated version of an API tool I originally built for Google App Engine in July 2008.

I liked Zeit Now, a lot. Instant, inexpensive deploys of any stateless project that could be defined using a Dockerfile? Just type now to deploy the project in your current directory? Every deployment gets its own permanent URL? Amazing!

There was just one catch: Since Now deployments are ephemeral applications running on them need to be stateless. If you want a database, you need to involve another (potentially costly) service. It's a limitation shared by other scalable hosting solutions - Heroku, App Engine and so on. How much interesting stuff can you build without a database?

I was musing about this in the shower one day (that old cliche really happened for me) when I had a thought: sure, you can't write to a database... but if your data is read-only, why not bundle the database alongside the application code as part of the Docker image?

Ever since I helped launch the Datablog at the Guardian back in 2009 I had been interested in finding better ways to publish data journalism datasets than CSV files or a Google spreadsheets - so building something that could package and bundle read-only data was of extreme interest to me.

In November 2017 I released the first version of Datasette. The original idea was very much inspired by Zeit Now.

I gave a talk about Datasette at the Zeit Day conference in San Francisco in April 2018. Suffice to say I was a huge fan!

Goodbye, Zeit Now v1

In November 2018, Zeit announced Now v2. And it was, different.

v2 is an entirely different architecture from v1. Where v1 built on Docker containers, v2 is built on top of serverless functions - AWS Lambda in particular.

I can see why Zeit did this. Lambda functions can launch from cold way faster - v1's Docker infrastructure had tough cold-start times. They are much cheaper to run as well - crucial for Zeit given their extremely generous pricing plans.

But it was bad news for my projects. Lambdas are tightly size constrained, which is tough when you're bundling potentially large SQLite database files with your deployments.

More importantly, in 2018 Amazon were deliberately excluding the Python sqlite3 standard library module from the Python Lambda environment! I guess they hadn't considered people who might want to work with read-only database files.

So Datasette on Now v2 just wasn't going to work. Zeit kept v1 supported for the time being, but the writing was clearly on the wall.

In April 2019 Google announced Cloud Run, a serverless, scale-to-zero hosting environment based around Docker containers. In many ways it's Google's version of Zeit Now v1 - it has many of the characteristics I loved about v1, albeit with a clunkier developer experience and much more friction in assigning nice URLs to projects. Romain Primet contributed Cloud Run support to Datasette and it has since become my preferred hosting target for my new projects (see Deploying a data API using GitHub Actions and Cloud Run).

Last week, Zeit finally announced the sunset date for v1. From 1st of May new deploys won't be allowed, and on the 7th of August they'll be turning off the old v1 infrastructure and deleting all existing Now v1 deployments.

I engaged in an extensive Twitter conversation about this, where I praised Zeit's handling of the shutdown while bemoaning the loss of the v1 product I had loved so much.

Migrating my projects

My newer projects have been on Cloud Run for quite some time, but I still have a bunch of old projects that I care about and want to keep running past the v1 shutdown.

The first project I ported was latest.datasette.io, a live demo of Datasette which updates with the latest code any time I push to the Datasette master branch on GitHub.

Any time I do some kind of ops task like this I've gotten into the habit of meticulously documenting every single step in comments on a GitHub issue. Here's the issue for porting latest.datasette.io to Cloud Run (and switching from Circle CI to GitHub Actions at the same time).

My next project was global-power-plants-datasette, a small project which takes a database of global power plants published by the World Resources Institute and publishes it using Datasette. It checks for new updates to their repo once a day. I originally built it as a demo for datasette-cluster-map, since it's fun seeing 33,000 power plants on a single map. Here's that issue.

Having warmed up with these two, my next target was the most significant: porting my Niche Museums website.

Niche Museums is the most heavily customized Datasette instance I've run anywhere - it incorporates custom templates, CSS and plugins.

Here's the tracking issue for porting it to Cloud Run. I ran into a few hurdles with DNS and TLS certificates, and I had to do some additional work to ensure niche-museums.com redirects to www.niche-musums.com, but it's now fully migrated.

Hello, Zeit Now v2

In complaining about the lack of that essential sqlite3 module I figured it would be responsible to double-check and make sure that was still true.

It was not! Today Now's Python environment includes sqlite3 after all.

Datasette's publish_subcommand() plugin hook lets plugins add new publishing targets to the datasette publish command (I used it to build datasette-publish-fly last month). How hard would it be to build a plugin for Zeit Now v2?

I fired up a new lengthy talking-to-myself GitHub issue and started prototyping.

Now v2 may not support Docker, but it does support the ASGI Python standard (the asynchronous alternative to WSGI, shepherded by Andrew Godwin).

Zeit are keen proponents of the Jamstack approach, where websites are built using static pre-rendered HTML and JavaScript that calls out to APIs for dynamic data. v2 deployments are expected to consist of static HTML with "serverless functions" - standalone server-side scripts that live in an api/ directory by convention and are compiled into separate lambdas.

Datasette works just fine without JavaScript, which means it needs to handle all of the URL routes for a site. Essentually I need to build a single function that runs the whole of Datasette, then route all incoming traffic to it.

It took me a while to figure it out, but it turns out the Now v2 recipe for that is a now.json file that looks like this:

{
    "version": 2,
    "builds": [
        {
            "src": "index.py",
            "use": "@now/python"
        }
    ],
    "routes": [
        {
            "src": "(.*)",
            "dest": "index.py"
        }
    ]
}

Thanks Aaron Boodman for the tip.

Given the above configuration, Zeit will install any Python dependencies in a requirements.txt file, then treat an app variable in the index.py file as an ASGI application it should route all incoming traffic to. Exactly what I need to deploy Datasette!

This was everything I needed to build the new plugin. datasette-publish-now is the result.

Here's the generated source code for a project deployed using the plugin, showing how the underlyinng ASGI application is configured.

It's currently an alpha - not every feature is supported (see this milestone) and it relies on a minor deprecated feature (which I've implored Zeit to reconsider) but it's already full-featured enough that I can start using it to upgrade some of my smaller existing Now projects.

The first I upgraded is one of my favourites: polar-bears.now.sh, which visualizes tracking data from polar bear ear tags (using datasette-cluster-map) that was published by the USGS Alaska Science Center, Polar Bear Research Program.

Here's the command I used to deploy the site:

$ pip install datasette-publish-now
$ datasette publish now2 polar-bears.db \
    --title "Polar Bear Ear Tags, 2009-2011" \
    --source "USGS Alaska Science Center, Polar Bear Research Program" \
    --source_url "https://alaska.usgs.gov/products/data.php?dataid=130" \
    --install datasette-cluster-map \
    --project=polar-bears

I exported a full list of my Now v1 projects from their handy active v1 instances page.

The rest of my projects

I scraped the page using the following JavaScript, constructed with the help of the instant evaluation console feature in Firefox 75:

console.log(
  JSON.stringify(
    Array.from(
      Array.from(
        document.getElementsByTagName("table")[1].
          getElementsByTagName("tr")
      ).slice(1).map(
        (tr) =>
          Array.from(
            tr.getElementsByTagName("td")
        ).map((td) => td.innerText)
      )
    )
  )
);

Then I loaded them into Datasette for analysis.

After filtering out the datasette-latest-commithash.now.sh projects I had deployed for every push to GitHub it turns out I have 34 distinct projects running there.

I won't port all of them, but given datasette-publish-now I should be able to port the ones that I care about without too much trouble.

Debugging Datasette with git bisect run

I fixed two bugs in Datasette this week using git bisect run - a tool I've been meaning to figure out for years, which lets you run an automated binary search against a commit log to find the source of a bug.

Since I was figuring out a new tool, I fired up another GitHub issue self-conversation: in issue #716 I document my process of both learning to use git bisect run and using it to find a solution to that particular bug.

It worked great, so I used the same trick on issue 689 as well.

Watching git bisect run churn through 32 revisions in a few seconds and pinpoint the exact moment a bug was introduced is pretty delightful:

$ git bisect start master 0.34
Bisecting: 32 revisions left to test after this (roughly 5 steps)
[dc80e779a2e708b2685fc641df99e6aae9ad6f97] Handle scope path if it is a string
$ git bisect run python check_templates_considered.py
running python check_templates_considered.py
Traceback (most recent call last):
...
AssertionError
Bisecting: 15 revisions left to test after this (roughly 4 steps)
[7c6a9c35299f251f9abfb03fd8e85143e4361709] Better tests for prepare_connection() plugin hook, refs #678
running python check_templates_considered.py
Traceback (most recent call last):
...
AssertionError
Bisecting: 7 revisions left to test after this (roughly 3 steps)
[0091dfe3e5a3db94af8881038d3f1b8312bb857d] More reliable tie-break ordering for facet results
running python check_templates_considered.py
Traceback (most recent call last):
...
AssertionError
Bisecting: 3 revisions left to test after this (roughly 2 steps)
[ce12244037b60ba0202c814871218c1dab38d729] Release notes for 0.35
running python check_templates_considered.py
Traceback (most recent call last):
...
AssertionError
Bisecting: 1 revision left to test after this (roughly 1 step)
[70b915fb4bc214f9d064179f87671f8a378aa127] Datasette.render_template() method, closes #577
running python check_templates_considered.py
Traceback (most recent call last):
...
AssertionError
Bisecting: 0 revisions left to test after this (roughly 0 steps)
[286ed286b68793532c2a38436a08343b45cfbc91] geojson-to-sqlite
running python check_templates_considered.py
70b915fb4bc214f9d064179f87671f8a378aa127 is the first bad commit
commit 70b915fb4bc214f9d064179f87671f8a378aa127
Author: Simon Willison
Date:   Tue Feb 4 12:26:17 2020 -0800

    Datasette.render_template() method, closes #577

    Pull request #664.

:040000 040000 def9e31252e056845609de36c66d4320dd0c47f8 da19b7f8c26d50a4c05e5a7f05220b968429725c M	datasette
bisect run success

Supporting metadata.yaml

The other Datasette project I completed this week is a relatively small feature with hopefully a big impact: you can now use YAML for Datasette's metadata configuration as an alternative to JSON.

I'm not crazy about YAML: I still don't feel like I've mastered it, and I've been tracking it for 18 years! But it has one big advantage over JSON for configuration files: robust support for multi-line strings.

Datasette's metadata file can include lengthy SQL statements and strings of HTML, both of which benefit from multi-line strings.

I first used YAML for metadata for my Analyzing US Election Russian Facebook Ads project. The metadata file for that demonstrates both embedded HTML and embedded SQL - and an accompanying build_metadata.py script converted it to JSON at build time. I've since used the same trick for a number of other projects.

The next release of Datasette (hopefully within a week) will ship the new feature, at which point those conversion scripts won't be necessary.

This should work particularly well with the forthcoming ability for a canned query to write to a database. Getting that wrapped up and shipped will be my focus for the next few days.

10 Apr 05:36

Rewiring my House … and the World

Using software-based relationships instead of physical wires gives insight in the parallels be-tween connectivity within my house and connectivity across the wider Internet.
10 Apr 05:36

Day 36: Radioactive but Uninteresting

We haven’t been going anywhere. We’re getting our groceries and things delivered.

I’m going for jogs — but only after 8 pm, once it’s dark, once the sidewalks are clear enough. My neighborhood has a surprising amount of walkers. Normally I love that, but right now I just wish it would rain like hell and keep them all home.

Instead it’s sunny, so I wait till nighttime when everyone’s inside on their various devices.

All My Stuff in a Box

Today was the first time I went anywhere. It’s been more than a month since I was in a car or outside of my neighborhood — but I went to South Lake Union, to the Omni office, to go get my personal things.

I wore a mask that Sheila made me. Wore disposable gloves. Used a pen to touch the buttons in the elevator.

It was certainly weird to be in the office. Almost nobody there. The couple people who were there were nice, of course.

I packed everything I wanted to take home in a small box. A quilted wall hanging Sheila had made, a couple framed photos (Babe Ruth; Avalon, NJ), a laptop that I own, some mints.

I left behind the stuff of mine I didn’t want to bring home — bean bag chair, coat rack, small table, black fleece blanket.

A guitar, too. I left behind a guitar. Just a cheap acoustic guitar, but weirdly awesome for how little I paid for it. It’s free to the first person in the office to grab it.

I can’t remember when it was, now — last year, maybe — there was a meetup for The Automators podcast held in the Omni cafeteria. At some point that evening, James Dempsey sang a few songs while I accompanied him on that guitar.

Which means the guitar has some amount of public life lived, which is good for its soul. I did my part for it, and now it’s someone else’s turn.

Anyway… We took the box home. It’s in a closet, where it will sit quarantined for a week before I’ll touch it. Nothing urgent in there. Radioactive but uninteresting.

I changed all my clothes and washed my hands like crazy. Multiple times. Used the really hot water from that one faucet, which probably doesn’t matter.

Job Hunt

I’m weirdly busy — the job hunt is more than a full-time job. I’m treating it that way, anyway. I’ll be anxious about this until I get a job, and I don’t need more anxiety right now.

I’m keeping an open mind and talking to as many potential employers as I can. I’m leaning strongly toward a full-time job (rather than contracting). I just had one; I’d like another one.

10 Apr 05:36

The Data Rate of a Jitsi Voice Call

by Martin

Jitsi - voice data rateOver the past couple of weeks I’ve been using my own Jitsi instance for many voice and video calls between family and friends. It’s easy to install and use on mobile devices, which is of prime importance when asking others to communicate with you in a different way than how they are used to. One thing that made me raise my eyebrows a bit, however, was the data rate of a simple one to one voice call.

The screenshot above shows the data rate of a PC to PC voice call without video: 350 kbit/s in each direction for both parties. Divided by 2 the data rate per direction is 175 kbit/s including all IP/UDP overhead. It doesn’t sound like much but compared to the HD-voice (G.722.2) codec used in VoLTE that requires around 12 kbit/s, this is huge! Some network operators perhaps even use the HD-voice or the even better EVS codec with a rate of 24 kbit/s. But still, Jitsi’s bandwidth requirements are significantly higher.

Note that the comparison is not quite fair, however, because the 24 kbit/s do not take the IP/UDP/RTCP overhead into account, which is around 40-50%. On the other hand, ROHC removes most of this on the LTE air interface, which it can’t do for Jitsi calls. Another data point: The dedicated bearer for the VoLTE voice data stream is usually rate limited to 40 kbit/s.

A decade ago, this would probably have been hotly discussed. But fortunately, network capacity has made leaps forward since then, and especially in fixed networks, it doesn’t really matter anymore. Voice calls are just a tiny fraction of the data being shuffled through the networks these days, while video streaming pushes the boundary these days.

But still, I couldn’t resist to make the comparison.

10 Apr 05:36

Reduce The Number of Superusers / MVPs / Insiders

by Richard Millington

You probably have too many members in your superuser program (or MVP/Insider/Expert program).

This does more harm than good. A major unspoken benefit of the program is its sense of exclusivity.

If you’re in the program, you are in a small unique tribe that gets access to things others don’t. You are superior to others. You have earned something others haven’t earned.

The value of the program is rarely about the benefits, it’s about what the benefits represent (that only a few people get them).

The more people who are a member of the program, the less powerful these benefits are.

Read our work with a client in 2018. We drastically cut the number of superusers in a program and activity skyrocketed.


The most powerful benefit of the program is usually how exclusive it is. The more exclusive you make it, the more rewarding it becomes to be a member.

Better yet, the smaller it is, the better time, attention, and rewards you can give to each member.

Stop adding people to the program and start removing them.

10 Apr 05:36

Rams

by Volker Weber

rams2018.jpg

Filmmaker Gary Hustwit is streaming his documentaries free worldwide during the global COVID-19 crisis.

March 14 to 21: Helvetica
March 24 to 31: Objectified
March 31 to April 7: Urbanized
April 7 to 14: Rams

There is a link on this page to leave a tip for the filmmaker in any amount via Credit Card or Paypal. 50% of all tips this week will be donated to COVID-19 relief efforts in New York City.

10 Apr 05:35

What a Wirecutter Editor (and Tea Fanatic) Uses to Make Tea Every Day

by Tim Barribeau
What a Wirecutter Editor (and Tea Fanatic) Uses to Make Tea Every Day

When I was growing up, we moved often. But regardless of whether we were in New Zealand or Oregon, one of the constants in our house was always tea. In times of crisis and in times of joy, there’s always been a pot of tea either steeping or about to be made. In my adult years, I’ve gone beyond Twinings and tea bags into a whole world of loose-leaf tea nerdery. As an editor here at Wirecutter, I brew multiple pots a day as my caffeine source. But tea is also a source of comfort in trying times—both the ritual of making a pot of it as well as just sitting down and letting myself drink something incredible that I know will make me feel better. These are the tools (and teas) I use every day.

10 Apr 05:35

How to Shoot Portraits Through FaceTime :: Tim Dunk

by Volker Weber

I then had an idea to sustain myself creatively and socially, and threw it out to a few contacts — maybe with the use of some common apps and bits of tech, I could continue to make work. Using FaceTime, a MacBook Pro, and my subject using an iPhone under instruction, I was able to make portraits of people in isolation, distanced from the world and the people that make it up.

I had no idea you can do that. Way to go!

more >

10 Apr 05:34

Watchsmith Review: Create Your Own Apple Watch Complications

by Ryan Christoffel

Watchsmith, the latest app from David Smith, was birthed from the inability to create third-party watch faces on the Apple Watch. As Smith has previously explained, while third-party faces may never be possible, several first-party faces already offer significant room for customization. The Infograph face, for example, contains eight different complication slots; if a rich array of third-party complications were available, you could build a highly customized watch face using the existing faces provided by Apple.

Watchsmith exists to provide that rich set of complications. The app offers 37 types of complications, each adaptable to different watch faces and complication slots, and all fully customizable so they can look exactly the way you prefer. Additionally, Watchsmith offers scheduling functionality to cause different complications to appear on your Watch at different times throughout the day.

Custom complications made with Watchsmith.

Custom complications made with Watchsmith.

In the absence of third-party watch faces, Watchsmith offers the next best thing: third-party complications that are highly customizable and can be optimized to your daily schedule.

Complication Creator

The iPhone version of Watchsmith is all about creating your custom complications. Upon launching the app you’ll see a single screen containing options for six types of complications you can customize:

  • Infograph Circle
  • Infograph Corner
  • Infograph Top
  • Infograph Large
  • Modular Small
  • X-Large

These types cover the bases of what you’ll find on most modern watch faces; however, Smith is also working to add support for more types in the future.

Scheduling your complications.

Scheduling your complications.

Tapping into one of these types presents the configuration screen, which features an elongated analog watch face covering the full 24 hours of a day. It’s on this face where you can create complications and determine the schedule they’ll run on. By default every complication type has one complication already set up, with the hours on the virtual watch face indicating when that particular complication will appear on your Watch. You can press the plus button near the bottom of the face to add new complications, and adjust their schedule as well.

Changing a complication’s schedule is as simple as adjusting its start and end points on the watch face. Based on the schedule you set for a given complication type, that complication slot on your watch face will automatically update per your schedule. So you can have certain complications occupy that slot at relevant times of day, getting the most out of each slot on your watch face. If you want to get really crazy, you can even have a different complication show up every hour of the day.

Is this enough customization for you?

Is this enough customization for you?

Having complications automatically cycle through the same slot was pioneered in HomeRun by Aaron Pearce last year, and I’m thrilled to see another app follow HomeRun’s example. Although Apple itself doesn’t enable scheduling complications through a native feature, I wouldn’t be surprised to see that change in a future version of watchOS. Since third parties can already do this, I’d love to see Apple properly endorse the function as a way of expanding the utility of complications.

The ability to automatically cycle through complications on a schedule is only as valuable as the number of complication options available to you. On that front, Watchsmith clearly delivers. You’ll find 37 complication styles spanning 10 different categories:

  • Date
  • Time
  • Calendar
  • Activity
  • Weather
  • Tides
  • Astronomy
  • Timezone
  • Battery
  • Blank

As this list makes clear, Watchsmith isn’t primarily interested in offering data that’s wholly unique; most, or perhaps even all of these categories have been covered by other apps before, including by Apple’s own native complication offerings. However, the appeal of Watchsmith is that you can style and customize each of these data points to your liking, effectively building yourself a hyper-personalized watch face in the process.

Watchsmith's complication options.

Watchsmith’s complication options.

Depending on the complication you’re working with, you may find lots of ways to customize its style. For example, Watchsmith offers six standard Date styles to choose from, but with just one of those – the Day & Date option – you can customize its font, the color of the day, the color of the date, and its background color.

The number of possible setups enabled by these tools is virtually limitless. The only drawback to all of this power is that, due to watchOS system restrictions, you can only configure one custom setup per complication type, so despite the Infograph face containing three Infograph Circle slots, and four Infograph Corner slots, you can’t create different Watchsmith setups for use across multiple slots of the same type; rather, you’re limited to one Circle setup, one Corner setup, and so on.

Nonetheless, if you’re the kind of person who wants fine-grained control over as many details of your watch face as possible, Watchsmith is still a must-have.

Watch App

Though the primary appeal of Watchsmith is its complications, the Watch app itself offers significant functionality. In it you’ll find seven categories of functionality: Workouts, Weather, Health, Calendar, Timezone, Games, and Astronomy. Essentially Smith has built full-fledged apps in each of these categories and thrown them all into Watchsmith. The ‘apps’ are basic in functionality, but I wasn’t expecting to get anything resembling real Watch apps from Watchsmith, so I count everything included as a nice bonus. The one game available now, Bounce, makes for a fun diversion – it’s Pong, but you play solo by moving the ‘paddle’ around in a circle using the Digital Crown.

Business Model

Watchsmith is a free download with many of the app’s complications unlocked; however, certain complications are only available with a subscription. This isn’t at all an arbitrary decision: most of the locked complications bear recurring costs to Smith for their data, such as the full roster of weather options, so they’re a natural fit for a subscription. If you’d like to unlock the ~10 complication styles that require a subscription, you can pay either $1.99/month or $19.99/year – seemingly a lot for a Watch app, but not too dissimilar from many premium weather apps.


No one has ever built a tool like Watchsmith before, but perhaps now developers will be inspired to try something similar. I’m particularly keen to see if the app can gain a strong subscriber base, enabling Smith to constantly expand Watchsmith’s roster of complications in existing and all-new categories. There’s a lot that can be done in this area, both in adding new customization options but especially in branching out to new categories of complication.

Apple may never enable third-party watch faces to exist, but if apps like Watchsmith catch on, then at some point maybe we won’t mind anymore.

Watchsmith is available on the App Store.


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
10 Apr 05:34

How transit helps prevent the collapse of civilization – Jarrett Walker

by Gordon Price

Excerpts from Jarrett Walker’s perspective on the importance of transit in a time of pandemic.  Full essay here from Citylab. 

In response to this emergency, major agencies are doing their best not to cut service much. … Based on my informal discussions with many agencies, the service cuts seem to be in the range of 10% to 40% at this point, far less than the roughly 70% drop in ridership.

Why are agencies behaving this way? Because they are not businesses. And if there’s one thing we must learn from this moment, it’s that we have to stop talking about transit as though ridership is its only purpose, and its primary measure of success.

Right now, essential services have to keep going. It’s not just the hospital, the grocery store, and basic utilities.  It’s the entire supply chain that keeps those places stocked, running, and secure. Almost all of these jobs are low-wage. The people using transit now are working in hospitals that are saving lives. They are creating, shipping and selling urgently needed supplies. They are keeping grocery stores functioning, so we can eat.

In transit conversations we often talk about meeting the needs of people who depend on transit. This makes transit sound like something we’re doing for them. But in fact, those people are providing services that we all depend on, so by serving those lower income riders, we’re all serving ourselves.

The goal of transit, right now, is neither competing for riders nor providing a social service for those in need. It is helping prevent the collapse of civilization. …

… even for those with the fewest options, the term dependent has allowed us to imagine helpless people in need of our rescue, rather than people that we depend on to keep things running. Everyone who lives in a city, or invests in one, or lives by selling to urban populations is transit dependent in this sense.

Meanwhile, if we all drive cars out of a feeling of personal safety, we’ll quickly restore the congestion that strangles our cities, the emissions that poison us and our planet, and the appalling rates of traffic carnage that we are expected to tolerate. Once again, we’ll need incentives, such as market-based road pricing, to make transit attractive enough so that there’s room for everyone to move around the city. That will mean more ridership, but again, ridership isn’t exactly the point. The point is the functioning of the city, which again, all of us depend on.

Let’s look beyond ridership or “transit dependence” and instead measure all the ways that transit makes urban civilization possible. In big cities, transit is an essential service, like police and water, without which nothing else is possible. Maybe that’s how we should measure its results.

10 Apr 05:33

DIY masks, balancing filtration and breathability

by Nathan Yau

The CDC now recommends that you wear a cloth face mask if you leave the house. For The Washington Post, Bonnie Berkowitz and Aaron Steckelberg answer some questions you might have about making your own, including the chart above. You need material that provides both filtration and breathability.

Tags: coronavirus, mask, Washington Post

08 Apr 23:31

advertisingpics:Who’s keeping up with Commodore?



advertisingpics:

Who’s keeping up with Commodore?

08 Apr 23:31

david:Just wanted to add my congratulations and thank you to everyone at WordPress and Tumblr.Matt...

david:

Just wanted to add my congratulations and thank you to everyone at WordPress and Tumblr.

Matt is a visionary, and the team at WordPress has built something absolutely foundational to the Internet. What an amazing home and opportunity for Tumblr.

I shall reblog, for my first Tumble in a while…

08 Apr 02:31

Satisfying Kitchen Organization Projects to Do While You’re Stuck at Home

by Michael Sullivan
Satisfying Kitchen Organization Projects to Do While You’re Stuck at Home

Like millions of people around the world, you’re probably hunkered down inside right now. It’s hard not to feel anxious when you’re confined to the same space day in and day out. Some people find solace in baking or knitting, but my favorite way to relieve stress (besides turning off my phone) is to tackle big cleaning and organization projects in my kitchen. Getting my kitchen in order gives me a way to work through my worries and helps me feel like I’m in control. It’s also a good way to set yourself up for success as you pack your pantry with extra groceries and prepare to cook at home a lot more often.

08 Apr 02:29

Maximizing real estate value in a pandemic

by Gordon Price
mkalus shared this story from Price Tags.

The Park Board is going to make better and safer use of the space it owns in Stanley Park:

Here’s the consequence:

Closing Stanley Park’s roads will reduce the daily number of people in the park and open up space for cyclists and pedestrians from the neighbourhood.

It won’t be just from “the neighbourhood.”  Expect Vancouverites (and those from the North Shore) to use the bikeway and greenway network to access Stanley Park too.  Indeed, recreational athletes already do.

Next step: the City can likewise reallocate road space to take pressure off the most popular (and too crowded) greenway paths.

Here’s a list of opportunities as compiled from Jeff Leigh with HUB Cycling.

  1. Beach from Thurlow to Stanley Park to relieve pressure on the seawall paths and to provide access to Stanley Park
  2. Nelson and Smithe from Richards to Thurlow to connect the West End To False Creek
  3. Cambie Bridge northbound to ease congestion on the MUP
  4. Quebec near Terminal, in both directions, to ease congestion in front of Science World
  5. Pine from 1st to 7th to connect the Arbutus Greenway to 1st
  6. 1st from Creekside to Cypress, to connect the Arbutus Greenway and link the Seaside Greenway via the 1st Ave bypass, avoiding the tight spot at the end of Creekside
  7. Main St, to replace the unsafe shared lanes (sharrows) from 14th north
  8. Pender or preferably Hastings from Burrard to Cardero, to ease congestion on the Seawall path
  9. Georgia from Cardero to the Causeway, to ease congestion on the Seawall path (Georgia Gateway project)
  10. Adanac overpass at Cassiar, a known trouble spot since the removal of calming related to the Fortis gas pipeline construction
  11. Pacific at the Granville loops, a dangerous intersection
  12. the Granville bridge, to ease congestion on the narrow sidewalks
  13. parallel routes to the Arbutus Greenway, to ease congestion.
  14. Ontario, from 16th to 1st
  15. Expo Blvd in front of Costco (room to queue candidate) where the painted bike lane is often blocked with vehicles, pushing bikes on to the sidewalk.

 

The need has been there from some time to better use our public rights-of-way.  The plans have been drawn up – as we’ve been illustrating with the Greenways Plan.  But now there is an imperative:

“If a city doesn’t have enough green space for the amount of people who live there, that’s a public health issue,” said Assoc. Prof. Marc Berman, a leading expert on how environmental factors can affect the brain and behavior.

“You could probably figure out a way to map out the population, to say certain neighborhoods can go here at this time, or other places at another time. Try to spread it out, to keep people exposed to these environments that we know are good for them. The question is, does a city or municipality have enough greenspace to safely do this? For many places, that answer may be no.” …

Alternate answer: Yes, cities do – if they use their streets for safe walking and cycling, and design them as ‘green spaces’ too.  A third of the real restate of a city is in streets.  As any owner or developer knows, you want to maximize the value of the property you already own.

08 Apr 02:28

Promising new approach

by Stephen Rees

Elsewhere the orange idiot is pushing drugs that have not been proven safe or effective. The following press release arrived in my in box this morning, and may not be noticed by our mainstream media because they are busy cutting staff pay – or even shutting down altogether. The idea that the government – or their readers – should now ride to their rescue seems really strange to me since the reason they have nothing to fall back on is that they have been bleeding the companies dry. I have no sympathy whatever for these vultures.

Queen’s University leading cell therapy clinical trial to help improve outcomes in COVID-19 patients

Researchers at Queen’s University Belfast are leading a UK-wide clinical trial, offering an innovative cell therapy treatment for COVID-19 patients with acute respiratory failure.

This clinical trial, led by Professor Danny McAuley and Professor Cecilia O’Kane, both researchers from the Wellcome-Wolfson Institute for Experimental Medicine at Queen’s, is investigating the use of allogenic Mesenchymal stromal cells (MSCs) in patients with a complication known as Acute Respiratory Distress Syndrome (ARDS) caused by COVID-19.

In the most critically unwell patients with COVID-19, many develop a complication known as ARDS. In ARDS the lungs become inflamed and leaky so they fill with fluid. This causes respiratory failure and patients may require admission to intensive care and a ventilator machine to support their breathing.

A recent statement from the four UK Chief Medical Officers outlined the importance of clinical trials amidst the COVID-19 crisis. Professor Cecilia O’Kane said: “It is only through clinical trials we will be able to determine if new treatments are effective and safe in critically ill patients.”

The trial involves the use of MSCs, a type of cell derived from human tissue such as bone marrow or umbilical cord (which is otherwise discarded after the baby is born), to treat the injury to the lung caused by COVID 19. MSCs are a novel treatment that have been shown in experimental models to reduce inflammation, fight infection and improve the repair of injured tissue.

Patients in this trial, which is known as REALIST COVID 19, will be treated with a purified population of MSCs derived from umbilical cord tissue called ORBCEL-C. The ORBCEL-C therapy has been developed by scientists at Orbsen Therapeutics in Galway, Ireland. The ORBCEL-C therapeutic is manufactured under licence by the UK NHS Blood and Transplant Service for the REALIST COVID-19 trial.

The trial is being introduced as part of an existing programme of research investigating the use of MSCs in patients with ARDS. The first patient has now been recruited with plans to recruit at least 60 patients throughout the COVID-19 pandemic at multiple sites across the UK including Belfast, Birmingham and London.

Professor Ian Young, Clinical Professor at the Centre for Public Health, Queen’s University Belfast, Director of HSC R&D and Chief Scientific Advisor at the Department of Health, said: “The Health and Social Care Research & Development Division has been working with researchers across HSC to address the global problem of Coronavirus.  We have contributed £230K for this vital research which will provide important evidence regarding a potential new treatment for respiratory failure, a leading cause of mortality in COVID-19.  We will continue to support health research and encourage people to participate in research trials and other studies so patients can get the best possible treatment to help tackle the spread of COVID-19.”

The trial has been identified by the National Institute for Health Research (NIHR) as a national urgent public health study. It is one of a number of COVID-19 studies that have been given urgent public health research status by the Chief Medical Officer/ Deputy Chief Medical Officer for England.  The study is funded by the Health and Social Care Research & Development Division and the Wellcome Trust, sponsored by the Belfast Health and Social Care Trust and supported by the NI Clinical Trials Unit, the NIHR Clinical Research Network and the Northern Ireland Clinical Research Network.

Orbsen CSO Steve Elliman noted: “While there are over 100 vaccines and therapies in development targeting the SARS-CoV-2 infection – at present there are no disease modifying therapies approved for ARDS.  We’re delighted the REALIST trial was approved and listed by NIHR as an Urgent Public Health Research Study so we can continue assess the safety of the ORBCEL-C therapy in patients with ARDS.”

Sir Professor Alimuddin Zumla of University College London, a global coronavirus and infectious diseases expert said: “This is an exciting and important trial which targets rectifying the underlying causes of lung damage and has great potential of saving many lives from COVID-19. The team should be congratulated for their leadership of host-directed therapies, a concept which has not yet been explored to its full potential.”

Professor Danny McAuley is also part of an international network of researchers who are taking forward trials of umbilical cord-derived Mesenchymal stromal cells for the treatment of COVID-19: UK: (UCL- Sir Professor Azumla); Portugal (Champualimud Foundation – Professor Markus Maurer; Italy (INMI-Professor Giuseppe Ippolito) and China (Fifth Medical Center- Professor Fu-Sheng Wang.)

-Ends-

  1. Media inquiries to comms.officer@qub.ac.uk  
  2. About NIHR: Please visit  https://www.nihr.ac.uk/covid-19/ to learn about other studies that have been given urgent public health status and the single, national prioritisation process that has been established to prevent duplication of effort and to ensure that the resources and capacity of the health and care system to support COVID-19 research are not exceeded.
  3. About Wellcome: Wellcome exists to improve health by helping great ideas to thrive. We support researchers, we take on big health challenges, we campaign for better science, and we help everyone get involved with science and health research. We are a politically and financially independent foundation. For more information please  visit: http://wellcome.ac.uk/
  4. For further information about HSC Research & Development Division work, please visit: www.research.hscni.net

08 Apr 02:28

Remember interoperability?

by peter@rukavina.net (Peter Rukavina)

Remember back in the day when there was interoperability between messaging platforms? When the hope was held out that we would all be able to seamlessly chat, with a single app, a single account, with anyone, just like we can send and receive email with anyone, regardless of how and where they manage their email.

Remember?

Now I have this:

The many messaging apps running on my desktop all the time.

Skype, Slack, Teams, Android Messages, Telegram, Zoom, Signal. Oh, and email.

I have all the same apps running on my phone too.

Where did we go wrong?

08 Apr 02:27

Gesundheit

by Rex Hammock

Watch this and you’ll want to be 60 feet apart, not six. The top one is coughing, the bottom one, sneezing.


Via Khoi Vinh (Subtraction.com) “This video produced by researchers at Bauhaus-Universität Weimar demonstrates the effect on the air surrounding a person when they cough. Starting clockwise at top left, it shows as a baseline the air flow during normal breathing, then while coughing unrestricted, while coughing into the hand, while coughing into the elbow, while coughing into a dust mask, and finally while coughing into a surgical mask.”

Here’s one of coughing if that one wasn’t gross enough for you.

08 Apr 00:53

New developer features in Firefox 75

New developer features in Firefox 75

Firefox 75 just came out with a bunch of new developer features. My favourite is instant evaluation in the JavaScript console: any statement without side effects now shows a preview of its results as you type.

Via Hacker News

08 Apr 00:53

SoundSource Gives You Volume Control of Any Audio Outputs, Including HDMI and DisplayPort Devices

by Paul Kafasis

Do you have an audio device which doesn’t allow for volume control when connected up to your Mac? When sending audio to a display connected via HDMI or DisplayPort, or to any non-standard digital audio device, MacOS will offer no volume adjustment. Worse, pressing the volume keys on your keyboard just shows a frustrating on-screen display.

With our audio control utility SoundSource, you can turn that frustration into satisfaction.

SoundSource gives you volume control over any audio output devices, even those the system refuses to adjust. Better still, the “Super Volume Keys” feature enables your keyboard volume controls to adjust any device as well.

We’ve written up a brief Knowledge Base article explaining how this all works. Give it a read and try out SoundSource to gain volume control over all your audio output devices.

08 Apr 00:52

Cyborg prosthetics for limbs that don’t exist

If you’re given a third arm coming out of the middle of your chest, a really long third arm, it turns out you can adapt to using it successfully in less than 10 minutes.

Homuncular Flexibility in Virtual Reality, Won et al (2015) [PDF].

What if you could become a bat–your arms acting as wings allowing you to fly through the night sky? The avatars that users inhabit in virtual reality (VR) make this possible. … For example, could people learn to control a lobster avatar that had many more limbs than its human user? … Tracked movements that the user made in the physical world would be rendered as different movements of the avatar body. Thus, an eight-armed lobster could have each limb powered by the rotation of a wrist, the flex of an ankle, or some combination of the two.

And:

In Experiment Two, participants controlling three-armed avatars learned to hit more targets than participants in two-armed avatars.

And in the “Future directions” section:

how far can we push these adaptations? Can people learn to control eight limbs, or kilometer-long arms?

Okay so that’s VR, but why not really?


The Cave was a proto-VR environment where you would stand in a cube-shaped room where a virtual environment was projected on the walls. Using a controller, you could “move” through the virtual environment – and look around you without needing to use a headset.

I don’t have a reference for this but I heard about this experiment: what they did was track the rotation of your head, as you looked from side to side, and then rotate the virtual environment the same amount again. So if you looked 90 degrees the right, it would be as though you were looking 180 degrees, directly behind you.

What I heard was that people adapt surprisingly quickly to this. You get accustomed, really fast, to being able to rotate your head all the way round like an owl.


Dani Clode’s design provocation The Third Thumb visualises a robotic extra thumb as a sixth digit on the hand, used to hold fruit and play the guitar.

MobiLimb is a robotic finger that protrudes from a smartphone. It can prop itself up so you can see the screen; it can literally point things out; it can drag itself across the table.


Why don’t we see a ton of serious research into areas like this? Given it turns out we can adapt psychologically quite happily to having extra limbs, why don’t we see R&D money being piled in?

I want to see weird-ass research lab nerds from universities walking around like Doctor Octopus, doing their best to convince the rest of us that more hands = better. I want to see folks like Apple and Google try really, really hard to get it to go mainstream, even though they will mostly fail.

Because decades of research got us the iPhone – and, by extension, the peace dividend of the smartphone wars being: drones (sensors and batteries) and the internet of things (commodity connectivity) which is massive in the industrial world). Imagine if robotic prosthetics were cheap and commonplace.

What are the mundane, everyday applications?

I want an exoskeleton chairless chair but for gardening.

I want to open the door of a cafe with my third arm when my hands are full carrying coffee.

I want to feel electric fields with my fingertips. I want to go ambling in a new city and not get lost because I have an intuitive sense of north. I want a camera stuck on the back of my neck that shows up as a stretched image round the rim of my otherwise ordinary glasses, and I want to know how quickly seeing behind me feels like a little extra sense that I couldn’t do without.

Forget showing my lost items on a map on a screen and making me treasure-hunt my way back to them. I want to be able to whistle to my phone from anywhere in the house, and have it wriggle out of the sofa and scamper across the room and snuggle into my pocket.

Imagine giving your phone a high five with a tiny hand that you don’t yet have.

08 Apr 00:52

Toronto General Hospital running phone donation drive to keep patients connected

by Aisha Malik
City of Toronto daytime

A doctor at Toronto General Hospital has started a phone donation drive to help patients who don’t have a handset during COVID-19 pandemic.

Dr. Andrea Somers says that the donation drive is collecting old cellphones and early smartphones to give to patients who are homeless, suffering from addiction or mental health issues.

Somers told CTV News that Bell has already donated 50 smartphones and 150 SIM cards to the drive.

The donation drive also aims to help people who are experiencing difficulty accessing services. For instance, if someone who does not have a phone has been tested for COVID-19, the hospital cannot reach them with a diagnosis because it can take days to get a result.

“These people need to be connected to our health care system, and they need access to all sorts of social and medical resources that you can’t reach during a pandemic if you’re not connected,” Somers told CTV News.

Donations can be mailed to Dr. Somers at 200 Elizabeth Street, R Fraser Elliott Building, Ground floor, Room 480.

Source: CTV News 

The post Toronto General Hospital running phone donation drive to keep patients connected appeared first on MobileSyrup.

08 Apr 00:52

Flattening the online education curve

Clint Lalonde, Ed Tech Factotum, Apr 07, 2020
Icon

Here's where I am in complete agreement with Clint Lalonde: "I hope that one of the measures institutions will seriously consider is shoring up the people who support faculty and students. Increasing the people capacity in their teaching and learning centres, faculty development, instructional design, IT support areas with people who have experience in online teaching & learning and educational technology."

Web: [Direct Link] [This Post]
08 Apr 00:51

Mozilla Supports the Open COVID Pledge: Making Intellectual Property Freely Available for the Fight Against COVID-19

by Amy Keating

COVID-19 has afflicted more than one million people worldwide, and the number continues to climb every day. However long the pandemic lasts, we know that scientists and others’ ability to share work toward solutions is critical to ending it.

The Open COVID Pledge, a project of an international coalition of scientists, technologists, and legal experts, has been created to address this issue. The project calls on companies, universities and other organizations to make their intellectual property (IP) temporarily available free of charge for use in ending the pandemic and minimizing its impact.

Mozilla is grateful to the organizers of and contributors to the Open COVID Pledge, and is proud to support this critical effort. We are an organization dedicated to keeping the internet open and accessible to all. We support the open exchange of ideas, technologies, and resources in our day-to-day work and recognize the power of removing barriers in this time of crisis to preserve the social fabric and save lives.

We invite others to join us in supporting this important initiative to help combat the spread of COVID-19.

The post Mozilla Supports the Open COVID Pledge: Making Intellectual Property Freely Available for the Fight Against COVID-19 appeared first on The Mozilla Blog.

08 Apr 00:51

What is a decision, exactly?

by Chris Corrigan

I want to draw your attention to this incredible post by Zhen Goh, a fellow Cognitive Edge practitioner, exploring what is happening to the formerly-named “Disorder” domain in Cynefin, now called “Confusion.” In renaming the domain Confusion, Dave has also divided it into two types of confusion: Aproretic and Confused. I have taken to describing these, respectively, this way:

Aporetic means “at a loss” and indicates an unresolved confusion, or a paradox, which is just fine. Sometimes things need to remain a little murky for a while. “Confused” refers to the state of mind where you just aren’t getting it, and you don’t understand the problem. It’s often the result of a failure to see past one’s own biases, habits, and entrained patterns of solving things.

I have started thinking of this domain as the most important Cynefin domain because really, everything starts there. When you are confused, you can go to Cynefin to help you make sense of the routes available to you for action. This is the subject of some of Dave’s recent thinking, and also the meaning of the above graphic that he has produced. There is probably a lot more coming on this.

At any rate, that brings me to Zhen’s great post, which has been rattling around in my consciousness the last couple of weeks, largely because of this line, which is Jacques Derrida ultimately quoting Søren Kirkegaard:

“The moment of decision as such… must always remain a finite moment of urgency and precipitation; it must not be the consequence or the effect of theoretical or historical knowledge, reflection or deliberation, since the decision always marks the interruption of the juridico-, ethico-, or politico-cognitive deliberation that precedes it, that must precede it. The instant of a decision is a madness.” (‘Dialanguages’ in Points: Interviews 1974–1994 (Stanford, Stanford University Press, 1995), 147–8.)

Isn’t that the truth? We only ever need to make a decision in the absence of actually knowing what is the right thing to do.

Speaking personally, it is one of my personal leadership challenges, making a decision in the absence of certainty. I find myself paralyzed at times, unable to make a choice. As Dave Snowden said on a webinar last week “there is really no right decision, but there ARE wrong ones.” Making a tough decision often feels like a kind of madness, dangling above an abyss full of projected and imagined monsters and very real pitfalls.

But making decisions in radical uncertainty is what is happening to all of us right now. We are all in radical Aporia, confronting paradoxes and situations that have no resolution, no precedent and no right way forward. We have to rely on human instincts now, ethics, values, morality. Moments like this reveal true character, and we are seeing the leaders who are truly built for these times, like Leo Varadhkar who has taken up his doctor’s license again. Also, our own Dr. Bonnie Henry in BC, who I can’t stop writing about. These are people who recognize, as Zhen puts it, that “Aporia allows for humanity:”

Aporia is part of ontological reality when facing crisis – but the burden of leadership is to communicate with clarity and authenticity. At once providing direction, demonstrating action, but acknowledging where there is uncertainty. Acknowledgment of this uncertainty is where the invitation for collective action can take place.


These folks are merely the most visible archetypes of human leadership in times of unresolvable confusion. In every home and every family, there are many millions more who are discovering what high-risk decision making is all about. May you all persevere in this time in being a leader who confronts the reality of Aporia and works diligently against mere confusion.

07 Apr 18:33

iOS and iPadOS 13.4.1 feature FaceTime and Bluetooth glitch fixes

by Patrick O'Rourke
iPad Pro

iOS 13.4.1 and iPadOS 13.4.1, the latest versions of Apple’s mobile operating systems, are now available.

Similar to Apple’s last few software updates — with iPadOS 13.4’s new cursor support being the only notable exception — this release seems to be focused mostly on stability. For example, iOS 13.4.1 includes a bug fix for an issue that prevented iPhones running 13.4 from participating in FaceTime calls with devices running iOS 9.3.6.

The update also features a fix for the Settings app where selecting Bluetooth from the Quick Actions menu resulted in the Home Screen crashing.

On the iPadOS 13.4.1 side of things, the update solves the same FaceTime call version compatibility problem and Settings Bluetooth issue. The update also addresses an issue with the 12.9-inch iPad Pro and 11-inch iPad Pro that caused the flashlight not to turn on after tapping the flashlight button in the Control Center or Lock Screen.

To download either update, navigate to the ‘Settings’ app, then select, ‘Software Update.’ The update is currently available on both my iPhone 11 Pro Max and 11-inch iPad Pro.

The post iOS and iPadOS 13.4.1 feature FaceTime and Bluetooth glitch fixes appeared first on MobileSyrup.

07 Apr 18:11

Not making Covid-19 charts

by Nathan Yau

Will Chase, who specialized in visualization for epidemiological studies in grad school, outlined why he won’t make charts showing Covid-19 data:

So why haven’t I joined the throng of folks making charts, maps, dashboards, trackers, and models of COVID19? Two reasons: (1) I dislike reporting breaking news, and (2) I believe this is a case of “the more you know, the more you realize you don’t know” (a.k.a. the Dunning-Kruger effect, see chart below). So, I decided to watch and wait. Over the past couple of months I’ve carefully observed reporting of the outbreak through scientific, governmental, and public (journalism and individual) channels. Here’s what I’ve seen, and why I’m hoping you will join me in abstaining from analyzing or visualizing COVID19 data.

There’s so much uncertainty attached to the data around number of deaths and cases that it’s hard to understand what it actually means. This takes a high level of context in other areas on the ground. On top of that, people are making real life decisions based on the data and charts they’re seeing.

So while I think a lot of the charts out there are well-meaning — people under stay-at-home trying to help the best way they know how — it’s best to avoid certain datasets. As Chase describes, there are other areas of the pandemic to point your charting skills towards.

See also: responsible coronavirus charts and responsible mapping.

Tags: coronavirus, responsibility, uncertainty, Will Chase

07 Apr 18:11

Firefox 75 will respect ‘nosniff’ for Page Loads

by Sebastian Streich

Prior to being able to display a web page within a browser the rendering engine checks and verifies the MIME type of the document being loaded. In case of an html page, for example, the rendering engine expects a MIME type of ‘text/html’. Unfortunately, time and time again, misconfigured web servers  incorrectly use a MIME type which does not match the actual type of the resource. If strictly enforced, this mismatch in types would downgrade a users experience. More precisely, the rendering engine within a browser will try to interpret the resource based on the ruleset for the provided MIME type and at some point simply would have to give up trying to display the resource. To compensate, Firefox implements a MIME type sniffing algorithm – amongst other techniques Firefox inspects the initial bytes of a file and searches for ‘Magic-Numbers’ which allows it to determine the MIME type of a file independently of the one set by the server.

Whilst sniffing of the MIME type of a document improves the browsing experience for the majority of users, it also enables so-called MIME confusion attacks. In more detail, imagine an application which allows hosting of  images. Let’s further assume the application allows users to upload ‘.jpg’ files but fails to correctly verify that users of that application actually upload only valid .jpg files. An attacker could craft an ‘evil.jpg’ file containing valid html and upload that through the application. The innocent victim of that application solely expects images to be displayed. Within the browser, however, the MIME sniffer steps in and determines that the file contains valid html and overrides the MIME type to load the file like any other page within the application. Additionally, embedded JavaScript fragments within that page will be treated as same-origin and hence be granted the same permissions as the host application. In turn, the granted permissions allow the attacker to gain access to confidential user information.

To mitigate such MIME confusion attacks Firefox expands support of the header ‘X-Content-Type-Options: nosniff’ to page loads (view specification). Firefox has been supporting ‘XCTO: nosniff’ for JavaScript and CSS resources since Firefox 50 and starting with Firefox 75 will use the provided MIME type for page loads even if incorrect.

Left: Firefox 74 ignoring XCTO, sniffing HTML, and executing script.
Right: Firefox 75 respecting XCTO, and defaulting to plaintext.

If the provided MIME type does not match the content, Firefox will not sniff the MIME type but will show an error to the user instead. As illustrated above, if no MIME type was provided at all, Firefox will try to use plaintext or prompt a download . Showing the user an error in the case of a detected MIME type mismatch instead of trying to sniff and render a potentially malicious page allows Firefox to mitigate such MIME confusion attacks.

The post Firefox 75 will respect ‘nosniff’ for Page Loads appeared first on Mozilla Security Blog.

07 Apr 16:51

Where is the national health region map of COVID-19 Cases?

by Tracey

TracingCOVIDbanners-08It is very odd that national health organizations are not reporting COVID-19 cases aggregated into health regions even though provinces and territories are mostly reporting them in that way. And where is the national health framework datasets?

Framework data are a “set of continuous and fully integrated geospatial data that provide context and reference information for the country. Framework data are expected to be widely used and generally applicable, either underpinning or enabling geospatial applications” P.7.

Federal Electoral Districts for example, are the official framework data for Elections Canada and these data are updated for each election.  They are used to administer elections, report the results of exit polls during the elections, and show the results after an election.  Framework data are available in multiple formats as well as in cartographic or mapping products for Geographic Information Systems (GIS) such as ESRI, MapInfo or Tableau (Shapefiles), in KML formats for GoogleMaps, and in standardized online mapping GML Formats which also happens to also be a Treasury Board Secretariat of Standard for Geospatial Data. Election result data are aggregated into these framework data along with other socio-economic data, and once these data are mapped we can compare and can tell a more nuanced local, regional and national story, we can see patterns across the country.  The benefit of framework data are many, what is also great is they are created once by an authoritative source, they are updated and reliable, they are used many times, they are open data and everyone knows where to get them.

Considering that health care spending is one of the largest expenditures we have as a nation state, and it would be expected that in an era of accountability and transparency and where outcomes based management is the norm, it is astonishing that health data including its social determinants data are not disseminated in this way.  Yes, there are privacy issues, but we are capable of addressing those with the Census and Elections, which means we can also do so for health. We need to have an evidence based conversation about population health now more than ever, and we will need these data to tell a socio-economic story as well. Could we have done better? Who is doing great and why and who is not doing so great and why, what can we learn and what is the remedy?

Numerous useful and insightful interactive maps were published after the elections (CBC, CTV, Macleans, ESRI and many others), and these generated much discussion, people could see the results, they could situate themselves, they could see what friends and family in other places were experiencing.  Analysts and policy makers also had what they needed to understand and plan a new context. This is what democratic evidence based data journalism and policy making is all aboutt!

Natural Resources Canada is normally the producer of Canada’s framework data but it does not produce a health region framework dataset for Canada.  Arguably, these data would not only be useful during a pandemic, but also for administering and reporting health associated with natural resources such as allergies in the spring and fall, food insecurity, health and farming, or health after a natural disaster such as flooding and fires.  They data would also be useful to see where money is spent providing Canadians with the evidence they require to advocate for change.

So why no national heath reporting by their administrative boundaries and where is the health region framework dataset?

National Health Reporting Canada:

Virihealth.com and ESRI Canada produced the the first National ge0-COVID-19 reporting:

https://virihealth.com/

https://virihealth.com/

https://resources-covid19canada.hub.arcgis.com/app/eb0ec6ffdb654e71ab3c758726c55b68

https://resources-covid19canada.hub.arcgis.com/app/eb0ec6ffdb654e71ab3c758726c55b68

Federal Government:

Canada as a federation has jurisdictional divisions of power, and one of those jurisdictional  divides is health. We have the Canada Health Care Act (CHA) that

“establishes criteria and conditions related to insured health services and extended health care services that the provinces and territories must fulfill to receive the full federal cash contribution under the Canada Health Transfer (CHT)”.

The Canada Health Transfer (CHT) provides long-term predictable funding for health care, on a per capital basis and

“supports the principles of the Canada Health Act which are: universality; comprehensiveness; portability; accessibility; and, public administration”.

The provinces and territories receive cash transfers to deliver health care to Canadians and health care data reporting is done by the each province and territory separately. This alone justifies the creation of a national health region framework dataset. Which organization should be responsible for it?

There are three main organizations which are part of the Canada Health Portfolio  that currently report official COVID-19 cases. At the moment, they do not publish COVID-19 case data by health regions.

Health Canada “is the Federal department responsible for helping Canadians maintain and improve their health, while respecting individual choices and circumstances.” Health Canada is an official and authoritative national source of COVID-19 data and it publishes the Coronavirus disease (COVID-19): Outbreak update. Reporting includes an interactive map and a line graph of data by Province and Territory.

https://www.canada.ca/en/public-health/services/diseases/2019-novel-coronavirus-infection.html

https://www.canada.ca/en/public-health/services/diseases/2019-novel-coronavirus-infection.html

Public Health Agency of Canada (PHAC) promotes and protects the health of Canadians through leadership, partnership, innovation and action in public health and it does so by: Promoting health; Preventing and controlling chronic diseases and injuries; Preventing and controlling infectious diseases; Preparing for and responding to public health emergencies; Serving as a central point for sharing Canada’s expertise with the rest of the world; Applying international research and development to Canada’s public health programs; and Strengthening intergovernmental collaboration on public health and facilitate national approaches to public health policy and planning. PHAC now disseminates an excellent interactive dashboard entitled the National Epidemiological Summary of COVID-19 Cases in Canada. Their data sources are: Public Health Agency of Canada, Surveillance and Risk Assessment, Epidemiology update; Natural Resources Canada – Grey basemap with Credit: COVID-19 Situational Awareness tiger team Powered by ESRI-Canada and COVID-19 Canadian Geostatistical Platform, a collaboration between Public Health Agency of Canada, Statistics Canada and Natural Resources Canada.

https://phac-aspc.maps.arcgis.com/apps/opsdashboard/index.html#/e968bf79f4694b5ab290205e05cfcda6

https://phac-aspc.maps.arcgis.com/apps/opsdashboard/index.html#/e968bf79f4694b5ab290205e05cfcda6

Canadian Institute for Health Research (CIHR) is the Government of Canada’s health research investment agency and its mandate is to “excel, according to internationally accepted standards of scientific excellence, in the creation of new knowledge and its translation into improved health for Canadians, more effective health services and products and a strengthened Canadian health care system.” Although a research funding organization, CIHR could publish a national framework dataset of health units to help researchers in Canada and to also to disseminate the findings of research either about COVID-19 or any other research according to those administrative boundaries. (Update 07/04/2020 CIHR does not have a framework data file)

A national non-governmental organization, the Canadian Institute for Health Information (CIHI) also disseminates national comparative health data, mostly about the administration of health and it would make sense for them to also publish data by health units and to have such a framework dataset. CIHI is an independent, not-for-profit organization that provides essential information on Canada’s health system and the health of Canadians. (Update 07/04/2020 CIHI does not have a framework data file). CIHI’s mandate is

“to deliver comparable and actionable information to accelerate improvements in health care, health system performance and population health across the continuum of care”.

Natural Resources Canada is the producer of most of Canada’s Framework data, and it could with the help of the Canadian Council on Geomatics Provincial and Territorial Accord could create this framework file and this was discussed at the 4th Annual SDI Summit meetings hosted in Quebec City in the Fall of 2019.

Statistics Canada produces Provincial and Territorial Health Geographies and it does seem to have a national GIS Health Regions: Boundaries and Correspondence with Census Geography file for 2018, and if that is the case, why are health geographies not reported by these boundaries? (Update 07/04/2020 StatCan has a 2018 GIS national health geography file).  Here is a PDF version of the 2018 map.

https://www150.statcan.gc.ca/n1/pub/82-402-x/2018001/maps-cartes/rm-cr14-eng.htm

https://www150.statcan.gc.ca/n1/pub/82-402-x/2018001/maps-cartes/rm-cr14-eng.htm

Provincial and Territorial Official COVID-19 Case Reports and health geographies:

Below I have compiled a list of official COVID-19 Case reporting by province and territory, and when I could find them, I included a link to health administration geographies. That does not mean that data are reported in maps, but data are generally tabulated according to health administration geographies.

Alberta

British Columbia

Manitoba (Updated RHA and Map info. 07/04/2020)

Newfoundland and Labrador (Updated RHA and Map info. 07/04/2020)

New Brunswick (Updated RHA and Map info. 07/04/2020)

North West Territories

Nova Scotia

Nunavut

Ontario

Prince Edward Island (Updated Health PEI info. 07/04/2020)

Quebec (Updated Map info 08/04/2020)

Saskatchewan

Yukon (Updated Health Region info. 07/04/2020)

I have emailed each of the Provincial and Territorial governments to confirm that I have the latest heath geography framework data.  I have received updates from Yukon, Quebec,  PEI, New Brunswick, and Manitoba, and have updated map data accordingly. I have also received correspondence from Statistics Canada, and CIHI.

For the moment ESRI Canada and some of the Provinces and Territories are reporting Official COVID-19 Cases by health region geographies.  Why aren’t Health Canada and the Public Health Agency of Canada doing so?  And where is the National Health Region Framework Data file?

07 Apr 16:46

Pixel 4 can now require open eyes when using face unlock

by Jonathan Lamont
Pixel 4 Face unlock menu

Pixel 4 owners can finally access a more secure version of the phone’s face unlock feature.

One of the biggest issues with the Pixel 4 at launch was that its face unlock system would recognize users even when their eyes were closed. It was a stark difference from Apple’s Face ID system, which wouldn’t work unless your eyes were open.

The idea behind requiring open eyes is that it makes it harder for people to get into your phone without your permission. For example, not requiring open eyes means someone could unlock your phone by pointing it at your face while you sleep.

Google said it was working on the feature a while ago, and it also recently turned up in the Settings app on Pixel 4 devices. However, users were unable to access the feature. Further, the feature went live on Pixel 4 devices running the second Android 11 Developer Preview, which dropped in March.

Ultimately, it looks like Developer Preview 2 (DP2) had the same feature cross over as DP1 earlier this year. DP2 had the April security patch, which included the face unlock update. Likewise, DP1 featured several changes thought to be part of Android 11 but that were actually part of the March security patch.

To turn on the feature, you’ll need to head to Settings > Security > Face unlock > Require eyes to be open.

Along with the updates to face unlock, the April security patch brought fixes for annoying Bluetooth bugs. That includes an issue with dropped audio as well as a fix for a memory leak that prevented additional Bluetooth Low Energy connections.

The April security patch should be hitting Pixel 4, 3, 3a and 2 devices now.

Source: Engadget

The post Pixel 4 can now require open eyes when using face unlock appeared first on MobileSyrup.