Shared posts

21 Feb 18:39

Fun with macros: anaphoric lambda

In “On Lisp”, Paul Graham introduced the concept of “anaphoric macros”, a term he borrowed from linguistics. We can have them in Elixir as well, and while they’re dangerous because code written in them might confuse people, they are fun to play with.

So what is an anaphoric macro exactly? Let’s start by example: Common Lisp has the loop macro which is pretty much for with everything but the kitchen sink. I think books have been written about it. From the Wikipedia article on anaphoric macros:

(loop for element in '(nil 1 nil 2 nil nil 3 4 6)
       when element sum it)
 ;; ⇒ 16

Like an anaphora in linguistics, it refers to something that came before, in this case the result of the conditional clause. It just magically appears, without warning, poking up its head like a jack-in-the-box and you need to know about the loop macro to know that you can use it here. But, for its expensive and posh sounding name, it’s a simple concept: a macro that on expansion introduces variables the user didn’t specify.

A more interesting example is when you make an anaphoric lambda macro:

(defmacro alambda (parms &body body)
   `(labels ((self ,parms ,@body))
      #'self))

This macro packs a punch: it introduces the lambda expression as an anaphoric variable in the macro, which means that you can refer to it from the lambda expression. The result is that you can write:

(alambda (n)
   (if (= n 0)
     1
     (* n (self (1- n)))))

Look - an anymous function that can call itself recursively supported by just three lines! Much nicer than the Y combinator version which is too long to list here. On the same page, the Elixir Y combinator solution is much shorter:

fib = fn f -> (
      fn x -> if x == 0, do: 0, else: (if x == 1, do: 1, else: f.(x - 1) + f.(x - 2))	end
	)
end

y = fn x -> (
    fn f -> f.(f)
  end).(
    fn g -> x.(fn z ->(g.(g)).(z) end)
  end)
end

IO.inspect y.(&(fib.(&1))).(40)

It works, but it is hardly elegant. Can we have an anaphoric lambda in Elixir?

Well, yes, but it is somewhat harder. While Elixir has a pretty powerful macro system it has a very clear and compile time distinction between “data” and “code” and the sort of on-the-fly function definition thing that the Lisp version leans on using labels won’t cut it. The simplest I got to work is this:

defmodule AnaphoricLambda do
  defmacro alambda(fun) do
    r = Macro.var(:self, nil)

    quote do
      unquote(r) = unquote(fun)
      fn (x) -> unquote(fun).(x, unquote(r)) end
    end
  end
end

defmodule Test do
  import AnaphoricLambda
  def test do
    fib = alambda fn
      x, _ when x < 0 -> raise "Stay positive!"
      0, _ -> 0
      1, _ -> 1
      n, self -> self.(n - 1, self) + self.(n - 2, self)
    end
  end
end

IO.inspect Test.test()

This is short but not very elegant. We inject the function into itself to enable the recursion, but that means that we need to write the single-argument function as a two-argument one where the second argument is the anaphoric variable.

Now, I’m not sure that this is an optimal solution but I puzzled over it for a couple of hours and this is the best I could come up with (I’m writing this post partially in the hope that someone will correct me and come up with something nice - I’m hardly a macro specialist). Note the

r = Macro.var(:self, nil)

which creates a variable self in an empty context. If you start digging through the ASTs during macro hacking then you’ll see that you need this nil context for such local variables. It expands to just {:self, [], nil} but writing it this way shows intent better.

What we want is a simple one-argument fn and the macro then has to tweak things. Without further ado:

defmodule I do
  defmacro alambda(block) do
    r = Macro.var(:self, nil)
    block = Macro.prewalk(block, fn
      {:when, meta, elems} ->
	{:when, meta, [r | elems]}
      b = {:->, meta, [lhs, rhs]} ->
        case lhs do
	  [{:when, _, _} | _] ->
	    b
	  _ ->
	    {:->, meta, [[r | lhs], rhs]}
	end
      { {:., meta, [{:self, _, _}]}, _, args} ->
        { {:., meta, [r]}, [], [{:self, [], nil} | args]}
      other ->
	other
    end)
    block = quote do
      r = unquote(block)
      fn x -> r.(r, x) end
    end
    IO.puts Macro.to_string(block)
    block
  end
end

defmodule Test do
  import I
  def test() do
    fib = alambda fn
      x when x == 1 or x == 0 ->
        x
      x ->
        self.(x - 2) + self.(x - 1)
    end
    IO.inspect fib.(20)
  end
end

Test.test()

We made the invocation quite nice: the alambda expression now has just a single argument and the self is magically injected. But that macro is enough to give you a headache (and it is hardcoded to single argument functions, although that shouldn’t be too hard to fix). We use Macro.prewalk/2 to walk through the function body and we match for three clauses in the AST:

  • {:when, meta, elems} matches a when clause. elems are the arguments to when and this is a flat list of parameters and then the when expression as the last element. We simply prepend self to the parameters so that x when x == 1 now reads self, x when x == 1.

  • {:->, meta, args} matches a regular function head. We need to exclude a when clause in therei because it gets processed in the first clause but otherwise we do the same trick: x -> is changed to read self, x.

  • Finally, { {:., meta, .... matches a function call. When we recurse from the function body, we need to rewrite self.(x - 2) into self.(self, x - 2) and that completes the expansion.

There is debugging code in the macro code to print the expansion, and this is what we create:

 r = fn
    (self, x) when x == 1 or x == 0 ->
      x
    self, x ->
      self.(self, x - 2) + self.(self, x - 1)
  end
  fn x -> r.(r, x) end

Pretty much what we wrote manually before, and this compiles and runs. The first clause causes an “unused” warning because the self there really should be a _self but as the author here I can leave that as an exercise to the reader.

Anaphoric lambda, yay! Now, are we loosing a lot of performance? The reason I switched from factorial to fibonacci is that the trivial recursive implementation is bad. It is even O(2n) bad, people on StackOverflow tell me (and it is true because that answer got upvotes). Using :timer.tc/1 and a trivial regular function definition, we can compare:

def fib(x) when x == 0 or x == 1, do: x
def fib(x), do: fib(x - 1) + fib(x - 2)
...
IO.inspect :timer.tc(fn ->
  fib.(20)
end)
IO.inspect :timer.tc(fn ->
  fib(20)
end)

This very scientific benchmark shows 1.4ms for the anaphoric lambda version and 1.2ms for the regular function. Not bad, the overhead for the anaphoric lambda doesn’t seem to be very high, but O(2n) starts showing. Let’s push it a bit and calculate the 40th number instead of the 29th (the tc/1 function returns a tuple with the time in microseconds and the function return value):

{21719438, 102334155}
{18201677, 102334155}

Ouch. 2n hits hard. And I wanted to know the 400th Fibonacci number! Can we do better? Yes we can, with an all-time favorite macro writers tool, “memoization”. We sneak in some time-for-memory tradeoff by expanding the macro so that we only calculate any given fibonacci number once. The whole variable injection stays the same, but we now introduce a unique key for this particular macro and then return code that stores results in ETS so they only need to be created once:

    ...
    memo_key = :erlang.unique_integer()
    retval = quote do
      r = unquote(block)
      m_r = fn self, x ->
	case :ets.lookup(Memoize, {unquote(memo_key), x}) do
	  [] ->
	    v = r.(self, x)
            :ets.insert(Memoize, { {unquote(memo_key), x}, v})
`	    v
	  [{_key, val}] ->
	    val
	end
      end
      fn x -> m_r.(m_r, x) end # TODO more than one arg
    end
	...

This now results in the following expansion:

r = fn
    (self, x) when x == 1 or x == 0 ->
      x
    self, x ->
      self.(self, x - 2) + self.(self, x - 1)
  end
  m_r = fn self, x -> case(:ets.lookup(Memoize, {-576460752303423327, x})) do
    [] ->
      v = r.(self, x)
      :ets.insert(Memoize, { {-576460752303423327, x}, v})
      v
    [{_key, val}] ->
      val
  end end
  fn x -> m_r.(m_r, x) end

We first lookup in ETS, and if there’s a value we return that. We smash O(2n) to O(n) and that shows:

{14, 102334155}

Note that the really nice thing here is that we did not have to touch our code. The alambda fn ... is untouched but we sped it up by, well, a lot of orders of magnitude. Memoization truly can be a miracle!

If you want to use memoization for more serious purposes than this code diversion, there are multiple packages on Hex that will help you out. The version here is lacking because there is no way to clean out unused values (you probably want something with a TTL, for example).

Also, if you want to generate fibonacci numbers quickly, here’s an O(1) version:

def Fibonacci do
  @φ (1 + :math.sqrt(5)) / 2
  @sqrt_5 :math.sqrt(5)
  def fib(x) do
    round(:math.pow(@φ, x) / @sqrt_5)
  end
end

It probably shows that math trumps recursion and certainly shows that tricks like anaphoric macros and memoization are best left in the toolbox until you’re sure you need them. But I had fun with them, and that counts for something :)

