Shared posts

23 Apr 21:04

On Disliking Beijing

Walking the Great Wall was fun, but Beijing is more intense, leaving me with strong and mixed feelings. There’s a lot to dislike, and on balance I can’t imagine wanting to live there. (But see also On Liking Beijing.)

To start with, it’s flat and sprawling, built for cars not people, and the pollution is bad. We arrived on a nice sunny Monday and the air was pretty clear. But by week’s end it was gruesome.

[This is part of The Surface of China series.]

Bad air in Beijing

Bad air day.

As they say in Green and Urbanist communities, if you build a city for cars, you’ll get cars.

Built for cars Built for cars

Built for cars.

Not only do Beijing’s ring roads (seven of them!) have a collective Wikipedia entry, each of the 2nd, 3rd, 4th, 5th, 6th, and 7th has its own. The streets are big and wide and full of aggression; traffic is a competitive sport which you win by convincing others that you have fewer fucks to give. Lane invasion is basic, and a key technique is that neither a lane’s invader nor its defender must ever look at nor otherwise acknowledge each other until someone inevitably brakes and gives way.

All the roads are full, all the time. “The airport’s half an hour away, better allow ninety minutes to be sure” they said, and it took us sixty; things got faster after we got past these guys.

Beijing highway problem

The roads are full and the sidewalks and subways are too, full of people. One place they’re especially full is around Tienanmen square. You arrive at the subway and have to parade through endless packed passages and staircases, emerge across the street, then through another tunnel to come up into its vastness.

Heading for Tienanmen

Heading for Tienanmen.

And I just can’t talk about that place without getting into politics. Let’s be clear: In 2019, the Communist Party of China is the world’s leading oppressor of human beings. I’m not going to enumerate all the sins here, but it’s worth mentioning the pervasive censorship, the savage oppression of ethnic minorities, and the corruption that flows Lamborghinis steadily onto the streets of Vancouver. It’s not just the air that stinks.

The Great Wall was built at extreme cost in blood and treasure to protect the Chinese people from the barbarians outside. To me it looks like the barbarians won, and are now headquartered in the Great Hall of the People.

Great Hall of the People

Great Hall of the People.

Which is of course overlooks Tienanmen. To be honest the whole place made me shudder. The security apparatus is ubiquitous, in-yo-face every moment. Quite likely, one of these years the people of China will run out of patience and terminate the barbarian claque. But you can be damn sure that the trouble isn’t gonna start in Tienanmen, that puppy is locked down so tight it squeaks.

Tienanmen Square security apparatus

Some of the security apparatus.

Guards in Tienanmen Square Guards in Tienanmen Square

Dress-up with a message.

Everywhere in Tienanmen there is shouting — the tour-group wranglers I mean, chivvying their parties, usually dressed in matching T-shirts or caps, this way or that. Look around; the square may be at the city’s center, but you can’t really get onto it from any of the surrounding roads. Nor out, either; the barbarians learned an important tactical lesson.

Tienanmen starting point

At the bottom of Tienanmen Square. The big lineup to the left is people queuing for a really long time to walk past Mao’s preserved remains in the mausoleum.

Below, a close-up of one of the stones. Quite likely it was soaked with blood on June fourth, 1989. I watched that on live TV — here’s BBC footage and I’ll never forget and the world shouldn’t either.

A stone of Tienanmen square

Below is another Tienanmen tour group, with flags the color of blood.

Tour group in Tienanmen square

Yeah, China may have lifted a billion people out of poverty, but they didn’t have to do this to do that.

No Truth here

In China, your phone can’t get to the BBC or CNN or Google or Twitter or Facebook. Unless you’re running with a foreign SIM. But if you have one then you can’t connect to the hotel or any other public WiFi.

I look at China’s generations and they look more different from each other than ours do. The oldest ones saw endless war, the middle-aged ones went through the Cultural Revolution, and there are all these sharp-dressed young folk who’ve only ever known a modern-ish fast-growing China where all your daily needs are probably pretty well satisfied, as long they don’t include knowing what’s happening outside China, or the truth about what’s happening inside. Old people aren’t just short, they’re beat-down; but many young Chinese men are taller than me.

Behind Tienanmen is The Forbidden City. They had some lovely things and quiet courtyards in the Treasure House, but frankly, it mostly wasn’t that beautiful and there was nothing to warm your heart. It is huge beyond hugeness, and entirely designed to assert the power of the State over its cowed citizens. The State in those days was personalized, with a living breathing Emperor. Some of those were barbarians too, by birth or by habit.

Inside the Forbidden City

Some of the eighty thousand or so a day tourists
who stream through the Forbidden City.

Also breakfast

Along with the car-centrism and the barbaric dictatorship, there are the breakfasts. I loathe, loathe, loathe Chinese city breakfast and it cast a pall over every day I had to start with one. But this prejudice is a failing in me, not in the city.

I was awfully happy to get in the bus and head out to the Great Wall.

23 Apr 21:04

On Liking Beijing

It’s complicated. No big city offers just one flavor. Beijing (only China’s third biggest) has plenty. I feel no need to go back (see Disliking Beijing) but I liked some.

[This is part of The Surface of China series.]

Dancing!

Our headquarters was the Laurel Hotel; the district seemed to be called Jiaomen, and it was… nothing special. But it had street life, notably including dancing. There were three separate dance scenes within a couple of blocks. We’re talking about a ghetto-blaster on a stand on the plaza in front of a mall or apartment building, maybe a dance leader, and then a gaggle of couples with wildly varying skill, dancing apparently for pure pleasure.

Dance out-take

An out-take from seventeen seconds of video on YouTube.

Another scene elsewhere on the same plaza was a little more downtempo, and then another on a darker plaza very old-school — strictly waltzes — and more romantic.

Dogs

Beijing’s pups are excellent. They’re mostly medium-sized, neither hulking nor tiny, a lot of them somehow look sort of Chinese, and by and large are cheery, quiet, and well-behaved. A lot of them are off-leash, trotting along keeping pace with their people, staying out of trouble. Mostly they look neither overstressed nor underfed, including the ones trotting here and there sans human, looking like they know where they’re going. I gather they are at some risk of being eaten; but a tip of the hat to the non-dog-eating people who seem to be taking good care of theirs.

Silent driving!

In the accompanying Dislike piece I bitched about Beijing’s overly-wide over-occupied streets. It turns out that the big ones come with little mini-streets on each side for use by anything that’s not a car, which includes bikes, motorcycles, and a whole lot of power-trikes, where the space behind the driver can be a seat for a couple of passengers, or a rack for power tools, or really anything in between. What you can’t help noticing is that (in my Beijing hood, anyhow) more than half of these non-cars are now electric. Doesn’t mean that you won’t get creamed and rushed to emergency if you don’t focus (unless of course you powerfully radiate no-fucks-to-give-here), but these auxiliary streets are kind of peaceful, I wish Vancouver had more like this.

Here are a couple of snaps, illustrating the minor-street-off-major-street thing.

Streetside Beijing traffic Streetside Beijing traffic

Check out the brown polka-dotted thing on the front of the red-coated dude’s bike. I’d never seen one before but they’re everywhere in Beijing. It gets cold there in winter and I guess one of these will keep you warm without having to suit up in a dorky cycling outfit.

Speaking of electric vehicles, China knows it’s got a pollution problem and is working on it. We were driving along a nice modern highway and stopped in at a service center, totally like the kind we have here at home along the highway, and it had a brand-new electric-vehicle charging station.

EV charging station in China

That car is a BYD, a domestic Chinese automaker that pumps out lots of electrics. If the picture looks a little weird that’s because I fat-fingered the Pixel into “portrait” mode. The driver got a little tense and nervous when the large foreigner strolled over and started taking his picture. Sorry about that, dude; if I spoke a word of Chinese I’d have chatted you up, as a fellow EV owner, wanting to know about the finer points of charging China.

The Temple of Heaven

Our last day in Beijing was the best, someone recommended the Temple of Heaven, and is it ever great. Not the temples, the place and the people. It’s green and away from traffic and has plenty of room for everyone — none of which is otherwise in plentiful in Beijing. Not that it was empty, it was buzzing, mostly with old people, most of them wholesomely active.

Here are a bunch of dudes playing 毽子 (Jianzi), hackey-sack with a big shuttlecock, which dates back 2400 years or so in China. These guys were not young but damn, they were deft, deploying lots of slick behind-the back and knee-to-foot and heel-kick moves, and that shuttlecock wasn’t hitting the ground very often at all.

Jianzi players in the Temple of Heaven

Then there was this big area full of exercise equipment, mostly occupied, mostly by older folk, here and there a child in evidence. I tried a thing I can only describe as a knee-swinging striding machine, and it made my legs feel great! Wish there was one in our neighborhood park.

Exercising in the Temple of Heaven park, Beijing

Another thing that happens in the park is music; people go out and practice. Here’s one area that attracts saxophonists; this picture only catches a couple, but there were more. They’re within earshot of each other but that doesn’t seem to bother them. I strolled down the middle and among all the practice phrasing it was like a performance of abstract modern music; not unpleasant at all.

Saxophonists practice in the Temple of Heaven park, Beijing

Then there was this guy with a lap guitar and beatbox, he had loads of soul. Seriously, check the video.

Swinging guitar in the Temple of Heaven park, Beijing

At another point there was a dude singing opera with accordion accompaniment, and while he neither looked nor sounded exceptional, he was competent and it was a fine thing to be sitting in the green listening to the arias. Did I mention it was green and spacious?

Green space in the Temple of Heaven park, Beijing

Occasionally there would be a person alone among the trees practicing Tai Chi.

And oh, right, temples too. These are from the Temple of Fasting (also “of Abstention”).

Temple of Fasting, Beijing Temple of Fasting, Beijing Temple of Fasting, Beijing

At this point I should say that, while in the “Disliking” piece I kind of dissed the Forbidden City, it had, if you went off to the side, some purely exquisite spaces. Here are two.

In the Forbidden City, Beijing In the Forbidden City, Beijing

