Github alerts on Inbox

A day or so ago, the product team at Google Inbox made some updates in terms of how the application handles email coming from Github. I think they made similar changes to Trello too but I haven’t been using Trello much (tbh I had forgotten about it and it looks like I set up my account 4 years ago) so this probably applies to Trello if you have teams using Trello and as a result, receive lots of emails from Trello. I don’t.

I am watching a dozen or so Github open source projects, however, none of them huge, but a couple of them are relatively active and generating email on a regular basis.

One of the reasons I liked Inbox was that it effectively sorted my email into stuff that was worth annoying me about and stuff that wasn’t. This means that for all those Facebook, Twitter and other automated and mass email sendings, my phone didn’t bother me and I could review those at my leisure, like waiting for stuff to cook or whatever. Github was sorted into the Forums post and this suited me because anyone who needs to check who has updated a Github repo on their phone while they are out is not really the sort of person I tend to consort with.

As of yesterday though, this has stopped. Inbox now informs me every single time I get an email from Github. The sad part about that – for me probably – is that there are a good deal more Github notifications yesterday for one project than a) usual and b) I get from human beings on a day to day basis. As a result, Inbox has been annoying me with Github alerts, alerts which I can only get rid of by unwatching the projects in Github. Amongst the things I cannot tell Inbox to do at the moment is not to send lock screen/audible alerts to the phone for Github originating email.

The way they bundled Github in the Inbox itself is nice. But I cannot understand why it occurred to no one in Google land that enforcing an audible/buzz alert on the phones without a way to switch that off was a stupid, stupid idea which had the potential to wreck Inbox utility for some users. As for anyone whose subscribed to a lot of Github projects, their phones must be going crazy. Mine was annoying because it meant that a buzz alert no longer meant that I’d gotten actual email from a human for the most part, only that someone somewhere had updated a Git repo. Essentially, my phone started crying wolf over the email it was receiving. It used to alert me to personal/potentially important email. Now it alerts me to definitely not urgent for me email, email I want to receive, but do not want a lockscreen alert for.

I sometimes think that people working in the tech sector work inside a bubble and do not have access to a diverse enough pool of users for testing purposes. The first thing I would have said to someone if I’d been testing this is “You have to give users the options to switch off audible and lock screen alerts for these things. For many people, they may represent non-essential, non-urgent email and you’re stripping away useful meaning of those alerts”.

Up to yesterday I knew that if my phone buzzed an email alert, it was probably something I needed to look at now. As of yesterday, now if it buzzes, it’s probably a Github alert. This does not improve my life.

The invisible conduit of interpreting

Jonathan Downie made an interesting comment on his twitter this morning.

Interpreting will never be respected as a profession while its practitioners cling to the idea that they are invisible conduits.

Several things occurred to me about this and in no particular order, I’m going to dump them out here (and then write in a little more detail how I feel about respect/interpreting)

  1. Some time ago I read a piece on the language industry and how much money it generated. The more I read it, the more I realised that there was little to no money in providing language skills; the money concentrated itself in brokering those skills. In agencies who buy and sell services rather than people who actually carry out the tasks. This is not unusual. Ask the average pop musician how much money they make out of their activities and then check with their record company.
  2. As particular activities become more heavily populated with women, the salary potential for those activities drops.
  3. Computers and technology.

Even if you dealt with 1 and 2 – and I am not sure how you would, one of the biggest problems that people providing language services now have is the existence of free online translation services and, for the purposes of interpreters, coupled with the ongoing confusion between translation and interpreting, the existence Google Translate and MS’s Skype Translate will continue to undermine the profession.

However, the problem is much wider than that. There are elements of the technology sector who want lots of money for technology, but want the content that makes that technology salable for free. Wikipedia is generated by volunteers. Facebook runs automated translation and requests correction from users. Duolingo’s content is generated by volunteers and their product is not language learning, it is their language learning platform. In return, they expect translation to be carried out.

