I would argue that you are generalising based on looking at a particular model of how we use digital assistants. How about scenarios where organisations and individual develop digital assistants that are not financed by an advertising model? Or for that matter, the underlying NLP is not based on a cloud computing model?
That's kinda the problem: there are no non-profit, voice recognition DA's out there (presumably because voice recognition requires a lot of research and a ton of audio samples - I think, Mozilla tried to get into this?).
We got Google Now, Alexa, Siri and Cortana. Google Now and Alexa are obviously tied into an eco system that has one goal: engaging the user till he buys something. With Siri and Cortana its more like the old "lock the customer in (so he eventually buys more of our stuff)" thing.
I believe a large part of getting better at coding is reading about good coding practices and simply reading other developers' code, regardless of its quality. For example when I was in junior college a programmer-on-duty recommended I read Kernighan and Plauger's "Elements of Programming Style." Reading this style guide had an immense impact on me. Following that book, I discovered Kernighan and Plauger's "Software Tools" which illustrated important aspects of the UNIX philosophy (and good design principles) such as "Write programs that do one thing well" and "write programs that work together."
I glanced at the Clive Thompson article. I disagree. I feel movements like "software carpentry" (https://software-carpentry.org) are a good indicator of what mass computer literacy will look like in the workplace and society as a whole. Essentially more folks will know how to develop small scripts to support their main work (or customise their home automation systems). In turn, I also suspect, in the long run, programmers that act as the equivalent of a scrivener (the 'blue' collar workers of those articles) are going to dramatically decline as a percentage of folks engaged in software development.
A problem I found with article is the talk of opacity of statistics techniques in the guise of "big data" used in social media corporations. Statistics used by individuals and companies is nothing new. As a counter-example, I feel the public has greatly benefited from statistics in the form of quality management embedded in the proprietary processes of manufacturing and large service corporations. Stuff like TQM allow us to take for granted so many things. I think the issues revolve around who owns and gets access to large data sets, mathematical literacy and the morality/ethics of various players.
Perhaps from a moral perspective, statistics about inanimate matter like TQM are better than statistics about people? It's somewhat reminiscent of the Second Formulation of the Categorical Imperative, anyway.
Watching "Rogue One," the real-world historical parallel that came to my head was that Galen Erso was modelled after Werner Heisenberg and Nazi A-bomb programme. I was surprised, Heisenberg was not mentioned in the essay: maybe that would have driven points home?
I was on the fence concerning the essay. I think I understand many of the points made by other respondents: The canonical Star Wars Universe is too black-and-white and inconsistent to use as a backdrop for thinking about engineering ethics.
As a side note regarding the relationship between the Dark Side, the Sith, the Emperor and technology. Actually some of points touched on in the essay (i.e., reliance on technology) are explained in the excellent twenty-five issue Marvel series "Darth Vader."
I can't recall anywhere in the literature that refers to being inspired by UNIX's select(). Golang's select comes from the Bell family of languages such as select in Newsqueak or alt in Limbo. In turn, channels in these languages were inspired by CSP. Here is a link to Russ Cox's "Bell Labs and CSP Threads" (https://swtch.com/~rsc/thread/)
Love my Pebble. Has almost everything I wanted in a watch. Found it a pity that on the marketing front, Pebble never seemed to get top of mind (or anything near there). My current's watch's display is starting to shred. Debating buying a second watch while they are still available. Downloaded the SDK and will grab the tutorials. Hopefully Fitbit will keep this information around.
Although I am not aware of any recent development, you should look at Stackless Python which was inspired by Limbo. Stackless Python has lightweight threads (stacklets) and synchronous channels a la various Bell labs family of languages (include Go). The greenlets that Gevent uses comes from Stackless.
Although I have used both CPython and Stackless.py, the specific differences are fading from my memory. While working on a Go style select() for stackless.py I recall there were minor differences in how the runnable list is represented and accessed. However this is really an implementation detail. For the most part, they are pretty much the same.
The biggest difference I remember in the current stackless.py implementation, the move to "continuelets" resulted in the inability to pickle "complex" stackless tasklets. So it becomes more difficult to stop a tasklet in one thread and restart it in another. Maybe the ability to control the recursion depth (including getting rid of it) may also be gone in stackless.py.
I find with all the voice APIs out there, I would recommend choosing one and diving in. One of the skills is getting comfortable with the interactions between the voice API and the back-end.