Back to the people; here’s a random nice outfit.

Lady in pink shiny top

After the temple, we went to 京A Brewing and after two weeks of Chinese food I heartily enjoyed a cheeseburger and a very decent IPA.

Jing-A Brewing, Beijing

Then we strolled through Wangfujing, a high-toned expensive shopping district, with a side-bazaar in which you can buy any imaginable food that can be presented on a stick as well as some that never should be such as scorpions, still wiggling. Wangfujing is fun if a little ostentatious, I recommend it.

Ice cream in Wangfujing, Beijing

On our last morning, before heading to the airport we walked randomly around the residential parts of Jiaomen; it was a quiet sunny morning, the pollution not too bad. There were oldsters on exercise machines in parks and playing/kibitzing chess games and just hanging out. A guy working on an electrical box beamed when we gave him a Nihao. The buildings are low-rises, older. I think if you had to live in Beijing, this might not be the worst place.

Building in Jiaomen, Beijing

The best thing about Beijing is the people there. I hope they get a better government before too long.

23 Apr 21:04

An Intro to Threading in Python

An Intro to Threading in Python

Real Python consistently produces really comprehensive, high quality articles and tutorials. This is an excellent introduction to threading in Python, covering threads, locks, queues, ThreadPoolExecutor and more.

Via @realpython

23 Apr 21:03

Fahrrad ohne Kette? Das NuBike funktioniert nur mit Antriebshebeln

by Carsten Thomas
Der in Los Angeles ansässige Erfinder Rodger Parker hat eine Alternative zum herkömmlichen Kettenfahrrrad entworden: Das NuBike.Wahrscheinlich suchen die Menschen seit der Erfindung des Fahrrads nach Alternativen zum traditionellen Betrieb mit Fahrradkette. Der in Los Angeles ansässige Erfinder Rodger Parker hat eine solche Alternative in seinem NuBike eingesetzt, das seiner Meinung [...]
23 Apr 21:03

A Message from the Future

by Stephen Rees

You might recall that Guy Duancy wrote a book on the same theme. This is mainly aimed at the US readers who need to know about the Green New Deal. Everything under the line is simply cut and paste.


 

New York, NY – April 17, 2019 – “A Message from the Future with Alexandria Ocasio-Cortez,” the 7-minute animated film presented by The Intercept and Naomi Klein, featuring art by award-winning illustrator Molly Crabapple (“Brothers of the Gun”), has amassed over 2 million views across all video platforms in 8 (eight) hours.

This hybrid of fact, fiction, and art is set at a time when the Green New Deal is a reality and human beings have come together to tackle the global climate crisis in a fair and equitable manner. In this alternative (but entirely possible) timeline, the 2020 presidential election jumpstarted the “Decade of the Green New Deal” and a flurry of legislation kicked off a series of social and ecological transformations to save the planet.

YouTube: https://interc.pt/GreenNewDeal

Twitter: https://t.co/PywCR0jPUl

The Intercept: https://interc.pt/NaomiKleinGND

“It is such a pleasure to collaborate with this team of artists and filmmakers, who are helping us imagine the beautiful, safe and inclusive future that so many tell us is impossible,” said Congresswoman Alexandria Ocasio-Cortez. “Before we can win a Green New Deal,” she added, “we need to be able to close our eyes and imagine it. We can be whatever we have the courage to see.”

A Message from the Future with Alexandria Ocasio-Cortez” will also screen during Sunrise Movement’s “Road to the Green New Deal” tour, with eight major national stops and over 100 town halls across America. The tour begins Thursday, April 18, with a gathering at The Strand Theater in Boston, Massachusetts. For additional info on the Sunrise tour, visit their official site.

23 Apr 21:03

Exploring data to form better questions

by Nathan Yau

Feeding off the words of John Tukey, Roger Peng proposes a search for better questions in analysis:

The goal in this picture is to get to the upper right corner, where you have a high quality question and very strong evidence. In my experience, most people assume that they are starting in the bottom right corner, where the quality of the question is at its highest. In that case, the only thing left to do is to choose the optimal procedure so that you can squeeze as much information out of your data. The reality is that we almost always start in the bottom left corner, with a vague and poorly defined question and a similarly vague sense of what procedure to use. In that case, what’s a data scientist to do?

Story of my life.

Tags: design, exploration, John Tukey, Roger Peng

23 Apr 17:54

Become CC Certified!

Cable Green, Open Education Platform, Google Groups, Apr 18, 2019
Icon

We now know what Creative Commons thinks of open education: it'll cost you. The price for its new online courses: $500. It's an online course for rich people. "The 10-week online course offers online instruction, a discussion forum and support for cohorts of approximately 25 learners per instructor." I don't see why Creative Commons could not have learned from the many lessons learned about offering open online learning, and I'm not sure I can trust Creative Commons as the host of an 'open education platform'.

Web: [Direct Link] [This Post]
18 Apr 04:23

What is referential transparency?

by Eric Normand

Referential transparency is a term you’ll hear a lot in functional programming. It means that an expression can be replaced by its result. That is, 5+4 can be replaced by 9, without changing the behavior of the program. You can extend the definition also to functions. So you can say + is referentially transparent, because if you call it with the same values, it will give you the same answer.

Transcript

Eric Normand: What is referential transparency? By the end of this episode, you’ll know what this term means and why it’s important in functional programming. My name is Eric Normand and I help people thrive with functional programming.

This concept is important because it’s used a lot in functional programming circles. Because of that, it’s important to understand what they mean by it. The term could come up in conversation, in even documentation, or a comment somewhere.

I do want to emphasize that this term is one of those terms that was taken from previous work, before functional programming, and kind of changed. This is not the original definition. It’s not the definition you’ll find in linguistics, which is where the term originally comes from, philosophy.

This is what functional programmers mean right now, so what is it? Referential transparency means you can take an expression in your program, and replace it with the result of that expression.

As an example, if you have the expression 5+4, you can replace that with 9. That’s what it means. Now 5+4 is easy because you can do that in your head without running the program. There are some expressions that you don’t know yet what they’re going to give you.

For instance X+Y, you don’t know what that’s going to give you, because you don’t know X yet, and you don’t know Y yet. What you do know is that if X and Y are the same as last time, X hasn’t changed and Y hasn’t changed, it’s going to give you the same value as before.

If X is 3 and Y is 7, it’s always going to give you 10. This is referential transparency. It means you can replace the expression with the result of that expression.

Another way to look at it — this is the way I like to look at it — is it means it doesn’t matter how many times you run that expression. It doesn’t matter how many times you call that function. Sometimes that expression is a function call. Sometimes it’s like an operator. Sometimes it’s some other kind of expression in your language.

It doesn’t matter how many times you run it. You’re always going to get the same answer. When I say it doesn’t matter how many times, it means even zero times is OK. For example, in the 5+4 example that I gave before, the compiler can replace that 5+4 with 9. So, basically, at run time, your expression never runs. It ran once at that compile time just to give you that number.

Or, it might not ever need to be run, because that line of code never happens. Because that value wasn’t needed. We’ll get to that in Lazy Evaluation. That’s what that’s called. Another way to look at it is if you give the same arguments to the operator or to the function, you’re going to get the same result every time. It doesn’t matter how many times you call it.

You can call it zero times, one time, a hundred times. You’re always going to get the same results. Now, notice that you can’t do that if you have side effects in your function. It has to be a pure function to be referentially transparent. If my function sends out an email or moves a robot arm or deletes a file on the disc, it’s not going to be referentially transparent, because it does matter how many times it runs.

I can’t just replace that expression with its return value. If it moves a robot arm and then returns how many inches it moved. So, it’s 10 inches. Then I run it again, and it’s like, “No, I didn’t run again. I replaced that with 10 inches.” It’s not going to work. You need to be able to move the arm every time you run the function.

Likewise, if you’re doing something like fetching a Web page, reading a file from the disc, calculating a random number, giving the current date — and those are functions — those are not referentially transparent either. Every time you read the file from the disc, it could be different. Some other program might be writing to it. Same with a Web request.

You could get a different page each time. The date is obviously going to be different every time you run it, because you might run it today, you might run it tomorrow. The random number, you want it to be different every time. It’s not referentially transparent.

You can’t replace the call to the random number generator with whatever the compiler found the first time it called it. It’s not going to work. You actually need to run it. You can’t just replace it with its expression. This is important because it’s one of the properties of pure functions of calculations.

I like to call them calculations, but you might know them better as pure functions. This is one of the properties of pure functions that we can use in our programs or our programming language to get some benefits from. I’ve already mentioned you can replace 5+4 with 9 at compile-time and you get the same resulting program.

You don’t have to run that at run-time because it’s always going to give you the same answer. That’s an optimization that the compiler can do. Likewise, you can do optimizations like lazy evaluation. What lazy evaluation means, is it says, this expression will be called either zero times or one time.

Not more than one. Zero times, it’s fine, because we said it doesn’t matter if it’s called zero times, because you might never need the answer. You might not need the answer to X plus Y, so why run it? Just remember, if I ask for it, then you calculate it.

If you do need the answer, it calculates it one time, and if you need the answer again, it just uses the pre-calculated answer. That’s lazy evaluation. I should have an episode on that. That sounds like a good thing. Let me make a note.

The other thing that you can do is more like caching or memoizing. Lazy evaluation is saying, “We’re going to run this zero or one times.”

Caching and memoization is very similar. What you’re saying is, “After I calculate it once, I’m going to store it and return that the next time.”

The famous example of memoization is memoizing the recursive version of Fibonacci. If you do a recursive definition of Fibonacci, there’s a lot of repeated work. You’re going to be calling Fibonacci of two or Fibonacci of three a lot of times.

Because every time you call Fibonacci, it’s going to call two more Fibonaccis and add them up. Each one of those is going to call two more Fibonaccis and add them up. Each one of those will call two more so — it doubles every level of that tree.

A lot of them are going to be the same because they’re going to start running into each other. You should program it just to see what I’m talking about. If you do Fibonacci of a high number, it takes a long time to calculate and it’s because it’s calculating the same thing over and over.

