The news hit like a shockwave across British politics. On Wednesday morning, three of Scotland’s most senior judges found that the government had unlawfully suspended its own Parliament in a desperate attempt to force through an extreme version of Brexit.
It was, without hyperbole, the most shocking legal decision in the modern history of British public law. The logical conclusion of the ruling was that Prime Minister Boris Johnson had lied to the public, lied to Parliament, and, most shocking of all, lied to the queen.
It looks like a frenzied political battle over Brexit. But the beating heart of this story is not Brexit. It is the question of where power resides in British politics.
The U.K.’s constitutional system hands sovereignty — supreme authority — to Parliament. That power is derived from the people. The public votes for who they want to represent them, and those people sit in Parliament as MPs. The government, composed of the prime minister in Downing Street and his ministers, ultimately answers to them. The MPs can vote for or against the laws the government puts forward.
But the 2016 Brexit referendum changed everything. The vote to leave the European Union was a new development. It wasn’t representative democracy. It was direct democracy. This was a completely new source of democratic legitimacy emerging from the womb.
The trouble with the vote was that it offered only a broad demand — leave the EU — but no details about how to pursue it. Should Britain pursue a soft Brexit, which stayed aligned to the EU economy? Or a hard Brexit, which pushed away from it? Or even a no-deal Brexit, which accepted no arrangements with the EU whatsoever? The referendum offered no answers to these questions.
The government responded by adopting a tried-and-tested sleight of hand much loved by authoritarians throughout history. The government claimed that it, and it alone, could interpret the referendum result. It represented the “will of the people,” which was whatever the government said it was.
In fact, this was all opportunist nonsense. Leave voters were not unanimous in what they wanted, and neither, for that matter, were Remain voters. There was no will of the people. It was a fiction, a lie that pretended that a mad scramble of different voices was uniform and homogenous.
But if the government could claim there was such a thing, it could tap into a rich new well of political legitimacy and ignore Parliament. It would make itself more powerful than ever. So, for the past three years, the government has pursued a variety of Brexit strategies, all the while branding those in Parliament who tried to hold it to account as traitors who were trying to “undermine” the will of the people.
That process has now reached a crescendo. Britain is now in the most serious constitutional crisis since the Civil War in the 1600s.
On August 29, Boris Johnson asked the queen to prorogue Parliament. This is a standard procedure in which the legislative agenda is reset and MPs disband for a couple of weeks. Johnson pretended it was a run-of-the-mill event.
Nothing could have been further from the truth. It was unprecedented for the government to attempt prorogation in the heart of a major political event. And Britain was currently embroiled in the most serious event of our lifetime. On October 31, the country would fall out the EU by automatic operation of the law. Johnson’s intention was to leave with no deal — the most extreme possible interpretation of the Brexit vote.
The length of the prorogation was also unheard of. It was far longer than normal. The conclusion was obvious: Johnson wanted full government control. With Parliament suspended, MPs would be powerless to stop him from doing whatever he wanted.
The queen accepted. There was nothing else she could do. The monarch has no real individual role in British politics — it is all ceremonial. She had to take the prime minister at his word.
And then all hell broke loose. In their last week before prorogation, the MPs launched a form of constitutional guerrilla warfare against the government. They took control of parliamentary business and started pushing through a piece of rebel legislation, completely independent from Downing Street, that would force the prime minister to extend Britain’s membership of the EU if there was still no Brexit deal by the end of October.
Twenty-one MPs in the governing Conservative Party joined the fight against their own government. They were not seasoned rebels. All but one of them had held ministerial posts. They were the entirety of the party’s statesman class. In an insane act of self-sabotage, Johnson told them that any act of rebellion would see them exiled from the party — a practice known as “removing the whip.”
The threat was clearly designed to scare them into submission. But it didn’t work. They rebelled anyway. Johnson promptly sacked them—by text message—and eradicated his own majority. He had made good on the warning but by doing so dismantled his own capacity to govern. The rebel MPs helped the opposition pass the legislation into law. Johnson’s no-deal strategy was in tatters.
As the minutes counted down to the disbanding of Parliament, a series of extraordinary scenes played out, the likes of which no one had seen before.
Johnson had one last gambit. He could demand a general election. But without a majority, even this pathway was lost to him. British law requires a prime minister to secure a two-thirds majority in the Commons for an election outside of the normal five-year timetable. But opposition parties weren’t going to play ball. They would only allow an election after they were certain the October deadline had passed and a no-deal Brexit was ruled out.
Johnson tried twice to pass a motion for an election but was defeated on both occasions. It was a humiliation. He sat dejected in the House of Commons. It was checkmate.
In the early hours of Tuesday morning, as the minutes counted down to prorogation, a series of extraordinary scenes played out in Parliament, the likes of which no one had seen before. MPs attempted to physically hold the speaker of the Commons down in his chair so prorogation couldn’t take place.
“I recognize that our presence is desired by our Majesty the Queen’s commissioners,” the speaker said, grudgingly. “They are doing what they believe to be right, and I recognize my role in this matter.”
In response, opposition MPs shouted, “Shame on you,” at the government benches. Conservative MP Andrew Stephenson screamed at the speaker and stormed out the chamber. The speaker replied, “I don’t care if you don’t like it. I require no response from you, young man. Get out, man. You will not be missed.” Opposition MPs held a protest in the chamber, holding up signs reading “Silenced.”
But none of it worked. None of it could work. The queen had accepted Johnson’s request for prorogation. The suspension came into effect.
And then, Wednesday morning, the Scottish court case blew everything wide open again. Three first division judges ruled that the prorogation was an attempt to silence Parliament. “The court will accordingly make an order,” they said, “declaring that the prime minister’s advice to the queen and the prorogation which followed… was unlawful and is thus null and of no effect.”
The consequences were astonishing. The prime minister was judged to have unlawfully suspended Parliament. And it got worse even than that. The prorogation request had to go through the monarch, meaning Johnson had lied to the queen herself about the purpose of the suspension.
Opposition politicians immediately called for MPs to return. “Get back to Parliament,” Labour Brexit secretary Keir Starmer said. “Open those doors and get back in.”
But in truth, the ruling is just the advance battle before the war. Next Tuesday, the Supreme Court will rule on a government appeal in the case and that of other cases concerning the prorogation, which had been decided in the government’s favor. That will be the deciding moment.
What is being decided here is not just about Brexit. It is about the biggest constitutional question you can ask in any country: Who holds legitimate political power? Is it the people, or Parliament, or the government?
For centuries, there was a settled answer. Parliament held the power by virtue of votes from the people. The Brexit referendum provided the government with a mechanism to sidestep that arrangement and portray itself as the voice of the people independently from Parliament. The events of the next few weeks will show which of those visions is victorious. The stakes couldn’t be higher.
Are types compatible with data orientation? The short answer is ‘yes’. Types trade freedom of movement for clarity.
Can you use types with Data Orientation?
Are types compatible with data orientation? The short answer is 'yes'. Types trade freedom of movement for clarity. https://share.transistor.fm/s/35083ac5 https://www.youtube.com/watch?v=XdQaZ4TIhec Transcript Eric Normand: Can you use types with data orientation? By the end of this episode, I hope
Transcript
Eric Normand: Can you use types with data orientation? By the end of this episode, I hope to clarify this, because data orientation is often associated with un-typed languages like Clojure or JavaScript. My name is Eric Normand, and I help people thrive with functional programming.
The example I gave in the last episode, which you should listen to if you haven’t, they’re all JSON, un-typed. I did mention that there was a change of types. We started with byte stream, we moved up to character string, and then we parsed that into JSON.
After that, there was no change of types. This is very common in something like JavaScript, where you get some JSON. Once it gets parsed, you leave it as JSON. You’re just working in the JSON until you finally serialize it back out or something.
The question comes up, can you use types with data orientation. I think the answer is yes. Short answer, yes, indeed you can.
There is a tradeoff, and tradeoffs are rather nice. They are a decision you get to make. Let’s talk about that tradeoff.
I like Clojure. I use that most of the time. In Clojure, which is un-typed, we use maps for a lot of things. Maps, we use all the basic data types, your numbers, your strings. We have things called vectors, sets. We use these to model our data.
We typically don’t make new types. Sometimes, you do. Sometimes, you have to. Typically, we don’t.
We got maps with some keys and values in them to represent, say, an entity like a person. We’re just using a map.
Sometimes, you’re getting that map over the wire. It’s coming in as JSON or some other format. Then you parse it into a map or data. Once you got it as a map, that’s it.
You’re leaving it as a map. You’re transforming it. You’re adding keys. You’re removing keys. You’re passing it around. You’re doing all sorts of stuff, but it stays as a map.
Why do we do this? Before we get into the tradeoff, I think why we do it in Clojure — I’ve thought a lot about this — is that as a character string, as a string, before you parse it, it’s really hard to work with. Let’s say you had some JSON in a string. Instead of parsing it, you tried to figure out the person’s first name while it’s still a string.
You basically would have to parse it somehow, but you need to walk the characters and figure out a little custom parser to find the string inside of it that represents the first name. It’s ridiculous. You do parse it into a map. In theory, it’s wasteful because you’re parsing everything, not just the first name.
Once it’s a map, it’s so nice to work with. It’s so easy to do a bunch of things with it that weren’t possible with that string. Now, it almost feels like there’s no need to go any further. That’s my explanation for why we don’t make new types in Clojure. We’re satisfied with maps, vectors, strings, and stuff.
It does let us do that thing that I talked about in the last episode, where you get to move up and down without even changing types. Once it’s a map — it’s a HTTP request, and now it’s a user setting, now it’s a set the password, all those things — we don’t even have to change the type.
We’re looking at different pieces of data and making decisions about it. That’s our interpretation. That’s how we’re adding meaning to it, but that’s dangerous. I want to call that out. That is dangerous. That is one of the main messes that I see in Clojure code bases.
Maybe it’s the number-one problem that you don’t know what level of meaning you’re operating at anymore. You can treat a set user password request as a map, meaning you can add keys to it. You can remove keys from it, random keys.
You can iterate through the keys. You interpret this map as a collection of keys and values, and you give me all the keys from it. That’s another way of interpreting it.
If it was a user request, that’s not really a valid operation on the user request — give me all the keys. No, that’s a valid operation way down like four levels down as a hash map.
I see this happening a lot where people get into messes, because they’re playing so loose. They’re abusing their freedom, I guess I should say, of moving freely between the levels. Too much freedom. They probably don’t even realize they’re doing it, because the levels are not so clearly articulated.
Types can provide a discipline for this at the extreme. If you wanted to be very type-safe, you would always change types when you’re changing levels. You go from bytes, to characters, to JSON, to maps, hash maps.
If you want to pass through that, you probably have to if you’re paring JSON. You go through some kind of JSON representation. Then when you notice it’s an HTTP request, you convert that into a type called HTTP request.
When you look at the path to route it, you convert that into a user update request. Then when you look at what parameters, what attributes it’s trying to change — it’s trying to change the password, boom — you turn that into a password update request. You would have a new type for every level there.
Do Haskell programmers do this? Some do, some don’t. Maybe they’ll stop at HTTP request or maybe they stop one level more. They don’t actually do that final interpretation step to where they really look at what specifically is being changed.
Maybe they don’t do that, or maybe they’re not aware that they’re doing it, but it’s not so dangerous to be able to move two levels. There is a tradeoff there. There’s a spectrum that you get to choose where you’re going to land on.
Types provide that discipline, and they make it a little bit harder to move between the levels. They make it much easier to know what level you’re actually at right now. I have interpreted this HTTP request. I’m now at this other level.
It’s not an HTTP request anymore. It is something else. It is this new type that has its own operations on it, that has its own interpretation.
That’s what I have to work with. It might be hard to go back down. That might be OK. You might not need to go back down. That’s fine.
You might not need us to step back and say, “I need to be able to turn this user settings change back into an HTTP request.” You might not need to do that.
It could be lossy like, “I don’t care what port this request came in on anymore. I don’t care at this level of meaning.” I won’t be able to go back down, but that’s fine. I don’t want to go back down.
Both of them have advantages. Both of them have disadvantages. Without types, you’ve got way more freedom, but sometimes that freedom is rope to hang yourself with. I’ve seen a lot of Clojure systems that get real messy because of this.
They’re treating something that’s already been interpreted. It’s already at a new level of meaning. They jump back a couple levels and treat it like a hash map again. Now, they’re wondering, “Why am I confused about what this map is, what it has?”
That is the issue that Clojure programmers have. I’m sure JavaScript programmers, again, do the same thing when they’re using JSON, when they’re doing this data orientation. Types can help you with that.
At the expense of a little bit of freedom, a little bit of ease, you have to define these new types and all those things. A lot of times, that’s exactly what you need. It gives you some safety there.
Like I said, the short answer is yes. Types are compatible with their data orientation, depending on the type system. In Haskell, the data is not hidden. It’s not buried somewhere. Usually, you define a new data type, and it has certain fields in it. Those fields can be read by anything.
You’re not hiding the data. There’s no encapsulation with the protocol that you have to call to have a predetermined interpreter. You can still take this HTTP request and interpret it in multiple ways. You can route it. What kind of request is this? What is the intent of this request?
You can also log it and say, “What IP address is contacting me? What time is it?” All those things that you might want to do in an HTTP server, you can still do with that one piece of data interpreted in multiple ways.
In Clojure, we use maps a lot. They really are flexible, let you move up and down, but you might shoot yourself in the foot with them. Types don’t let you move up and down so easily, but they give you a lot of safety. They make sure you know what level of meaning you are operating at.
The more you use those types, the more freedom you give up but the more safety you get. If you know exactly what levels you need, why not have some help from the compiler? That’s what I’d say.
This might be the last data orientation episode I do for a while. I’ve done two more. If you want to find those and all the other past episodes, you can go to lispcast.com/podcast. There, you’ll find audio, video, and text transcripts of all the prior episodes.
You’ll also find links to subscribe — however you want to subscribe — and on social media. If you want to get in touch with me, if you have questions about this, disagreements — I love discussions. I love understanding how well I’m communicating these ideas.
That’s all I have for this episode. This has been my thought on functional programming. I’m Eric Normand. Thanks for listening and rock on.
In an app teardown, the folks at XDA Developers found that Google has added a Cast button to the app. This allows users to send audio, video and photo files that are locally stored on their device to a variety of compatible devices.
Alongside the Cast button, it looks like the six app categories that are listed in the app, are being re-arranged to take up less space on the main Files screen.
So far, the app update isn’t rolling out, but since the file has been found it seems likely that Cast functionality will arrive in an upcoming update.
The line that merits its link in today's session is:
We wrote an ugly, fragile state machine for our typeahead,
which quickly became a source of pain and shame.
My students will soon likely experience those emotions about
the state machines; they are building for lexers for their
semester-long compiler project. I reassure them: These
emotions are normal for programmers.
Duration: 2.5 to 3 hours depending on the size of the group.
Cost:$30 per person
Are you a fan of the show “Ghost Whisperer” or have an interest in spirits or exploring the world of the paranormal? Then this History Walk of Vancouver’s oldest and perhaps most haunted neighbourhood is perfect for you!
In 2018, Vancouver paranormal investigator and ghost whisperer Kati Ackermann (see bio below) came on a number of my History Walks and very kindly shared with me and my walk participants about the various spirits who communicated with her during the tour. Apparently, many of the houses we pass on my walks are still haunted by their former residents and many of these seemed quite interested in our tour. There were even ghosts who followed us for parts of the walk.
So I decided it would be neat if Kati and I teamed up and offered a different type of History Walk, one with a Supernatural twist. I look after the history aspect of the tour and Kati looks after the paranormal aspects of the neighbourhood.
So come with us this Sunday and explore Strathcona, Vancouver’s old East End, on a very different “paranormal-focussed” History Walk. Let’s see which houses, old churches and other buildings along the way are haunted.
The route we will take through Strathcona is by far the most popular of my History Walks. It is no wonder... The East End is Vancouver's oldest and most fascinating neighbourhood. The humble East End was the first Vancouver home to thousands of people fresh off the boat or train arriving from all over the world. Street by street, block by block, the East End developed ethnic enclaves. This neighbourhood boasted the first Synagogue and first Jewish neighbourhood, Vancouver's first Little Italy, Japantown, and Vancouver's only Black identified neighbourhood, Hogan's Alley.
Some blocks were dominated by Scandinavians, others by Yugoslavs, Russians and Ukrainians. Over the years the East End became Chinatown's residential district, home to renowned authors Wayson Choy (The Jade Peony/Paper Shadows) and Paul Yee (Salt Water City/Ghost Train).
Home to three historic red light districts, an unsettling mix of non-British, mostly working class immigrants, three of Vancouver's four Depression era hobo camps, innumerable bootleg joints, even gangs, Vancouver's East End was often viewed by outsiders as an unsavoury, even dangerous place where "those people" lived. So what type of ghosts haunt this neighbourhood? Come walk with us on Sunday and find out.
Parking: There is plenty of free parking along Heatley Avenue, Hastings Street, and Keefer Street further South.
Kati's Bio:
Paranormal investigator Kati Ackermann was born in St. Paul's Hospital (West End), raised in Richmond (1960's-1970's), and has lived in the Vancouver area all her life. She is the founder of Vancouver Spooks Paranormal Investigations - VSPI), a sensitive (walks with the dead), performs house/people cleansings and has an Associate's Certificate in Leadership Coaching. She is an amateur historical researcher and genealogist, writer, and taphophile (look it up) who loves licorice ice cream. For more info, contact her directly at: vancouverspooks@gmail.com
Internal validation is validation by other members of the community.
When members publish a book, achieve a promotion, get married, or achieve any major goal, it’s powerful to see that success validated by other members of the community.
Having a place where members can share their successes is a powerful way to help build a powerful sense of community among members.
External validation is validation of the community by 3rd parties.
When members are featured on the news, or the community is featured in some external source, it’s powerful to share this within the community. It validated everything the community is doing.
15 years ago in my earliest gaming communities, I featured every mention of online gaming or ‘eSports’ within my community. Not only did it generate activity, it always made us feel we were on to something unique and special.
Don’t underestimate the power of external validation.
Honestly, I think every stupid decision people make is because they can’t think more than fifteen minutes ahead. To wit: That argument you just “won” against your life’s companion — how’s that going to affect your relationship for the next few years? That clever company name you picked out that just happens to be the … Continued
Thanks for the news, Paul. Thanks to your suggestion, I signed up to participate in the beta (what seems like) a long time ago, but I missed the launch announcement.
DT Pro 3 is a big, hairy programme, and I don't pretend that I yet understand all of its capabilities, but so far I've found it a step-change from Version 2, and very useful.
We had five or six handlers, or maybe three, or two, it was hard to keep track. The handlers, their roles, kept shifting — mostly white Russians in their fifties or sixties, tight perms, thin mustaches, some gaunt, other with thick bellies, strong handshakes, strange slip-ons shoes, stiletto heels. There were checkpoints. Seven? Eight? Guards with mirrors on the ends of long sticks. We were in Baikonur, the only place in the world capable of launching a human into space.
For years, B.C. drivers have tested the limits of the province's distracted driving laws.
But the ramen hit the road recently for one Kelowna woman, who was busted and later fined for eating with chopsticks while speeding along a highway.
Corinne Jackson claimed she was able to handle a steering wheel and a bowl with the one hand she wasn't using to manoeuvre her eating utensils.
But judicial justice Brian Burgess rejected Jackson's defence. He also made a point of saying he wasn't condemning all vehicular nibblers.
"I am not finding that a person who is eating while driving is driving without due care and attention," Burgess wrote.
But he said a "reasonable and prudent person" should have at least one hand on the wheel while the car is in motion.
"The hand that is on the steering wheel should not also be holding some other object."
'A very exaggerated situation'
It's a case of life imitating tweet for the Kelowna RCMP.
Almost a year before they ticketed Jackson for driving without due care and attention, the force posted a picture of a woman eating noodles with chopsticks on Twitter as part of a campaign against distracted driving.
"(Do you know) you can't eat a bowl of soup while driving?" the post read. "Drive without due care=$368 Fine + 6 points."
The tweet raised so many legal questions around eating and driving that RCMP were forced to clarify the issue with a local newspaper.
"Obviously the tweet depicted a very exaggerated situation," Const. Melissa Wutke told the Central Okanagan media outlet KelownaNow at the time.
"There is no blanket statement such as if you eat noodles and drive it will equal this. It's all very dependent on the situation the officer sees."
According to the decision, Jackson cited the KelownaNow articles and the RCMP tweets in her defence.
"She submitted that she had both hands on the wheel," Burgess wrote.
"This submission is contradictory to her evidence, which was that she had one hand on the wheel with three fingers of her left hand holding the wheel and her index finger and thumb holding a bowl of spinach, and she had chopsticks in her right hand."
'Shovelling' the food
RCMP Const. Chris Neid testified he had an elevated view of Jackson's vehicle as she headed westbound on Highway 33 on Nov. 2, 2018.
"There were chopsticks in the driver's right hand which she was using to put food into her mouth. Const. Neid observed that there were no hands on the steering wheel," the decision says.
"Const. Neid described the action of the chopsticks as 'shovelling' the food."
Jackson denied ever driving without at least one hand on the wheel. But she also disputed the claim she was speeding, stating she was "perhaps no more than 10 km/h over."
That didn't sit well with Burgess.
"I pause to note here that Ms. Jackson applied a common misconception to her evidence about her speed," the judicial justice wrote.
"The law is that one km/h over the speed limit is speeding. Despite her evidence that she was not speeding, Ms. Jackson was speeding."
A person should not be 'multitasking'
B.C.'s Motor Vehicle Act is silent on the specific issue of chopsticks, but as a rule says "a person must not drive a motor vehicle on a highway without due care and attention."
Provincial courts have seen numerous cases involving the use of cellphones and other hand-held devices while driving, but Burgess said neither he nor the RCMP could find any involving food.
"The question for the court to decide in this case is whether the driving of Ms. Jackson, that is holding a bowl in her left hand, holding chopsticks in the right hand and actively eating while speeding on a four-land road in a city, constitutes driving without due care and attention," Burgess wrote.
Jackson argued she hadn't made any bad driving moves, and the RCMP officers who dealt with her agreed.
But — the three fingers she claimed to have had on the wheel notwithstanding — Burgess said Jackson was taking a risk with her own safety and life as well as the lives of others.
"A person should not be 'multitasking' while driving," he wrote. "A person should not be driving while having objects in both hands."
The maximum fine under the Motor Vehicle Act is $2,000, but most tickets for distracted driving are $368. Jackson has until the end of October to pay.
When will Britain wake up to this man? This is dangerous inciting rhetoric that has no place in a democracy. It’s not ‘judicial interference’. It’s judicial independence twitter.com/leaveeuofficia…
📺 | @Nigel_Farage: "Astonishing judgment! How can it be unlawful for a government to want to present a Queen's Speech? Given this has been one of the longest-running governments for centuries in this country. It smells to me of judicial interference..." pic.twitter.com/71Xic1Tdne
Michel Barnier has told MEPs there remain insufficient grounds for reopening formal negotiations over the Irish backstop, six months after Theresa May and the European commission closed them.
In a private briefing with the European parliament’s leaders, the EU’s chief negotiator said Boris Johnson’s officials, led by his envoy, David Frost, were yet to offer any credible plan on which the two sides could build.
“We will see in the coming weeks if the British are able to make concrete proposals in writing that are legally operational,” Barnier told the MEPs. “While we have previously reached an agreement, as far as we can speak [today], we have no reason to be optimistic … I cannot tell you objectively whether contacts with the government of Mr Johnson will be able to reach an agreement by mid-October.”
Barnier said there had been a willingness by the UK to “intensify contacts” but that in terms of replacing the backstop “the ball is clearly in the British camp” and “the Brexit situation remains serious and uncertain”.
Barnier’s comments, published in full by the European commission, are the clearest indication so far of the lack of progress being made in the talks in Brussels, where the prime minister has insisted a major renegotiation is in process.
The EU negotiator said Johnson had claimed on becoming prime minister that he was “ready for an exit without agreement if his requests were not accepted, as if this prospect could lead us to give up our principles”, but that the Commons had “rejected such a scenario”.
“At the same time, you will have understood, despite the vote of the extension law, the risk of no deal has not been ruled out,” Barnier said. “A no deal will never be the choice of the union. But we do not have the ability to avoid this scenario alone.”
The EU’s negotiator went on to raise concerns about the UK’s plans for the future trade relationship, which he suggested amounted to an attempt to undercut the European economic model by becoming a Singapore-on-Thames.
Barnier told the MEPs: “On our future economic partnership, they want us to state without ambiguity that the final destination must be a free trade agreement and in no way a customs union. And we are obviously ready to work in this direction.
“We will have a problem if the British will at the same time challenge the level playing field commitments we have negotiated with Mrs May and which guarantee fair competition between the EU and the UK. This is of course a point on which we will remain very vigilant.
“It is clear that the level of ambition of a future free trade agreement will be defined according to the guarantees given by the United Kingdom in terms of state aid, taxation or social and environmental standards, given its economic size and proximity.”
In an earlier briefing with diplomats representing the EU27 about the latest talks with Frost, a senior member of Barnier’s Brexit team had described the ideas so far put forward during technical talks between officials on both sides as aspirational.
“Another longish meeting without tangible progress on Wednesday,” said an EU diplomat, referring to the latest round of talks between the European commission and Frost.
The last substantive Brexit negotiation took place in Strasbourg in March when May and the European commission president, Jean-Claude Juncker, drafted an ill-fated adjunct to the withdrawal agreement emphasising the temporary nature of the Irish backstop. May’s deal was subsequently defeated in the Commons by the crushing margin of 149.
EU officials insisted that nearly two months after Johnson was made prime minister the gap between the two sides was still far too wide for any meaningful renegotiation and that British civil servants were still merely “talking about concepts”.
In the most recent talks between officials, Frost was said to have outlined ideas covering customs and manufactured goods in which Northern Ireland and the Republic of Ireland would be in separate customs and regulatory zones.
Sources said Johnson’s envoy had suggested an “enhanced market surveillance mechanism” for industrial goods involving tough penalties for those who seek to smuggle contraband over the border.
Frost had said the UK could commit to an open border in the withdrawal agreement but that the detail of how checks could be done away from the border would have to be decided during the stand-still transition period catered for in the withdrawal agreement.
The EU says there must be a legally operable plan for avoiding a hard border on the island of Ireland in any withdrawal agreement and it will not accept a deal based on a promise.
Speaking after the MEPs’ briefing with Barnier, the president of the European parliament, David Sassoli, told reporters: “We would like there to be initiatives to discuss but unfortunately there aren’t any.”
The UK government says it will not accept any backstop that leaves Northern Ireland in a separate customs territory and different regulatory areas for goods other than agrifood. There remains some confidence that the UK might move in that direction in order to put a last-gasp deal before parliament and avoid a further Brexit extension.
One diplomat said the UK “now seems [to better] recognise the unique situation on the island of Ireland”, but that current proposals were “wish-wash”.
Luhmann wrote:
>In some apps, however, this can be quite
>cumbersome, requiring a lot of pre-processing of the text in something
>like BBEdit before it can be imported properly.
Slightly off topic, but Textsoap is good for this: https://www.unmarked.com/textsoap/
I use it all the time and it’s pretty quick.
Research, Prototype, Repeat — How We Designed NYT Parenting
A behind-the-scenes look into the research, design and iteration behind The New York Times’s Parenting site.
By Taylor Poulos, Youngna Park and Juliette Melton
Illustration by Cristina Spanó
“The Health of Children — A Seasonable Warning” reads the title of the childcare section of The Housekeeper’s Column that appeared in the pages of The New York Times on November 7, 1875. The temperature had been fluctuating that year, so the column advised readers to dress their children according to the weather and clothe “them comfortably, to cover the little legs, not only with stockings and gaiters, but with skirts which will hang as near to the ground as may be without impeding the little feet.” Though it might seem quaint today, the advice was one of the first instances of parenting coverage from The Times.
Over the last 144 years, both the job of parenting and The Times’s advice about parenting have changed dramatically. A few months ago we launched NYT Parenting, a stand-alone product that aims to provide trustworthy guidance to new and expectant parents, so they can make choices for their families with confidence. To get to this point, it took a cross-disciplinary team months of research, design and iteration. Here’s a little bit of what we learned along the way.
The Pain Points of Parenting
The first step in our product discovery process was to understand what real parents actually want and need. To do this, we did in-home interviews with a dozen parents representing a variety of family structures, parental roles and geographies; the families had different numbers of children, all of different ages. Through our conversations, we heard that those expecting children or with very young children often felt the most overwhelmed, reaching out to Google, family, friends and other resources for answers. When they did, they had a few common challenges they felt current parenting products didn’t adequately address.
Other parenting resources primarily focus on child needs and often ignore the needs of the parent. Parenting isn’t just about child-rearing, it’s also about a transformation in relationships, bodies and identity.
Finding answers can be overwhelming. There are lots of parenting resources on the internet, but many are unreliable, contradictory or judgemental. It’s hard to know who to trust.
The learning curve can be steep. Especially with first-time parents, there’s a lot to learn and it can be difficult to know where to start.
From Opportunity to Ideation
Through our discovery process, we identified an opportunity to be a digital parenting destination that provides trustworthy guidance on the daily challenges of modern parenting. We developed an initial hypothesis: if we leveraged The Times’s rigorous reporting and editing standards — and our access to industry experts — we could build a product that offered this guidance is an accessible, synthesized and time-saving way.
Our ideation culminated in a clickable prototype, created with a hybrid of a custom-built CMS and an interface built in InVision.The prototype included drafts of content, written by Times editorial staff.
Participants in early research groups were asked to use our prototypes in their daily lives and provide feedback.
Working with The Times’s in-house research group, we recruited over 50 new and expecting parents into a diary study, which is a method of user research where participants self-report behaviors, emotions and preferences over a specified period of time. The participants in our study used our prototype over the course of a week, and responded to prompts that asked them to assess the usefulness and functionality of the prototype. We subsequently selected seven participants and conducted in-depth, one-on-one conversations with them to dig even deeper into their experience with the prototype.
Though testing, we learned that organizing content by topic rather than type was more useful to parents.
In our conversations, we heard that we were hitting the right notes for topics, breadth and depth of content, but we could simplify the UX, clarify the hierarchy of information on the homescreen, and improve the design of the landing pages.
Helping Parents Find What They Need
In the concepts and prototypes that were part of our initial research, we segmented content by type, like guides, articles, essays and milestones. Separating each section by type made sense to our team: if each content type serves a different user need, they should be in different parts of the site, right?
Wrong!
Our users didn’t notice, or particularly care, that the content was presented in different formats. What they did care about, though, was the content itself, and the topics that were covered. We realized that we needed a better way to organize everything.
That realization brought us to our next phase of research. We first compiled a huge list of topics — including everything from how to choose baby names to mental health — that our product could potentially address. We knew that the next step was to develop a human-centered way to organize it all.
We wrote these topics on note cards and, using a research technique known as card sorting, asked several parents to classify them in whatever way made sense to them.
Our participants organized the information in remarkably consistent ways. For the most part, they sorted child-focused topics into relevant stages, like newborn, toddler and adolescent.
We wrote topics on note cards and asked participants to organize the cards in groups.
We included many topics — such as family life and relationships — that didn’t fit into stage-based categories, and participants tended to group these topics together. We asked them to name this batch, and they came up with a few labels, including “Love and Life” and “Adulting.” Their creative groupings helped us shape how we thought about this content, which we were betting would be a core differentiator for our product from what already existed in the market.
Participants consistently organized topics around family life and relationships in their own group.
This insight — that information should be organized into either a child’s developmental stage or into the yet-unnamed “Adulting” category — helped us build a robust content taxonomy of over 50 topics and subtopics.
The card sorting exercise informed how we designed our sitemap.
Building a Product That’s Worth Paying For
While establishing how to structure content and topics in the product, we also invested in developing the site’s visual language. We knew that we needed to build on The Times’s brand equity while making our product feel distinct and premium, much like Cooking and Crosswords We did this primarily through choices around color and type, as well as defining our own style for art direction.
We wanted a primary product color that could stand on its own, but also live as part of the Times family in the same way that NYT Cooking’s red does. We picked a shade of green for its warmth, associations with growth and gender neutrality, and then complemented it with an orange-red and shades of gray.
The full NYT Parenting color palette.
We also established our brand through type and drew from The Times’s broad custom type palette. We picked NYT Karnak Condensed for our headline font, complemented by Cheltenham, Imperial and Franklin. This mixture of typefaces gives us a large dynamic range to pull from, and visually aligns us with the rest of The Times’s core products.
We drew from The Times’s broad custom type palette to establish the brand for NYT Parenting.
Validating at Scale: The NYT Parenting Beta
In early May, we launched parenting.nytimes.com in beta. Our goals for this early version were to validate that our content was valuable to new and expectant parents, to gain a signal on people’s willingness to pay for this content, and to solicit feedback around what could make the site even more useful to our audience.
We’ve been live for four months and the initial feedback has been incredibly positive. Over this time, we have conducted multiple surveys of our beta audience and have begun analyzing how users behave on the Parenting site. We will continue to learn about how we can address our users’ greatest needs, and how we can evolve the product to make it even more valuable for parents and parents-to-be.
Our Takeaways
Cross-functional collaboration is vital.
Colleagues from Research, Editorial, Product, Design, Engineering, Marketing and Content Strategy were partners at every stage of moving the product from zero to one. The team arrived at the product vision together, and we’re constantly finding new ways to work more closely together.
Connect to the core product, but don’t be afraid to develop something new.
As a brand new group building something inside of an existing organization, we get so much value out of being a part of The New York Times, in our design, editorial process and tech stack. But to remain agile, sometimes it was necessary to create our own solutions.
Taylor Poulos is a digital product designer on Parenting at The New York Times. Youngna Park is the executive product director for Parenting at The New York Times. Juliette Melton is the director of design research for New Products and Ventures at The New York Times.
Make a crappy site full of cheap clickbait content.
Load it up with programmatic ad slots.
Buy content recommendation widgets, or
Chumboxes
on legit, high-traffic sites.
Any time someone clicks through from a legit site, show them a bunch of ads, including high-CPM video ads.
The reason that this model has worked so well is that
with programmatic advertising, impressions on the
crappy site are worth something. The user from the
legit site brings along the same third-party tracking
cookies that their browser sends to everybody.
So a legit advertiser is likely to bid to reach them.
The publisher of the legit site gets some of
the revenue—they get paid per click on the
chumboxes—but they don't see the revenue lost
because they're now competing for programmatic bids
with the lower-cost sites that they're sending
traffic to. The tragedy of the chumbox
is that all the legit publishers would be better
off if nobody could do traffic
arbitrage, but the first legit site to stop
participating in traffic arbitrage loses.
Now browsers are blocking the
third-party tracking that enables traffic
arbitrage. First Apple Safari ITP, now Firefox
ETP,
soon Microsoft Edge.
A legit site that can persuade users to subcribe or
sign in
now has significantly more data on its audience than
a crappy site where people are unlikely to share
their information. Traffic arbitrage schemes are
being starved of data, which should start to show up
as lower RTB bids on their sites, and higher bids on
legit sites.
There are uses for content recommendation widgets
other than traffic arbitrage, and it will be
interesting to see how the content that gets
recommended on them changes as traffic arbitrage
schemes get squeezed out.
This isn't the last move in the game, of
course. For large Internet platform companies,
privacy violation is not required, but a means to
an end. The business model for platforms depends
on capturing an ever-larger share of ad revenue by
commoditization
of the content business, and violating user privacy
expectations is the easiest, 1.0, way to do it.
It may be possible to construct a user data scheme
that both commodifies content and preserves user
privacy, so the interests of legit publishers are
aligned with, but not identical to, the privacy
interests of their readers.
Four electric buses have started operating in Metro Vancouver as part of a two and a half year pilot project to test a new charging standard for the green buses.
The project is slated to cost $10 million and includes the four buses and two charging stations, according to the Vancouver Sun. This is also the first step for TransLink towards its goal of operating a fleet with 100 percent renewable energy by 2050.
The goal of the project is two-fold. The first goal of the test revolves around the Canadian Consortium for Urban Transportation Research and Innovation’s (CUTRIC) Canada-wide Interchangeability Project.
This project is to test how different buses work with a new overhead charging standard. The idea of the test is to find the best charging standard that works with the most buses.
The overhead chargers are from ABB and Siemens Canada.
This project is also testing electric buses and infrastructure in the Brampton and York Region, both of which are in the Greater Toronto Area.
It’s also TransLink’s first time using electric buses.
Nova Bus has been working with CUTRIC since 2016 to standardize electric bus charging infrastructure and New Flyer has been working with the program since April of 2018. Vancouver’s TransLink is testing two LSFe model buses from Nova Bus and two Xcelsior CHARGE models from New Flyer.
The models were bought using federal gas-tax money, and help from B.C. Hydro and the City of Vancouver. It’s reported that six more battery-powered buses are going to join these four in TransLink’s fleet later this year.
The LSFe and the Charge buses that were bought have about a 100 km range and can charge in about five minutes, reported the Vancouver Sun. The project is running on Route 100 between 22nd Street Bus Exchange and the Marpole Loop, which is about an 18 km loop.
I must confess I am hard-pressed to find the difference between 'backward design' as described here and attributed to Grant Wiggins and Jay McTighe. and the model presented by Shirley Chapman in the Introduction to Instruction course we designed at Assiniboine in 1996. Chapman's course wan't particularly remarkable; the principles she outlined were standard for distance learning as they had been developed over the preceding decades. The idea of designing 'backwards' - beginning with the learning objective, creating authentic experiences, and testing for outcomes - has been standard procedure ever since the domain of online learning has existed. Maybe I'm missing something. It wouldn't be the first time. Maybe it's the difference between coming from a distance education background and a traditional university. I don't know. But here we have the two accounts, and you can compare them directly for yourself.
Yes I have TikTok on my phone and yes I watch it from time to time, though I am not nearly cool enough to submit my own uploads. So no short quirky videos from me! If you don't want to install TikTok on your phone you can still get a sense of it from the website's trending page. This article is about using TikTok for "social listening". Of course, for the advertising and media set, that means automatically ingesting content without actually appreciating it (much less learning from it). They complain, "When it comes to social listening and social intelligence, TikTok is still uncharted territory. There’s no publicly available API, and enterprise social listening tools aren’t scraping TikTok’s data." Me, I just open my eyes and watch. There's a lot to learn that way. Sure, I could theorize it or problemitize it, but why wreck a good thing?
My dental hygienist and I have a longstanding, unspoken agreement: I won’t get any cavities, and she’ll pretend to believe me when I tell her I floss every day. Truth be told, it’s more like once a week.
Despite reports that flossing may be “overrated,” the American Dental Association (ADA) and the US Department of Health and Human Services still recommend flossing every day. The research is limited, and flossing is not a cure-all, but it is still one of the few things people can do—along with brushing, drinking fluoridated water, rinsing with mouthwash, eating well, and going to the dentist regularly—to stand a chance against severe, long-term oral-health problems.
Thankfully, in addition to string floss, you can find other interdental cleaners—things designed to clean between teeth—that are safe and effective. The best way to know whether an interdental cleaner is right for you is by asking your dentist, said Dr. Michele Neuburger, a dental officer in the Centers for Disease Control and Prevention’s Division of Oral Health.
“It’s really important that you choose something that works for you, so you can feel comfortable using it on a daily basis,” said Neuburger. “Your dentist will be able to give you a personalized recommendation based on the spacing between your teeth, the health of your gums, or any dental work you might have like braces or a bridge.”
If you have any kind of manual dexterity difficulties, or developmental disabilities that make it hard to floss, it’s especially important to talk things through with your dentist.
What to try if you hate string floss
Whatever you can do to consistently disrupt the plaque between your teeth and stimulate your gums is better than nothing. If you fear floss, some alternatives have been shown to “demonstrate safety and efficacy” in clinical or lab data submitted to the ADA. Dr. Ruchi Sahota, a spokesperson for the organization, said she always tells her patients to look for the ADA Seal of Acceptance when they’re shopping for interdental cleaners, and Neuburger recommends making sure dental items are approved by the Food and Drug Administration (FDA) in addition to having the ADA Seal of Acceptance.
Here are some types to try:
Oral irrigators: These electronic devices shoot either a thin stream of water (water flossers) or a thin stream of air punctuated by bursts of tiny water droplets (air flossers) between teeth to remove plaque. (Wirecutter recommends the Waterpik Aquarius.) A 2019 Cochrane Review examining 35 randomized controlled trials found that oral irrigation has been shown to reduce gingivitis symptoms (bleeding gums) in the short term but found no evidence for overall plaque reduction.
Interdental brushes: These small, textured brushes made for cleaning between teeth can be easier to hold and maneuver than floss. The Cochrane Review found that such tools can reduce gingivitis symptoms and plaque in the short term, and a 2015 review of nearly 400 studies, published in the Journal of Clinical Periodontology, found “moderate” evidence that interdental brushes reduce plaque and gingivitis symptoms. People with tightly spaced teeth may have trouble using them, and according to the ADA, people with electronic implants in their mouths should avoid interdental brushes with an exposed metal wire.
Toothpicks: Like interdental brushes, some toothpicks (usually made of wood, rubber, or plastic) may be easier to hold than a strand of floss. The toothpicks you might pick up at your local diner are probably not ADA approved, but you can find a wooden “plaque remover” with the ADA Seal of Acceptance. The Cochrane Review found that wooden “cleaning sticks” can help reduce gingivitis but not plaque, whereas those made of synthetic materials can help reduce plaque but not gingivitis symptoms.
Floss picks: A floss pick is a disposable tool with a toothpick on one end and a bit of floss held taut on the other. A 2007 study published in the Journal of Clinical Dentistry found that floss picks are “at least as good as” regular dental floss when it comes to removing plaque. Reusable floss holders are also available—some are just a plastic handle that you can string floss onto, and others have disposable floss cartridges that you have to buy separately—but none of these tools have the ADA Seal of Acceptance, and a 2011 study published in Clinical Oral Investigations found that many reusable floss holders are difficult to maneuver.
Tape floss:According to the ADA, your flossing technique and frequency are more important than what your floss is made out of—nylon, plastic, waxed, or unwaxed. Some people find that a wide, flat, tape-style floss (rather than a strand of fibers woven together) is more comfortable and easier to slide between tightly spaced teeth.
Do you have to floss if you use an electric toothbrush?
Regardless of what kind of toothbrush you use—and how good your brushing technique is—it can’t replace flossing. A 2014 Cochrane Review found that electric toothbrushes are generally more effective than manual brushes at reducing plaque and gingivitis symptoms. But even the best toothbrushes clean only the top, front, and back surfaces of the teeth. Unless you use an interdental cleaner, you’re leaving the side surfaces exposed.
“Cleaning in between our teeth is one of the best things we can do to prevent cavities, bleeding, gum disease, and infection,” said Sahota.
Whatever you choose, make it a habit
For patients who struggle with cleaning in between their teeth, Sahota’s main piece of advice is to power through for 10 days in a row.
“On that 11th day,” she said, “I guarantee it will be comfortable, or at least it won’t be quite as uncomfortable.” And by that time, “it won’t make you bleed.”
After the initial discomfort subsides, said Sahota, people start to feel a difference—their teeth feel cleaner and less sensitive. Flossing becomes a habit, not a chore. It gets to a point where they can’t imagine not flossing every day.
“It would be like washing your hands and not cleaning in between your fingers,” she said.
If it hurts to floss, or if it remains uncomfortable after two weeks, you could have an underlying problem, for which you should see a dentist. Or maybe you’re just flossing too hard.
“You shouldn’t be flossing so aggressively that it traumatizes or damages that gum tissue,” said Sahota. “You have to be gentle. Don’t be so gentle that you fail to disrupt the plaque, of course, but there’s a happy medium.”
The past years, I've examined Drupal.org's contribution data to understand who develops Drupal, how diverse the Drupal community is, how much of Drupal's maintenance and innovation is sponsored, and where that sponsorship comes from.
You can look at the 2016 report, the 2017 report, and the 2018 report. Each report looks at data collected in the 12-month period between July 1st and June 30th.
This year's report shows that:
Both the recorded number of contributors and contributions have increased.
Most contributions are sponsored, but volunteer contributions remains very important to Drupal's success.
Drupal's maintenance and innovation depends mostly on smaller Drupal agencies and Acquia. Hosting companies, multi-platform digital marketing agencies, large system integrators and end users make fewer contributions to Drupal.
Drupal's contributors have become more diverse, but are still not diverse enough.
Methodology
What are Drupal.org issues?
"Issues" are pages on Drupal.org. Each issue tracks an idea, feature request, bug report, task, or more. See https://www.drupal.org/project/issues for the list of all issues.
For this report, we looked at all Drupal.org issues marked "closed" or "fixed" in the 12-month period from July 1, 2018 to June 30, 2019. The issues analyzed in this report span Drupal core and thousands of contributed projects, across all major versions of Drupal.
A screenshot of an issue comment on Drupal.org. You can see that jamadar worked on this patch as a volunteer, but also as part of his day job working for TATA Consultancy Services on behalf of their customer, Pfizer.
Drupal.org's credit system is truly unique and groundbreaking in Open Source and provides unprecedented insights into the inner workings of a large Open Source project. There are a few limitations with this approach, which we'll address at the end of this report.
What is the Drupal community working on?
In the 12-month period between July 1, 2018 and June 30, 2019, 27,522 issues were marked "closed" or "fixed", a 13% increase from the 24,447 issues in the 2017-2018 period.
In total, the Drupal community worked on 3,474 different Drupal.org projects this year compared to 3,229 projects in the 2017-2018 period — an 8% year over year increase.
The majority of the credits are the result of work on contributed modules:
Compared to the previous period, contribution credits increased across all project types:
While some of these increases reflect new contributions, others are existing contributions that are newly reported. All contributions are valuable, whether they're code contributions, or non-product and community-oriented contributions such as organizing events, giving talks, leading sprints, etc. The fact that the credit system is becoming more accurate in recognizing more types of Open Source contribution is both important and positive.
Who is working on Drupal?
For this report's time period, Drupal.org's credit system received contributions from 8,513 different individuals and 1,137 different organizations — a meaningful increase from last year's report.
Consistent with previous years, approximately 51% of the individual contributors received just one credit. Meanwhile, the top 30 contributors (the top 0.4%) account for 19% of the total credits. In other words, a relatively small number of individuals do the majority of the work. These individuals put an incredible amount of time and effort into developing Drupal and its contributed projects:
Out of the top 30 contributors featured this year, 28 were active contributors in the 2017-2018 period as well. These Drupalists' dedication and continued contribution to the project has been crucial to Drupal's development.
It's also important to recognize that most of the top 30 contributors are sponsored by an organization. Their sponsorship details are provided later in this article. We value the organizations that sponsor these remarkable individuals, because without their support, it could be more challenging for these individuals to be in the top 30.
It's also nice to see two new contributors make the top 30 this year — Alona O'neill with sponsorship from Hook 42 and Thalles Ferreira with sponsorship from CI&T. Most of their credits were the result of smaller patches (e.g. removing deprecated code, fixing coding style issues, etc) or in some cases non-product credits rather than new feature development or fixing complex bugs. These types of contributions are valuable and often a stepping stone towards towards more in-depth contribution.
How much of the work is sponsored?
Issue credits can be marked as "volunteer" and "sponsored" simultaneously (shown in jamadar's screenshot near the top of this post). This could be the case when a contributor does the necessary work to satisfy the customer's need, in addition to using their spare time to add extra functionality.
For those credits with attribution details, 18% were "purely volunteer" credits (8,433 credits), in stark contrast to the 65% that were "purely sponsored" (29,802 credits). While there are almost four times as many "purely sponsored" credits as "purely volunteer" credits, volunteer contribution remains very important to Drupal.
Both "purely volunteer" and "purely sponsored" credits grew — "purely sponsored" credits grew faster in absolute numbers, but for the first time in four years "purely volunteer" credits grew faster in relative numbers.
The large jump in volunteer credits can be explained by the community capturing more non-product contributions. As can be seen on the graph below, these non-product contributions are more volunteer-centric.
Who is sponsoring the work?
Now that we've established that the majority of contributions to Drupal are sponsored, let's study which organizations contribute to Drupal. While 1,137 different organizations contributed to Drupal, approximately 50% of them received four credits or less. The top 30 organizations (roughly the top 3%) account for approximately 25% of the total credits, which implies that the top 30 companies play a crucial role in the health of the Drupal project.
Top contributing organizations based on the number of issue credits.
While not immediately obvious from the graph above, a variety of different types of companies are active in Drupal's ecosystem:
Category
Description
Traditional Drupal businesses
Small-to-medium-sized professional services companies that primarily make money using Drupal. They typically employ fewer than 100 employees, and because they specialize in Drupal, many of these professional services companies contribute frequently and are a huge part of our community. Examples are Hook42, Centarro, The Big Blue House, Vardot, etc.
Digital marketing agencies
Larger full-service agencies that have marketing-led practices using a variety of tools, typically including Drupal, Adobe Experience Manager, Sitecore, WordPress, etc. They tend to be larger, with many of the larger agencies employing thousands of people. Examples are Wunderman, Possible and Mirum.
System integrators
Larger companies that specialize in bringing together different technologies into one solution. Example system agencies are Accenture, TATA Consultancy Services, Capgemini and CI&T.
Hosting companies
Examples are Acquia, Rackspace, Pantheon and Platform.sh.
End users
Examples are Pfizer or bio.logis Genetic Information Management GmbH.
A few observations:
Almost all of the sponsors in the top 30 are traditional Drupal businesses with fewer than 50 employees. Only five companies in the top 30 — Pfizer, Google, CI&T, bio.logis and Acquia — are not traditional Drupal businesses. The traditional Drupal businesses are responsible for almost 80% of all the credits in the top 30. This percentage goes up if you extend beyond the top 30. It's fair to say that Drupal's maintenance and innovation largely depends on these traditional Drupal businesses.
The larger, multi-platform digital marketing agencies are barely contributing to Drupal. While more and more large digital agencies are building out Drupal practices, no digital marketing agencies show up in the top 30, and hardly any appear in the entire list of contributing organizations. While they are not required to contribute, I'm frustrated that we have not yet found the right way to communicate the value of contribution to these companies. We need to incentivize each of these firms to contribute back with the same commitment that we see from traditional Drupal businesses
The only system integrator in the top 30 is CI&T, which ranked 4th with 795 credits. As far as system integrators are concerned, CI&T is a smaller player with approximately 2,500 employees. However, we do see various system integrators outside of the top 30, including Globant, Capgemini, Sapient and TATA Consultancy Services. In the past year, Capgemini almost quadrupled their credits from 46 to 196, TATA doubled its credits from 85 to 194, Sapient doubled its credits from 28 to 65, and Globant kept more or less steady with 41 credits. Accenture and Wipro do not appear to contribute despite doing a fair amount of Drupal work in the field.
Hosting companies also play an important role in our community, yet only Acquia appears in the top 30. Rackspace has 68 credits, Pantheon has 43, and Platform.sh has 23. I looked for other hosting companies in the data, but couldn't find any. In general, there is a persistent problem with hosting companies that make a lot of money with Drupal not contributing back. The contribution gap between Acquia and other hosting companies has increased, not decreased.
We also saw three end users in the top 30 as corporate sponsors: Pfizer (453 credits), Thunder (659 credits, up from 432 credits the year before), and the German company, bio.logis (330 credits). A notable end user is Johnson & Johnson, who was just outside of the top 30, with 221 credits, up from 29 credits the year before. Other end users outside of the top 30, include the European Commission (189 credits), Workday (112 credits), Morris Animal Foundation (112 credits), Paypal (80 credits), NBCUniversal (48 credits), Wolters Kluwer (20 credits), and Burda Media (24 credits). We also saw contributions from many universities, including the University of British Columbia (148 credits), University of Waterloo (129 credits), Princeton University (73 credits), University of Austin Texas at Austin (57 credits), Charles Darwin University (24 credits), University of Edinburgh (23 credits), University of Minnesota (19 credits) and many more.
It would be interesting to see what would happen if more end users mandated contributions from their partners. Pfizer, for example, only works with agencies that contribute back to Drupal, and uses Drupal's credit system to verify their vendors' claims. The State of Georgia started doing the same; they also made Open Source contribution a vendor selection criteria. If more end users took this stance, it could have a big impact on the number of digital agencies, hosting companies and system integrators that contribute to Drupal.
While we should encourage more organizations to sponsor Drupal contributions, we should also understand and respect that some organizations can give more than others and that some might not be able to give back at all. Our goal is not to foster an environment that demands what and how others should give back. Instead, we need to help foster an environment worthy of contribution. This is clearly laid out in Drupal's Values and Principles.
How diverse is Drupal?
Supporting diversity and inclusion within Drupal is essential to the health and success of the project. The people who work on Drupal should reflect the diversity of people who use and work with the web.
I looked at both the gender and geographic diversity of Drupal.org contributors. While these are only two examples of diversity, these are the only diversity characteristics we currently have sufficient data for. Drupal.org recently rolled out support for Big 8/Big 10, so next year we should have more demographics information
Gender diversity
The data shows that only 8% of the recorded contributions were made by contributors who do not identify as male, which continues to indicate a wide gender gap. This is a one percent increase compared to last year. The gender imbalance in Drupal is profound and underscores the need to continue fostering diversity and inclusion in our community.
Last year I wrote a post about the privilege of free time in Open Source. It made the case that Open Source is not a meritocracy, because not everyone has equal amounts of free time to contribute. For example, research shows that women still spend more than double the time as men doing unpaid domestic work, such as housework or childcare. This makes it more difficult for women to contribute to Open Source on an unpaid, volunteer basis. It's one of the reasons why Open Source projects suffer from a lack of diversity, among others including hostile environments and unconscious biases. Drupal.org's credit data unfortunately still shows a big gender disparity in contributions:
Ideally, over time, we can collect more data on non-binary gender designations, as well as segment some of the trends behind contributions by gender. We can also do better at collecting data on other systemic issues beyond gender alone. Knowing more about these trends can help us close existing gaps. In the meantime, organizations capable of giving back should consider financially sponsoring individuals from underrepresented groups to contribute to Open Source. Each of us needs to decide if and how we can help give time and opportunities to underrepresented groups and how we can create equity for everyone in Drupal.
Geographic diversity
When measuring geographic diversity, we saw individual contributors from six continents and 114 countries:
Contribution credits per capita calculated as the amount of contributions per continent divided by the population of each continent. 0.001% means that one in 100,000 people contribute to Drupal. In North America, 5 in 100,000 people contributed to Drupal the last year.
Contributions from Europe and North America are both on the rise. In absolute terms, Europe contributes more than North America, but North America contributes more per capita.
Asia, South America and Africa remain big opportunities for Drupal, as their combined population accounts for 6.3 billion out of 7.5 billion people in the world. Unfortunately, the reported contributions from Asia are declining year over year. For example, compared to last year's report, there was a 17% drop in contribution from India. Despite that drop, India remains the second largest contributor behind the United States:
The top 20 countries from which contributions originate. The data is compiled by aggregating the countries of all individual contributors behind each issue. Note that the geographical location of contributors doesn't always correspond with the origin of their sponsorship. Wim Leers, for example, works from Belgium, but his funding comes from Acquia, which has the majority of its customers in North America.
Top contributor details
To create more awareness of which organizations are sponsoring the top individual contributors, I included a more detailed overview of the top 50 contributors and their sponsors. If you are a Drupal developer looking for work, these are some of the companies I'd apply to first. If you are an end user looking for a company to work with, these are some of the companies I'd consider working with first. Not only do they know Drupal well, they also help improve your investment in Drupal.
PreviousNext (304), Charles Darwin University (22), University of Technology, Sydney (3), Service NSW (2), Department of Justice & Regulation, Victoria (1)
It is important to note a few of the current limitations of Drupal.org's credit system:
The credit system doesn't capture all code contributions. Parts of Drupal are developed on GitHub rather than Drupal.org, and often aren't fully credited on Drupal.org. For example, Drush is maintained on GitHub instead of Drupal.org, and companies like Pantheon don't get credit for that work. The Drupal Association is working to integrate GitLab with Drupal.org. GitLab will provide support for "merge requests", which means contributing to Drupal will feel more familiar to the broader audience of Open Source contributors who learned their skills in the post-patch era. Some of GitLab's tools, such as in-line editing and web-based code review will also lower the barrier to contribution, and should help us grow both the number of contributions and contributors on Drupal.org.
The credit system is not used by everyone. There are many ways to contribute to Drupal that are still not captured in the credit system, including things like event organizing or providing support. Technically, that work could be captured as demonstrated by the various non-product initiatives highlighted in this post. Because using the credit system is optional, many contributors don't. As a result, contributions often have incomplete or no contribution credits. We need to encourage all Drupal contributors to use the credit system, and raise awareness of its benefits to both individuals and organizations. Where possible, we should automatically capture credits. For example, translation efforts on https://localize.drupal.org are not currently captured in the credit system but could be automatically.
The credit system disincentives work on complex issues. We currently don't have a way to account for the complexity and quality of contributions; one person might have worked several weeks for just one credit, while another person might receive a credit for 10 minutes of work. We certainly see a few individuals and organizations trying to game the credit system. In the future, we should consider issuing credit data in conjunction with issue priority, patch size, number of reviews, etc. This could help incentivize people to work on larger and more important problems and save smaller issues such as coding standards improvements for new contributor sprints. Implementing a scoring system that ranks the complexity of an issue would also allow us to develop more accurate reports of contributed work.
All of this means that the actual number of contributions and contributors could be significantly higher than what we report.
Like Drupal itself, the Drupal.org credit system needs to continue to evolve. Ultimately, the credit system will only be useful when the community uses it, understands its shortcomings, and suggests constructive improvements.
A first experiment with weighing credits
As a simple experiment, I decided to weigh each credit based on the adoption of the project the credit is attributed to. For example, each contribution credit to Drupal core is given a weight of 11 because Drupal core has about 1,1 million active installations. Credits to the Webform module, which has over 400,000 installations, get a weight of 4. And credits to Drupal's Commerce project gets just 1 point as it is installed on fewer than 100,000 sites.
The idea is that these weights capture the end user impact of each contribution, but also act as a proxy for the effort required to get a change committed. Getting a change accepted in Drupal core is both more difficult and more impactful than getting a change accepted to Commerce project.
This weighting is far from perfect as it undervalues non-product contributions, and it still doesn't recognize all types of product contributions (e.g. product strategy work, product management work, release management work, etc). That said, for code contributions, it may be more accurate than a purely unweighted approach.
The top 30 contributing individuals based on weighted Drupal.org issue credits.The top 30 contributing organizations based on weighted Drupal.org issue credits.
Conclusions
Our data confirms that Drupal is a vibrant community full of contributors who are constantly evolving and improving the software. It's amazing to see that just in the last year, Drupal welcomed more than 8,000 individuals contributors and over 1,100 corporate contributors. It's especially nice to see the number of reported contributions, individual contributors and organizational contributors increase year over year.
To grow and sustain Drupal, we should support those that contribute to Drupal and find ways to get those that are not contributing involved in our community. Improving diversity within Drupal is critical, and we should welcome any suggestions that encourage participation from a broader range of individuals and organizations.
If you're a programmer that loves cameras or image processing, and working for Apple sounds like a good move- @ivanski wants you to know they're hiring. There are multiple open positions on the Camera Framework and Core Image teams down in Cupertino.
Unsurprisingly, I've had many interactions with the people on Apple's Core Image team over the years from my work on Acorn, and they've always been super great to work with. I think it'd be a great team to join if GPU programming, image processing, and pushing pixels around is something you enjoy.
With recent legislation legalizing ebikes on paths in all national parks, it is important that all riders, including ebikers, practice bike etiquette and keep these parks safe and fun for all! Adventures are better together regardless of the type of bike you ride. In this Blix Journal, we discuss some of Blix tips for Blix ebike etiquette because being kind goes a long way.
Bike Etiquette 101
Slow and steady: Riding fast in crowded areas is dangerous to both you and others. Some may be walking on the paths or riding a traditional bike without a 20mph top speed. Keep it slow and enjoy the ride!
Ring the bell and On your left!: Alerting others to your presence when trying to pass is SUPER IMPORTANT. Ringing the bell well in advance is a great indicator to others that you are approaching and will be passing. No need to yell, but speak up and let them know you are "on their left" and will be riding past. All Blix models now come with an integrated bike bell!
Use Hand Signals: Before you stop or turn, let others behind you and coming the opposite direction know where you will be going.
Stop, look, go: Be sure to STOP at stop signs and follow all laws related to crosswalks and stop signs.
Check it out before you take it out: Do a quick look around and test of your gears, brakes, and lights. Making sure your bike is functioning properly is vital to safe and courteous riding.
Take break time on the side: Stopping in the center of the path for water, to sight see, or grab a snack can be super disruptive to everyone. Pull off to the side and take all the time you need!
Pack your trash: National parks are beautiful sancturies that we hope to enjoy for many years to come. If you stop for a break or have items in your pannier bags or baskets, make sure you leave no trace. Protect the park and maybe pick up some trash while you ride!
The text/call can wait: When riding, taking a call or answering a text is a huge distraction, just like if you were driving. Help protect yourself and others by keeping the phone away while you ride.
Shine bright: Evening rides are super fun, but staying visible at all times will protect you from being hit and front lights can help you avoid hitting others.
Smile and wave: Saying a kind hello, have a great day, or even waving can make someone's day!
Practicing these simple bike etiquette actions will help others realize that ebikes are a great option of exercising, transportation, and having fun. We can help keep bike paths safe for all and increase the ability of people of all physical abilities to use the path, especially those who previously may not have been able to ride along on a traditional bike or walk the entire trail.
Where will you take your Blix Electric Bike this fall?
Andrew Weichel, CTV News Vancouver
Published Tuesday, September 10, 2019 3:44PM PDT
Last Updated Tuesday, September 10, 2019 3:45PM PDT
Police are investigating a hair-raising video that shows a taxi driving down a separated bike lane in downtown Vancouver.
The video was captured from the backseat of the cab, and shows the vehicle occupying the Dunsmuir bike lane for at least one city block before merging back into regular traffic.
It was posted online Monday morning by a man who identifies himself as an urban planner from Portland, Ore.
"Got an unexpected tour of the Dunsmuir (bike lane) from my taxi driver," he wrote.
Though it's not visible on the video, the poster said at one point a cyclist also left the bike lane to avoid the taxi.
"I got out of the car wishing Vancouver had #uber and #lyft, both of which would allow me to easily make a complaint in the app, and repeated violations could result in a driver being removed from the service," he wrote.
It's not clear from the video which cab company the driver works for.
Vancouver police confirmed officers from its traffic unit are investigating the video, but said it's too early to provide any further details.
Paul Fairie@paulisci
Remember to always say that your party is perfect and all other parties are worse than anything else in history. It… twitter.com/i/web/status/1…
With that in mind, Apple has released a two-minute “supercut” that goes over everything it showed off during the conference.
It didn’t stop there, however. As spotted on the Apple subreddit, the tech giant has also hidden a blink-and-you-miss-it easter egg for eagle-eyed viewers. In fact, the little nugget is so well-hidden that you could not blink and still miss it.
As discovered by reddit user u/Gcarsk, stopping the video at the precise moment during the 1:24 mark will reveal a message.
“This is just a thought. But it might be nice to have some sort of easter egg message in here for the hard core Apple fans that will stop the video,” reads the message.
Following this is a number of 1’s and 0’s that, when converted to text, actually spell out something else. “So “You took the time to translate this? We love you.” reads the translated message.
Altogether, the reddit user says the message appears for six frames, making it particularly impressive that he came across it.
Intel has announced plans to bring 3D athlete tracking (3DAT) technology to the 2020 Olympics in Tokyo.
According to the company, its 3DAT system will use four cameras to film athletes in sprint events such as the 100-metre dash.
From there, algorithms will analyze the biomechanics of each athlete’s movements and overlay those in broadcasts during replays.
This isn’t the only tech that Intel is bringing to Tokyo in 2020. The company says it also plans to bring 5G connectivity to the game and help train summer games staff using VR headsets.
Further, Intel will stream track, boxing, beach volleyball and the opening and closing ceremonies to VR headsets.