All of this devalues the human element in providing language skills. The technology sector is expecting it for free, and it is getting it for free, probably from people who should not be doing it either. This has an interesting impact on the ability of professionals to charge for work. This is not a new story. Automated mass production processes did it to the craft sector too. What generally happens is we reach a zone where “good enough” is a moveable feast, and it generally moves downwards. This is a cultural feature of the technology sector:

The technology sector has a concept called “minimum viable product”. This should tell you all you need to know about what the technology sector considers as success.

But – and there is always a but – the problem is not what machine translation can achieve – but what people think it achieves. I have school teacher friends who are worn out from telling their students that running their essays through Google Translate is not going to provide them with a viable essay. Why pay for humans to do work which costs a lot of money when we can a) get it for free or b) a lot less from via machine translation.

This is the atmosphere in which interpreters, and translators, and foreign language teachers, are trying to ply their profession. It is undervalued because a lower quality product which supplies “enough” for most people is freely and easily available. And most people are not qualified to assess quality in terms of content, so they assess on price. At this point, I want to mention Dunning-Kruger because it affects a lot of things. When MH370 went missing, people who work in aviation comms technology tried in vain to explain that just because you had a GPS on your phone, didn’t mean that MH370 should be locatable in a place which didn’t have any cell towers. Call it a little knowledge is a dangerous thing.

Most people are not aware of how limited their knowledge is. This is nothing new. English as She is Spoke is a classic example dating from the 19th century.

I know well who I have to make.

My general experience, however, is that people monumentally over estimate their foreign language skills and you don’t have to be trying to flog an English language phrasebook in Portugal in the late 19th century to find them…

All that aside, though, interpreting services, and those of most professions, have a serious, serious image problem. They are an innate upfront cost. Somewhere on the web, there is advice for people in the technology sector which points out, absolutely correctly, that information technology is generally seen as a cost, and that if you are working in an area perceived to be a cost to the business, your career prospects are less obvious than those who work in an area perceived to be a revenue generating section of the business. This might explain why marketing is paid more than support, for example.

Interpreting and translation are generally perceived as a cost. It’s hard to respect people whose services you resent paying for and this, for example, probably explains the grief with court interpreting services in the UK, why teachers and health sector salaries are being stamped on while MPs are getting attractive salary improvements. I could go on but those are useful public examples.

For years, interpreting has leaned on an image of discretion, a silent service which is most successful if it is invisible. I suspect that for years, that worked because of the nature of people who typically used interpreting services. The world changes, however. I am not sure what the answer is although as an industry, interpreting needs to focus on the value add it brings and why the upfront cost of interpreting is less than the overall cost of pretending the service is not necessary.

Glitches in the matrix and Viber

I ran into an interesting problem with the messaging service Viber yesterday – I had a brand new computer which developed a fault rather quickly and which, prior to my returning it to the vendor, could not be made to operate in such a way as I could get at the data I had stored on it.

In theory, there was not much such data – I had not finished installing software on the machine, and nor had I started uploading backups from the previous machine to it. However, I had installed Viber and I had opened one conversation with a friend online. Six hours after I bought the machine, the operating system would not load and so it went back to the vendor.

I cannot fault the vendor in this case between their phone customer support and the behaviour of the staff at the branch where I did buy the machine. I was concerned though that the fault might be fixed at some point in their workshop and whether there was any risk that Viber would attempt to sync any subsequent discussions as I had been unable to de-install it before I handed the machine back. What was on the machine itself was low risk. I just wanted to ensure that Viber would not be able to subsequently sync with any subsequent conversations.

When you go looking for information on this front, the general assumption is that people have lost access to Viber on their phones and not necessarily to their desktops.

In theory, the two obvious solutions for the operating system loading error would have been replacement hard drive or reinstalling the operating system. I obviously could not do the the first, and the latter had been kiboshed by the fact that I had not even got as far as making a recovery disk. When I looked into it in detail, there is a theoretical fix involving rebuilding the BCD in the kernel. I found a single document which was detailed on the process but it did not, for example, outline what happened to any other data on the machine. As such, it did not leave me much peace of mind.

Viber is a handy messaging platform which you can use from both phone and desktop. Its user documentation is of mixed quality and, again assumes the reason you might want to nuke your Viber service is that you no longer have access to your phone. If you’re looking to deal with a desktop which has your account on it, it is actually possible.