You can memoize this function — Fibonacci — so that every time you call it, it’s actually checking, “Hey, I’ve already calculated this one. If I have, I’m not going to calculate it again. I’m just going to return it.” It kind of short-circuits the recursion. You only have to do that the first time. After that, it’ll just use this cached value. It’s very similar to lazy evaluation.

Lazy evaluation is like a generalized thing you can run on any expression. Sometimes the whole language will have every expression be lazy evaluated behind the scenes. You don’t even think about it, like in Haskell. Whereas memoizing is something you do specifically to a function as a way to optimize it.

Like I said, this is a property of pure functions. I want to talk about why I don’t like this term just a little bit.

I already [laughs] mentioned that it is taking a term that already exists and repurposing it, and changing the definition a little bit without reference to its sources, really. That’s one thing I don’t like because then you can’t really communicate across domains. They use it a different way in linguistics and even in computer science.

There’s this whole other branch, not functional programming, called the programming language semantics, that uses it in a totally different way. We have to be careful about that. The other thing I don’t like about it is it’s like pinpointing this one little thing about pure functions. That is part of the definition of pure functions.

Pure function has no effect. The only thing that’s important about the function is its return value. By definition, that means you could replace it with its return value. It’s really not any different from pure functions, not in any practical meaningful way.

It’s a term that, when people throw it around, sometimes it sounds like, “Don’t you just mean that’s a pure function?” “Do you really have to say it’s referentially transparent?” “Are you just trying to sound smarter?” That’s my nitpicking with the term. It’s important though because even though people are just using it to sound smarter, they are using it, and you have to understand what they’re talking about.

It also has an opposite, referentially transparent. There’s referentially opaque, which is the opposite. Referentially opaque, it means you cannot replace it with its value. You actually have to run the thing.

If you do something like a GET request to a Web server, you can’t just replace the GET request with whatever the compiler got when you compiled it, because the Web server on the other side could change that page at any point. You actually have to call it each time.

Same thing for writing out to a disk. You can just not right out to the disk because you said, “Oh, my compiler has optimized that away.” No, you have to write it out each time. That makes it opaque. Let me recap. Referential transparency is a property of an expression.

We can extend it to a function calls or to functions that says that if you give it the same arguments, you can always get the same answer. That means that you can replace that whole function call with the answer. That is, if you know the arguments. Even at runtime, you can do that, which is lazy evaluation.

It means that it doesn’t matter how many times you’ve run it. You don’t even have to run it at all. You can just replace 5+4 with 9, never run the plus, and the program is still correct. It still gives you the same behavior.

It’s using lazy evaluation, compiler optimization, caching, and memorizing. Here’s the thing I didn’t mention, it’s useful when you’re dealing with the algebraic properties of an expression. You don’t have to worry about how an expression got calculated. You could always just replace it with the value. What’s important is the value that came out of it.

That’s a nice thing when you’re reasoning about your program. You don’t have to worry about how the thing got calculated. You can treat this function or this function call, this expression, as a black box. In the same way that you could just say, “Well, it’s going to be replaced by its value.”

The opposite of it is referential opacity. People don’t use that as much as they use referential transparency. I’ve said my piece on referential transparency, but what I haven’t really given is that original definition. I’m talking about original computer science definition. I’m not saying like go back to a Quine, who was doing this in the philosophy of language.

I’m talking about even in computer science, it was used before. I didn’t go over that. If you want me to, I can, in another episode. Let me know and I’ll make an episode about that. If you’ve liked this episode, you should subscribe because there will be more like it. I love to see more people on this channel.

The reason I do this whole show is to help spread these ideas to bring some clarity to them as much as I can. A lot of people will talk about just the term and define and maybe use it a couple times. I like to talk about how the term is used and how people are using it, whether it’s important, things like that.

Just trying to go a little bit deeper than the simple definition because these things are important, that we don’t forget the history of the term, that if you’re reading a paper on it, and you don’t know why it seems a little different from the way people seem to be using it. The terms have history. It’s really the usage of them that matter.

Anyway, if you’re into that, please subscribe. If you have a question, if you want to get in touch with me, if you want to tell me that you want this original definition, from semantics, programming language semantics, you can email me at eric@lyspcast.com. You can also tweet at me, I’m @ericnormand, or you can find me on LinkedIn. Cool, I’ll see you next time.

The post What is referential transparency? appeared first on LispCast.

18 Apr 02:03

Embracing papercuts

by James Cowling

Team growth requires giving people room to make mistakes. Figuring out which mistakes are just “papercuts” and which are critical is one of the most difficult challenges in engineering leadership.


We’ve all seen “helicopter parents,” hovering over their kids to catch them at the slightest inclination they might fall. We swear we’d never do that, that we’d give our kids room to grow and learn from mistakes. Then we become tech leads and turn into the worst kind of “helicopter leaders.”

I was certainly guilty of micromanagement. It started with code reviews, commenting on every minor issue I could find. Hey, just setting a high quality bar. Then it moved to second-guessing every design decision in the team. Just making sure we’re on track! I probably should have noticed something was wrong when I started becoming the bottleneck for the team, but to be honest I didn’t really notice until some of my teammates started getting pissed off with me. We’re now great friends but it got a little tense for a while!

Get out the way

A team of strong engineers will outgrow you. If you’re involved in every minor decision then the team will end up being under-utilized. You want to have a team of engineers, not code-monkeys, so treat them as engineers and give them room to do their job.

The best way your team will learn and grow is for them to take ownership, make mistakes, and learn from these. These are far more valuable growth experiences than whatever they read about on some blog (cough).

It’s not just about empowering others though, you have shit to do yourself! If you spend 100% of your time on day-to-day decision-making then you’re spending 0% of your time on longer-term strategy. If you drop the ball on the latter no one is there to catch it for you, so don’t spend all your time on everyone else’s problems.

Raise your standards

Surprise! This is not the section where I tell you to just relax and let your team screw stuff up.

Don’t do that.

The point of letting your team make “papercuts” is to produce a net benefit to the company; we’re not running a charity here! Your people need autonomy so they can reach their full potential. They need room to make mistakes so they can learn, and they need the organizational air-cover from you to allow them to do so. No one is learning anything unless there’s accountability for quality and execution though, otherwise we’re just being sloppy.

Autonomy goes hand in hand with setting expectations, asking when projects will be completed, and reflecting on whether work was successful.

You’re not going to go far by bullshitting your team though, so no need to pretend you agree with them. Some of the most motivating phrases you can say to an engineer are:

I don’t know if I agree with you, but this decision is on you. You can do this. Roll with it, but this is what I expect…

or

Let me know if you need any input but otherwise I’m going to stay out of this one. You know what we need and when we need it by. You’re in charge here. Knock it out the park.

Say one of these and watch the output of your team members sky-rocket… well, hopefully. Engineering productivity is critically tied to motivation level. Autonomy coupled with high standards is a huge motivator to talented engineers.

Type 1 vs Type 2 decisions

This all seems like fine management mumbo-jumbo but where does the hard part come in? Just in case we got too touchy-feely for a minute there: If you give your team autonomy and disaster strikes then that is your fault. You are accountable for the direction and execution of the team, you can’t just take your hands off the wheel.

You take a risk when you give others autonomy. The safe option is just to micromanage the shit out of your team — you’ll get mediocre output from mediocre people, while your good people go work somewhere else. That’s not what you’re all about though right?

The real art to insightful technical leadership is figuring out which decisions might end up with someone losing a metaphorical arm or leg and which might just result in a papercut. Jeff Bezos calls these Type 1 and Type 2 decisions. Type 1 decisions are big hard-to-reverse decisions with serious implications for getting it wrong. Type 2 decisions aren’t such a big deal, you can back out of them or change course later. You absolutely need to be on top of Type 1 decision-making, just don’t go overboard worrying about the Type 2 stuff.

There’s no easy answer for what is Type 1 and what is Type 2. You’ll have to use your brain for this unfortunately. As some general guidance I tend to think of the following as Type 1 in the context of software engineering:

  • External APIs, at least the major details.
  • Distributed systems protocols.
  • Standards for correctness, validation, and reliability.
  • Security decisions.
  • Whether to devote a lot of resources to a project, e.g., a major system rewrite.
  • Long-term team strategy.

Other stuff? Well a lot of it is ok so long as a smart person is being held to high standards. Want to use library X instead of library Y internally in a project? Go for it, I don’t care.

If you’re a senior engineer in a design review, consider whether you should just be telling people something is a Type 2 decision instead of being too heavy-handed. If you’re a more junior engineer looking for feedback, consider first getting input on whether it’s a Type 1 or Type 2 decision. If you just go in asking for design feedback you’re probably going to get it, whether you like it or not.

You might be wrong

This post has already gone too far towards making the tech lead seem like some kind of special genius. You are probably not a special genius. One of the best things about allowing people to “experience papercuts” is that very often they don’t result in papercuts after all. It turns out you were just wrong.

There’s a good chance your engineers know more about their particular part of the stack than you, and there’s a good chance they’ve thought about a particular decision more than you have. Sure they might not be as experienced, but there’s a good chance they’ll prove you wrong. Usually what happens is just that the decision didn’t really matter that much after all — you were both right. Or maybe we wasted some time but the engineer worked much harder because they had ownership — it all balanced out.

Focus on the medium-term output of the team, not the short-term. Being proven wrong is a great way to achieve more as a group than you ever could by yourself.

Crawl before you ball

This is hopefully obvious but this is all about empowering people who are ready for that responsibility. Junior folks are going to need some hand-holding even with Level 2 decisions. This also doesn’t absolve you from responsibility for giving advice and guidance on issues both large and small.

If team members are feeling overwhelmed then you’ve gone too far. Don’t throw your intern to the sharks.

Summary

Give your team autonomy for decision-making and allow them to accumulate some “papercuts” but hold the team to high standards. Exercise your judgement to figure out which decisions are critical and which are reversible. A team will grow faster and be more productive when people are given ownership and accountability.