03 Jun 00:02

The Best iPhone Screen Protectors

by Nick Guy
An iPhone and all the tools and materials needed to replace a screen protector.

Using a glass screen protector isn’t a guarantee that you’ll never break your iPhone’s screen. But a protector can prevent screen scratches, which affect the structural integrity of the glass and make cracks more likely.

After testing dozens of iPhone-screen protectors over the past eight years, we’ve found that most of them are made of the same glass. The biggest differences lie in the ease of installation—few things are more annoying than a slightly misaligned screen protector or a trapped speck of dust.

It’s important to buy a screen protector designed specifically for the iPhone model you own. iPhone 14 and 14 Pro protectors won’t fit an iPhone 15 or 15 Pro.

If you own an iPhone 15, Spigen’s Glas.tR EZ Fit Tempered Glass Screen Protector (Sensor Protection) for iPhone 15 offers one of the most foolproof installation systems we’ve found. Spigen also makes our favorite screen protectors for older iPhones.

Dismiss
02 Jun 17:35

Fight Peacefully

by Tristan Louis
My heart weeps looking at the fires over many American cities today. Much like every anti-racist in the country, I was horrified by the death of George Floyd while in police custody. This incident, coming at a time when the world used collective actions to fight the invisible enemy called COVID-19, is sadly the latest in a string of violent interactions between police and people of color.

In the world of Reverend Martin Luther King Jr., “Violence never really deals with the basic evil of a situation… it is always a descending spiral leading nowhere. This is the ultimate weakness of violence: it multiplies evil and violence in the universe. It doesn’t solve any problem.”

Some would say that it is judgmental of me, as a white man, to use MLK’s word on the principle of non-violence at this time, as many of the angriest looters are using the grief of a country to destroy communities. But to me, it is the violence inherent in our system that fuels much of the problem.

Whenever a person of color is abused by someone in a position of authority, whether it is a policeman, a politician, or a business leader, we all lose as a society. And while those aggressions happen on a daily basis, it is often the documentation of said aggression that drives to protest.

And yet, little progress is made. Little progress is made because business leaders like myself fail in demanding that the situation change. Almost a quarter of a millennia after the great American experience was started on the basis of forming “a more perfect union,” the dream of a working melting pot is still too far from reality for too many.

When combined with the economic grief that has led tens of millions to the unemployment lines, the United States is on the brink of disaster. And when the voices of too many are unheard, it leads to violent actions of the kind we have witnessed over the last few days.

It does not have to be that way. Reverend King has taught us that “”Nonviolence is a powerful and just weapon. Indeed, it is a weapon unique in history, which cuts without wounding and ennobles the man who wields it.”

At a time when people of color die in police custody with too great a frequency, we can no longer just stand silent, because such silence equals tacit support for a spiral of violence that is counter to the American ethos.

So I side with the peaceful demonstrators asking for justice not only for George Floyd but for all the cases where power is being abused to put down people of color; I side with anyone willing to advance meaningful reform to tear down the persistent evils of institutional systemic racism; I side with anyone for whom George Floyd is just one name too many, another life crushed when it didn’t have to be.

We have learned at Selma that standing peacefully in the face of hatred is not easy. As John Lewis recently said, reminding us of his long history of non-violent resistance:

Justice has, indeed, been denied for far too long.  Rioting, looting, and burning is not the way.  Organize.  Demonstrate.  Sit-in.  Stand-up.  Vote.  Be constructive, not destructive.  History has proven time and again that non-violent, peaceful protest is the way to achieve the justice and equality that we all deserve.

Our work won’t be easy — nothing worth having ever is — but I strongly believe, as Dr. King once said, that while the arc of the moral universe is long, it bends toward justice.”

I, as a white male, have a responsibility to stand not only as an ally but as a leader in helping that arc bend toward justice. And because I’ve seen this country, and the rest of the world, work collectively in its fight against COVID-19, I have hope that we, as human beings, can work together and build a better world.

And I intend to continue to do it peacefully because non-violence may not always work but violence never does.

The post <span class='p-name'>Fight Peacefully</span> appeared first on TNL.net.

02 Jun 17:35

Pocket provides fascinating reads from trusted sources in the UK with newest Firefox

by Carolyn O'Hara

It’s a stressful and strange time. Reading the news today can feel overwhelming, repetitive, and draining. We all feel it. We crave new inputs and healthy diversions—stories that can fuel our minds, spark fresh ideas, and leave us feeling recharged, informed, and inspired.

Connecting people with such stories is what we do at Pocket. We surface and recommend exceptional stories from across the web to nearly 40 million Firefox users in the U.S., Canada, and Germany each month. More than 4 million subscribers to our Pocket Hits newsletters (available in English and in German) see our curated recommendations each day in their inboxes.

Today we’re pleased to announce the launch of Pocket’s article recommendations for Firefox users in the United Kingdom. The expansion into the UK was made seamless thanks to our successes with English-language recommendations in the U.S. and Canada.

What does this mean for Firefox users in the UK? Open a new tab every day and see a curated selection of recommended stories from Pocket. People will see thought-provoking essays, hidden gems, and fascinating deep-dives from UK-based publishers both large and small — and other trusted global sources from across the web.

Open a new tab to see a curated selection of recommended stories

Where do these recommendations come from? Pocket readers. Pocket has a diverse, well-read community of users who help us surface some of the best stories on the web. Using our flagship Pocket app and save button (built right into Firefox), our users save millions of articles each day. The data from our most saved, opened, and read articles is aggregated; our curators then sift through and recommend the very best of these stories with the wider Firefox and Pocket communities.

The result is a unique alternative to the vast array of content feeds out there today. Instead of breaking news, users will see stories that dig deep into a subject, offer a new perspective, and come from outlets that might be outside their normal reading channels. They’ll find engrossing science features, moving first-person narratives, and entertaining cooking and career how-tos. They’ll discover deeply reported business features, informative DIY guides, and eye-opening history pieces. Most of all, they’ll find stories worthy of their time and attention, curated specifically for Firefox users in the United Kingdom. Publishers, too, will benefit from a new stream of readers to their high-quality content.

Pocket delivers these recommendations with the same dedication to privacy that people have come to expect from Firefox and Mozilla. Recommendations are drawn from aggregate data and neither Mozilla nor Pocket receives Firefox browsing history or data, or is able to view the saved items of an individual Pocket account. A Firefox user’s browsing data never leaves their own computer or device. .