When you set up Viber on your phone, you’re effectively setting up an instance of an account and any desktop installations of Viber are tied to that. You can, from the desktop installation, deactivate that particular desktop installation via settings. If you do not have access to the desktop installation, you MUST deactivate Viber on your phone and this will deactivate all Viber installations linked with that instance of an account, ie, Viber on your phone, viber on any desktops or tablets associated with Viber linked to your phone number.

You cannot pick them off remotely and individually. It’s all or nothing.

What happens then is that if someone tries to access Viber on any of the desktop installations linked with the account is a dialogue over whatever was most previously opened in Viber at the time of the previous synch, a dialogue box opens to tell you that the account is no longer active. They will have to respond to that dialogue box and in my experience, that kills the Viber data behind. There is a window of risk that someone might see something in your messaging software that you would not want, but at least there is an option for destroying the connection between your phone number and that desktop instance remotely, even if it’s the equivalent of a nuclear option.

The downside is that you lose all your messaging data unless you back the messages up before which you must do on your phone.

In short, assuming you’ve lost a non-phone device with Viber data on it, here’s how you kill things:

  1. Back up your viber messages on your phone if you want to keep them. If you don’t, you don’t have to do this.
  2. Go to the privacy setting and select Deactivate. You’ll probably have to scroll to the bottom to find it. This will kill your viber service on your phone and any associated non-phone installations (desktops for the most part).
  3. Set up viber on your phone again. I did not actually have to de-install, reinstall Viber on the phone to do this – it sent me a new 6 digit code and I was up and running.
  4. Set up viber on your desktop again by obtaining a new code. I did not have to reinstall Viber to do this.

I had to deactivate the machine remotely for some subscription software – MS Office and Adobe Creative Suite – and I could do this. I think it would be useful if, somehow, it was possible to review how many machines were receiving push notifications from Viber so that you could deactivate them at will rather than having to nuke everything and start from scratch.

GIT and open source, the victory or not

During the week, Wired published a piece under the title Github’s Top Coding Languages Show Open Source Has Won.

This is basically – and I am being diplomatic here – not what Github’s Top Coding Languages shows.

Fundamentally, for Github to show this, every piece of operational code would have to be on Github. It isn’t. I’d be willing to bet less than half of it is, and probably less than a quarter, but that’s a finger in the air guess. Most companies don’t have their code on Github.

What Github’s top ten coding language shows is that these are the ten most popular languages posted by people who use Github. Nothing more and nothing less.

I suspect Github know this. I really wonder why Wired does not.

 

Future work

Via twitter yesterday, I was pointed to this piece on one of the WSJ’s blogs. Basically it looks at the likelihood that given job type might or might not be replaced by some automated function. Interestingly, the WSJ suggested that the safest job might be amongst the interpreter/translation industry. I found that interesting for a number of reasons so I dug a little more. The paper that blogpost is based on is this one, from Nesta.

I had a few problems with it so I also looked back at this paper which is earlier work by two of the authors involved in the Nesta paper.  Two of the authors are based at the Oxford Martin institute; the third author of the Nesta paper is linked with the charity Nesta itself.

So much for the background. Now for my views on the subject.

I’m not especially impressed with the underlying work here: there’s a lot of subjectivity in terms of how the underlying data was generated and in terms of how the training set for classification was set up. I’m not totally surprised that you would come to the conclusion that the more creative work types are more likely to be immune to automation for the simple reason that there are gaps in terms of artificial intelligence on a lot of fronts. But I was surprised that the outcome focused on translation and interpreting.

I’m a trained interpreter and a trained translator. I also have postgraduate qualifications in the area of machine learning with some focus on unsupervised systems. You could argue I have a foot in both camps. Translation has been a target of automated systems for years and years. Whether we are there yet or not depends on how much you think you can rely on Google Translate. In some respects, there is some acknowledgement in the tech sector that you can’t (hence Wikipedia hasn’t been translated using it) and in other respects, that you can (half the world seems to think it is hilariously adequate; I think most of them are native English speakers). MS are having a go at interpreting now with Skype. As my Spanish isn’t really up to scratch I’m not absolutely sure that I’m qualified to evaluate how successful they are. But if it’s anything like machine translation of text, probably not adequately. Without monumental steps forward in natural language processing – in lots of languages – I do not think you can arrive at a situation where computers are better at translating texts than humans and in fact, even now, to learn, machine translation systems are desperately dependent on human translated texts.