If it turns out we screwed up a little and wasted some time? Well we’ll just have to step it up more next time.


Thanks to Akhil Gupta for giving me a ream of paper as a junior tech lead and letting me accumulate a lifetime of papercuts.

View original post on Medium.

18 Apr 02:03

The Mirrorless Lens Conundrum

My 24-70mm f/2.8 S-line lens for the Nikon Z cameras showed up recently, as did everyone else's. Nikon's shipments immediately started triggering the "should I get the f/2.8 or the f/4 lens" type of questions in my In Box. 

18 Apr 02:01

The Pros and Cons of Bose Noise-Cancelling Headphones

by Brent Butterworth and Lauren Dragan
The Pros and Cons of Bose Noise-Cancelling Headphones

Bose is at least as important and dominant in noise-cancelling headphones as Apple is in smartphones. But Bose’s noise-cancelling headphones aren’t the top pick in our best noise-cancelling headphones guide. Let’s talk about why.

18 Apr 02:01

Distributed Teams: A Test Failing Because It’s Run West of Newfoundland and Labrador

by chuttenc

(( Not quite 500 mile email-level of nonsense, but might be the closest I get. ))

A test was failing.

Not really unusual, that. Tests fail all the time. It’s how we know they’re good tests: protecting us developers from ourselves.

But this one was failing unusually. Y’see, it was failing on my machine.

(Yes, har har, it is a common-enough occurrence given my obvious lack of quality as a developer how did you guess.)

The unusual part was that it was failing only for me… and I hadn’t even touched anything yet. It wasn’t failing on our test infrastructure “try”, and it wasn’t failing on the machine of :raphael, the fellow responsible for the integration test harness itself. We were building Firefox the same way, running telemetry-tests-client the same way… but I was getting different results.

I fairly quickly locked down the problem to be an extra “main” ping with reason “environment-change” being sent during the initial phases of the test. By dumping some logging into Firefox, rebuilding it, and then routing its logs to console with --gecko-log "-" I learned that we were sending a ping because a monitored user preference had been changed: browser.search.region.

When Firefox starts up the first time, it doesn’t know where it is. And it needs to know where it is to properly make a first guess at what language you want and what search engines would work best. Google’s results are pretty bad in Canada unless you use “google.ca”, after all.

But while Firefox doesn’t know where it is, it does know is what timezone it’s in from the settings in your OS’s clock. On top of that it knows what language your OS is set to. So we make a first guess at which search region we’re in based on whether or not the timezone overlaps a US timezone and if your OS’ locale is `en-US` (United States English).

What this fails to take into account is that United States English is the “default” locale reported by many OSes even if you aren’t in the US. And how even if you are in a timezone that overlaps with the US, you might not be there.

So to account for that, Mozilla operates a location service to double-check that the search region is appropriately set. This takes a little time to get back with the correct information, if it gets back to us at all. So if you happen to be in a US-overlapping timezone with an English-language OS Firefox assumes you’re in the US. Then if the location service request gets back with something that isn’t “US”, browser.search.region has to be updated.

And when it updates, it changes the Telemetry Environment.

And when the Environment changes, we send a “main” ping.

And when we send a “main” ping, the test breaks.

…all because my timezone overlaps the OS and my language is “Default” English.

I feel a bit persecuted, but this shows another strength of Distributed Teams. No one else on my team would be able to find this failure. They’re in Germany, Italy, and the US. None of them have that combination of “Not in the US, but in a US timezone” needed to manifest the bug.

So on one hand this sucks. I’m going to have to find a way around this.

But on the other hand… I feel like my Canadianness is a bit of a bug-finding superpower. I’m no Brok Windsor or Captain Canuck, but I can get the job done in a way no one else on my team can.

Not too bad, eh?

:chutten

18 Apr 02:00

Samsung Galaxy Fold Displays Already Failing for Some Users

by Evan Selleck
It has not been long since the first impressions of Samsung’s first foldable smartphone, the Galaxy Fold, went live. And while the initial reactions appeared to be on the positive side, it appears that many individuals are running into display issues already. Continue reading →
18 Apr 02:00

Review: Touchtype Pro Offers an Ingenious All-in-One Solution for iPad Pro and Magic Keyboard Users

by Federico Viticci

The Touchtype Pro is a clever new accessory created by Salman Sajid that aims to combine the iPad Pro with Apple's Magic Keyboard using a flexible cover case and magnets. Sajid launched a campaign for the product earlier this month on Kickstarter, where you can check out more details about pricing and the design process of the Touchtype Pro. I was lucky enough to get my hands on an early production unit before the Kickstarter went live and I've been using the Touchtype Pro with my 2018 12.9" iPad Pro for the past few weeks. After sharing some first impressions on Connected, I wanted to post a few more thoughts here, along with some photos.

The Touchtype Pro consists of a hard plastic case where you place the iPad Pro; the case itself is attached to a flexible cover that wraps around the back of the iPad to create a kickstand (when placed on a desk) and which extends to cover the front of the iPad too (when closed, like a folio case). So far, nothing spectacular – the case is better than other attempts I've seen in the past from the likes of Logitech and Razer and there is the omnipresent microfiber lining inside to keep the iPad's screen clean and protected.

What makes the Touchtype Pro unique is the second case that acts as a holding shell for the Apple Magic Keyboard (the second-generation one, not the old model). The Magic Keyboard's case can be attached magnetically to the bottom edge of the iPad's case; in doing this, the keyboard itself sustains the iPad at an angle and allows you to type without interfering with the Home indicator of the iPad Pro – a common issue of other Magic Keyboard accessories I've covered before.

The magnetic attachment for the Magic Keyboard's case.

The magnetic attachment for the Magic Keyboard's case.

But here's the best part: the Magic Keyboard's case has magnets at the bottom that can slide across the main cover when it's unfolded on your desk. This "train tracks" system lets the Magic Keyboard act as the mechanism that adjusts the iPad's viewing angle: push it towards the back of the cover, and you create a steeper angle; slide it towards you, and you end up with a more comfortable viewing mode when typing at a desk. These are a lot of words for what can be easily explained by this GIF:

The other detail that makes the Touchtype Pro different from other iPad cases and Magic Keyboard covers I've tested in the past is the fact that its integrated case design lets you carry the keyboard and iPad Pro together when everything's closed. When you're done working, you can turn off the Magic Keyboard (the keyboard's case has an opening in the front so you can access the power switch and charge it), flip it behind the iPad so the keys are facing out (against the Touchtype Pro cover), and fold the front of the Touchtype cover to hold everything together. The final result is a single package that is bulky and adds considerable weight to the iPad (more below) and that looks like this:

As you can see, there's another benefit to Touchtype's wrap-around cover: when it folds over the top side of the iPad Pro, it also protects and holds the Pencil in place, so it'll never detach if you throw the Touchtype Pro in a bag.

After working with the Touchtype at my kitchen table and while waiting in the car for the past couple of weeks, I think it's the overall best option if you want to integrate the iPad Pro and Magic Keyboard with only one accessory – provided that you can accept some of its caveats.

I've written about the Magic Keyboard multiple times on MacStories in the past, but for context: I like the feel of Apple's keyboard (and use its larger Space Gray cousin at my desk with the Mac mini), but there are two aspects I don't like about it: the Magic Keyboard is not backlit and doesn't come with iOS-specific function keys.

The lack of backlighting is a well-known limitation of the Magic Keyboard line and, well, if you want to type in the dark and also look at the symbols on keys, you're out of luck. The latter issue is more specific to pairing a Magic Keyboard with an iPad: while other Bluetooth keyboards (such as the ones from Logitech and Brydge) come with keys to go back to the home screen, show Search, or cycle between multiple software keyboards, the Magic Keyboard is first and foremost a Mac keyboard that also supports the iPad by way of Bluetooth. There are no iOS-only keys on the Magic Keyboard; in fact, it actually comes with Mission Control and Launchpad keys that are useless on iOS.1

All of this to say: the Magic Keyboard is lightweight and portable and its battery lasts a long time and it feels nice to type on – but if you're looking for an iPad-optimized experience in an external Bluetooth keyboard, there are better options out there. The Touchtype Pro, however, is designed for folks who want to recycle their existing Magic Keyboards for an integrated iPad Pro setup, so I assume those users are already well aware of the keyboard's flaws and advantages compared to third-party offerings.

My main gripe with the Touchtype Pro is twofold: to me, it seems to have been primarily designed as a desk accessory; and, adjusting the iPad's viewing angle by sliding the Magic Keyboard's case across the magnetic cover can be a bit awkward.

As I mentioned above, to adjust the viewing angle when the Magic Keyboard is attached to the front of the iPad's case2, you have to slide the Magic Keyboard toward you. In my experience, the strong connection between the magnets placed at the bottom of the Magic Keyboard's case and inside the Touchtype Pro cover means I have to apply a fair amount of pressure to slide the keyboard. The feature does work as advertised, and I think it's an ingenious system to rely on the Magic Keyboard to create an angle, but it requires more attention than I'd normally want to pay to this kind of process. And because I can be clumsy with these things, I've accidentally detached the keyboard from the iPad (and thus made the iPad fall flat on my desk) more times than I'd care to admit. I should also note that, due to the Magic Keyboard's design, reaching for its power switch while the keyboard is attached to the front of the iPad is nearly impossible.

Second, the Touchtype Pro feels, at least to me, like an accessory optimized for being used at a desk. Specifically, a desk with a fair amount of space available. When it's fully extended, the cover (where you place the keyboard) can span up to 13.78" (35 cm) in length, which is not exactly compact. You can fold the cover on itself and create a thicker base for the Magic Keyboard, which helps. This folded mode is also what Sajid recommends if you want to use the Touchtype Pro in your lap, which is possible, but to me it doesn't feel as stable as using the Smart Keyboard Folio or the new Logitech Slim Folio Pro (which I am also reviewing soon).

Folding the cover on itself to save a bit of space.

Folding the cover on itself to save a bit of space.

