Shared posts

25 Sep 03:02

User hostile

User hostile

25 Sep 03:02

What is the Curse of Lisp?

by Eric Normand

What happens when your language is so powerful that small, independent teams can solve their problems without libraries? Does everyone flock to it? Or do you just get a lack of libraries?

Video Thumbnail
What is the Curse of Lisp?

What happens when your language is so powerful that small, independent teams can solve their problems without libraries? Does everyone flock to it? Or do you just get a lack of libraries? https://share.transistor.fm/s/ba87afbf https://www.youtube.com/watch?v=_J3x5yvQ8yc Transcript Eric Normand: What

Transcript

Eric Normand: What is the Curse of Lisp? In this episode, we are going to explore this counterintuitive property of powerful languages. My name is Eric Normand, and I help people thrive with functional programming.

The Curse of Lisp is it has a very personal appeal to me because I used to be one of the people that thought about this all the time. The real question is if Lisp is so powerful, if it’s such a great language, and it lets you do so much, why isn’t it more popular? It’s not about the parentheses. People can get over the syntax. It’s been a lot of time to get over the syntax and it’s not really what it is. We’re going to explore that.

You used to hear this more. In recent years, like the last 10 years, there’s been a real renaissance of languages. There’s so many possible languages to use now. Mostly because of the Web and the rise of startups who can use whatever language they want on the back end, and there’s been a blooming, a blossoming of different possible languages to choose from.

But back in the day it was not like that. Big companies standardized on a mainframe and there were certain languages that ran on that, so they would standardize on a language and train their employees in that language and that’s what you had.

There were a lot of — I’m talking about 50 years ago — there were a lot of Lisp programmers, mostly at universities and graduate departments, who learned Lisp, got into Lisp, felt very productive in Lisp, and looked around and said, “Look, you’ve got this hundred-person team working in COBOL and they are producing very little software, you know, just as very slow and here I am with Lisp and I’m like inventing, AI.” [laughs]

I’m making stuff happen just all by myself. Maybe I have another person working with me, but like two people doing a lot more work than this team of a hundred people and so it seem to them. This is a perception thing.

The question they would always have is why isn’t this more popular? If it’s such a powerful language, why aren’t businesses investing in it? Why aren’t we seeing people realize that they can hire fewer people, a lot fewer people not just 1 or 2 percent, but maybe you slash your team by 80 percent? Why don’t we see Lisp being more popular?

Over time, you see this language like C or C++, Java starting to get a lot of attention. A lot of jobs around it. Meanwhile, Lisp is this not growing very much. All this stuff that you could do in Lisp in a few lines of code is now you realize taking men years, person years of work. Sorry. I said men years. I didn’t mean to use the sexist version. Person years of work to make a library to do the same thing.

For instance, parsing in a Lisp or any kind of functional language are recursive to send parser, it’s very easy to write. Now you need some kind of parser generator system like a Lex and a YACC or an ANTLR in Java. You just need these huge systems, this huge piece of software just to do the same thing that a lisper was able to do.

This is my version of the Curse of Lisp. What happens is because it is hard in Java to do a nice parser, people recognize that it’s hard. They work together because the challenge is so great, they need a hundred people to come together and work on it and make it very good and powerful.

It creates even like a cottage industry. Now you need books written about it. You have maybe some conference talks about how to use this new parser generator in Java. It becomes a new thing that you can become an expert at because it’s not just like you know how to make parsers. No. You have to know that tool. It’s even less general knowledge, but still, it’s very powerful because all this work has been put into it.

The question is why is it that the industry seems to prefer this giant effort to make a thing because of a less powerful language and so it takes more effort to do. Why does it prefer that over the more powerful general solution?

I should pause here because it’s not about Lisp. I said it at the beginning, it’s about powerful languages in general. Any sufficiently powerful, expressive language, like you get with a functional language using higher-order functions and stuff. I think this is going to happen too.

I believe that there’s something about the fact that it’s so expressive and so powerful that there’s…Here’s the curse. The curse is it breeds individualism. Because you can be so powerful alone, you work longer alone. You never learn to collaborate as much as you would if you had to work in a language that did require a team of 20 people to get anything done. There’s that issue. It breeds individualism.

Here’s another thing. Because it’s so easy to write the solution…It’s easy to write your own parser in Lisp. I’m just going to say it like that. It’s very easy. You write the parser that’s just for your little language that you need to parse. That’s a 60 percent solution to parsing in general.

Whereas, if you go to ANTLR, it is a 100 percent solution to parsing. It’s got a really tough API to use. You have to learn the grammar language that it’s got. You really have to understand it well, but then, boom. It’s a hundred percent. You can do whatever you need to do and that knowledge is transferable. I can go to another project wearing this library with me.

Whereas in Lisp, you just have every individual could write this parser. Everyone thinks, “Oh, my…It’s not quite like what they did, so I’m going to do it myself a little bit differently. I’m going to solve my 60 percent.” There’s hundreds of parser libraries out there.

This is part of the curse. Is that it’s so easy to write a new one, you don’t think, “Oh. I better jump on the bandwagon of the one big one.”

Another aspect of the curse…Let me just tell you the curse and then I’ll give my opinions on another. This is another aspect of it. Is that we’re obsessed with bootstrapping. We love the power that a small amount of code that has a lot of leverage to get us to the next level of expressivity. We love that. But then, we don’t take it to its final point.

What do I mean by that? Here’s an example from the Clojure world. Recently there was a lot of buzz about a system for having examples in comments, runnable examples. You put the examples in your dock strings in your code. When you run this tool on it, it will generate an HTML page where those examples are runnable. Totally awesome, right? You can actually run in the browser where you’re reading your documentation. Run that code.

That’s awesome. Someone bootstrapped this cool system, and it’s something that used the power of Lisp, and the fact that we’ve got in-browser, compilers, and stuff like that. It used all of that stuff to make this cool system. I haven’t checked recently but I don’t hear anyone talking about it. I don’t see a lot of examples popping up.

Like, “Look what I did in this tool, look what I did…” I think the reason is we’re so obsessed with that first initial, “Look at all the power I have.” We don’t go the extra mile and say, “OK, now, let’s all get together, let’s divvy up this task, and let’s write a thousand docstrings with examples.” We don’t do the boring manual labor work that’s required.

Another language community who’s not so obsessed with the bootstrapping, they probably could do the same thing in way more code. OK, way more code. When they do it, it’s so much work. They’re not going to stop because that was a lot of work. They will only do it because they know they have so much work.

They’re not going to do it unless they know they have the resolve and the labor to write up all of those examples. This is another aspect of the curse.

Let’s go through them again. One is the individualism. We don’t have to work together. The language is so powerful that we, as an individual or a tiny team, two or three people, can build a solution for their problem. They never have to work with a big group to get things done.

Two, it’s so easy to just solve your problem. You don’t get a complete solution. Everyone has their own little solutions that work for their problem, but then they’re incompatible with all the others. In Clojure world you see this with the proliferation of routing libraries.

Everyone’s like, “Oh, I need a little bit different from this, so I’m gonna…” whereas in another language, they might have two or three because it’s a harder problem, and they want to standardize on it.

The third one is this obsession with the first initial bootstrapping. You put this idea out as a high-leverage piece of code, and just expect it to blossom. That’s only the initial seed. You still need all the work of getting people to actually do the hard work of it.

The computer can’t do all of it. The computer can do that cool first part, but then the rest of it has to be done by people. I see it so much. This is the Curse of Lisp. There’s another cynical side to it.

I’d have to put this out that companies…This is the very cynical side but it’s got a grain of truth in it. Companies would rather have a lot of replaceable interchangeable programmers then one or two powerful programmers.

They want someone to be able to, for instance, be fired or change jobs or go on maternity leave, or what have you, and just be like, “Oh, that’s one percent of our team gone.”

If you only have two programmers and one of them goes on leave, that’s half your team, that’s half your productivity. They’d rather have this big mass of people working on a less expressive language then put all their eggs in two baskets and have this trouble.

That’s like an economic argument for why Lisp isn’t more popular in business. The Curse of Lisp is something that I’ve thought a lot about. I was really into Lisp for a while, and I always wondered why it wasn’t more popular because I felt way more powerful.