The interesting point about the link above is that while I might agree with the conclusions of the paper, I remain unconvinced by some of the processes that delivered them to those conclusions. To some extent, you could argue that the processes that get automated are the ones that a) cost a lot of people a lot money and b) are used often enough to be worth automating. It is arguable that for most of industry, translation and interpreting is less commonly required. Many organisations just get around the problem by having an in house working language, for example, and most organisations outsource any unusual requirements.

The other issue is that around translation, there has been significant naiveté – and I believe there continues to be – in terms how easy it is to solve this problem automatically. Right now we have a data focus and use statistical translation methods to focus on what is more likely to be right. But the extent to which we can depend on that tend to be available data and that varies in terms of quantity and quality with respect to language pairs. Without solving the translation problem, I am not sure we can really solve the interpreting problem either given issues around accent and voice recognition. For me, there are core issues around how we enable language for computers and I’ve come to the conclusion that we underestimate the non-verbal features of language such that context and cultural background is lost for a computer which has not acquired language via interactive experience (btw, I have a script somewhere to see about identifying the blockages in terms of learning a language). Language is not just 100,000 words and a few grammar rules.

So, back to the question of future work. Technology has always driven changes in employment practices and it is fair to say that the automation of boring repetitive tasks might generally be seen as good as it frees people up to higher level tasks, when that’s what it does. The papers above have pointed out that this is not always the case; that automation occasionally generates more low level work (see for example mass manufacture versus craft working).

The thing is, there is a heavy, heavy focus on suggesting that jobs disappearing through automation of vaguely creative tasks (tasks that involve a certain amount more decision making for example) might be replaced with jobs that serve the automation processes. I do not know if this will happen. Certainly, there has been a significant increase in the number of technological jobs, but many of those jobs are basically irrelevant. The world would not come to a stop in the morning if Uber shut down, for example, and a lot of the higher profile tech start ups tend to be targeting making money or getting sold rather than solving problems. If you look at the tech sector as well, it’s very fluffy for want of a better description. Outside jobs like programming, and management, and architecture (to some extent), there are few recognisable dream jobs. I doubt any ten year old would answer “business analyst” to the question “What do you want to do when you grow up”.

Right now, we see an excessive interest in disruption. Technology disrupts. I just think it tends to do so in ignorance. Microsoft, for example, admit that it’s not necessary to speak more than one language to work on machine interpreting for Skype. And at one point, I came across an article regarding Duolingo where they had very few language/pedagogy staff particularly in comparison to the number of software engineers and programmers, but the target for their product was to a) distribute translation as a task to be done freely by people in return for free language lessons and b) provide said free language lessons. The content for the language lessons is generally driven by volunteers.

So the point I am driving at is that creative tasks, which feature content creation, for example carrying out translation tasks, or providing appropriate learning tools, these are not valued by the technology industry. What point is there training to be an interpreter or translator if technology distributes the tasks in such a way as people will do it for free? We can see the same thing happening with journalism. No one really wants to pay for it.

And at the end of the day, a job which doesn’t pay is a job you can’t live on.

Falling out of love with Amazon

I remember a time when I used to love Amazon. It was back around the time when there was a lot less stuff on the web and it was an amazing database of books. Books, Books, Books.

I can’t remember when it ended. I find the relationship with Amazon has deteriorated into one of convenience more than anything; I need it to get books, but it’s doing an awful job of selling me books at the moment too. Its promises have changed, my expectations have risen and fallen accordingly. Serendipity is failing. I don’t know if it is me, or if it is Amazon.

But something has gone wrong and I don’t know if Amazon is going to be able to fix it.