The moving parts involved with the Touchtype Pro as opposed to the Smart Keyboard Folio or Slim Folio Pro (the separate case for the keyboard, plus the cover folded on itself) contribute to the feeling that this accessory is optimized for a rigid surface rather than your lap.3 It is possible to use an iPad with the Touchtype Pro on your lap, but I don't like it as much as I like those two aforementioned keyboards (and, I assume, the new Brydge keyboard soon enough). The magnetic flap that attaches the Magic Keyboard to the iPad's case still fared better in my tests than the old Razer keyboard, though.

In addition to size and ergonomics, weight is a concern with the Touchtype Pro, which is also why I see it as a desk companion. A 12.9" iPad Pro with the Smart Keyboard Folio and Pencil weighs 2.35 lbs (1.07 kg); the same iPad with the Brydge keyboard is approximately 2.96 lbs (1.34 kg); paired with the Slim Folio Pro, it goes up to 3 lbs (1.35 kg); with the Touchtype Pro, the whole package weighs 3.41 lbs (1.55 kg). It may not seem like a huge difference, but, especially if you're used to the Smart Keyboard Folio, you're going to feel that extra pound when switching to the Touchtype Pro (not to mention the overall thickness when everything's closed, as shown by pictures in this story).

Finally, unlike the Smart Keyboard Folio, the Touchtype Pro offers a media mode for touch interactions: just place the keyboard behind the iPad, fold the cover on itself so that its outer edge is holding the iPad at an angle, and start watching a movie or listening to music, as shown below:

Unfortunately, because I use my iPad Pro for work, I don't need a media mode as much as I need a touch mode for those times when I want to type using the software keyboard. The media mode supported by the Touchtype Pro has an angle that is too steep for typing, and because it relies on the front cover to act as a kickstand, I don't find it as reliable as the touch mode supported by the Smart Folio. Then again, Apple's Smart Keyboard Folio does not offer any media or touch mode whatsoever, so at least the Touchtype Pro tries something new in this regard.


I recognize that I'm a little particular when it comes to iPad Pro keyboards and cases and that the kind of product I seek (a Smart Keyboard Folio with backlit keys, media functions, and a touch mode) will probably never exist. Do not let my nitpicking distract you from my overall opinion of the Touchtype Pro though: if you love the Magic Keyboard, want to use it with your iPad Pro, and don't want to buy another keyboard, I think the Touchtype Pro is the best all-in-one solution I've tested to date. The product has its own quirks, but as far as the idea of combining the iPad Pro with a folio case that also holds the Magic Keyboard goes, I think Sajid's design is a solid approach.

The Touchtype Pro, in my opinion, is designed for a specific kind of customer: the iPad Pro user who wants to work with a Magic Keyboard primarily at a desk. The adjustable viewing angle, Pencil protection, support for portrait orientation, and media mode are additional, welcome benefits. Keeping in mind the nature of Kickstarter campaigns, if you've been looking for a product that can hold the iPad Pro and Magic Keyboard together for an ideal typing experience, the Touchtype Pro is well worth the $49 price tag for a Kickstarter unit.


  1. If you ask me, Apple should offer the ability to remap these keys to other iOS features. ↩︎
  2. The Touchtype Pro also lets you detach the Magic Keyboard if you want to keep the iPad separate from the keyboard while continuing to type thanks to Bluetooth. However, because I no longer put my iPad Pro in a vertical stand (if I want to avoid neck strain, I just connect the iPad Pro to my UltraFine display), I have no use for this mode. ↩︎
  3. Unless you're made of stone↩︎

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
18 Apr 01:59

Kenney's election win prompts reactions from B.C., Quebec, Ontario leaders

mkalus shared this story :
"He said he would ensure Vancouver would be carbon-free in 2020 as a result of limiting oil shipments to B.C's Lower Mainland as a response to that province's government blocking the expansion of the Trans Mountain pipeline.” Can someone tell him that Vancouver isn’t the capital of BC?

Jason Kenney's election win has politicians across Canada reacting.

In his victory speech, Kenney appealed in French to Quebec to help Alberta get its oil to market, but Quebec Premier François Legault isn't playing.

Legault congratulated Kenney on Wednesday for his election win. But in the next breath, he told reporters in Quebec City his province is still not interested in a cross-country pipeline that could get oil from Alberta to ports on the East Coast.

"There is no social acceptability for a new oil pipeline in Quebec," said Legault, a day after Kenney's United Conservatives won a decisive majority of seats in the Alberta Legislature.

"It's important to remember that more than half of the oil we get in Quebec is coming from [the] west via the Enbridge pipeline."

He did express interest in a new pipeline to help get Alberta natural gas to Quebec City.

TransCanada abandoned its Energy East pipeline project in 2017 following protests from Quebec and changes to federal environmental assessment rules.

Kenney said in his election night speech that new pipelines are needed to help ensure the prosperity of all Canadians, including people in Quebec.

He said if other provinces wish to benefit from Alberta's prosperity, "they must be partners with us in developing those resources and getting them to international markets."

Kenney generated headlines during the provincial election campaign by vowing to implement Bill 12, Alberta's so-called turn-off-the-taps legislation, within hours of being sworn in as premier.

He said he would ensure Vancouver would be carbon-free in 2020 as a result of limiting oil shipments to B.C's Lower Mainland as a response to that province's government blocking the expansion of the Trans Mountain pipeline.

B.C. Premier John Horgan issued a statement on Wednesday, stating that he spoke with Kenney by phone and congratulated him on his election win.

"Our brief conversation was constructive and focused on issues that matter to both Alberta and British Columbia. We agreed to talk about challenges in the days ahead."

Horgan said he looks forward to working together in the interests of both provinces.

In Ontario, Tory Premier Doug Ford welcomed Kenney's opposition to the federal carbon tax.

Ford stood in the Ontario Legislature Wednesday to congratulate Kenney, with the rest of the Tory caucus rising for a standing ovation.

"We see just a blue wave going across this country from west to east," Ford said. "We're building an anti-carbon tax alliance like this country has never seen."

18 Apr 01:59

Samsung lebt in interessanten Zeiten

by Volker Weber

'Mögest Du in interessanten Zeiten leben', so heißt dem Vernehmen nach ein chinesischer Fluch. Und so geht es gerade Samsung. Vorgestern haben sie das erste faltbare Smartphone aus der Hand gegeben und viel Lob geerntet. Heute mehren sich die Berichte der ersten Journalisten, dass der Screen bereits kaputt ist. Einige hatten wohl die oberste Schicht abgezogen, die sich wie ein aufgeklebter Bildschirmschutz anfühlt, aber keiner ist. Die dünne Folie muss drauf bleiben.

Die erste Charge des Galaxy Fold ist produziert und die Geräte sollen für 2000 Euro das Stück Anfang Mai in den Markt gehen. Ich kann mir vorstellen, dass Samsung das absagt. Ich bewundere den Mut, etwas Neues zu wagen. Aber ein Desaster wie beim Note 7 kann das Unternehmen nicht gebrauchen.

Motorola hat eine Technologie namens Shattershield. Damit wurden erstmals die Moto Z Force ausgestattet. Die Idee ist, dass man eine weichere Schicht über das Display legt, damit es nicht zerbricht, wenn das Gerät einen Schlag abbekommt. Der Nachteil dieser Lösung: Weiche Oberflächen geben zwar nach, aber sie verkratzen auch schnell. Und wie weich eine nachgiebige Oberfläche ist, hängt auch sehr stark von der Temperatur ab.

Biegsame OLEDs gibt es und Samsung kann damit offensichtlich ein Handy bauen. Nun wird sich erst mal weisen müssen, wie lange so ein Gerät außerhalb des Labors überlebt. Ich bin nicht sehr optimistisch. Delikate Handys mit beweglichen Teilen sind eine genauso schlechte Idee wie Glasoberflächen. Man wird lange üben müssen, bis man das in den Griff bekommt.

18 Apr 01:59

Jason Kenney has already run over 3 enda...

mkalus shared this story from The Beaverton.

EDMONTON – Fresh from his landslide win in Alberta’s provincial election, soon-to-be Premier Jason Kenney has already shown that he’s serious about rebuilding the economy by running down three different kinds of endangered species in his blue pickup truck.

“We’re going to get our pipelines built and Albertans back to work,” rejoiced Kenney driving offroad in a nature preserve. “We will remove the red tape that gets in the way of our entrepreneurial spirit.”

A whooping crane was no match for the mighty power of a Dodge Ram 1500 travelling at at 120 km/h, a demonstration of Kenney’s obsession for job creation at all costs. The swift fox was not swift enough to avoid the awesome energy of what the UCP leader calls the “Alberta Advantage” or the crushing weight of a half-ton truck.

“Foreign interest are interfering with oil industry,” claimed Kenney as he rolled over a burrowing owl’s nest.

Meanwhile, the oil patch co-owners – China, Japan, US, Netherlands, UK, and France –  expressed similar concern about foreign interference in Alberta’s oil industry.

18 Apr 01:58

Can a video game really help repair the Notre-Dame Cathedral? - The Globe and Mail

mkalus shared this story .

Robert Bork, a world expert in the precision measurement and layout of Notre-Dame Cathedral, is running through a virtual version of the 12th-century Gothic church using Assassin’s Creed Unity, a video game designed in a Montreal studio.

Prof. Bork, an architectural historian, has heard the theory circulating in recent days that the video game designed by Ubisoft might assist in reconstructing the fire-damaged cathedral. He wants to see for himself. Prof. Bork, who has done his own Notre-Dame recreations using laser measurements gathered from a billion data points, fires up a demonstration video and shares observations over the telephone.

Ubisoft’s work strikes him on one level. “Cool. This is impressive. All they had was Pong when I was a kid,” the University of Iowa professor says. His 2014 paper The Chevet Plan at Notre-Dame in Paris: A Geometrical Analysis broke down to within five millimetres the layout of the entire eastern wing of the cathedral. The paper was coincidentally published about the same time the video game was released.