It’s not even about like Lisp is absolutely more powerful than other languages because there’s always new languages, and they have cool powers. I’m not saying that. Going from a language like…I learned Java going in university. Going from Java to common Lisp was like…

There’s no comparison between solving problems in Common Lisp, and having to write all this public class, etc., just to get anything done. It’s very easy to compare the two languages and say, yes, Common Lisp has a lot of power in it. I want to make that clear.

I’m not saying Lisp is like the best language. I’m not saying Lisp is more powerful for everything. I do think that when you go from a language to a more powerful language, you often wonder why is that language that I left so much more popular than this one when Lisp is one of the oldest language like, “Why isn’t it taking off?”

I think that a lot of it has to do with the power. It’s too powerful. What is the antidote? In Clojure, people would often talk about Clojure escaping the Curse of Lisp because it’s able to use the JVM libraries. In a lot of ways, that’s true. It has escaped the Curse of Lisp.

Empirically, it is really popular compared to Lisp of 20 years ago. So it has escaped a lot of that problem.

We still see the same kinds of problems, a lack of coordination what I would call a very earnest efforts to get a project going and not a lot of uptake on it, a lot of, “Oh, I can do better. I could do that in a couple of macros,” and not a lot of follow through from the original person making it. I see the same problems there.

Luckily we do have the java libraries and a lot of people willing to wrap those java libraries in things that make it easy for us to use in Clojure. We’re escaping part of it but we still have the legacy of the curse. I think we could figure out a way to solve this.

Another example, just to say it’s not strictly about Lisp. I’ll just explain it like this. I used WordPress a long time ago before Rails came out. The interface was pretty clunky. When Rails came out everyone started expecting a lot more from Web interfaces, from the gooey that users click around on the Web.

They wanted dynamic stuff to happen. They wanted little menus that were easier to use with your mouse. They wanted loading spinners. WordPress didn’t have a good way to do that. Rails did. It did a lot of that for you automatically.

But by and by WordPress had a lot people using it and a lot of developer power and they built it like one little widget at a time making it very much like a default Rails app would be and it was through sheer willpower.

You could ask, “Well, Rails and Ruby are so much better at making this kind of thing than WordPress, why do people still use WordPress?” The same question, WordPress is insanely popular. It’s insane. Why? Why do they still use it? It’s a very similar question.

You got a more powerful language, Ruby. You’ve got even a more powerful framework, Rails, — a better framework, a more modern framework — one that does the stuff you needed to do very elegantly versus WordPress where you have to do it all manually.

Yet, there’s some company selling a plugin to do what you could do in a few lines of code in Ruby. Of course, that plugin is like thousands of lines of code. What is it? Why is this? It’s there everywhere. Luckily, the Ruby and Rails community have a lot more follow through.

They’re not so cursed as the Lispers are and a lot of it has to do with the popularity. That’s all I’ll say about this Curse of Lisp. I don’t think we’ve escaped it. There’s a lot more that needs to be done. I’m talking about the Clojure community right now.

We need to put in the boring work. I think that that’s one of the key issues. We need to have more collective action. We need to form more projects that people say, “I’m not going to make my own solution. I’m going to use this one.” We just need that. I think that that would go a long way toward helping us.

Another thing that saves the Clojure community is we are very practical. Our libraries don’t do more than they need to, which is a good thing. We don’t build in functionality, bite off more than we can chew and paint ourselves into corners. We want the power of the library that we’re wrapping or whatever we’re doing without a lot of assumptions about how it’s supposed to be done or what it wants to do.

This episode is going kind of long so I’m going to wrap it out now. If you like this episode, you can find past episodes at lispcast.com/podcast. There you’re going to find audio, video and text transcripts of all the past episodes. This one is number 141, I think. A lot of episodes. You can go find everything back there.

You’ll also find links to subscribe and to get in touch with me on social media. If you’re interested in the Curse of Lisp or why some languages ain’t as popular as some other language.

I still want to think about this and figure it out. I don’t think there’s any kind of magic sauce. A lot of it is the market forces, if you will. Still, there’s a lot of room for Lisp to succeed. I think about it a lot.

All right. Thank you so much for watching. My name is Eric Normand. This has been my thought of Functional Programming. Thank you for listening and rock on.

The post What is the Curse of Lisp? appeared first on LispCast.

25 Sep 02:58

The first known space crime.




The first known space crime.

25 Sep 02:58

Aurora – Android Without the Play Store

by Martin

Image of the Aurora store app in F-DroidBack in February I wrote a post on how to download and install apps from the Google Play store to an Android device without a Google account. At the time  I was using ‘Yalp’, which is ‘Play’ spelled backwards. Unfortunately, the app became a bit unreliable over the months so I was very happy when I found an incredibly good replacement recently after reading about ‘Google alternatives’ on Kuketz-Blog (in German).

Thanks to this blog post I found the ‘Aurora Store’ app which also enables anonymous access to the Google Play store without a Google account. In addition to standard apps,  Aurora can even install multi-part apps that come as several individual apk files. This has been a problem so far with Yalp. With its friendly user interface and easy handling I can even recommend this app to non-techies who value their pricacy on their mobile devices!

25 Sep 02:58

History of Tetris randomizers

by Nathan Yau

Tetris is a game with foundations in randomness. Pieces are distributed randomly to players and they have to figure out the best spot for each piece. That randomness though has changed over the years as different versions of the game came out. Simon Laroche catalogued the significant changes to the Tetris randomizer.

On the very first Tetris game:

The first and original version of Tetris released had an unbiased randomizer. No opinion to which piece should come next, just pick one and give it to the player.

With an unbiased randomizer, there are situations where the player receives a sequence of the same piece (called floods) or a sequence omitting a certain piece (called a drought). We’ll see how the designers of Tetris games tried to solve these problems in a little bit.

While an unbiased randomizer offers the greatest pure puzzle challenge to players, it is unstable, and can actually result in an unbeatable sequence (PDF). This however can not happen in a real game, as computers don’t use true random number generators. Pseudo random number generators try to mimic real randomness, but don’t have the properties required to deal out 70,000 Z-pieces in a row.

Tags: randomness, Tetris

25 Sep 02:58

Why it’s stupid for PayPal to send you an unsolicited debit card

by Josh Bernoff

I was surprised to get the offer shown here in my mailbox. PayPal is sending me a debit card unless I actively stop them. I’m no security expert, but I can count at least a half dozen ways this is a terrible idea: The only security in place to ensure that the person who receives … Continued

The post Why it’s stupid for PayPal to send you an unsolicited debit card appeared first on without bullshit.

25 Sep 02:58

The Distribution of Users’ Computer Skills: Worse Than You Think

The Distribution of Users’ Computer Skills: Worse Than You Think

Research from 2016: "Across 33 rich countries, only 5% of the population has high computer-related abilities, and only a third of people can complete medium-complexity tasks"

Via Hacker News

25 Sep 02:57

Being Your Own Boss: Christina Crook of the JOMO Movement

by Samantha Lloyd

Christina Crook’s book, The Joy of Missing Out: Finding Balance in a Wired World (New Society, 2015,) helped pioneer the field of digital well-being and established her as a leading voice on technology and human flourishing. Her commentary on technology and daily life has appeared in international media, including The New York Times, Psychology Today and Glamor Brasil. She is widely considered the leader of the global #JOMO movement and is a founding member of the Digital Wellness Collective. 

Christina co-leads JOMO + Digital Mindfulness Retreats, a series of events designed to help digitally weary attendees learn to have a healthier relationship with technology and hosts the new podcast, the JOMOcast, sponsored by Hover!

Christina Crook leads the JOMO movement!

Why did you feel you needed to launch a podcast about the Joy of Missing Out? What’s it all about?

CC: The world of competition and corporate bottom lines drives us to extremes. We need to go home, we need to disconnect and recharge, but it’s increasingly difficult to do so. When not used mindfully, our tech can sap our focus, creativity and, ultimately, our impact. I believe that embracing the Joy of Missing Out is essential for success in all aspects of how we love, live, and lead. Joy, by definition, is “the emotion evoked by well-being, success and the prospect of possessing what one desires.” It’s what we all want. We have to miss out on the right things to get there.  