There are a couple of problems for me, which I suspect are linked to the quality of the data in Amazon’s databases. I can’t be sure of course – it could be linked to the decision making gates in its software. What I do know is it is something I really can’t fix.

Amazon’s search is awful. Beyond awful. Atrocious. A disaster. It’s not unique in that respect (I’ve already noted the shocking localisation failings for Google if you Are English Speaking But You Live In Ireland And Not The United States When Looking For Online Shops) but in terms of returning books which are relevant to the search you put in, it is increasingly a total failure. The more specific your search terms as well, the more likely to are to get what can only be described as a totally random best guess. So, for example, if I look for books regarding Early Irish History, then search returning books on Tudor England are so far removed from what I want that it’s laughable. On 1 May 2015 (ie, day of writing) fewer than a quarter of the first 32 search results refer to Ireland, and only 1 of them is even remotely appropriate.

Even if you are fortunate enough to give them an author, they regularly return searches of books not by that author.

I find this frustrating at the best of times because it wastes my time.

Browsing is frustrating. The match between the categories and the books in those categories can be random. The science category is full of new age nonsense and it often is very much best selling so the best sellers page becomes utterly useless. School books also completely litter the categories, particularly in science. I have no way of telling Amazon that I live in Ireland and have no real interest in UK school books, or, in fact, any school books when I am browsing geography.

Mainly I shouldn’t have to anyway. They KNOW I live in Ireland. They care very much about me living in Ireland when it comes to telling me they can deliver stuff. They just keep trying to sell me stuff that really, someone in Ireland probably isn’t going to want. Or possibly can’t buy (cf the whinge about Prime Streaming video to come in a few paragraphs). Amazon is not leveraging the information it has on me effectively AT ALL.

The long tail isn’t going to work if I can’t find things accidentally because I give up having scrolled through too many Key Stage Three books.

Foreign Languages: Amazon makes no distinction between text books and, for want of a better word, non-text books in its Books in Foreign Languages section. So again, once you’ve successfully drilled down to – for example – German – you are greeted with primarily Learn German books and Dictionaries, probably because of the algorithm which prioritises best sellers.

How can I fix this?

Basically, Amazon won’t allow me to fix things or customise things such that I’m likely to find stuff that interests me more. I don’t know whether they are trying to deal with these problems in the background – it’s hard to say because well, they don’t tend to tell you.

But.

  1. It would be nice to be able to reconfigure Treasa’s Amazon. Currently, its flagship item is Amazon Prime Streaming Video, which is not available in Ireland.Amazon knows I am in Ireland. It generally advises me how soon it can deliver stuff to Ireland if I’m even remotely tempted to buy some hardcopy actual book. Ideally they wouldn’t serve their promotions for Amazon Prime Streaming Video, but if they have to inflict ads for stuff they can’t sell me, the least they could do is let me re-order the containers in which each piece of information appears. So I could prioritise books and coffee which I do buy, over streaming video and music downloads which I either can’t or don’t buy from amazon usually.
  2. It would be nice to be able to set up favourite subject streams in books or music or dvds. I’d prefer to prioritise non-fiction over beach fiction, for example.
  3. I’d like to be able to do (2) for two other languages as well. One of the most frustrating things with the technology sector is the assumption of monolinguality. I’d LIKE to be able to buy more books in German, in fact I’m actively TRYING to read more German for various reasons, and likewise for French.
  4. I don’t have the time to Fix This Recommendation. They take 2 clicks and feature a pop up. As user interaction, it sucks. I’d provide more information for fixing the recommendations if I could click some sort of Reject from the main page and have them magically vanish. Other sites manage this.

But there are core problems with Amazon’s underlying data I think. Search is so awful and so prone to bringing back wrong results, it can only be because metadata for the books in question is wrong or incomplete. If they are using text analysis to classify books based on title and description, it’s not working. Not only that, their bucket classification is probably too broadbased. Their history section includes a metric tonne of historical fiction, ie, books which belong in fiction and not in history. If humans are categorising Amazon’s books, they are making a mess of it. If machine learning algorithsm are, they are making a mess of it.