In the first seven seconds of his virtual Assassin’s tour, the initial flaws appear. “Oh, I see their Notre-Dame that is supposed to be medieval has added elements from the 19th century. And they’ve tweaked their [nearby] Sainte-Chapelle back into something more medieval. Things are fudged. It’s kind of hilarious.

“What they did is good for what it is, but it’s not designed for this process.”

Ubisoft, an anchor of Montreal’s video-game industry with headquarters in Paris, announced Monday it would assist in the Notre-Dame reconstruction with a donation of €500,000 ($754,000) and it would make its five-year-old video game free to download for a week.

“We hope, with this small gesture, we can provide everyone an opportunity to appreciate our virtual homage to this monumental piece of architecture,” the company said in a statement.

Notre-Dame is one of the world’s most documented and examined buildings. Ubisoft officials, who did not want to be interviewed for this story, have previously described how its designers and historians pored over documentation to create the game.

Lead art designer Caroline Miousse did not set foot in the cathedral until her work was done. She and other Ubisoft game makers told The Verge in 2014 that the artistic liberties spotted by Prof. Bork were added to make the game more playable and the view more familiar.

Modern digital technology is still likely to play a role in the cathedral’s reconstruction.

Story continues below advertisement

Andrew Tallon, an engineer, architecture historian and colleague of Prof. Bork, began making laser measurements of Notre-Dame in 2010. He documented every surface and interior feature of the church, inch-by-inch – work he described as an obsession.

He discovered the western façade of the cathedral had shifted, and that the “Gallery of Kings” – a series of three statues – is leaning 30 centimetres out of plumb. He discovered new details about construction techniques and craftsmanship.

“When you work on medieval buildings, it’s difficult to have the impression you can say anything new,” Prof. Tallon, who died of brain cancer last fall, told National Geographic in 2015. “So much ink has been spilled over that building. So much of it is completely wrong.”

Prof. Tallon and Columbia art-history professor Stephen Murray created a site called Gothic France where some of their data collected from dozens of sites is shared publicly.

“They were definitely on the cutting edge of applying laser scanning technology to Gothic architecture,” Prof. Bork says.

Recreating the cathedral will be a long and painstaking process but Notre-Dame has several advantages many recovery efforts lack, Prof. Bork says.

“They will have a combination of data, including this laser data, more detailed drawings and photographs. Then it’s just a matter of craftsmanship and money,” he says. “Notre-Dame will not be wanting for attention or documentation.”

18 Apr 01:58

NetNewsWire Now Running on iOS

Maurice Parker took his proof-of-concept code and moved it into the main NetNewsWire repo — and now we have a version of NetNewsWire that builds and runs on iOS.

This morning, during my bus commute, for the first time I was able to read my feeds using NetNewsWire on my iPhone. So. Damn. Cool.

* * *

A TestFlight build is still quite a way away, I think. There’s still a lot to do. You could build it and run it on your own phone right now, but I wouldn’t recommend it yet.

* * *

I’ve been working on the app for five years. Most of the work is under-the-hood stuff — the UI is always the tip of the iceberg. UI is super-important, obviously, and takes a while to write too, but it’s not the bulk of the code.

Along the way I’ve had many moments where a thing I’d written years before — because I knew I would need it — suddenly becomes useful. For instance, I wrote the OPML parser early on (one of the very first things), and it was only years later when I added OPML import to the app. (There wasn’t even an app at all when I wrote the OPML parser.)

Those moments are great. The pieces start to click together, and you realize you planned well.

And this particular moment is one of the greatest of all — because it means that all of that under-the-hood code, written over so long, was ready to run in iOS with just the barest amount of rejiggering. (We needed to deal with NSImage vs. UIImage, for instance. We needed to restructure the workspace tree to make it easier to work on the two apps.)

So: I’m continuing to work on wireframes. We’ll iterate over appearance and behavior using a running app. I’ll get back to working on syncing pretty soon (because it won’t ship without syncing).

* * *

If you’re interested in helping — testing, coding, giving feedback, helping me think things through, etc. — I’d be happy to invite you to the NetNewsWire Slack group. Just send me email asking for an invitation.

18 Apr 01:58

Notes on AI Bias

by Benedict Evans
  • Machine learning finds patterns in data. ‘AI Bias’ means that it might find the wrong patterns - a system for spotting skin cancer might be paying more attention to whether the photo was taken in a doctor’s office. ML doesn’t ‘understand’ anything - it just looks for patterns in numbers, and if the sample data isn’t representative, the output won’t be either. Meanwhile, the mechanics of ML might make this hard to spot.

  • The most obvious and immediately concerning place that this issue can come up is in human diversity, and there are plenty of reasons why data about people might come with embedded biases. But it’s misleading, or incomplete, to think that this is only about people - exactly the same issues will come up if you’re trying to spot a flood in a warehouse or a failing gas turbine. One system might be biased around different skin pigmentation, and another might be biased against Siemens sensors.

  • Such issues are not new or unique to machine learning - all complex organizations make bad assumptions and it’s always hard to work out how a decision was taken. The answer is to build tools and processes to check, and to educate the users - make sure people don’t just ‘do what the AI says’. Machine learning is much better at doing certain things than people, just as a dog is much better at finding drugs than people, but you wouldn’t convict someone on a dog’s evidence. And dogs are much more intelligent than any machine learning.


“Raw data is both an oxymoron and a bad idea; to the contrary, data should be cooked, with care.”

- Geoffrey Bowker

Until about 2013, If you wanted to make a software system that could, say, recognise a cat in a photo, you would write logical steps. You’d make something that looked for edges in an image, and an eye detector, and a texture analyser for fur, and try to count legs, and so on, and you’d bolt them all together... and it would never really work. Conceptually, this is rather like trying to make a mechanical horse - it’s possible in theory, but in practice the complexity is too great for us to be able to describe. You end up with hundreds or thousands of hand-written rules without getting a working model.

With machine learning, we don’t use hand-written rules to recognise X or Y. Instead, we take a thousand examples of X and a thousand examples of Y, and we get the computer to build a model based on statistical analysis of those examples. Then we can give that model a new data point and it says, with a given degree of accuracy, whether it fits example set X or example set Y. Machine learning uses data to generate a model, rather than a human being writing the model. This produces startlingly good results, particularly for recognition or pattern-finding problems, and this is the reason why the whole tech industry is being remade around machine learning.

However, there’s a catch. In the real world, your thousand (or hundred thousand, or million) examples of X and Y also contain A, B, J, L, O, R, and P. Those may not be evenly distributed, and they may be prominent enough that the system pays more attention to L and R than it does to X.

What does that mean in practice? My favorite example is the tendency of image recognition systems to look at a photo of a grassy hill and say ‘sheep’. Most of the pictures that are examples of ‘sheep’ were taken on grassy hills, because that’s where sheep tend to live, and the grass is a lot more prominent in the images than the little white fluffy things, so that’s where the systems place the most weight.

A more serious example came up recently with a project to look for skin cancer in photographs. It turns out that dermatologists often put rulers in photos of skin cancer, for scale, but that the example photos of healthy skin do not contain rulers. To the system, the rulers (or rather, the pixels that we see as a ruler) were just differences between the example sets, and sometimes more prominent than the small blotches on the skin. So, the system that was built to detect skin cancer was, sometimes, detecting rulers instead.

A central thing to understand here is that the system has no semantic understanding of what it’s looking at. We look at a grid of pixels and translate that into sheep, or skin, or rulers, but the system just sees a string of numbers. It isn’t seeing 3D space, or objects, or texture, or sheep. It’s just seeing patterns in data.

Meanwhile, the challenge in trying to diagnose issues like this is that the model your machine learning system has generated (the neural network) contains thousands or hundreds of thousands of nodes. There is no straightforward way to look inside the model and see how it’s making the decision - if you could, then the process would be simple enough that you wouldn’t have needed ML in the first place and you could have just written the rules yourself. People worry that ML is a ‘black box’. (As I explain later, however, this issue is often hugely overstated.)

This, hugely simplified, is the ‘AI bias’ or ‘machine learning bias’ problem: a system for finding patterns in data might find the wrong patterns, and you might not realise. This is a fundamental characteristic of the technology, and it is very well-understood by everyone working on this in academia and at large tech companies (data people do understand sample basis, yes), but its consequences are complex, and our potential resolutions to those consequences are also complex.

First, the consequences.

AI bias scenarios

The most obvious and immediately concerning place that this issue can be manifested is in human diversity. It was recently reported that Amazon had tried building a machine learning system to screen resumés for recruitment. Since Amazon’s current employee base skews male, the examples of ‘successful hires’ also, mechanistically, skewed male and so, therefore, did this system’s selection of resumés. Amazon spotted this and the system was never put into production.

The most important part of this example is that the system reportedly manifested this skew even if the gender was not explicitly marked on the resumés. The system was seeing patterns in the sample set of ‘successful employees’ in other things - for example, women might use different words to describe accomplishments, or have played different sports at school. Of course, the system doesn’t know what ice hockey is, nor what people are, nor what ‘success’ is - it was just doing statistical analysis of the text. But the patterns that it was seeing were not necessarily things that a human being would have noticed, and with some things (vocabulary describing success, perhaps, is something we now know can vary between genders) a human might have struggled to see them even if they were looking for them.

It gets worse. A machine learning system that is very good at spotting skin cancer on pale skin might be worse at spotting skin cancer on darker coloured skin, or vice versa, not perhaps because of bias in the sample but because you might need to construct the model differently to begin with to pick out different characteristics. Machine learning systems are not interchangeable, even in a narrow application like image recognition. You have to tune the structure of the system, sometimes just by trial and error, to be good at spotting the particular features in the data that you’re interested in, until you get to the desired degree of accuracy. But you might not realise that the system is 98% accurate for one group but only 91% accurate for another group (even if that accuracy still surpasses human analysis).