We welcome new Pocket readers in the UK — alongside our readers in the U.S., Canada, and Germany — and hope you find your new tab is a breath of fresh air and a stimulating place to refuel and recharge at a time when you may be needing it most.

Download Firefox to get thought-provoking stories from around the web with every new tab. Be sure to enable the recommendations to begin reading.

The post Pocket provides fascinating reads from trusted sources in the UK with newest Firefox appeared first on The Mozilla Blog.

02 Jun 17:35

Them of Receiver

by peter@rukavina.net (Peter Rukavina)

This is one of my favourite photos; I took it two years ago at Receiver Coffee Brass Shop, and magically managed to capture the People of Receiver at just the right moment in their smiles:

The People of Receiver Coffee Brass Shop

Receiver has been a lifeline for me and Oliver during the pandemic; their weekly deliveries of coffee beans, bread and “Seany’s Suppers” have been invaluable both for their sustenance and for allowing us to retain a tether to the world outside our doors. This will be the first week I haven’t placed a Receiver delivery order, but that’s simply because Receiver is open again, now that we’re in Phase 3. So I can pop in any time. In fact I might go there for lunch today!

02 Jun 17:27

"For the first time, I don't love it"

by Rui Carmo

A well-written take from someone who skipped The Great Keyboard Nightmare Years and is comparing a new MacBook to the 2013 Air.

The webcam bit hits the nail in the head, but there are a lot of excellent points being made here. Port placement, the touchbar, and basic ergonomics have all been issues with the “ultra slim” designs, and now that they’ve “fixed” (read: regressed) the keyboard, this seems like a great list of things to address in the next redesigns.

(It is certainly ironic that I am typing this post on a Surface Laptop 2, which has none of those problems whatsoever, except that the headphone jack, although being on the left side, is not in fact close to the front–there would be no room for it there given its tapered wedge shape…)


02 Jun 14:00

Why dialogic education is education for meaning

Rupert Wegerif, Jun 02, 2020
Icon

At the beginning of the twentieth century there was a decisive new movement in philosophy characterized by Rorty as 'the linguistic turn'. If I had to summarize it in a nutshell, I'd say it was the shift from a search for truth to a search for meaning. I personally think it's time to move beyond this shift, but it is as entrenched in cultural discourse as concepts like value and fairness. It's hard even to find words to express the alternative. Anyhow, all this is to introduce this interesting interview with Tina Kullenberg, who criticizes the 'monologic' approach to education that "seemed to be to draw children up from participatory contextual meaning into more systematic conceptual meaning," arguing instead in favour of a context-based 'dialogic' model where "participation is essential for meaning and the participatory bond between children and their worlds should not be broken." And you can see my own meta-critique in perspective here, where I ask my education should be about 'meaning' at all, instead of (say) experience, growth, or connection.

Web: [Direct Link] [This Post]
02 Jun 14:00

Verizon: The End Of Circuit Switching – The End Of An Era

by Martin

Most cellular network operators around the world still have a circuit switched core network today for voice and SMS services for their 2G/3G access networks. There are a few exceptions like one operator in India that launched with an LTE-only VoLTE network a few years ago. But apart from a few, that is the status quo. And it’s unlikely to change for most operators for the following reasons:

  • They still want to serve their own subscribers with non-VoLTE capable devices.
  • They still have a lot of GSM based M2M business that requires a circuit switched core network.
  • They want to make business with incoming roaming customers. VoLTE roaming has been standardized many years ago but so far, only very few network operators and devices support it today.

Most network operators thus keep running their circuit switched core network. It’s virtualized by now, so there are no ‘extra’ trunks these days anymore for GSM or UMTS, it all runs over the same infrastructure as LTE and 5G. But someone has to keep the aging switching center software and hardware nodes running.

As there is still money to be earned with 2G/3G, I was surprised for a moment that Verizon in the US is now close to switching-off their legacy network (see here and here). But for them it makes sense because they don’t make money with any of the three use cases above:

  • The US in general and Verizon in particular has a very closed cellular ecosystem so there are likely only few customers left without VoLTE capable devices.
  • Their 2G/3G legacy access network is not based on GSM but on CDMA. As a consequence they have very few roaming customers.
  • For the same reason I would assume that Verizon has very few if any M2M customers on their 2G/3G CDMA network.

So, in other words, they are one of the few network operators which will not be hurt by a 2G/3G switch-off. Quite the contrary. Not needing to support a virtual circuit switched infrastructure will save them quite a bit. But it will be the end of an era for Verizon. After all, circuit switched systems formed the global telecommunication backbone for nearly a century. Packet switching, after a tough uphill battle starting in the 1960’s and 1970 finally took over voice telephony to a large extent only in the last decade. A 50 year struggle if you like.

From my point of view I don’t see 2G going away as a general trend in mobile networks yet. That is, not until VoLTE-roaming has become more popular and M2M business goes to LTE NB-IoT or M1. (Virtual) circuit switching might become marginal, but it will remain in place. Shockingly, it seems most network operators have no programs in place whatsoever to encourage a change.

02 Jun 13:59

Racial Divide

by Nathan Yau

It's hard to think of much else. These maps show the racial divide between black and white people in major cities. Read More

02 Jun 13:59

Image Scrubber

by Volker Weber
This is a tool for anonymizing photographs taken at protests.

It will remove identifying metadata (Exif data) from photographs, and also allow you to selectively blur parts of the image to cover faces and other identifiable information.

More >

02 Jun 13:59

Apple Music Honors Black Out Tuesday with Awareness Efforts, Alternate Programming

by Ryan Christoffel

Today Apple Music has joined a unified effort in the music industry to raise awareness about the injustice of racism and show support for Black communities around the world. Black Out Tuesday is being observed in different ways by different organizations, but Apple Music’s approach involves a full-page takeover of the For You and Browse sections in the app, which currently feature a message of solidarity and a single option: Listen Together. Selecting this will begin playing a special radio stream celebrating Black artists.

Apple Music users will still be able to access their full Library today, as well as use the search option to discover new music. But for the remainder of the day, the standard recommendations from Apple’s staff, algorithmic playlists, and any other radio content including normal Beats 1 programming will all be unavailable.


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
02 Jun 13:58

RT @mutantballyhoo: I love the “N-Y-P-D, suck-my-dick!” chant because it can’t be co-opted by corporations making ads. Like Amazon or Apple…

by mutantballyhoo
mkalus shared this story from AliceAvizandum on Twitter.

I love the “N-Y-P-D, suck-my-dick!” chant because it can’t be co-opted by corporations making ads. Like Amazon or Apple or whatever would have to be like “we also believe NYPD should suck your dicks”


Retweeted by AliceAvizandum on Tuesday, June 2nd, 2020 6:22am


38966 likes, 7171 retweets
02 Jun 01:16

{sergeant} 0.9.0 Is On Its Way to CRAN Mirrors!

by hrbrmstr

Tis been a long time coming, but a minor change to default S3 parameters in tibbles finally caused a push of {sergeant} — the R package that lets you use the Apache Drill REST API via {DBI}, {dplyr}, or directly — to CRAN.

The CRAN automatic processing system approved the release just under 19 minutes from submission.