There is an odd quirk in the sales based recommender which means that I can buy 50 books on computer programming but as soon as I buy one oh book of prayers as a gift for a relative, my recommender becomes highly religious focused and prayer books outplay programming books. Seriously: 1 prayer book to 50 programming books means you could probably temper the prayer books. Maybe if I bought 2 or 3 prayer books you could stop assuming it was an anomaly. This use of anomalous purchases to pollute the recommendations is infuriating and could be avoided by Amazon not overly weighting rare purchases.

I’m glad Amazon exists. But the service it has provided, particularly in terms of book buying, is nowhere near as useful as it used to be. Finding stuff I know I want is hard. Finding stuff I didn’t know I wanted but now I HAVE to have is downright impossible.

And this is a real pity because if the whole finding stuff I wanted to buy was easier on the book front, I’d be happy to spend money on it. After all, the delivery mechanisms, by way of Kindle etc have, have become far, far easier.

AI – Pause for thought

In the past week or two, views attributed to both Stephen Hawking and Elon Musk have been published, both in general questioning the value of major advances in artificial intelligence. Reading accounts of both, it seems to me that the issue is not so much artificial intelligence as artificial sentience.

You could not read this site without using artificial intelligence. It underpins pretty much any decision making software, and for this page to get to your computer, quite a lot of decisions get to be made network related software.

Decision making software decides what books Amazon recommends to you, what search results Google returns to you when you search for something like, for example, artificial intelligence. Ultimately the issue lies in our perception of artificial intelligence; it has moved on a long way from the ideas prevalent when Alan Turing wrote his seminal paper in the 1950s. At that point, I think it is fair to say, we had a vision of artificial humans rather than task driven machines. What we have been able to achieve in the last 60 years is huge in some respects, and relatively limited in many other respects. Ultimately, our successes have been because we have, over time, changed our understanding of what constitutes artificial intelligence.

There are a lot of intelligent systems floating around the world. Google’s driverless cars are amongst them, but even if you skip them, there are a bunch of driverless trams around the world (Lyon and CDG Airport in Paris as two examples). These systems make responsive decisions and not pro-active decisions. You may get up in the morning and decide to get a train to Cork; a train will never make that decision because a human makes the decision about where the train is going. It doesn’t, unless it manages to collude with any automated signalling system somewhere around Portarlington, decide to go to Galway instead.

I think it is fair to say that both Elon Musk and Stephen Hawking are far, far brighter than me so normally I would hesitate to suggest that they are perhaps worried about something which is less than likely to happen. Eric Schmidt has also spoken and he has pointed out that we are very far short of systems that match intelligence and he raised the one example that I tend to, although usually when I am talking about something else. Google have a rather infamous piece of research which I search for under the heading of Google cat paper. Google suggests this to me when I start typing it in which suggests I am not the only person to tag it that way. Anyway, from the Wired interview with Eric Schmidt

All that said, Schmidt also confessed that these machines are a lot more primitive than people would like to imagine. For evidence of that fact, he explained an experiment Google conducted a few years back, in which the company’s scientists developed a neural network and fed it 11,000 hours of YouTube videos to see what it could learn, without any training. “It discovered the concept of ‘cat,’” Schmidt said, assuming the tone of a disappointed dad. “I’m not quite sure what to say about that, except that that’s where we are.”

For me, the issue isn’t so much that the system limited itself to cat. If you know anything at all about YouTube, it’s almost a safe bet that after “human” the next thing any image recognition system is likely to pick up is “cat” purely by force of frequency. What matters is the sheer amount of work taken to get as far as learning “cat”. Schmidt does not mention this.

What the experiment actually did was obtain 10 million still images from YouTube videos and ran them through a nine layer neural network which ran on a cluster including 1000 machines (so 16,000 cores) for three days. According to their abstract, this is what they achieved:

Starting with these learned features, we trained our network to obtain 15.8% accuracy in recognizing 22,000 object categories
from ImageNet, a leap of 70% relative improvement over the previous state-of-the-art.

Now, ultimately, core piece of information here is that a) it was a huge effort distributed across 1000 machines b) took a long time and c) resulted in an ability to correctly identify 22,000 object categories from a big database in 15.8% of cases.