So far I’ve mostly used examples around people and their characteristics, and naturally this is where a lot of the conversation around this tends to focus. But it’s important to understand that bias around people is a subset of the issue: we will use ML for lots of things and sample bias will be part of the consideration in all of those. And equally, even if you are working with people, the bias in the data might not be around people.

To understand this systematically, it’s useful to go back to the skin cancer example from earlier, and consider three hypothetical ways it might break:

  1. You don’t have an even distribution of people: your photos of skin with different tones is unbalanced, so your system gives false positives or false negatives based on skin pigmentation.

  2. Your data contains a prominent and unevenly distributed non-human characteristic with no diagnostic value, and the system trains on that - the ruler in the photo of skin cancer, or the grass in the photo of a flock of sheep. In this case it alters its result if the pixels that we see as a ‘ruler’ (but that it does not) are present. 

  3. Your data contains some other characteristic that a human cannot see even if they look for it.

What does ‘even if they look for it’ mean? Well, we know a priori, or ought to know, that the data might be skewed around different human groups, and can at least plan to look for this (to put this the other way around, there are all sorts of social reasons why you might expect your data to come with bias around human groups). And if we look at the photo with the ruler, we can see the ruler - we just ignored it, because we knew it was irrelevant and we forgot that the system did not know anything.

But what if all of your photos of unhealthy skin are taken in an office with incandescent light and your photos of healthy skin are taken under fluorescent light? What if you updated the operating system on your smartphone between taking the healthy photos and the unhealthy photos, and Apple or Google made some small change to the noise reduction algorithm? This might be totally invisible to a human, no matter how hard they look, but the machine learning system will see it instantly and use it. It doesn’t know anything.

Next, so far we’ve been talking about correlations that are false, but there may also be patterns in the data that are entirely accurate and correct predictors, but that you don’t want to use, for ethical, legal or product-based reasons. In some jurisdictions, for example, you are not allowed to give better car insurance rates to women even though women might tend to be safer drivers. One could easily imagine a system that looks at the historical data and learns to associate ‘female’ first names with lower risk, so you would remove the first names from the data - but, as with the Amazon example above, there might be other factors that reveal the gender to the system (though of course it would have no concept of gender, or indeed cars), and you might not realise this until the regulator did an ex ante statistical analysis of the quotes you’ve given and fined you.  

Finally, this is sometimes talked about as though we will only use these systems for things that involve people and social interactions and assumptions in some way. We won’t. If you make gas turbines, you would be very interested in applying machine learning to the telemetry coming from dozens or hundreds of sensors on your product  (audio, vibration, temperature, or any other sensor generates data that is repurposed for a machine learning model with great ease). Hypothetically, you might say ‘here is data from a thousand turbines that were about to fail and here is data from a thousand turbines that were working fine - build a model to tell the difference’. Now, suppose that 75% of the bad turbines use a Siemens sensor and only 12% of the good turbines use one (and suppose this has no connection to the failure). The system will build a model to spot turbines with Siemens sensors. Oops.

AI bias management

What do we do about this? You can divide thinking in the field into three areas:

  1. Methodological rigour in the collection and management of the training data

  2. Technical tools to analyse and diagnose the behavior of the model.

  3. Training, education and caution in the deployment of ML in products.

There’s a joke in Molière's Bourgeois Gentilhomme about a man who is taught that literature is divided into ‘poetry’ and ‘prose’, and is delighted to discover that he’s been speaking prose his whole life without realising. Statisticians might feel the same way today - they’ve been working on ‘artificial intelligence’ and ‘sample bias’ for their whole careers without realising. Looking for and worrying about sample bias is not a new problem - we just have to be very systematic about it. As mentioned above, in some ways this might actually, mechanistically, be easier when looking at issues around people, since we know a priori that we might have bias against different human groups where we might not realise a priori that we might have bias against Siemens.

The part that’s new, of course, is that the people aren’t doing the statistical analysis directly anymore - it’s being done by machines, that generate models of great complexity and size that are not straightforward to analyse. This question of transparency is one of the main areas of concern around bias - the fear is not just that it’s biased but that there is no way to tell, and that this is somehow fundamentally new and different from other forms of organization or automation, where there are (supposedly) clear logical steps that you can audit.

There are two problems with this: we probably can audit ML systems in some ways, and it’s not really any easier to audit any other system.

First, one part of current machine learning research is around finding tools and methods to work out what features are most prominent in a machine learning system. Meanwhile, machine learning (in its current manifestation) is a very new field and the science is changing fast - one should not assume that what is not practical today will not become practical soon. This OpenAI project is an interesting example of exactly this. 

Second, the idea that you can audit and understand decision-making in existing systems or organisations is true in theory but flawed in practice. It is not at all easy to audit how a decision is taken in a large organisation. There may well be a formal decision process, but that’s not how the people actually interact, and the people themselves often do not have a clearly logical and systematic way of making their individual decisions. As my colleague Vijay Pande argued here, people are black boxes too - combine thousands of people in many overlapping companies and institutions and the problem compounds. We know ex post that the Space Shuttle was going to disintegrate on re-entry, and different people inside NASA had information that made them think something bad might happen, but the system overall did not know that. Meanwhile, NASA had been through exactly this auditing process when it lost the previous space shuttle, and yet it lost another one for very similar reasons. It’s easy to say that organizations and human systems follow clear logical rules that you can audit, understand and change - experience suggests otherwise. This is the Gosplan fallacy.

In this context, I often compare machine learning to databases, and especially relational databases - a new fundamental technology that changed what was possible in computer science and changed the broader world, that became a commodity that was part of everything, and that we now use all the time without noticing. But databases had problems too, and the problems had the same character: the system could be built on bad assumptions, or bad data, it would be hard to tell, and the people using it would do what the system told them without questioning it. There are lots of old jokes about the tax office misspelling your name, and it being easier to change your name than persuade them to fix the spelling. Is this best thought of as a technical problem inherent to SQL, an execution failure by Oracle, or an institutional failure by a large bureaucracy? And how easy would it be to work out the exact process whereby a system was deployed with no capability to fix typos, or know that it had done this before people started complaining?

At an even simpler level, one can see this issue in the phenomena of people driving their cars into rivers because of an out-of-date SatNav. Yes, the maps should be kept up to date. But, how far is it TomTom’s fault that your car is floating out to sea?

All of this is to say that ML bias will cause problems, in roughly the same kinds of ways as problems in the past, and will be resolvable and discoverable, or not, to roughly the same degree as they were in the past. Hence, the scenario for AI bias causing harm that is easiest to imagine is probably not one that comes from leading researchers at a major institution. Rather, it is a third tier technology contractor or software vendor that bolts together something out of open source components, libraries and tools that it doesn’t really understand and then sells it to an unsophisticated buyer that sees ‘AI’ on the sticker and doesn’t ask the right questions, gives it to minimum-wage employees and tells them to do whatever the ‘AI’ says. This is what happened with databases. This is not, particularly, an AI problem, or even a ‘software’ problem. It’s a ‘human’ problem. 

Conclusion

“Machine Learning can do anything you could train a dog to do - but you’re never totally sure what you trained the dog to do.”

I often think that the term ‘artificial intelligence’ is deeply unhelpful in conversations like this. It creates the largely false impression that we have actually created, well, intelligence - that we are somehow on a path to HAL 9000 or Skynet - towards something that actually understands. We aren’t. These are just machines, and it’s much more useful to compare them to, say, a washing machine. A washing machine is much better than a human at washing clothes, but if you put dishes in a washing machine instead of clothes and press start, it will wash them. They’ll even get clean. But this won’t be the result you were looking for, and it won’t be because the system is biased against dishes. A washing machine doesn’t know what clothes or dishes are - it’s just a piece of automation, and it is not conceptually very different from any previous wave of automation.

That is, just as for cars, or aircraft, or databases, these systems can be both extremely powerful and extremely limited, and depend entirely on how they’re used by people, and on how well or badly intentioned and how educated or ignorant people are of how these systems work. 

Hence, it is completely false to say that ‘AI is maths, so it cannot be biased’. But it is equally false to say that ML is ‘inherently biased’. ML finds patterns in data - what patterns depends on the data, and the data is up to us, and what we do with it is up to us. Machine learning is much better at doing certain things than people, just as a dog is much better at finding drugs than people, but you wouldn’t convict someone on a dog’s evidence. And dogs are much more intelligent than any machine learning.

18 Apr 01:57

RT @edzitron: This is incredible, 3 of the top tech/biz outlets have had insane issues with the galaxy fold. The exact things that you’d be…

by edzitron
mkalus shared this story from internetofshit on Twitter.

This is incredible, 3 of the top tech/biz outlets have had insane issues with the galaxy fold. The exact things that you’d be anxious about happening if you bought one or were thinking about buying one twitter.com/stevekovach/st…

After one day of use... pic.twitter.com/VjDlJI45C9


Posted by stevekovach on Wednesday, April 17th, 2019 5:46pm


14898 likes, 5326 retweets

Posted by edzitron on Wednesday, April 17th, 2019 6:02pm
Retweeted by internetofshit on Wednesday, April 17th, 2019 7:36pm


778 likes, 288 retweets
17 Apr 18:45

The plural company

by Josh Bernoff

Is this wrong? “Samsung has released a new product. They worked really hard on it.” According to style books, it is ungrammatical. “Nouns that denote a unit take singular verbs and pronouns” says the AP stylebook. Let’s look a bunch of instances. In the groups of statements below, which seems right to you? 1a. Dell … Continued

The post The plural company appeared first on without bullshit.

17 Apr 18:44

Apple could be developing its own Tile-like personal item tracking

by Patrick O'Rourke

Apple is reportedly working on a new Tile-like project codenamed ‘B389’ that would allow users to track any item, according to 9to5Mac.

The new hardware product is rumoured to be a tag that can attach to any item in the same way as a Bluetooth tracking device like Tile. The physical tag pairs to the user’s iCloud account, and its location is monitored by a nearby iPhone or another iOS device. This is similar to how Apple’s smartphone can locate a pair of AirPods.