What’s in version 0.9.0 (or, better: “what’s changed since CRAN 0.6.0?”):

  • API retries! (#ty @jameslamb)
  • Spelling! (#ty @trinker)
  • No Java! (me)
  • 0-row result handling! (#ty @scottcame)
  • progress bars! (#ty @scottcame)
  • fix auth issue! (#ty @Ahine)
  • better docker UX! (#ty @davidski)
  • column order preservation (fixes #18)
  • new `drill_functions()
  • much better error messages
  • 64-bit integer support
  • CTAS from a tbl (#29)
  • switch to {tinytest}
  • DBI tests

Some of this has been in past blog announcements, but now they’re all together in CRAN.

FIN

Apache Drill 1.18.0 (if there is one, the company that bought MapR has abandoned Drill so the fate of Drill is somewhat up in the air) will have support for streaming resultset, which will make the REST API actually usable for large data returns, so that’s on the menu for {sergeant} 1.0.0.

Getting {sergeant.caffeinated} on CRAN is also on the TODO as it contains the separated out JDBC bits.

Many thanks, again, to all the contributors who made 0.9.0 possible. As usual, file issues and/or PRs wherever you’re most comfortable.

02 Jun 01:15

The Online Therapy Services We’d Use

by Shannon Palus and Nancy Redd
A person sitting on a couch with a laptop open on their lap. The laptop is displaying the AmWell website.

It’s tricky being a person. Talk therapy can help.

Online therapy can make finding the right therapist (and continuing to work with them) a bit easier, especially for people with transportation issues or time constraints. It also makes the process simpler for those who live in an area with little variety in the type of therapy or therapist offered, or somewhere without many licensed mental-health professionals at all.

After putting in more than 100 hours of research over five years and trying appointments on eight video-therapy platforms, we recommend starting your online-therapist search with MDLive.

If you’re seeking a specific type of therapist licensed to practice in your state, we’ve also compiled a list of free or low-cost therapist-finding services, which you may find helpful as you search for the best talk-therapy option for you.

Dismiss
02 Jun 01:15

You need to act on principle

by Volker Weber

[Read the thread]

Facebook’s real risk here, as I see it, is getting branded as the social network for racists. Talent retention is the top challenge for every tech company. We’re going through history, right now, and Facebook is on the wrong side of it. No one wants that on their resume.

I will make this really easy for you: Do not trust Zuckerberg, ever. Don't use Facebook, don't use Instagram, don't use WhatsApp. On principle. Or you will find yourself on the wrong side of history too.

More >

02 Jun 01:15

This is a bizarre dichotomy. The vast majority of preparations are required whether the UK gets its Canada Style Bare Bones Just The Tariffs Ma'am or not. UK should absolutely be doing both. twitter.com/DPhinnemore/st…

by DmitryOpines
mkalus shared this story from DmitryOpines on Twitter.

This is a bizarre dichotomy.

The vast majority of preparations are required whether the UK gets its Canada Style Bare Bones Just The Tariffs Ma'am or not.

UK should absolutely be doing both. twitter.com/DPhinnemore/st…

With next round of UK-EU negotiations this week, time for the UK to decide whether the "UK’s attention should move away from negotiations and focus solely on continuing domestic preparations to exit the transition period in an orderly fashion"

assets.publishing.service.gov.uk/government/upl… pic.twitter.com/CQB0ypXpiM





26 likes, 11 retweets



53 likes, 14 retweets
02 Jun 01:15

Bad $20

by Doc Searls

I once tried to pass a counterfeit $20 bill. Actually, twice.

The first was when I paid for a lunch at Barney Greengrass in New York, about two years ago. After exposing the $20 to a gizmo at the cash register, the cashier handed it back to me, saying it was counterfeit. Surprised—I had no idea there were counterfeit $20s in circulation at all—I asked how he could tell. He pointed at the gizmo and explained how it worked. I said “Okay,” gave him a different $20, got my change and walked out, intending later to compare the fake 20 with a real one.

The second was when I paid for something with the bad $20 at some other establishment, not meaning to. I just forgot I still had it in my wallet.

In respect to the current meltdown in this country—one that started, reportedly, when George Floyd attempted to pay for something with a bad $20 bill, two facts ricochet around in my mind. One is that the cashier at Barney Greengrass didn’t call the cops on me. Nor was I killed. The other is that I surely got my bad $20 where everybody gets all their $20s: from a cash machine. And that there must be a lot of counterfeit $20s floating about in the world.

Beyond that I have nothing to add. What’s happening in the U.S. today says more than enough.

 

02 Jun 01:15

COVID-19 Journal: Day 72

by george
I'd run out of coffee beans, so didn't start the day with my usual. I'm not a MUST HAVE COFFEE person, so was able to wait until late morning, when I needed to pop to the post office anyway, to post a Box. I gathered up my bits and pieces - money cards, mask, keys, phone, packaged Box, shopping bag - and left the house. The post office is close. I got there, and there was a queue of about
02 Jun 01:15

The Best OLED TV

by Chris Heinonen
A Samsung S90C Series TV displaying a vibrant rainforest scene.

OLED TVs are the best-looking TVs you can buy, delivering extremely high image contrast, rich colors, smooth motion, and much better viewing angles than LCD TVs offer. They carry a higher price, but they’re a worthwhile upgrade for anyone who is truly passionate about movies or gaming.

We recommend the Samsung S90C Series because it provides awesome picture quality at a relatively competitive price.

02 Jun 01:15

We’ve Got Work to Do

by Mitchell Baker

The promise of America is “liberty and justice for all.” We must do more to live up to this promise. The events of last week once again shine a spotlight on how much systemic change is still required. These events  — the deaths at the hands of police and civilians, the accusations that are outright lies — are not new, and are not isolated. African Americans continue to pay an obscene and unacceptable price for our nation’s failure to rectify our history of racial discrimination and violence. As a result, our communities and our nation are harmed and diminished.

Change is required. That change involves all of us. It’s not immediately clear all the actions an organization like Mozilla should take, but it’s clear action is required. As a starting point, we will use our products to highlight black and other under-represented voices in this unfolding dialog. And we’re looking hard at other actions, across the range of our activities and assets.

Closer to home we’ve reiterated our support for our black colleagues. We recognize the disproportionate impact of these events, as well as the disproportionate effect of COVID-19 on communities of color. We recognize that continued diligence could lead others to think it is “business as usual.” We know that it is not.

And this has left many of us once again, questioning how to meaningfully make our world better. As our starting point, Mozilla is committed to continuing to support our black employees, expanding our own diversity, and using our products to build a better world.

The post We’ve Got Work to Do appeared first on The Mozilla Blog.

02 Jun 01:15

The Corner Store in the West End

by Gordon Price

Say “corner store in the West End” … and the romantic among us think of this:

Most aren’t really ‘corner stores’ of course – more remnants of an age prior to ‘Euclidian’ zoning when the owner of a house with a front yard could build a storefront to the sidewalk and open for business, providing, as Sandy describes below, “a place where locals can buy milk, cheese, some staples and hear the local goings on and gossip.”

When I first moved to the West End in 1978, there was such a place literally down the lane – empty now – operated by a Korean immigrant family whose daughter I watched start to turn into a teenager.  (Perhaps now writing a novel or screenplay on the west-coast version of Kim’s Convenience.)

No wonder we feel so romantic about them, though many of those that remain are really coffee shops, able to survive on the caffeine mark-up and artisanal sundries.

For places that never had such conversions in their post-war history – starting with ’50s suburbs like Oakridge – corner stores of this kind are not allowed today, and there are reasons.  A new structure would have to be built, and it would require rezoning, raising two problematic challenges: parking and the impacts, perceived or otherwise, real or mistaken, on the present neighbours.  Ask the opinion of someone who would live in their single-family home next door to a design-controlled, limited-service, locally serving commercial establishment without parking, and then wonder whether the proposal would survive the public consultation process.

In reality, of course, there are still corner stores.  They’re very viable, selling diary, staples and many flimsy packages of fat, sugar and salt in all their processed variations, and they look like this:

They may be the only places, under 20,000 square feet, that can meet the ‘popsicle test’ – where your kids can go out by themselves to a store safely to purchase a popsicle and return home before it melts.

02 Jun 01:13

Recommended on Medium: Nothing Takes Less Than an Hour

On assessing the value of time in the era of multitasking

Continue reading on Forge »

02 Jun 01:11

Seemingly innocent image can crash most Android phones when set as wallpaper

by Jonathan Lamont

Over the weekend, you may have seen an interesting photo making the rounds on Reddit, Twitter and other social media platforms. While it looks like an innocent wallpaper featuring a mountain lake at sunset (or sunrise), the photo causes boot loops and other issues for Android phones.

Parts of the image file’s colour space triggers a crash in Android’s System UI when set as the wallpaper. It appears most Android phones are susceptible, including the latest Samsung and Pixel devices.

Of course, this isn’t the first time images have caused problems for Android phones. Last month, the Google Wallpapers app distributed images that lead to a similar crash. Google didn’t share the technical details of that issue, but Android Police notes that crashes are similar to this photo, which means they could be linked.

That issue got marked as fixed a couple weeks ago. The solution should arrive for users in a future update. However, it’s not clear if that fix will work for this new image too.

How an image crashes a smartphone

If you’re curious about how an image can crash your whole phone, here’s how it works. The colour space using in the photo is encoded incorrectly. The result is that a specific value at a certain point exceeds it’s defined maximum, which leads to an ‘out-of-bounds exception’ and crashes the System UI. Since the image is set as your background, the crash keeps repeating, even if you boot into safe mode.

The simplest fix available is a factory reset, which you can do from the recovery menu. Unfortunately, it wipes all the data from your phone. Android Police notes that one of its readers fixed the issue on a Samsung device without wiping it, but you’ll need to be quick to replicate that success.

Further, XDA Developers spotted a fix for the underlying problem submitted to Google’s Android Open Source Project (AOSP). AOSP is the underlying foundation for the Android operating system. Along with that, the folks at LineageOS described a more complex solution.

It’s also worth noting that not all Android phones or versions are affected. 9to5Google reports that Android 11 devices don’t crash because they automatically convert the colour space to resolve the problem. Huawei devices also appear to be unaffected, as do some more heavily-tweaked Android skins.

Because it has been prominently shared on the internet, it should be easy to avoid installing this particular wallpaper. However, people could modify other images to cause the same problems. Hopefully Google adopts a fix and rolls it out soon.

Source: Android Police

The post Seemingly innocent image can crash most Android phones when set as wallpaper appeared first on MobileSyrup.

02 Jun 01:10

Pixel feature drop includes sleep tracking, battery improvements and more

by Brad Bennett

Google has announced all the new features are making their way to Pixel phones soon, including improvements to the ‘Adaptive Battery’ software and a new ‘Bedtime mode’ to help people develop a consistent sleep schedule.

These updates should begin rolling gout today and everyone eligible to get them should have them within two weeks. I was able to get the new features on my Pixel 3 XL after I installed the June security update.

Bedtime mode

While Bedtime Mode has been available on Android for a while, allowing users to grey out their screens, limit app usage and turn on ‘Do not disturb’ with the touch of a button, this new update takes things even further.

This additional feature is going to be tucked inside the Google Clock app along the bottom with all the other tools. It’s worth noting that the feature recently leaked, and we now know more details about how it works.

When you tap on Bedtime, you’ll see a new interface that asks you to set what time you’d like to fall asleep and wake up. This is to help maintain a regular sleeping pattern, which Google says can “establish a strong circadian rhythm and can improve the quality of your sleep.”

Once this is set, you’ll see a preview of tomorrow’s calendar and how many hours of total sleep you’ll get. Before bed, your phone will send you a notification reminding you to get ready to sleep and if you wish, it can play calming music from a variety of sources.

If you’ve linked this with Digital Wellbeing, you can also see what apps you use the most before bed so you can try to curb your usage of them.

In the morning, the app will slowly brighten your phone screen with a yellow, sunlight-ish, coloured light 15 minutes before your scheduled alarm. I’m a little skeptical of how bright a phone screen can be, but I do stand behind how favourable a wake light can be.

Google says this is coming to Pixel phones today, and other Android devices will get the update later this summer.

Adaptive battery improvements

This update allows the phone to more accurately predict how long the battery will last and can reduce background tasks to help the phone last longer.

There’s no mention of when this is rolling out or, on average, how much more battery people can expect to get from it. Other Android phones also use Google’s Adaptive battery tech, so it’s unclear if they’ll get this update in the future or not.

Ok Google, update the Recorder app

The Recorder app can now search, start and stop your recording by using voice via Google Assistant.

As examples of the new commands, Google shared, “Hey Google, start recording my meeting,” or “Hey Google, show me recordings about dogs.”

You can also share transcripts of these recordings directly to Google Docs, making it easier than ever to edit once you’re done.

New Personal Safety features

Google is finally adding the handy personal safety app to all Pixel devices. The headline feature of this app is ‘Car Crash Detection,’ but it’s not available in Canada yet.

However, the other updates seem to apply to Canadians. One is called ‘Safety Check’ and the other allows you to get updates about weather alerts and other public emergencies on your phone.

Safety Check is a pretty cool feature for people who like to do risky things alone. You would set this up before you leave to do something like mountain biking to remind you to check in with your selected contact at a set time.

If you don’t check-in, the app will alert your contact, and if you’re in real trouble, it can show your location on Google Maps to a few pre-set emergency contacts.

While all of these updates should roll out to most Pixel devices, anyone still using an original Pixel or Pixel XL won’t get any of these features. The OG Pixel phones got their last update in December 2019.

Source: Google

The post Pixel feature drop includes sleep tracking, battery improvements and more appeared first on MobileSyrup.

02 Jun 01:10

June Android Security update available on supported Pixel phones now

by Brad Bennett
Pixel 4 downloading security patch

If you own a Google Pixel 2, 3 or 4-series phone, a new update rolling out today will help protect your device and fix bugs.

As of the time of writing, we’ve had the update appear on a Pixel 3XL, so it appears to be live for Canadians now. Notably, once I installed the update I was also able to access the new feature drop tools like the Bedtime scheduler. 

You can download and install the update from the ‘System’ section in Settings by choosing ‘System update.’ Depending on your phone, this can take anywhere from 20-minutes to an hour, however a bulk of the downloading and installing happens in the background, so you’re phone is only disabled for a few minutes.

You can find the full list of bug patch notes on the Google Pixel Phone help page, and if you want to dive into the security side of the update, Google is going to add it to the Android Security Bulletins page soon. 

Source: Google 

The post June Android Security update available on supported Pixel phones now appeared first on MobileSyrup.

02 Jun 01:10

Tracing COVID-19 Data: Data and Technological Citizenship during the COVID-19 Pandemic

by Tracey

I was just awarded a small but not insignificant award as part of the Carleton University COVID-19 Rapid Response Research Grants. Below is a description of what I will be up to, along with some great students and expert advisors.  I will share everyone’s names later.  Results of the work will be published here as it becomes available!  Stay tuned. Also, let me know if you want to contribute in any way! Tracey dot Lauriault at Carleton dot CA

Research Summary

There is much official COVID-19 data reporting by federal, provincial, territorial and Indigenous Communities. As the pandemic evolves, and more information comes to light, there is a call to add data attributes about Indigenous, Black and Racialized groups and of the affected labour force, and to report where cases predominate. The pandemic also revealed that foundational datasets are missing, such as a national list of elder care homes, maps of local health regions and data about the digital divide. This project will embrace technological citizenship, adopt a critical data studies theoretical framework and a data humanitarian approach to rapidly assess data shortfalls, identify standards, and support the building of infrastructure. This involves training students, conducting rapid response research, developing a network of experts, learning by doing and a transdisciplinary team of peer reviewers to assess results. The knowledge will be mobilized in open access blog posts, infographics, policy briefs and scholarly publications.

Research challenge:

Official COVID-19 public heath reports by Federal, Provincial, and Territorial (F/P/T) and First Nation Communities are uneven and there are calls to improve them ( 1 CBC News, Toronto Star). Asymmetries can be attributed to dynamically evolving challenges associated with the pandemic, such as working while practicing social distancing; jurisdictional divisions of power in terms of health delivery; and responding to a humanitarian crisis, where resources are stretched and infrastructures are splintered (i.e. digital divide, nursing home conditions).

The Harvard Humanitarian Initiative (HHI) developed a rights-based approach to the management of data and technologies during crisis situations which includes the right to: be informed, protection, privacy and security, data agency and rectification and redress (2). These apply to contact tracing (3 ITWorld, Scassa) and to equity groups calling for demographic data (1). Other have conducted rapid response data reporting, for example after the Haiti Earthquake volunteers developed real-time crowdsourcing data collection systems to support humanitarian responders (4 Meier) and WeRobotics mobilizes local drone expertise to objectively assess proposed pandemic response technologies (5 WeRobotics).

This research will apply a critical data studies (CDS) theoretical framework (6 Kitchin & Lauriault), the principles of the HHI and, practice technological citizenship (7 Feenbert) to the study of the Canadian COVID-19 data response. Lauriault will leverage her expertise and Canadian and international network of open data, open government, civic technology experts in government, civil society, and Indigenous Communities (see CV) as seen in the policy briefs published on DataLibre.ca (8) to rapidly assess and support COVID-19 data management and reporting.

The objective is to carry out the following activities:

  1. Compare official COVID-19 public health data reports to identify gaps and best practices (9 Lauriault & Shields).
  2. Identify and support the building of framework datasets to standardize reporting (10 Lauriault).
  3. Analyze data standards and protocols to support data management, interoperability and cross-jurisdictional reporting (11 GeoConnections).
  4. Publish case-studies, resources, an archives of official reporting, and a glossary and
  5. Rapidly conduct expert analysis, peer review, knowledge mobilization and provide evidence-based recommendations to improve data reporting.

The rationale for this research is as follows:

  1. Official COVID-19 public health data are inconsistently reported, impeding comparability, and the ability to assess impact and target actions. Also, predictions missed seniors’ homes, precarious labour, and Indigenous communities and social determinants (12 Global News, NCCDH), resulting in an increase in cases and deaths. Currently job classifications and Indigenous, Black, and Racialized people classifications (13 CTV News) remain absent. This research will create a corpus of F/P/T and Indigenous Communities’ official reports, compare results, identify gaps.
  2. Framework data are standard information infrastructures upon which other analysis can consistently be done (14 Toronto Star). When this is lacking analysis is impeded, for example there is no national reporting by health region since no national framework dataset exists (15 Lauriault), and mitigating the digital divide is thwarted with a lack of broadband maps (16 Potter & Lauriault et al.). Other missing national datasets include senior care facilities, homeless shelters, precarious labour, and Indigenous Communities (17 Gaetz et al.). Needed framework datasets will be identified and if necessary coordinate their building (18 SPCOStatCan LODE), advocacy for the opening of public datasets such as corporate registries may be carried out (19 Fed. Registry,  Open Corporate, Open Contracting), and experts from public health , social planning, and Indigenous Communities will help identify localized frameworks.
  3. Consistent COVID-19 reporting requires an interoperable infrastructure which builds upon standards developed through consensus processes (20 CIHI, PHAC). Current uneven reporting may be attributed to a lack of standards adoption and formalization in terms of data flows. This research will develop a repository of standards and protocols and share these with decision-makers to improve interoperability (i.e. Data Standards for the Identification and Monitoring of Systemic Racism (21 ON Govt) and FNIGC OCAP Principles (22 FNIGC)).
  4. Rapidly mobilizing knowledge is important to improve reporting and manage data, and to build a crisis data reporting infrastructure for the future. This project will compile, and archive information, rapidly assess and peer review results with experts and report results on DataLibre.ca and other websites, will produce infographics and policy briefs, deliver online webinars, and help administrators and Indigenous Communities improve their data and technology policies.

A CDS framework recognizes that data have social and material shaping qualities and that they are never politically neutral while also being inseparable from the people and institutions who create them including practices, techniques, and infrastructures. This involves a team of data, technology, legal, social and health, and Indigenous experts to rapidly assess official COVID-19 data assemblages and to act as technological citizens by applying knowledge in real time and mobilize results to mitigate the data shortfalls witnessed during this crisis and support decision makers to respond with a data humanitarian and rights-based approach for now and to better respond in the future.

Expected Impact:

The target audience for this rapid response data and technology reporting is F/P/T public officials and Indigenous Community Leaders who manage public health, socio-economic, statistical and official record data flows; and civil society actors and the public involved in open data, open government and open contracting, transparency and accountability. This includes C-class executives, chief technology, information data, and digital officers.

The outcome of this research is to standardize and improve humanitarian crisis data management and data reporting in the short term to ensure consistent reporting, and in the long term establish standardized data workflows and operationalize data infrastructures for this pandemic in preparation for the next.

The timing to compile, inventory and build an open access archives of official data reporting is now as the fractures in the system have become apparent in real-time and have had negative consequences. It is important to monitor the response as it evolves so as to be able to improve it while our collective institutional memory is fresh and to have the evidence available as a reminder for if and when we forget, but also to build more robust systems.

The results of this research will be continuously reported and made openly accessible as it becomes available and will lead to the formation of a new research team.

02 Jun 00:16

The Corner Store in the West End

by Gordon Price
mkalus shared this story from Price Tags.

Say “corner store in the West End” … and the romantic among us think of this:

Most aren’t really ‘corner stores’ of course – more remnants of an age prior to ‘Euclidian’ zoning when the owner of a house with a front yard could build a storefront to the sidewalk and open for business, providing, as Sandy describes below, “a place where locals can buy milk, cheese, some staples and hear the local goings on and gossip.”

When I first moved to the West End in 1978, there was such a place literally down the lane – empty now – operated by a Korean immigrant family whose daughter I watched start to turn into a teenager.  (Perhaps now writing a novel or screenplay on the west-coast version of Kim’s Convenience.)

No wonder we feel so romantic about them, though many of those that remain are really coffee shops, able to survive on the caffeine mark-up and artisanal sundries.

For places that never had such conversions in their post-war history – starting with ’50s suburbs like Oakridge – corner stores of this kind are not allowed today, and there are reasons.  A new structure would have to be built, and it would require rezoning, raising two problematic challenges: parking and the impacts, perceived or otherwise, real or mistaken, on the present neighbours.  Ask the opinion of someone who would live in their single-family home next door to a design-controlled, limited-service, locally serving commercial establishment without parking, and then wonder whether the proposal would survive the public consultation process.

In reality, of course, there are still corner stores.  They’re very viable, selling diary, staples and many flimsy packages of fat, sugar and salt in all their processed variations, and they look like this:

They may be the only places, under 20,000 square feet, that can meet the ‘popsicle test’ – where your kids can go out by themselves to a store safely to purchase a popsicle and return home before it melts.

02 Jun 00:16

Pluralistic: 01 Jun 2020

by Cory Doctorow
mkalus shared this story from Pluralistic: Daily links from Cory Doctorow.


Today's links



Podcast: How Big Tech distorts our discourse (permalink)

This week on my podcast, I read my EFF Deeplinks essay, "How Big Tech Monopolies Distort Our Public Discourse." We hear a lot of exotic explanations for "polarization" and other modern ills.

https://www.eff.org/deeplinks/2020/05/how-big-tech-monopolies-distort-our-public-discourse

The commonest one is that Big Tech isn't lying when they tell the marketers they hope to woo as customers that they can use machine learning and surveillance data to change peoples' minds.

But evil political operators have hijacked a mind-control machine designed to sell us fidget spinners and used it to sell us conspiracism, white nationalism and fascism.

I think this is an extraordinary claim with poor evidence, not least because everyone who's ever claimed to have perfected mind-control – from the CIA to pick-up artists to stage mesmerists – turned out to be a fraud and/or self-deluded.

But that doesn't mean that our discourse isn't in a sorry state, nor does it mean Big Tech doesn't deserve the blame. I just think we can find less incredible explanations that don't require us to attribute superhuman feats of genius to the mediocrities that run Big Tech.

Like monopoly.

If you operate the only place people search for answers, you can give people the wrong answers, and if they don't know enough about the subject to spot it, you can change their minds. That's just lying, not mind control.

And the answer isn't to insist that operating a search engine comes with an obligation to never be wrong (something no search engine could attain, and the attempt of which will bankrupt everyone except Google).

It's to ban the monopolistic practices that left us with one dominant search-engine: acquisition of nascent rivals, merger with large competitors, the creation of vertical monopolies. It's to reverse the damage those practices have done.

A monopoly on answers is just one of the ways that digital monopolization distorts our discourse; many others are enumerated in the piece.

The thing is, we can either (try to) fix Big Tech or we can fix the internet.

That is, either we deputize Big Tech to be an arm of the state and make it perform the duties we'd expect of a government, or we make Big Tech smaller and make its mistakes less salient to people.

But we can't do both. When the US government turned AT&T; into a regulated monopoly – rather than breaking it up – they created powerful government stakeholders that intervened to fight any future actions to weaken AT&T.;

For example, in 1956, the Pentagon intervened to keep the DoJ from breaking up AT&T;, saying that without an intact, monopolistic Bell System, they couldn't fight the war in Korea. AT&T; remained intact for nearly 30 more years.

If we want parts of the internet run by the government, that's one thing – at least something like municipal broadband holds out the potential for democratic control. But regulated monopolies are the worst of both worlds.

They become an arm of the state without the accountability of a state (whatever that accountability might be). They sidestep the strictures on corporations (competition, consumer protection) and the strictures on states (transparency, the rule of law).

Here's the podcast episode page:

https://craphound.com/podcast/2020/06/01/how-big-tech-monopolies-distort-our-public-discourse/

Here's a direct link to the MP3 (thanks, as always, to the Internet Archive for hosting):

https://ia801503.us.archive.org/1/items/Cory_Doctorow_Podcast_344/Cory_Doctorow_Podcast_344_-_How_Big_Tech_Monopolies_Distort_Our_Public_Discourse.mp3

And here's my podcast feed:

https://feeds.feedburner.com/doctorow_podcast



EFF statement on Black Lives Matter (permalink)

A statement from EFF begins: "Black lives matter on the streets. Black lives matter on the Internet.

"EFF stands with the communities mourning the victims of police homicide. We stand with the protesters who are plowed down by patrol cars. We stand with the journalists placed in handcuffs or fired upon while reporting these atrocities. And we stand with all those using their cameras, phones and digital tools to make sure we cannot turn away from the truth."

Internally we sometimes talk about EFF being the plumbers of freedom – dedicated to protecting the rights of activists and marginalized communities to communicate in private, and to communicate to the world.

The mission keeps getting more urgent, from life in lockdown to defending Black lives in the streets.

"The pandemic management technology being pushed by companies and governments over the last few months is primed to be deployed as a surveillance and control apparatus."

"Protest movements often bring out the worst in constitutional abuse. We’ve seen police surveillance tools grow and metastasize, with law enforcement officials specifically targeting the Black-led movement to end racist police violence."

EFF has a version of its surveillance self-defense guide specifically for protesters, explaining how to keep your devices, data, communications, and social relations safe from official incursions on your right to seek redress:

https://ssd.eff.org/en/module/attending-protest

And EFF will be keeping that up to date as new tactics emerge. It's ready to serve as plumbers for the rest of the movement: "To our racial justice, economic justice, and environmental justice allies, EFF is here to help when you need hands who understand tech and the law."

"And to everyone, we pledge to redouble our efforts to beat back police surveillance and abuse, and to build and protect the tools that allow you to organize, assemble, and speak securely and without censorship."



Why quarantine is getting harder (permalink)

Writing in The Conversation, CMU scholars Gretchen Chapman (psych) and George Loewenstein (econ) discuss the hard problem of maintaining pandemic vigilance (handwashing, distancing, masks, etc) as time wears on.

https://theconversation.com/why-americans-are-tiring-of-social-distancing-and-hand-washing-2-behavioral-scientists-explain-139625

Fundamentally, it's just hard to maintain attuned to things that aren't changing. That's why you notice the refrigerator hum when it starts (even finding it unbearable) but cease to notice it until it stops, leaving behind ringing silence.

This is why I was sympathetic to, but skeptical of, the insistence after the 2016 election that we couldn't "normalize Trump." People in prisons, in abusive relationships, in concentration camps, all report on how it just becomes normal eventually.

And speaking as someone with debilitating chronic pain, I'm here to tell you that it's perfectly possible to lose track of how much pain bad posture is inflicting on you until you finally move and start to notice. Given all that, how could we NOT normalize Trump?

Back to public health. Handwashing, distancing, etc, are all important and evidence-based, but their effects are invisible. You can't tell if you are contaminated with virus particles, and you can't tell if you've washed them away.

You bear an upfront cost for your vigilance, but any benefits you realize are speculative and in the future (not getting coronavirus at some unspecified future date).

So getting lax on handwashing after you've gone a few months without getting sick is related to the phenomenon where people who finally get an effective antidepression drug dose dialed in stop taking their meds because they feel better.

I started smoking when I was 14, and I quit when I was 32, with the help of a hypnotherapist with a background as a psychologist an emergency medicine MD (he was amazing).

He told me that the hardest part of staying quit would be denying myself the immediate benefit of a cigarette by focusing on a future benefit of not getting cancer in 30 years. He told me that if I was going to stay off cigarettes, I'd need a more immediate reason.

I realized that I was spending two laptops/year on cigs, and the money was going straight to companies whose mission was to murder me for profit, and moreover, that those companies had invented and perfected the science-denial playbook now used by every evil industry.

I quit and stayed quit, and I buy myself a new laptop every year (and I'm still one laptop/year ahead of the game).

The behavioral scientists from CMU suggest that the way to get better at pandemic mitigation is to keep it up long enough that handwashing, distancing and masks become unconscious habits. That is, to keep it up until they disappear into the background.

And the challenge for attaining that is that the point at which mitigation becomes a habit may come long after the perception of risk fades into the background – turns into an inaudible refrigerator hum.

To bridge the gap, they point to a peer-reviewed study on the impact of small penalties (taxes on plastic bags) on changing ingrained behaviors, implying that similar penalties might yield comparable results.

https://pubs.aeaweb.org/doi/pdfplus/10.1257/pol.20150261

It'd be interesting to see what that looks like in practice – maybe when you go to a store without a mask, they offer to sell you a disposable mask for $0.25 or a "mask for life" for $5?



Writing while Black (permalink)

In "Riot Baby," Tochi Onyebuchi tells a riveting, moving, complicated Afrofuturist story about American structural racism and Black resilience. The story's starting-gun is the Rodney King uprising, and its beats are the uprisings that came since.

https://pluralistic.net/2020/04/23/riot-baby/#Tochi-Onyebuchi

Now, in a beautiful and moving essay for Tor.com called "I Have No Mouth, and I Must Scream: The Duty of the Black Writer During Times of American Unrest," Onyebuchi meditates on the role of a Black writer in one of those uprisings.

https://www.tor.com/2020/06/01/i-have-no-mouth-and-i-must-scream-the-duty-of-the-black-writer-during-times-of-american-unrest/

Onyebuchi describes the tension between the need to process the fear and anger of police executions of Black people by writing, with the expectation that Black people have to help the rest of the world understand their experience, with the emotional price of that expectation.

Having written a seminal book that uses a seminal uprising to create an important and enduring work of art, Onyebuchi now has to confront art's insufficiency in either healing wounds or creating change.

Spectacle – the scenes of Black people being executed by cops – is powerful and incoherent. Onyebuchi compares it to the beheading videos that Isis uploaded – a rallying point for outrage, a recruiting tool for monsters, and, above all, a reduction of a human life to symbol.

Some people try to find sense in senseless by converting their heartbreak to a symbol, to snatch a pebble of positive motion from an avalanche of wickedness. Mamie Till put her mutilated son's body on display, saying, "I wanted the world to see what they did to my baby."

Such an act of bravery and sorrow. Can we ask that of people? Can we deny people who demand that we honor their losses?

To be alive now is to be in contradictory states, anger, sorrow, hope and fear.

"It’s about your safety, you see. Encourage the RTs about cross-racial solidarity. Don’t worry about whether the work is being done off-screen. It’s advised, also, that you not point out the hypocrisy in cheering revolution on screen while vilifying it outside your window."

To have staked a place in the discussion of injustice and its remedies is to have put yourself out there as a source of hope: "[When] that audience member raises their hand and is called on and asks their question, they’re not looking for answers, they’re looking for hope."

This: "It feels irresponsible to be publicly pessimistic at a time like this."

But this, too: "In the face of an Aggressive Menace dripping with contempt for your humanity and wishing, when it cannot exploit you, to punish you, to terrorize you, what use is hope?"



This day in history (permalink)

#15yrsago MPAA won't get Broadcast Flag in digital TV bill! https://web.archive.org/web/20050603010816/https://www.eff.org/deeplinks/archives/003619.php

#10yrsago Fish: kids' pirate adventure book is great for adults too https://boingboing.net/2010/06/01/fish-kids-pirate-adv.html

#10yrsago India seeking other countries to oppose secret, rich-countries-only copyright treaty negotiations https://www.michaelgeist.ca/2010/06/india-on-acta-oppose/

#10yrsago Digital Economy Act sets UK gov't on the path to ever-more-punitive Internet laws https://www.theguardian.com/technology/2010/jun/01/digital-economy-act-will-fail

#5yrsago A startup that will feed you while making airplane noises http://www.herecomestheairplane.co/



Colophon (permalink)

Today's top sources: Naked Capitalism (https://nakedcapitalism.com/).

Currently writing: My next novel, "The Lost Cause," a post-GND novel about truth and reconciliation. Friday's progress: 529 words (21044 total).

Currently reading: Adventures of a Dwergish Girl, Daniel Pinkwater

Latest podcast: How Big Tech Monopolies Distort Our Public Discourse https://craphound.com/podcast/2020/06/01/how-big-tech-monopolies-distort-our-public-discourse/

Upcoming appearances: Discussion with Nnedi Okorafor, Torcon, June 14 https://www.torforgeblog.com/torcon-2020/

Upcoming books: "Poesy the Monster Slayer" (Jul 2020), a picture book about monsters, bedtime, gender, and kicking ass. Pre-order here: https://us.macmillan.com/books/9781626723627. Get a personalized, signed copy here: https://www.darkdel.com/store/p1562/_Poesy_the_Monster_Slayer.html.

"Attack Surface": The third Little Brother book, Oct 20, 2020. https://us.macmillan.com/books/9781250757531

"Little Brother/Homeland": A reissue omnibus edition with a new introduction by Edward Snowden: https://us.macmillan.com/books/9781250774583


This work licensed under a Creative Commons Attribution 4.0 license. That means you can use it any way you like, including commerically, provided that you attribute it to me, Cory Doctorow, and include a link to pluralistic.net.

https://creativecommons.org/licenses/by/4.0/

Quotations and images are not included in this license; they are included either under a limitation or exception to copyright, or on the basis of a separate license. Please exercise caution.


How to get Pluralistic:

Blog (no ads, tracking, or data-collection):

Pluralistic.net

Newsletter (no ads, tracking, or data-collection):

https://pluralistic.net/plura-list

Mastodon (no ads, tracking, or data-collection):

https://mamot.fr/web/accounts/303320

Twitter (mass-scale, unrestricted, third-party surveillance and advertising):

https://twitter.com/doctorow

Tumblr (mass-scale, unrestricted, third-party surveillance and advertising):

https://mostlysignssomeportents.tumblr.com/tagged/pluralistic
When life gives you SARS, you make sarsaparilla -Joey "Accordion Guy" DeVilla

02 Jun 00:11

Global smartphone sales fell 20 percent in Q1 2020 due to COVID-19 pandemic

by Aisha Malik
iPhone 11

Global smartphone sales declined 20.2 percent in the first quarter of 2020, according to a new report from research analytics firm Gartner.

The report outlines that the global shelter-in-place measures along with the economic uncertainty brought on by the pandemic have led to a decrease in demand for smartphones.

“Most of the leading Chinese manufacturers and Apple were severely impacted by the temporary closures of their factories in China and reduced consumer spending due to the global shelter-in-place,” said Gartner’s Anshul Gupta in a press release.

All of the top five smartphone vendors recorded a decline in the first quarter of the year, except for Xiaomi. Although Samsung’s smartphone sales declined 22.7 percent in the quarter, the tech giant still managed to stay in the number one spot with 18.5 percent of the market share.

“Samsung built more inventory in the channel in preparation of new smartphone launches but its inefficient online channel combined with the lockdown led to much weaker sales to end users than into the channel,” Gartner outlines.

Huawei saw the largest drop in sales with a 27.3 percent decline, which is also related to factors other than the pandemic, such as the lack of the Google Play Store in its phones. However, Huawei still managed to take second place after Samsung and hold 14.2 percent of the market share.

Apple saw an 8.2 percent decline in smartphone sales, but still managed to retain 13.7 percent of the market share. The report outlines that although Apple is not as dependent on China as other manufacturers, it faced supply constraints and store closures which negatively affected its iPhone sales in the first quarter of 2020.

Xiaomi was the only manufacturer to see an increase in smartphone sales according to the report displaying a modest 1.4 percent jump. The report says strong sales of Redmi devices in international markets and an aggressive online sales focus allowed Xiaomi to achieve better than expected sales.

It’ll be interesting to see if the decrease in the global demand for smartphones will continue into Q2, considering that many retail stores across the world are starting to slowly reopen.

Image credit: Gartner

Source: Gartner

The post Global smartphone sales fell 20 percent in Q1 2020 due to COVID-19 pandemic appeared first on MobileSyrup.

02 Jun 00:11

Get Started - Materialize

Get Started - Materialize

Materialize is a really interesting new database - "a streaming SQL materialized view engine". It builds materialized views on top of streaming data sources (such as Kafka) - you define the view using a SQL query, then it figures out how to keep that view up-to-date automatically as new data streams in. It speaks the PostgreSQL protocol so you can talk to it using the psql tool or any PostgreSQL client library. The "get started" guide is particularly impressive: it uses a curl stream of the Wikipedia recent changes API, parsed using a regular expression. And it's written in Rust, so installing it is as easy as downloading and executing a single binary (though I used Homebrew).