When Eric Schmidt suggests this is relatively primitive, he is right. Now compare it to how fast you can generalise the concept of a cat, or, for example, a new device (I like to use drones here). It is worth noting that Google specifically used unlabelled data here which is akin to a child wandering around a new world with no one telling him what anything is. Learning by experience if you like. Facebook is trying to do the same with labelled data however. They have a significantly greater success rate.

However, again it used large scale effort:

Thus we trained it on the largest facial dataset to-date, an identity labeled dataset of four million facial images belonging to more than 4,000 identities.

Microsoft, incidentally have some more research here. I haven’t read it in detail (yet) so am not going to comment on it. But they have made a lot of promises prior to publication, particularly with respect to accuracy in classifying animals, for example.

On the wider question of whether we should be worrying in much the same way as Elon Musk and Stephen Hawking are worrying; I am not sure the answer to that question is yes. Not at this point anyway.

One of my interests is in the area of natural language processing, and specifically language acquisition. We are miles short of generally usable systems here. As far as consumer systems are concerned, if you try to get Google to search for something which features a non-English name (ie, Phone, please play Alexandre Tharaud for me), you can forget about it. It does not work. My phone plays music by English rock bands but not French concert pianists if I try to use voice operation.

Yes, I can get my phone to list my appointments for the next few days simply by talking to it, but if you have spent any time using the Google Now at all, you will have run into some of the core issues with it: 1) your voice instructions are not locally processed and 2) your voice instructions are not guaranteed to be correctly processed either. Put simply, interaction is still limited. I still type search functions because it is faster.

Anyway, I wanted to pick up something Elon Musk said.

Musk is one of the high-profile investors, alongside Facebook’s Mark Zuckerberg and the actor Ashton Kutcher, in Vicarious, a company aiming to build a computer that can think like a person, with a neural network capable of replicating the part of the brain that controls vision, body movement and language.

It is worth noting, by the way that this is Vicarious. In certain respects, it is worth a look to see where they are at at present.

Put simply, there are a bunch of problems there and none of them are fully clear to being sorted. Arguably, we are reasonably close to building reasonable systems for handling motion related tasks – otherwise we would not be in the zone of having driverless cars. However, there is still a massive amount of work to be done in the area of vision, and above all else, language and then, a core issue will be getting systems handling these tasks to communicate effectively. We are a way from fully sentient artificial intelligences, for all the people who are working on them. Where we have had artificial intelligence successes, they have generally been task specific and those tasks have tended to be limited in some respect. We are a long way from building a truly sentient humanoid robot. When we build a self driving car, that is a monumental achievement in artificial intelligence. Said self driving car will never learn to come in and make tea. Artificial intelligence as it exists at present is pretty much scope limited.

However, there is a much wider debate to be had in terms of identifying what is practical and possible within a reasonable time frame, and what we want to achieve with artificial intelligence. This debate is not facilitated by Elon Musk suggesting that it is our greatest existential threat. It is entirely possible that in practical terms, it isn’t. Climate change is an issue. Resource misuse is another major problem. Inequality. Historically, every single major civilisation which has preceded ours has come one hell of a cropper at some point and left interesting looking landmarks behind for us to ponder and in no case was artificial intelligence the problem. It is entirely possible that before we ever get sentient robots we will run into problems. Even in itself, research into artificial intelligence has come a cropper in terms of obtaining funding.

But this shouldn’t preclude us considering what we want to enable and what we want to prevent. And in practical terms, how we ensure that bad things are never developed given that we have so far failed to prevent bad things being developed from useful technology. These are not, however, artificial intelligence questions. They are human questions.

Everyone should learn to code

This, from the Wall Street Journal.

It annoyed me, not because I disagree with the idea of people learning to code – I don’t – but because as a piece supporting the idea that people should learn to code, it has some glaring errors in it and doesn’t really support the idea that people should learn to code. Personally I think a lot of tech people should learn to communicate more effectively but a lot of them appear to think they don’t have to so let’s just explain why this piece is a problem.