How we live with technology matters. It matters to our work, our relationships, our creativity, and our communities. The New York Times has written that “How we live with technology is the cultural issue of the next half-century.” JOMO is gaining momentum as a conscious choice to disconnect and reconnect to the tangible joys of life as liberation from our always-on culture. 

Life isn’t straight forward and there’s no one-size-fits-all solution to finding balance in a wired world. I launched the podcast because I wanted to learn how leading founders and creators are embracing the joy of missing out to thrive in a rapidly-changing world.

When did you first become interested in the Joy of Missing Out?

CC: When I wrote my book, with the same title, four years ago. First coined by tech entrepreneur Anil Dash,  JOMO has been making strides, growing in popularity as thought leaders like Oprah, Dr. Brené Brown and brands like lululemon have jumped aboard. I like to say that it took FOMO (the fear of missing out) a decade to take root through social media, it’ll take JOMO at least that long to turn the tide.

What do you hope your listeners get out of JOMO?

CC: I hope that listeners will take to heart these messages:

You control your digital consumption // You control your tech – not the other way around. You can reclaim your time and energy. More than just building awareness around how tech affects us, I want listeners to be empowered to control their digital consumption. 

Focus on what fills you up // Joy is an antidote to digital overwhelm – and human connection is the best way to bring more joy into our lives. Pursuing the things we love – whatever form that may take – helps us find balance and peace.

Good things happen when you slow down // A slower pace of life is possible – and you don’t need to lay your life on the altar of hustle. While it often feels like there are not enough hours in the day to accomplish every task on our to-do list, slowing down can often help us find more space, more creativity, and more joy.

I test the tools myself // For me, digital drain is not abstract or hypothetical – I share insights gleaned from personal experience, testing and refining tools and strategies myself to share with my community. I speak from the nuance of my own life. I am a human, a woman, and a mother – and I aim to connect with listeners on a personal level. I think that shines through on the podcast. 

Everything we’re building with JOMO is rooted in the lines of the JOMO manifesto

The JOMO Manifesto

What are a few simple things a person can do right now to increase their joy in the moment and their presence?

CC: Commit to a daily practice of asking yourself at the end of each day: what today was most life-giving and what was most life-taking? The more aware we are of the activities, mentalities and habits that bring joy and steal joy, the more likely we are to move towards the life-giving. 

[You can watch me talk about this concept more fully in this video taken at the JOMOcast launch party.]

Talk about your recent launch event in Toronto! How did it go? What was the process like of doing a launch event and seeing it through?

CC: (please provide relevant images)

So often, when we pick up our phones or look at our computers, it can feel like the world is going the wrong way, but when we put down our phones to reconnect to real-life experiences, we’re reminded of how wonderful and mysterious life really is. 

I knew when I was preparing to launch the JOMOcast that I wanted to create a joyful gathering. Embodiment is a huge theme of JOMO. How could I launch a podcast about building community, intimacy, and connection by simply clicking a button alone in my office? 

While I had been sketching the launch in my head for most of a year, it began to take real shape over coffee with tech founder, Salimah Ebrahim (the first guest interviewed on the podcast!,) at Tampered Press coffee in Toronto. We came up with a 3.5-week timeline to get the event together. 

Salimah’s company, Artery, pairs performers with hosts to create intimate showcases in living rooms, patios, lofts, and backyards. Because the JOMOcast launch was going to be an Artery showcase, the first step was to find a performer. 

Follow @experience_jomo on Instagram
JOMOcast card!

She raved about VC2, a Toronto-based experimental cello duo. They said yes before the end of our 3-hour meeting. 

I had one goal for the podcast launch party: for people to experience the joy of missing out. Our hashtag for JOMO™ is #experiencejomo in the belief that “Lasting change happens when people see for themselves that a different way of living is more fulfilling than their present one.” (Eknath Easwaran)

My close friend and patron, Emily Ganzer, came aboard as the volunteer design lead for the party. We were hosting in Artery House – the company’s newly acquired headquarters: a narrow home in Toronto, across the street from the Trinity Bellwoods Park. The house would be largely vacant so we’d need to fill it with colour, texture, and life. She accomplished this with a paper chain wall hanging we made by hand (and then gifted to Artery House.) 

The night of the event, the house filled with 60 of Toronto’s leading founders and creators. Hover’s own, Anton Mamine joined us. It was one of the most joyful experiences of my life. 

What is the most challenging thing about launching your own podcast?

CC: Everything?! Mostly the steep learning curve working in a new medium. Who knew you had to decide your: genre, sound, style, format, length? Who knew the first episode, once all of those decisions were made, would take over 100 hours to produce? It’s so easy to sit back and listen, watch or read content; it’s so time-intensive to create. At the very end of the first JOMOcast episode, I talked briefly about mindful consumption. If we pause long enough to consider what went into creating something: a play, a podcast, greeting card, whatever it might be — I think we’d consume less, action more and experience gratitude for the work of makers.

What is the most incredible thing you’ve been able to do or person you’ve been able to connect with thanks to your podcast?

CC: It’s been a great run so far! Salimah Ebrahim (founder of artery.is,) Aaron Reynolds (creator of the Effin’ Birds and Swear_Trek Twitter accounts,) and light phone co-founder Joe Hollier. I have to say that Tiffany Shlain, founder of the Webby Awards, is probably the most exciting to date. Her episode airs early October!

What do you do to step away from work and relax? 

CC: I row. I fly kites with my husband and our kids. I write and read poetry. 

What big, hairy goal do you hope to accomplish with your podcast?

CC: I’d like to talk JOMO with Oprah on SuperSoul Sunday. Hairy enough? 

I want to help inspire a movement of people choosing joy over fear, empowerment over anxiety, JOMO over FOMO.

What we regret most at the end of our lives isn’t missed tweets or fancy job titles. It’s the deeper things — missed opportunities to love, to explore our curiosities, and to spend our time well. 

25 Sep 02:57

Controlling a browser extension with puppeteer

by Jon Udell

Web technology, at its best, has always occupied a sweet spot at the intersection of two complementary modes: interactive and programmatic. You interact with a web page by plugging its URL into a browser. Then you read what’s there or, if the page is an app, you use the app. Give that same URL, web software can read the page, analyze it, extract data from it, interact with the page, and weave its data and behavior into new apps. Search is the classic illustration of this happy synergy. A crawler reads and navigates the web using the same affordances available to people, then produces data that powers a search engine.

In the early days of the web, it was easy to automate the reading, navigation, analysis, and recombination of web pages because the pages were mostly just text and links. Such automation was (and still is) useful for analysis and recombination, as well as for end-to-end testing of web software. But things got harder as the web moved away from static server-generated pages and toward dynamic client-generated pages made with JavaScript.

All along the way, we’ve had another powerful tool in our kit. Web pages and apps, however they’re produced, can be enhanced with extra JavaScript that’s injected into them. My first experience of the power of that approach was a bookmarklet that, when activated on an Amazon page, checked your local library to see if the book was available there. Then came Greasemonkey, a framework for injecting “userscripts” into pages. It was the forerunner of browser extensions now converging on the WebExtensions API.

The Hypothesis web annotator is a good example of the kind of software that relies on the ability to inject JavaScript into web pages. It runs in two places. The annotator is injected into the web page you’re annotating; the sidebar (i.e. the app) runs in an iframe that’s also injected into the page. The annotator acquires page metadata, reacts to the selection event, forms W3C-style selectors that define the selection, and sends that information (by way of JavaScript messages) to the sidebar. The sidebar queries the server, retrieves annotations for the page into which the annotator was injected, displays the annotations, tells the annotator about navigation it should sync with, and listens for messages from the annotator announcing selections that serve as the basis of new annotations. When you create a new annotation in the sidebar, it messages the annotator so it can anchor it. That means: receive annotation data from the sidebar, and highlight the selection it refers to.