Notifications are sent when the tagged device moves too far away from the iPhone. Specific areas can also be added to a list of ignored locations, so you’re not constantly bombarded with messages when at work or at home. The location of tags can also be shared with friends and family.

Other rumoured features include the ability to store contact information in the tag that can be read by any Apple device when the tiny tracker is set to ‘lost mode.’ The owner of the tag then receives a notification when the device it’s attached to is located.

Given the number of iPhones out in the wild, Apple already has a massive network of smartphones capable of detecting these rumoured tags. It’s unclear if the tracking device will connect to iOS devices through Bluetooth or if it will utilize Wi-Fi.

It’s also unknown when the rumoured tracking device will ship to consumers, but 9to5Mac’s sources indicate that it could launch as early as September alongside the tech giant’s 2019 iPhones. Tile, which positions itself as the Apple of tracking devices, most recently released the Mate and the Pro, two tiny Bluetooth trackers with replaceable batteries.

Along with the tracking device above, Apple is reportedly planning to release a new app that will replace the current ‘Find My Friends’ and ‘Find My iPhone’ apps. The new app will retain the same tracking features, but with the functionality combined into one single app set to be available across iOS and macOS. This app, according to 9to5Mac, will also be part of Apple’s cross-platform Marzipan project.

In terms of new features, the revamped tracking app is set to include functionality called ‘Find Network’ that allows devices to be tracked even when not connected to Wi-Fi or a cellular network. Further, users will be able to share the location of devices with family and friends. This functionality even includes the ability for notifications to be created for when a friend arrives at a specific location.

It will also be possible to set devices to ‘lost mode’ so they play a sound when you’re trying to locate them with the app.

Source: 9to5Mac

The post Apple could be developing its own Tile-like personal item tracking appeared first on MobileSyrup.

17 Apr 18:44

Microsoft’s 85-inch Surface Hub 2S to scale up office collaboration

by Bryson Masse
Microsoft 85-inch Surface Hub 2S

Is there an 85-inch space in the heart (or the wall) of your office? Great news, Microsoft’s Surface Hub 2S has got you covered.

The next, way bigger generation of the TV-sized computer was formally announced on Wednesday at an event in New York City, alongside an upgraded 50-inch Surface Hub 2S. The next iteration of the 50-inch version can be equipped with a rolling stand or wall mount from Steelcase and an APC battery for portability. The Surface Hub 2 was originally previewed last year.

The $8,999 USD (about $12,000 CAD) 50-inch version will be available in the U.S. in June this year, with a 4K resolution and the Surface line’s 3:2 aspect ratio. The 85-inch version is slated for a 2020 release, and it will have a more traditional 16:9 display. Microsoft declined to offer any further pricing info on the bigger version.

Canadian release details have yet to be published.

The new Surface Hubs have thinner bezels, a sleeker housing and beefier guts, but perhaps most importantly, it will be upgradeable. While the Surface Hub 2S will ship with an 8th gen i5 processor from Intel, 8GB of DDR4 RAM, and a 128GB SSD, it’s not necessarily committed to those specs.

Using a cartridge system, users will be able to remove the current configuration. It can then be replaced with a Surface Hub 2X “compute module” as its dubbed internally, which includes an upgraded CPU, GPU and memory. The Surface Hub 2X is expected in 2020.

Microsoft sees these touch-enabled panels as the answer for fast-paced and organized team collaboration in the workspace. Bringing together the suite of its business products, like Office 365, Microsoft Teams and Microsoft Whiteboard, the work done on the Surface Hubs will be able to travel with you between any Windows device.

The 50-inch Surface Hub 2S can be equipped with a removable webcam, has Surface Pen support, and an array of speakers and microphones at the front of the device. It will also allow tiling of multiple Surface Hubs in both vertical and horizontal orientations of the display, after the release of the Surface Hub 2X hardware.

Source: The Verge, Microsoft

The post Microsoft’s 85-inch Surface Hub 2S to scale up office collaboration appeared first on MobileSyrup.

17 Apr 18:44

What happened at Notre-Dame

by Nathan Yau

Notre-Dame in Paris, France was on fire. The New York Times describes what happened in a detailed yet concise information graphic. Made in only a day, a 3-D model provides the imagery, and rotation and zooming highlight the relevant points.

Tags: New York Times, Notre-Dame

17 Apr 18:36

This web pioneer is taking on Google with a privacy-first browser

Mark Sullivan, Fast Company, Apr 17, 2019
Icon

I'm interested in this project - called Brave - for two reasons. The first is that it's built with the Electron framework, which merges (Node.js) Javascript functionality with a Chromium web browser engine. I've discussed it before. And second, because it explores the possiblity of an ad-free and tracking-free business model for the web, where you pay content producers using a digital token system enabled through your browser. Bother of these could potentially impact educational technology over the next decade or so. One note of caution - Google is keeping some elements of Chromium to itself, blocking open source solutions like Brave from (say) streaming media.

Web: [Direct Link] [This Post]
17 Apr 17:15

What happens when you tear down a freeway?

by Gordon Price

Nothing new or surprising here for Motordomheads, but a real nicely paced visual summary of three case studies: Portland’s Harbour Drive, San Francisco’s Embarcadero and Seattle’s Alaskan Way – real-life examples of what happens when a section of freeway is removed or closed.

Why, why does Carmageddon never happen?  (Confident prediction: same with Vancouver’s Viaducts.)

17 Apr 17:15

Forum: The Future of Mobility – Apr 25

by Gordon Price

 

As TransLink prepares to update Metro Vancouver’s transportation plan through to 2050, it will be convening discussions with the public around the future of how we’ll move.

 

Technological advances in electrification, automation and the sharing economy are converging to reshape the transportation sector. Shared micromobility is already taking many cities by storm with the rise of electric scooters and dockless bikes. How will Metro Vancouver adopt these technologies in a way that supports our quality of life?

You’ll also have an opportunity to demo an electric scooter or e-assist bike following the event.

Reserve here.

 

Emcee: Bowinn Ma, MLA for North Vancouver-Lonsdale and Parliamentary Secretary for TransLink

Opening Remarks:

  • Andrew McCurran, Strategic Planning & Policy Director, TransLink
  • Adam Hyslop, Transportation Planner, UBC Campus & Community Planning

Presentations:

  • Chris Schafer, Lime
  • Michael van Hemmen, Uber/Jump
  • Dr. Alex Bigazzi, UBC

Panel Discussion:

  • Chris Schafer, Lime
  • Michael van Hemmen, Uber/Jump
  • Jennifer Draper, City of North Vancouver
  • Dr. Alex Bigazzi, UBC

Electric scooter and e-assist bike demo (Robson Square Plaza)

17 Apr 17:15

Any technology is educational technology?

Hannah Mathias, ALTC Blog, Apr 17, 2019
Icon

The version in my RSS feed doesn't have the question mark in the title, which may reflect shifting thinking after publication of this summary of a meeting of the M25 Learning Technology Group in London discussing "technologies that aren’t obviously or ‘officially’ ed-tech, but nonetheless are being adopted for teaching and learning." There's a good list of examples, including uses of Kahoot, Microsoft Teams, Wheel Decide, and Slack, and the launch of the IMPLEMnT website (blog posts here) to document case studies. That said, the examples illustrate the distinction between instructional technology, which includes technology used in the classroom, and e-learning (or online learning), which contemplates a strictly online approach, and sometimes needs more support for interactivity than these technologies provide.

Web: [Direct Link] [This Post]
17 Apr 17:15

Bell, CBC, Netflix promote homegrown movies for National Canadian Film Day

by Bradly Shankar
Room Brie Larson Jacob Tremblay

Today is National Canadian Film Day, and to celebrate, some of the biggest media companies in Canada are promoting movies made here at home.

There are screenings and other events you can go to at theatres, libraries, schools and other public spaces across the country.

However, if you want to stay at home and stream a Canadian film, Bell’s Crave service, CBC’s Gem service and Netflix have got you covered.

Here are some of the Canadian films currently being highlighted on these platforms.

CBC Gem

  • Barney’s Version — comedy-drama directed by Toronto’s Richard J. Lewis, co-produced by Telefilm Canada and filmed partially in Montreal
  • Brooklyn — romantic drama co-produced by Telefilm Canada and filmed partially in Montreal
  • A Dangerous Method — historical film directed by Toronto’s David Cronenberg and co-produced by Telefilm Canada

Check out CBC’s full library of Canadian films here. Note that CBC Gem content is free to watch with ads.

Crave

  • The Breadwinner — animated drama co-produced by Toronto’s Aircraft Pictures, based on Canadian best-selling eponymous novel by Cochrane, Ontario’s Deborah Ellis [$19.99 Movies + HBO subscription required]
  • Incendies —  mystery-drama from acclaimed Bécanor, Quebec-born director Denis Villeneuve and produced by Montreal’s micro_scope [$15.98 Crave + Starz subscription required]
  • Maudie — biographical drama based on the life of Nova Scotian folk artist Maud Lewis, co-produced by Toronto’s Screen Door and St. John’s Rink Rat Productions and filmed in St. John’s [$19.99 Movies + HBO subscription required]

Crave’s full list of Canadian movies can be found here. Note that Crave has different subscriptions for various content, as noted above.

Netflix

  • Bon Cop, Bad Cop — a bilingual dark comedy starring Montreal’s Patrick Huard and Canadian-American Colm Feore as culture-clashing cops from Quebec and Ontario, respectively
  • Room — Oscar-winning drama co-starring Vancouver’s Jacob Tremblay, co-produced by Toronto’s No Trace Camping and Telefilm Canada and filmed in Toronto
  • Trailer Park Boys: The Movie — based on the popular Canadian mockumentary series starring Canadian comedians Robb Wells, John Paul Tremblay and Mike Smith

All of Netflix’s Canadian films can be found here. Note that Netflix subscriptions start at $9.99 CAD.

What are your favourite Canadian movies? Let us know in the comments.

Source: National Canadian Film Day

The post Bell, CBC, Netflix promote homegrown movies for National Canadian Film Day appeared first on MobileSyrup.