The most important technological skill for all employees is being able to code. If, as Marc Andreessen once noted, “Software is eating the world,” knowing how to code will help you eat rather than be eaten. Understanding how to design, write and maintain a computer program is important even if you never plan to write one in business. If you don’t know anything about coding, you won’t be able to function effectively in the world today.

So, two major assertions here: the most important technological skill for all employees is being able to code and “if you don’t know anything about coding, you won’t be able to function effectively in the world today”.

These assertions are patently not true. To be frank, the most important technological skill for an employee, in my opinion, is the ability to describe what’s gone wrong on the screen in front of them. That’s also a communications issue but it does enable technology experts to help them. As for “if you don’t know anything about coding, you won’t be able to function effectively”, I strongly disagree with that and would suggest that ultimately, the problems lie with interface design which employees are not actually responsible for the most part.

You will inevitably work with people who program for a living, and you need to be able to communicate effectively with them. You will work with computers as a part of your job, and you need to understand how they think and operate. You will buy software at home and work, and you need to know why it works well or doesn’t. You will procure much of your information from the Internet, and you need to know what went wrong when you get “404 not found” or a “500 internal server error” messages.

Not one thing in this paragraph requires coding skills. It requires programmers to learn to communicate effectively and given a lot of them have trouble with the basic need to document what they are doing already, it’s a steep learning curve. With respect to software, again, how well it works depends on how well it is documented and designed. You do not need to be able to program to understand a 404 not found or a 500 internal server error.

Of course, being able to code is also extremely helpful in getting and keeping a job. “Software developers” is one of the job categories expected to grow the most over the next decade.

But not every employee is a software developer and nor should they be.

But in addition to many thousands of software professionals, we need far more software amateurs. McKinsey & Co. argued a few years ago that we need more than 1.5 million “data-savvy managers” in the U.S. alone if we’re going to succeed with big data, and it’s hard to be data-savvy without understanding how software works.

Data and programming are not the same things. Where data is concerned we frantically need people who get statistics, not just programming. IME, most programmers don’t get statistics at all. Teaching people to code will not fix this; it’s a tool to support another knowledge base.

Even if you’ve left school, it’s not too late. There are many resources available to help you learn how to code at a basic level. The language doesn’t matter.

Learn to code, and learn to live in the 21st century.

I’m absolutely in favour of people learning to think programmatically, and logically. But I don’t think it’s a requirement for learning to live in the 21st century. The world would be better served if we put more effort into learning to cook for ourselves.

I hate puff pieces like this. Ultimately, I mistrust pieces that suggest everyone should be able to code particularly at a time when coding salaries are low at the time we are being told there’s a frantic shortage. I’ve seen the same happen with linguistic skills. There are a lot of good reasons to learn to code – but like a lot of things, people need to set priorities in what they want to do, what they want to learn on. Learning to write computer code is not especially different; learning to apply it to solving problems on the other hand takes a way of looking at the world.

I’d prefer it if we looked at teaching people problem solving skills. These are not machine dependent and they are sadly lacking. In the meantime, people who have never opened a text editor understand that 404 Not found does not mean they could fix their problems by writing a program.

 

Learning programming before going to university

Ryan Walmsley has a piece suggesting you shouldn’t learn programming before going to university. It’s worth a read.

Personally, I am not against people learning to code before they get to university. I am, however, not in favour of people who have no coding skills arriving at university and starting with Scratch. Scratch is a superb tool for teaching kids how to program, and a bit about how computers work. It is not a suitable tool for adults on a coding specialist code in my view. While I am not the biggest fan of Java (disclaimer: have yet to review Lambdas in Java 8 and this may make some of my frustration go away), and I recognise that some people have issues with the lack of strong typing in Python, ultimately, once you get as far as university, you should at least start with tools you have a fighting chance of using in the income earning world. And there are a lot of them. Not in the top ten is Scratch.

Like  a lot of things, tools need to be used appropriately and Scratch is an absolute winner in the sector it was designed for. But I have a book on my desk here that teaches kids how to program in Python and if kids can do that, I see no reason why we need kids level languages like Scratch at university level.