Early in my Hypothesis tenure we needed to deploy a major upgrade to the anchoring machinery. Would annotations created using the old system still anchor when using the new one? You could check interactively by loading HTML and PDF documents into two versions of the extension, then observing and counting the annotations that anchored or didn’t, but that was tedious and not easily repeatable. So I made a tool to automate that manual testing. At the time the automation technology of choice was Selenium WebDriver. I was able to use it well enough to validate the new anchoring system, which we then shipped.

Now there’s another upgrade in the works. We’re switching from a legacy version of PDF.js, the Mozilla viewer that Hypothesis uses to convert PDF files into web pages it can annotate, to the current PDF.js. Again we faced an automation challenge. This time around I used the newer automation technology that is the subject of this post. The ingredients were: headless Chrome, a browser mode that’s open to automation; puppeteer, an API for headless Chrome; and the devtools protocol, which is how the Chromium debugger, puppeteer, and other tools and APIs control the browser.

This approach was more powerful and effective than the Selenium-based one because puppeteer’s devtools-based API affords more intimate control of the browser. Anything you can do interactively in the browser’s debugger console — and that’s a lot! — you can do programmatically by way of the devtools protocol.

That second-generation test harness is now, happily, obsolete thanks to an improved (also puppeteer-based) version. Meanwhile I’ve used what I learned on a couple of other projects. What I’ll describe here, available in this GitHub repo, is a simplified version of one of them. It illustrates how to use puppeteer to load an URL into an extension, simulate user input and action (e.g., clicking a button), open a new extension-hosted tab in reaction to the click, and transmit data gathered from the original tab to the new tab. All this is wrapped in a loop that visits many URLs, gathers analysis results for each, combines the results, and saves them.

This is specialized pattern, to be sure, but I’ve found important uses for it and expect there will be more.

To motivate the example I’ve made an extension that, while admittedly concocted, is plausibly useful as a standalone tool. When active it adds a button labeled view link elements to each page you visit. When you click the button, the extension gathers all the link elements on the page, organizes them, and sends the data to a new tab where you view it. There’s a menagerie of these elements running around on the web, and it can be instructive to reveal them on any given page.

The most concocted aspect of the demo is the input box that accompanies the view link elements button. It’s not strictly required for this tool, but I’ve added it because the ability to automate user input is broadly useful and I want to show how that can work.

The extension itself, in the repo’s browser-extension folder, may serve as a useful example. While minimal, it illustrates some key idioms: injecting code into the current tab; using shadow DOM to isolate injected content from the page’s CSS; sending messages through the extension’s background script in order to create a new tab. To run it, clone the repo (or just download the extension’s handful of files into a folder) and follow these instructions from https://developer.chrome.com/extensions/getstarted:

  1. Open the Extension Management page by navigating to chrome://extensions. The Extension Management page can also be opened by clicking on the Chrome menu, hovering over More Tools then selecting Extensions.

  2. Enable Developer Mode by clicking the toggle switch next to Developer mode.

  3. Click the LOAD UNPACKED button and select the extension directory.

This works in Chromium-based browsers including Chrome, Brave, and the new version of Edge. The analogous procedure for Firefox:

Open “about:debugging” in Firefox, click “Load Temporary Add-on” and select any file in your extension’s directory.

The Chromium and Firefox extension machinery is not fully compatible. That’s why Hypothesis has yet to ship a Firefox version of our extension, and why the demo extension I’m describing here almost works in Firefox but fails for a reason I’ve yet to debug. Better convergence would of course be ideal. Meanwhile I’m confident that, with some elbow grease, extensions can work in both environments. Chromium’s expanding footprint does tend to erode the motivation to make that happen, but that’s a topic for another day. The scope of what’s possible with Chromium-based browsers and puppeteer is vast, and that’s my topic here.

Of particular interest to me is the notion of automated testing of workflow. The demo extension hints at this idea. It requires user input; the automation satisfies that requirement by providing it. In a real workflow, one that’s driven by a set of rules, this kind of automation can exercise web software in a way that complements unit testing with end-to-end testing in real scenarios. Because the software being automated and the software doing the automation share intimate access to the browser, the synergy between them is powerful in ways I’m not sure I can fully explain. But it makes my spidey sense tingle and I’ve learned to pay attention when that happens.

Here’s a screencast of the runnning automation:

The results gathered from a selection of sites are here.

Some things I noticed and learned along the way:

Languages. Although puppeteer is written in JavaScript, there’s no reason it has to be. Software written in any language could communicate with the browser using the devtools protocol. The fact that puppeteer is written in JavaScript introduces potential confusion in places like this:

const results = await viewPage.evaluate((message) => {
  // this blocks run in the browser's 2nd tab
  const data = JSON.parse(document.querySelector('pre').innerText) 
  ...

The first line of JS runs in node, the second line runs in the browser. If puppeteer were written in a different language that would be obvious; since it isn’t I remind myself with a comment.

Settings. If you need the automated instance of Chromium to remember login info or other things, you can add userdir: {PATH} to the object passed to puppeteer.launch.

Interactivity. It may seem odd that the demo is using headless Chrome but specifies headless: false in the object passed to puppeteer.launch. I do that in order to be able to watch the automation when running locally; I’d turn it off when running automation in the cloud. Although I’ve not yet explored the idea, an interactive/automated hybrid seems an intriguing foundation for workflow apps and other kinds of guided experiences.

25 Sep 02:56

Why Are We Building Separated Bike Lanes? Why Not Slow the Streets?

by Sandy James Planner

 

Rod King has a different perspective about  building separated bike lanes and his point is well taken. The head of a British organization advocating for reduced road speed,  King asks why we build great quality separated infrastructure for cycling when the real problem is the speeds that drivers travel at. The higher the vehicular speed, the more problematic any cycling and walking interaction is. He notes that the “The cost of infrastructure is largely the cost of driving at speed and are not costs of cycling and walking.”

In Great Britain “utility cycling” refers to daily biking to work, shops and school. It’s well documented that there are enormous benefits to cycling which includes increasing physical and mental health as well as reducing congestion and increasing air quality. The British Social Attitudes Study found that only five percent of people cycle at least weekly, leading to the question of what is the most impactful way to increase “utility” cycling.

King’s answer? Slow the streets.

The “20 is Plenty” website writes that “Traffic speed and volumes (are) inversely related to walking and cycling levels” and cites the The World Health Organisation’s studies that  20mph (30 km/h)  is the maximum safe speed to reduce catastrophic  conflicts between cars and cyclists. “Safety fears are what people say most puts them off cycling. Cycling casualty rates fall 20-40% with wide area 20mph limits.”

In Britain signing side streets at 20 mph (30 km/h) resulted in a 300 percent increase in cycling to school in Edinburgh. Setting vehicular speed limits of 30 km/h on direct routes can maximize cycling gains.

For traffic engineers the key to fitting in separated cycle infrastructure is finding available land alongside highways or enough carriageway for lanes of a least 1.5m wide (2m is recommended). Yet, what if there isn’t space for a joined up safe separated cycle network? The choice becomes introduce 20mph limits or reduce parking or driving lanes (ie reduce motor vehicle road space). Separated lanes for cyclists and 20mph limits both have their place.”

King argues that  slower streets encourage increased cycling ridership and have little requirements except for signage which he estimates to cost about  1.50 pounds or $2.50 Canadian dollars a person.The more deluxe approach of using  public health expertise for driver education, providing signage and gaining police enforcement of speed limits can cost 2 pounds per capita ($3.30 Canadian) but can provide maximum engagement.

Streetfilms produced this YouTube video below that describes the philosophy of the 20 is Plenty movement and interviews Rod King. There is also a review of neighbourhoods that have reduced speeds for cycling and walking, encouraging physical activity and making the local community socially more cohesive.

25 Sep 02:56

Paris, Vehicular Noise & Acoustical Radar

by Sandy James Planner

Besides the sights of Paris, the sounds can be fairly intense, especially if you are walking close to a motorway. As this article on Engadget.com states Paris is trialling “noise radar” that focuses in on powerful muscle cars with loud muffler noise. Using a quartet of microphones appended to street poles, the system triangulates on noise and uplinks with a CCTV camera to pinpoint the offending vehicle.

It’s no surprise that these devices have been located near bars in Paris’ entertainment districts as well as around major buildings. With nearly sixty of the noise radar systems installed, there is a two year trial to figure out if this technology works, and also to ascertain what noise level will result in fines.

But  “people with souped-up rides might not want to get too comfortable. A draft law due for a vote this fall will let local officials experiment with noise radar fines, and  (the Paris suburb of ) Villeneuve-le-Roi intends to take advantage of it if and when the law takes effect.

Of course if you are driving an electric vehicle you will make little noise. The YouTube video below “Small Sidewalk” chats with young people in Paris on the impacts of city noise in their lives. In terms of streets the youth identify vehicular noise as a major component of annoying acoustical experiences.

25 Sep 02:55

“Once they start exercising and experience the benefits, they become very committed to routine exercise”

by Andrea

NPR Health: Exercising To Ease Pain: Taking Brisk Walks Can Help. “For people who live with chronic pain, getting up, out and moving can seem daunting. Some fear that physical activity will make their pain worse. But in fact, researchers find the opposite is true: The right kind of exercise can help reduce pain.”

“”Movement is essential for nutrition of the cartilage,” says Dr. Virginia Byers Kraus, a professor at Duke University’s Molecular Physiology Institute who serves on the research and medical committees of the Arthritis Foundation.

“Cartilage doesn’t have a blood supply but does have living cells,” she explains. “So the way it gets nutrition is by dynamic motion — putting weight off and on as you walk and move. The fluid inside the joint flows into and out of the cartilage like a sponge, so all the nutrients in the joint fluid get into the cartilage” and help slow any degradation there.

Neuroscientist Benedict Kolber with Duquesne University in Pittsburgh says exercise may also cause changes in the brain that can make a big difference in damping down pain.

“Exercise engages the endogenous opioid system,” he says, “so our bodies make opioids and use these opioids to decrease pain.”

In addition to other mechanisms still being worked out, natural opioids are thought to bind to the same receptors in the brain as opioid painkillers, Kolber says, but without the complications or potential for addiction. “There are some circumstances,” he says, “in which your body can produce so much of these natural opioids that you actually get some sense of euphoria” — hence the term runner’s high, a phenomenon athletes have long described.

Kolber says exercise also seems to activate parts of the brain that are involved in decreasing pain. “We get pain signals that are coming from our hands to our spinal cord and up to our brain,” he says, “and then we get these control systems — parts of our brain that seem to be activated in exercise — and that then turns down the pain system.”

And finally, Kolber says, exercise also seems to decrease stress. And stress can make people more sensitive to pain.”

25 Sep 02:55

What Is ‘Sign in with Apple’ and Should I Use It?

by Thorin Klosowski
What Is ‘Sign in with Apple’ and Should I Use It?

With the release of Apple’s new iPhone operating system, iOS 13, Apple introduced a new way to sign up for accounts in apps and websites, called “Sign in with Apple.” This new alternative sign-in option supposedly protects your privacy more than similar options from Facebook, Google, and Twitter, but it ties you even deeper into the Apple ecosystem. We’ll break down how it works and highlight some of the potential issues.

Sign in with Apple makes creating new accounts faster and more private

Sign in with Apple is a “single sign on” (SSO) service intended to work in the same places where you’ve likely seen buttons to log in using your Facebook or Google account. Instead of creating a new account for an app or a website with your email address and a password, you instead sign in using your Apple ID.

25 Sep 02:55

No, Coffee Doesn’t Stunt Kids’ Growth

by Courtney Schley
No, Coffee Doesn’t Stunt Kids’ Growth

If you’ve browsed any of our coffee coverage, you know that we take our brew pretty seriously. From pour-overs to espresso machines, and from bean roast to brew strength, we have strong opinions about it all. This week, it’s all things coffee at Wirecutter.

I don’t know exactly how old I was when I started drinking coffee, but I must have been in grade school because my earliest memories are of sipping a cup with lots of milk and no sugar while reading the comics before school.

Coffee for kids wasn’t considered a big deal in my family when I was growing up in the 1990s. But I knew this was somewhat deviant: To most parents, coffee was an adult beverage, not appropriate for children. Kids shouldn’t even like the flavor. And everyone knows it’ll stunt your growth. Right?

25 Sep 02:54

Behind the Dark Room

Behind the Dark Room is a video by Jeremy Mann detailing what goes into his photo making. And it's amazing, and possibly one of the best things I've ever seen. (Warning- there's a little bit of artistic nudity in it if you think that might offend folks around you).

It's a 20 minute video, but it'll fly by because it sucks you in. It almost had me in tears at one point, because he's doing what I strive to do- the deep dive, the rabbit hole, the work it takes to get to an understanding and building of the new foundation for your work.

Just watch it.

For the past couple of years Jeremy Mann is who I've been going to for inspiration. His paintings, his photos- they just speak to me in ways I can't describe in words. His mark making is one of a kind, and his approach and philosophy to everything is just so refreshing and inspirational.

Mann was on a the Suggested Donation podcast a few years ago. I've listened to it at least four times now, and it gets better every time.

There's also a mailing list you can join, where Mann sends out thoughts and photos every couple of weeks. And I love each and every one of them.

25 Sep 02:51

Everything counts :: What you do counts

by Volker Weber

25 Sep 02:50

iPhone 11 Pro and Apple Watch Series 5 Impressions: The Best of Iteration

by Ryan Christoffel

The general expectation leading up to this year’s iPhone and Apple Watch debuts was that “boring” updates were in store. The iPhone, it was reported, would have an unattractive triple-camera system and little else in the way of improvements; some thought the Apple Watch might not get an update at all.

When Apple officially introduced its new devices to the world, my own reactions were largely positive, though a little mixed. On paper, the latest iPhone and Apple Watch models offer less year-over-year improvements in quantity than Apple usually treats us to. But the advancements that are here – cameras and battery for the iPhone, always-on display for the Watch – are qualitatively huge.

Apple is really good at making two key things: revolutionary products and iterative ones. Every now and then the company creates something that’s truly transformative, a product with undeniable cultural impact. The iPod, iPhone, and iPad are classic picks, but more recently AirPods and the iPhone X deserve similar recognition. However, in-between these giants sit a lot of iterative updates, where existing products get a little bit better. Stacked against the culture-shakers these iterative updates are comparatively less exciting, but they’re almost always objectively better products than their predecessors.

The iPhone 11 and Apple Watch Series 5 lines aren’t revolutionary, but they may well be remembered as some of the best iterative products Apple has ever shipped.

My early impression, after just a few days with the iPhone 11 Pro and Watch Series 5, is that this year’s updates have the potential to stand out over time for one main reason: they give users what we’ve all been asking for.

Rather than writing full, detailed reviews of either the iPhone 11 Pro or Apple Watch Series 5, I simply want to highlight some of the pros and cons of the new devices, particularly in comparison to last year’s iPhone XS and Series 4 Watch.

Pros

Cameras

Ultra wide: Is it just me, or are these buildings leaning in toward each other, Inception-style?

Ultra wide: Is it just me, or are these buildings leaning in toward each other, Inception-style?

The cameras, of course, are the biggest improvement found in the iPhone 11 Pro versus previous models. Though I haven’t spent that much time taking pictures yet, one thing that’s become immediately clear about the 11 Pro is this: there no longer exists a “bad” environment for iPhone photography. When it’s dark out, night mode takes over and captures fantastic, true-to-life images. When I’m ideally a little too close to the subject matter I want to shoot, the ultra wide lens solves that problem. Too far away? That’s what the telephoto is for. It makes a huge difference knowing that no matter where I am, or what time of day it is, I can capture beautiful photos with my iPhone.

Night mode shows you all the details you want, and even those you don't, like NYC's trash-laden evening streets.

Night mode shows you all the details you want, and even those you don’t, like NYC’s trash-laden evening streets.

Central Park is a prime area for capturing ultra wide shots.

Central Park is a prime area for capturing ultra wide shots.

Super Retina XDR Display

Yes the name is ridiculous, but I’ve been pleasantly surprised by the iPhone 11 Pro’s display improvements. Many reviewers either skipped over the iPhone’s display changes or just barely touched on them, with one notable exception being Nilay Patel at The Verge, who wrote:

The iPhone XS was theoretically capable of HDR playback, but I never found it convincing. The iPhone 11 Pro is very convincing. It’s an obvious difference when watching a Dolby Vision movie like John Wick 3, and the display overall holds its own against the Note 10’s excellent display.

Maybe it’s my eyes playing tricks on me, but the 11 Pro’s display looks markedly better to me than the already-excellent XS screen.

Battery Upgrades

On an average day, I end up with ~40% battery left on my iPhone. Yesterday I had 59% left. I’m the type of person who gets a low-grade panic when my battery dips below 40%, so I think it’s fair to say that the iPhone 11 Pro is going to save me a fair amount of anxiety over the next year.

Always-on Watch Display

It’s true: once you get used to the Series 5 Watch’s always-on display, it’s very hard to go back. This weekend I found myself countless times looking at my wrist to catch the time in situations where I didn’t want to make it obvious what I was doing. With all previous Watch models, this would have been an exercise in frustration, but on the Series 5 that pain point is gone. The days of the awkward wrist twist are behind us.

Cons

Slower Cursor Movement

By adding context menus with content previews to iOS 13, Apple mitigated almost all of the issues I would have previously had with 3D Touch being removed from the latest iPhones. There’s still one outlier though: moving the cursor. On the iPhone 11 Pro, like last year’s iPhone XR, you can move the cursor around by holding down on the spacebar key, which works okay, but it’s not quite as fast as using 3D Touch on any part of the keyboard. It’s going to take me a while to change this habit.

Slight Notification Delays on Watch

I’d be interested to see a side-by-side test, because maybe it’s just my imagination, but it seems that one negative side effect of the Series 5 Watch’s always-on display is that when a notification comes in and you raise your wrist to see it, it takes a tick or two longer to display that notification than it did before. Perhaps this has something to do with the transition between showing the dimmed time and a brightened notification view, but it’s an annoying step backward for the always-on feature which otherwise is fantastic.


Cameras and battery are two of the most important features to iPhone users. Getting a display that stays on has long been the top feature request from Watch users. Apple has delivered on all counts with the iPhone 11 Pro and Apple Watch Series 5.

For all the criticism that iterative updates can bring, particularly for a company with the reputation for innovation that Apple has, in real-life use it’s often the iterative product updates that make the biggest impact in users’ lives. The first iPod, iPhone, and iPad were remarkable, industry-shaking achievements, but it was Apple’s quick iteration of those products that made them into the worldwide successes they became. Judged by feature lists alone, the iPhone 11 Pro and Series 5 Watch at first glance may seem like middle-of-the-road updates, but in practice, the story’s different. As the culmination of several years of iterative improvements, these devices have the potential to make a bigger impact on our lives than many of their predecessors ever did.

This is not, by any stretch, a “boring” upgrade cycle for the iPhone and Apple Watch.


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
25 Sep 02:50

Quoting Greta Thunberg

People are suffering. People are dying. Entire ecosystem are collapsing. We are in the beginning of a mass extinction, and all you can talk about is money and fairy tales of eternal economic growth. How dare you?

Greta Thunberg

25 Sep 02:49

Call for RustPH Mentors

by Robert "Bob" Reyes
Mabuhay, Pinoy Mozillians! MozillaPH’s FREE Rust (Programming Language, not the computer game) Hack & Learn sessions (seminars and workshops) will be back very soon. In preparation for this endeavor, we are looking for volunteer RustPH Mentors (both for online and face-to-face workshops/meetups). We are looking for people who: Know Rust (Programming Language). Not necessarily a Rust ninja (expert).Are passionate about learning new stuff.Are willing to teach (with a lot of patience) other people how awesome Rust is. Interested? Sign-up using… Read the rest
25 Sep 02:49

Early Sept blood test results: Cancer levels increased, planning for early 2020 chemo

by tyfn

My September blood test results show my cancer levels have risen to 16 from 13. Although this is only a small increase, I’m trending in the wrong direction as my cancer continues to affect my physical and mental abilities. So, I’m expecting early 2020 chemo, and focused on being mentally prepared, when the time comes.

Conversations are problematic as simple sentences can come out wrong. I’m also very clumsy and find that I will knock things over or run into walls. This is expected though as my cancer levels rise and I get closer to chemo treatment, easy things become more difficult and difficult things are super challenging.

Instead, I’m really focused on remaining calm, finding inner peace, and experiencing happiness within. I’m conserving my energy and prepare my body and mind for the long journey ahead through healthy eating, reading, and quiet time.

My next treatment will be pretty intense, as I’ll be on IV and oral chemo indefinitely. However, I remain optimistic that I will be able to handle any adverse side effects and that treatment will keep my cancer levels low and stable.

Staying positive – Happy Autumn!

M protein (g/L) (if 0, then no cancer detected)
Early Sept = 16
Aug = 13
July = 6
June = 5
May = between 3 and 4
Apr = 3
Mar = between 1 and 2
Feb = 3
Jan = between 5 and 6
Dec = between 5 and 6
Nov = 11
Late Oct = 27 (started chemo)
Early Oct = 48

Self-portrait:
Afternoon wanderings in Queen Elizabeth Park

Early Sept blood test results: Cancer levels increased, expecting chemo before Spring

I have multiple myeloma and anemia, a rare cancer of the immune system. Multiple myeloma affects the plasma cells, a type of immune cell that produces antibodies to fight infection. These plasma cells are found in the bone marrow. As a blood cancer, it is incurable, but treatable.

From mid-October to late-May, I was treated with Kyprolis (carfilzomib), an IV chemo, Cyclophosphamide, and dexamethasone.

Lynn Creek @ Varley Trail - Lynn Headwaters Regional ParkLynn Headwaters Regional Park

The post Early Sept blood test results: Cancer levels increased, planning for early 2020 chemo appeared first on Fade to Play.

25 Sep 02:49

[roden] Media Accounting 101: Appholes and Contracts

by Craig Mod
Gentle Rodenians Worldwide — Hello from the tail end of Japan Swelter Summer. The humidity broke a few days ago and everything is crisp and glorious and markedly less soggy. I am obsessed with humidity — my home is filled with hygrometers. I have a dry case for camera equipment and my one pair of fancy leather shoes. My friends send me the latest in dehumidifier news. Few people fully understand the implications of runaway humidity.
25 Sep 02:48

Short and Long Windows

by Richard Millington

You typically have two short and two long windows in the community development process.

It’s handy to know whether you’re in a short or long window to plan your next steps.

The Pilot Phase
The pilot phase, where you attract your first members and reach a critical mass of activity, needs to be achieved within 1 to 3 months (the sooner the better).

If you don’t manage to attract around 300 monthly posts, 100 active participants, with 10 new registrations per day, quickly, you lose momentum and activity dissipates to nothing. This is the approximate level when the community is capable of delivering value to members (knowledge, influence, and relationships) they can’t easily get elsewhere.

There are ways to shortcut the process (hosting large events is one), but it’s typically the result of countless conversations with hundreds, even thousands, of people in a short amount of time.

The Growth Phase
Post-pilot you enter a long window.

This is typically the phase between critical mass and the community having widespread internal support. It can last from months to years.

This is the time to grow the community steadily. Be clear and careful about the culture you’re creating. Define what behavior you will and won’t accept. Figure out where most members are coming from and nurture top members etc…

This phase runs from critical mass until the time you can’t handle the workload by yourself anymore and need further support.

The Community-Kill Zone
This is the immediate post-funding phase.

The kill zone is the time between when the community is so young, cheap, and full of potential, it’s not worth killing and when it’s proven itself indispensable. It’s typically when the community grows from a cost of less than $500 per day to more than $1k per day.

This is a short-window (typically less than 18 months). It’s the time when you need to work hard and fast internally to gain support and demonstrate value. Pure engagement metrics matter less than internal support here.

The Indispensable Phase
This is the long-window.

It’s when you work at an organization with widespread support and you need to maintain (and grow) that support, deliver increasing value to the community, and optimize your processes.

This window lasts indefinitely (but be careful about regressing backwards).

If you’re in a short window, you need to focus on the few core areas that matter and move fast.

If you’re in a long window, you need to make steady improvements across multiple areas.

25 Sep 02:48

Broadway at Cambie

by Stephen Rees
Broadway - City Hall Station

There is a very useful article by Kenneth Chan who in his usual diligent fashion covers the details of how the interchange at City Hall station is going to work when the new Millenium Line extension opens.

The most disappointing feature is that there will still be only the existing single station entrance. This is because there will be much less passenger activity as all the interchange traffic will be handled by three underground routes. Much of the existing foot traffic is people transferring from buses.

I am putting this quote here simply because I will then find it more easily. Not so long ago I had Harold Steves telling me on Twitter that the Canada Line north of Bridgeport is “fine”. No, it isn’t. I wish I had had this data to hand at the time.

“Like the Expo Line, the ultimate future capacity of the Millennium Line is 25,000 pphpd. In contrast, the ultimate future capacity of the Canada Line is 15,000 pphpd; currently, the Canada Line’s peak capacity is running at about 6,000 pphpd, and this will increase to over 8,000 pphpd when all 24 new additional train cars (12 two-car trains) go into service in January 2020.”

BUT it is not the volume of passengers at the station that concerns me so much as the sheer convenience and improved pedestrian safety that would result from an entrance on each corner. Which is the way that most busy stations in major cities with subways – or elevateds – are laid out. Maybe not all of them get escalators and elevators – but they do cut down the number of people who have to cross a very busy intersection, with often long waits for a suitable light.

There is now a very useful diagram of how the proposed underground interchange will work – taken from the BC Ministry of Transport’s flickr stream

Broadway-City Hall Station

25 Sep 02:04

Apple’s new Mac Pro will be manufactured in the U.S.

by Patrick O'Rourke
Mac Pro

Apple’s upcoming high-end Mac Pro is set to enter production soon in Austin, Texas in the United States.

Apple first revealed the Mac Pro during its Worldwide Developer Conference (WWDC) back in May.

“The Mac Pro is Apple’s most powerful computer ever and we’re proud to be building it in Austin. We thank the administration for their support enabling this opportunity,” said Tim Cook, Apple’s CEO, in a statement.

“We believe deeply in the power of American innovation. That’s why every Apple product is designed and engineered in the US, and made up of parts from 36 states, supporting 450,000 jobs with US suppliers, and we’re going to continue growing here.”

Manufacturers from a variety of other states, including Arizona, Maine, New Mexico, New York, Oregon, Pennsylvania, Texas and Vermont, will also supply parts for the high-end work station level computer.

While Apple has confirmed the Mac Pro is set to start at $5,999 USD (roughly $8,060 CAD), Canadian pricing for the Pro has not yet been revealed. Apple plans to start shipping the Mac Pro later this year. The Pro Display XDR starts at $4,999 USD (roughly $6,716 CAD).

Canadian pricing for the Pro Display XDR has also not been confirmed by Apple yet.

The post Apple’s new Mac Pro will be manufactured in the U.S. appeared first on MobileSyrup.

25 Sep 02:04

There’s already a workaround to get Google Play Store on Huawei Mate 30 Pro

by Dean Daley

Huawei unveiled the Mate 30 Pro last week at an event in Munich, Germany. While the device is beautiful, the phone comes with one major caveat — it lacks Google Play Services.

However, Thai tech YouTuber ‘TechOffside’ was able to use a workaround to get the Google apps on the device.

The user installed the enterprise device manager LZ Play on the phone, which requires extensive permissions, according to Android Police.

AP states that LZ Play requires the same permissions as administrators to push updates across a business fleet of phones. The results let users install system-level applications such as the Play Store, Play Services or other Google apps. AP warns that “due to its origin in administration software, [it’s] a potentially huge security risk, too.”

However, due to this potentially harmful software, TechOffside was able to download Google apps like Gmail, YouTube, Photos and the Play Store. TechOffside doesn’t precisely say that they’re using LZ Play. However, Reddit users discussing the video assume this is the case.

LZ Play only works on Huawei devices, according to the Reddit post.

The process is reasonably accessible as 9to5Google has already downloaded LZ Play on a Mate 30 Pro and said it takes less than 10 minutes. 9to5 also confirmed that the device now works like a standard Android licensed phone except picture-in-picture with YouTube doesn’t work.

However, this is risky software that users should delete once they’ve setup up their Google apps. AP also warns that it might lead to random app crashes, extensive battery drain and the installation of malicious code.

Head to lzplay.net to download the software on your Huawei device. No Canadian availability for the Mate 30 has been announced.

Source: TechOffside, Android Police 

The post There’s already a workaround to get Google Play Store on Huawei Mate 30 Pro appeared first on MobileSyrup.

25 Sep 02:04

Google Play Pass subscription service is now available in the U.S.

by Dean Daley

Google Play Pass is now available in the United States.

Play Pass is a new subscription service that gives users access to more than 350 games and apps that are completely unlocked. This means the games/apps are free of ads, in-app purchases and upfront payments.

Play Pass includes games and apps like Monument Valley 2, Limbo, Star Wars: Knights of the Old Republic, Terraria, AccuWeather and more.

Play Pass is Google’s answer to Apple Arcade and is priced similarly to the competing service. In the U.S., Play Pass costs $4.99 ($6.62 CAD). However, it’s worth noting that Apple Arcade doesn’t include apps.

There will also be new games coming each month, including This War of Mine and Cytus.

Google has even added a Play Pass tab for subscribers in the Play Store. In the Play Store, there are also Play Pass “tickets” for games and apps that are included in the service.

Play Pass also allows users to share the subscription with up to five family members. Each member has their own individual Play Pass access as well.

“Google Play Pass is compatible with mobile, laptop, and tablet devices with Play Store version 16.6.25 and above, and Android version 4.4 and above,” according to the blog post.

We’ve reached out to Google Canada for Canadian availability. The tech giant says it has nothing to announce at this time. Google’s blog post says that Play Pass is coming to additionally countries “soon.”

Source: Google 

The post Google Play Pass subscription service is now available in the U.S. appeared first on MobileSyrup.

25 Sep 02:04

Fitbit reportedly considering the possibility of selling

by Patrick O'Rourke
Fitbit Versa 2

While the recently launched Fitbit Versa 2 is a solid smartwatch that features Alexa integration and improved battery life when compared to its predecessor, it looks like the fitness wearable company could be exploring selling with investment bank Qatalyst Partners.

Qatalyst Partners has reportedly been aiming to get Fitbit to consider selling for several weeks, according to Reuters. The report cites Google’s parent company Alphabet and a variety of private equity firms as possible purchasers.

Back in 2016, Google reportedly considered launching a Pixel-branded smartwatch but ditched the idea because it felt the wearables didn’t fit in with its product line.

The company later salvaged the project and launched the poorly received LG Watch Sport and LG Watch Style.

Fitbit reported $314 million in revenue in the second quarter of 2019.

Source: Reuters 

The post Fitbit reportedly considering the possibility of selling appeared first on MobileSyrup.

25 Sep 02:04

Rumors suggest Google’s next Chromebook is the Pixelbook Go

by Brad Bennett

A new slate of leaks heavily suggests that the next Google Pixelbook will be a lower-cost model aimed at the mass market.

Google has a reputation for developing the best Chromebooks (except for the Slate), but they’ve been expensive in the past. A new leak from 9to5Google says the next Chromebook in the Pixelbook lineup will be a reasonably priced model aimed at the average consumer.

The device is slated to be called the Pixelbook Go and 9to5Google says it’s set to feature a 13.3-inch screen that sports either a 1080p or 4K resolution depending on the model. The report also states that the Chromebook will come in a few processor models, starting with an Intel m3, then an i5 or an i7. There’s no mention in the leak what generation the Intel processors are.

You can also choose between 8GB or 16GB of RAM and 128GB or 256GB of storage.

9to5Google’s sources also state that the device will be built out of some sort of tactile material and is set to come in a black colour, as well as one that’s reminiscent of the ‘Not Pink’ Pixel 3. The notebook will also use a normal laptop clamshell form factor.

Overall, this is a really exciting leak since Google’s Chromebooks have often offered users really good hardware to go along with ChromeOS. Ideally, if Google can create a recognizable and low-cost version of a Pixelbook, it will help the company expand to more users.

It’s expected Google will announce the device at its October 15th event alongside a new Google Home Mini called the Nest Home Mini and two new Google Pixel 4 smartphones.

Source: 9to5Google

The post Rumors suggest Google’s next Chromebook is the Pixelbook Go appeared first on MobileSyrup.

25 Sep 02:00

Twitter Favorites: [JodiesJumpsuit] A reminder for Toronto that we are at that point in the year where we irrationally hate the weather because we want… https://t.co/TPGErFi6F1

not a good start, jump @JodiesJumpsuit
A reminder for Toronto that we are at that point in the year where we irrationally hate the weather because we want… twitter.com/i/web/status/1…
25 Sep 02:00

Recommended on Medium: “Stranger” Is a Slippery Word

cover image of When Strangers Meet: How People You Don’t Know Can Transform You, by Kio Stark

When Strangers Meet argues for the personal and political benefits of talking with strangers. I wrote it in late 2015 out of both love and urgency. It seemed to me that there had never been a more important time for people who don’t know each other to talk to each other. The book was published in September 2016 — prior to the election of Donald Trump, which has escalated the very fears and prejudices my book works to counter. We now live in a country where violent, racist rhetoric and actions are commonplace and encouraged by elected leaders. Punishingly anti-immigrant policies made and supported by White Nationalists are part of everyday reality.

The urgency I felt when I wrote the book has now risen off the charts.

This excerpt walks through what it means to think of someone as different, and how to change the thinking we do when we make those decisions.

How do you divide the world into known and unknown? Stranger is a slippery word — you think you know what it means until you try to account for yourself. It names an idea that invisibly structures your everyday life, what you see, the choices you make, the way you move. Are you ready to see just how slippery it is? Tell me what you mean when you say stranger.

I ask this a lot, and almost everything I hear boils down to this wonderfully contradictory list.

  • Someone you’ve only seen once.
  • The entire world of people you’ve never met or encountered.
  • All the people who are unknown to you but possibly knowable, the people who you’re aware of as individuals in some way, but have never met or encountered in person.
  • People you have personal information about but have not met, like a friend of a friend, or a public person.
  • A person who doesn’t share your context, whether that is ideological or geographical.
  • A person you don’t have anything in common with.
  • Someone who is not part of any group you define yourself as belonging to.
  • Someone you can’t understand.
  • Someone who is a threat.
  • Someone you encounter frequently but don’t know anything about other than what you can observe.
  • Someone whose name you don’t know.

When we examine our ideas about strangers, the notion that a stranger is someone to be afraid of often falls away, chalked up to childhood training in “stranger danger” or something gleaned from the media, in contradiction to our lived experiences. Who we think is a stranger is an individual thing. It’s also defined by culture and history. The ways we interact with strangers — and so our very ideas of whom they are — can change in response to major events. During major disruptions in our lives, in storms, floods, outages, transit strikes, we suspend our usual expectations and put feelings of community above fear. Ever more frequent terrorist attacks by Islamic fundamentalists [Post-pub note: I would now add frequent white nationalist terrorism in the U.S.] around the world have directly increased suspicion of strangers — and have fueled illogical and unwarranted assumptions about what kind of stranger poses a threat.

Our concepts of strangers and how we behave toward them also vary by situation. Is it dark, am I alone, am I in familiar territory, am I lost, am I in the minority in this place?

Who counts as a stranger? Who do we greet? Who do we avoid? My four-year-old daughter forces me to ask these questions constantly. My family lives in a city, in an area with residential blocks and commercial streets crossing each other. As my daughter and I walk around the neighborhood, I watch her sort strangers.

I say hello to most people, and she wants to know why. Are they our friend? she’ll ask. “No, just a neighbor” might be the answer when it’s someone we see often or people who are walking near our house. Do we know them? “No, we’ve never met them.” Why did you say hi then? “It’s just nice to be friendly.” I think twice when I tell her that, even though I mean it. And as a woman, I know very well that strangers on the street don’t always have such noble intentions. It is good to be friendly, and it’s good to learn when not to be. But none of that means we have to be afraid.

Our apartment is near a halfway house, and some of the people who live there are hard cases, apparently a little “off” in one way or another. They might be dressed in very shabby or unwashed clothes, or behaving in ways that look like they’re high on something. Their speech or body language sometimes puts me on alert for behavior that may or may not be harmless. I feel varying degrees of discomfort about any of these situations, and I want my daughter to see that I make choices — and learn to make her own — about who I greet and how I avoid interacting with someone I think might be unpredictable or unpleasant. I want her to understand an essential distinction in a world of strangers: unpredictable and unpleasant are not by definition dangerous.

On our way to school one morning there was a man in the middle of the block we usually walk down, and he was yelling angrily at the air, stomping his feet and swinging his arms. I said to my daughter, “Let’s go another way.” She asked, Why can’t we go that way, isn’t he our neighbor? Once a question is asked, it snakes through many others. I had to wonder what made me uneasy and whether or not it was based on good instincts or prejudice I’m blind to. That day, I said, “Well, that man looks pretty upset and I don’t want to get too close to him.” Why is he upset? she asked. “I don’t know what’s bothering him, but I can tell by the way he’s yelling and what he’s doing with his body that I don’t want to get near him right now.” I watched her taking that in. I had sidestepped the shorthand of saying, “He’s acting crazy,” though that’s what I would have said to an adult. I wasn’t being delicate about my choice of language as much as I was avoiding a cascade of questions I wasn’t prepared to answer there on that street corner. What’s crazy? How did he get that way? Is he always crazy? How do I know someone is crazy?

What was important to me in that moment was that she learn to perceive, not learn to name or categorize.

That’s an uphill battle, because categorizing is something human brains do. We categorize people as a shortcut to learning about them. We see young, old, white, black, male, female, stranger, friend, and we use the information we store in that box, the box labeled OLD or FEMALE or STRANGER to define them. Sometimes that’s the best we can do, but it creates a dreadful lack of knowing at the individual level.

Categorization and its malignant offspring, stereotyping, are learned at home, in school, on the street. These ways we have of seeing each other also have deep roots in human history. The blunt argument made by some academics (and further oversimplified by the media) says we became hardwired for this in an early moment in human evolution, when having a strong sense of “us and them” helped humans in an extremely resource-poor environment choose who to help and who to exclude so that their group had a better shot at survival. In other words, fear and bias were once useful. It may be in one way or another true that we were once dependent on keeping our groups closed. But turn your most suspicious eye on theories that say humans are hardwired for anything. Someone may be using an idea as a sledgehammer. That word is trying to tell you there’s something we can’t change. The fact that “us and them” thinking has long roots in human history does not mean that it is natural, or acceptable. It does not mean bias is inevitable and immutable, or that fearful and defensive instincts should continue to drive us.

There’s no question: We have to choose whom to trust. The world is full of dangers, and a few of them arrive in the form of an unfamiliar face. We have to navigate that world safely somehow. We can make these choices with attention and grace. If we don’t, we will find ourselves in a one-dimensional world, deprived of honest human connections and interruptions that awaken us.

None of this is easy. To learn to truly see someone you’ve never met is hard. Slotting them into categories is a lazy shortcut we rely on too often. Relying on your perceptions — giving careful attention to what your senses are telling you without jumping to conclusions — costs time and effort. It’s not a lightning reflex but a skill to be learned. You can practice it in places with low stakes. Take a walk in the park, in daylight, and look at the people around you. What do you see? What puts you at ease or sets you on edge? Who counts as a stranger?

Whatever you find, and wherever you think it comes from, one thing is certain: we are surrounded by individuals, not categories. There are adventures to be had here, adventures you can set out for every day of your life. To really understand how you divide the world, to use your senses to choose whom to make familiar, and to stop and say hello to a stranger, these bold acts can transform your emotional experience of the public world. And you can transform the public world itself right along with you.

Excerpted from When Strangers Meet: How People You Don’t Know Can Transform You, by Kio Stark (TED Books/Simon & Schuster, 2016)