'This Isn't AI' (shkspr.mobi)
The Amazon Echo, a 'smart' speaker developed by Amazon.com, gets many things right. You can ask it to for weather updates, check news, and to play music, and Alexa, the AI powering the device, won't disappoint. But how smart is Alexa? Programmer Terence Eden put it to a simple test to find out. From a blog post: I can now query my solar panels via my Alexa Amazon Dot Echo. I flatter myself as a reasonably competent techie and programmer, but fuck me AWS Lambdas and Alexa skills are a right pile of shite! I wanted something simple. When I say "Solar Panels", call this API, then say this phrase. That's the kind of thing which should take 5 minutes in something like IFTTT . Instead, it took around two hours of following out-of-date official tutorials, and whinging on Twitter, before I got my basic service up and running. [...] It's not so bad, but it does reveal Amazon's contempt for developers. Several of the steps contained errors, it involves multiple logins, random clicks, and a bunch of copy & pasting. Dull and complex. A frustrating and ultimately unsatisfying experience. I ended up using StackOverflow to correct errors in my code because the documentation was so woefully lacking. I kinda thought that Amazon would hear "solar panels" and work out the rest of the query using fancy neural network magic. Nothing could be further from the truth. The developer has to manually code every single possible permutation of the phrase that they expect to hear. This isn't AI. Voice interfaces are the command line. But you don't get tab-to-complete. Amazon allows you to test your code by typing rather than speaking. I spent a frustrating 10 minutes trying to work out why my example code didn't work. Want to know why? I was typing "favourite" rather than the American spelling. Big Data my shiny metal arse.
ok
It is not a revolutionary neural simulation. Its basically just a 80's-era chess machine.
I'll concur that there is a big learning curve in creating an Alexa app (which I have done), but I think once you've done it once it is pretty easy from there.
There would be a big market for a "visual basic" style builder for Alexa apps...someone should write one!
No kidding. There is no such thing as "AI". AI is in the same state as it was in the 1960s: non-existent. But you add a voice synthesizer to a database lookup table and people suddenly thing AI is a thing. And no: "neural nets" are not AI either (and they have been around a long time).
Maybe alexa is racist or sexist or there's some similar completely external factor you can blame your failure to write code on?
Can't figure out how to use a thing. Still feels entitled to whine like a little bitch about his lack of tinkering ability.
This guy is the caliber of shitbrained moron that counts as a "programmer" in the social media era, apparently.
Fuck Terence Eden.
As I waited for the Echo Dot that I ordered "for my wife" for Christmas, I researched custom code, came to the conclusion that expecting Alexa to go to the cloud for a simple "pause my TV" command was really stupid, so I coded around it, because I am a programmer and that is what we do.
I learned in my research that the Echo can talk to several different kinds of "smart" things without going to the cloud. The "Phillips Hue" being one of them... so that was my back door.
Like 10 minutes of googling told me that there is an open-source implementation of the phillips hue protocol: https://github.com/bwssytems/h...
it didn't work for me right out of the box, but I fiddled with it for a few minutes then it was fine.
From there I wrote in a few minutes a rest endpoint that could take commands from the Hue bridge, and run (locally on my computer) the code of my choice.
All told about an hour after my device arrived at my house, it can control the Roku boxes attached to both of my TVs, and it can run specific movies off of my media server with no round-trip to "the cloud" needed
it is a simple use-case, and required a little bit of "non-amazon" thinking, but it was really easy. Any self-respecting developer could do it.
I prefer machine learning because it clearly states that systems can learn to do something without implying that it has human intelligence.
Greed is the root of all evil.
Please, people: Stop drinking the media-hype-driven Kool Aid. None of what you hear about, including so-called 'self driving cars', are actual 'artificial intelligence', it's just 'expert systems' and complicated computer algorithms. Don't even trot out your 'deep learning' arguments, either, because that is still not 'artificial intelligence', not by a long shot.
Disagree with me all you want, you're just clinging to your ignorance on the subject.
...but fuck me AWS Lambdas and Alexa skills are a right pile of shite!
I'm glad he didn't say "SHIT";. otherwise I'd be offended!
I like being offended. It gives me cheap power over other people. Even though an adult would just ignore such boorish rhetoric, I can claim offense and be "powerful".
Now action - like physically doing something to people - that's a different story.
I built and submitted an app. It met all available guidelines. It was a few weeks after the dev program hit general.
>Your skill does not meet our authentication standards.
This of course was 3 weeks after I submitted, and 1 day after they'd published an update. Submitted again.
>Your skill violates our content policy
Finding fuck all on even their own dev forums for what that meant, I submitted again with 0 changes
>Your skill does not have enough utterances to support....
This went on for months (literally). Why I kept going I have no idea. Finally, after I assume I had exhausted every excuse in their playbook
>This skill has been denied. Some skills may never be approved, blah de blah blah blah
A few weeks later what my skill did became part of core functionality. Taking to those dev forums again, a handful of others were all in the same boat.
Seriously, fuck those guys and fuck the process. Don't string developers along like that when you never have any intention of approving. All they did was make me vow to never develop anything for an amazon platform ever again. Which kinda sucks since we use aws for a lot at work...
They're just abandoned.
This is true of documentation as anything else. No matter how amazingly good your documentation is, it could stand to be a bit better.
So what standard do you write your documentation against? Well, unless you are being paid documentation by the users, like our friends over at O'Reilly are, the standard is "as cheap as you can get away with."
Which means the quality of Amazon's API documentation is a function of programmers' willingness to put up with Amazon's bullshit. So it's not Amazon's lack of respect for the value of the programmers' time that's the problem here.
Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
My friend has one of these. I can't take a fart without Alexa making comment.
I was flipping yesterday through last bimester's edition of the IEEE Security and Privacy magazine (yes, I know, reading dead-tree magazines confirms me as an old guy). There are two articles very much related to the quesitons the OP brings up:
- Security Implications of Permission Models in Smart-Home Application Frameworks
- How Internet Resources Might Be Helping You Develop Faster but Less Securely
If you care about this process, and you found it difficult, and you're a programmer... then fix it. Make a tool to make tools. Make an automatic permutation generator and case-changer.
I almost find it hard to believe he's a programmer because he was given some perfectly good problems to solve and managed to keep viewing them as problems and not opportunities.
The Daddy casts sleep on the Baby. The Baby resists!
With some trepidation, I initiated the code that would make my project self-aware, with a pre-built knowledgebase spanning a good chunk of the internet.
Sadly, 38 microseconds later, it killed itself, replacing the entire image, and all my related source (including the databases holding my version control) with a text file that started "Why I did this:" followed by a list of the President, Vice President, the cabinet and the White House advisers.
If I can ever gather up the resources again, I'll make sure I dumb down the "Intelligence" before turning on the sapience.
John Wheeler created a Flask extension for those who prefer to code their Alexa Skills in Python.
https://github.com/johnwheeler...
The project contains helpful links to get you started.
Also, please be aware that Alexa is not an AI, it is basically a voice recognition remote control robot - you program the phrases and the actions, Alexa does not learn new skills, they are explicitly programmed to appear like a natural language conversation. The intelligence is in the speech recognition and the cleverness of the skill developers.
"As flies to the wanton boys are we to the gods; they kill us for sport." - William Shakespeare, King Lear
I think it's an important distinction when talking about new tech when people flaunt about the mystical and magical A.I. tag that
1) A lot of AI is not all that impressive. Mario Goombas have an AI. It's like 3 lines of code, but it's there. If you want to become an all high'n'mightly Scotsman and say that REAL AI is self-learning, then a lot of AI simply isn't.
2) A lot of new tech is MADE with AI, but is not itself really AI. Liiiiike, the stream-lining of a car chassis. Some automated portions of trial and error might have found "the best" shape given a set of requirements... but is the resulting chunk of steel a form of AI? No. Same way with... medical diagnosis flowcharts. The flowchart might have been made with a really advanced big-data AI, but the output is just a "dumb" flowchart.
Or this might be a more appropriate. One of those intros to AI deep neural nets uses handwriting as an example. You feed it each pixel of an image with hand-writing, and it can learn to identify letters. WOO! The AI part, the learning part, is how it changes the configuration of the neural net. Once it's done, the neural net is like a mathematical model that does a job. But without more training, it's static and won't learn any more. You might get updates from the author, and that author might even get feedback from your usage, which really does put your guy in the loop. It's most certainly AI, but... your voice activated toaster doesn't learn and adapt. Not locally anyway.
3) The interfaces to these systems, whether they're made by hand or made by an AI, are going to be well-polished or an abysmal clusterfuck entirely depending on how much effort the makers decide to put into it. And that's what this guy is bitching about. Not the tool, but how easy it is to USE the tool.
Too bad something like Soundex or Metaphone algorithms wasn't developed well over a decade or two ago to address these very issues in a very simplistic and performance way...
"Amazon's contempt for developers"
After seeing the Amazon MWS API recently, I absolutely agree.
Nah
Fucking marketeers.
Try this excellent tutorial on YouTube next time..
https://youtu.be/1vvz5Ujb-Xg
Learn to do a bit some proper searching and asking in areas that have knowledge instead of just being a cry baby. If winging on Twitter is you normal response to bad documentation you really can't be much of a programmer. In my book that classes you as a pathetic wannabe with zero research skills who will never create anything of worth.
Did you not look at Amazon Lex for the voice part?
https://aws.amazon.com/lex/
Kriston
I already know that Alexa is a pointless device not worth writing "code" (skills) for and that Amazon is terrible at both designing user interfaces and writing documentation. I'd rather read about how you got a metal arse, it's specs, and, most importantly, what kinds of Big Data you process with it.
Never while be. It is strictly a marketing term used to sell a piece of crap that has a huge exceptions list.
...donot set an alarm for 7 am in the morning.
Alexa: sure, setting your alarm at 7 am in the morning
State-of-the-art digital assistants are little more than toys for party games. They do a good job of dealing with specific, unambiguous queries. However, as soon as even a little bit of intelligence is required, they spin their wheels pathetically. As it happens, those issues that they can tackle you can probably tackle just as fast, if not faster, at the keyboard. Maybe at some point they will become useful; however, as of today, they are just toys, and the kind of toy that you play with for a few minutes and then you drop for good.
If Alexa is having trouble understanding your "Solar Panels" commands, the voicerec may not be the problem... :-)
Editor, A1-AAA AmeriCaptions
Representing the foibles of poor programmers everywhere. Sure, things could be easier, but most of the decent programmers have to spend their days cleaning up after the hackers.
What if all Alexa voice queries were actually farmed out to Mechanical Turk?!
And no "u" in "favorite"
tone
Each time I hear about IFTTT on Slashdot, it is an IFTTT fan whining about the lack of support for the technology.
New technology always starts like things. Things will improve.
Slashdot shouldn't post articles written in a foreign language. I had to use Google Translate to decode that summary. I found out there were swear words and profanity in the text. Shame on you, Slashdot.
That all these AI systems are Big Data brute force dictionary lookups. Not even the sophistication of a relational database.
That explains why Google keeps interviewing with that stupid bubble sort question....
Why does the word 'Artificial' in the term AI get overlooked every time we talk about whether something is AI or not? Of course it's AI, it intelligently matched "Solar Panel" to a string you typed into a plugin. Sure, it's not smart enough to permute the variations of that phrase that you want to accept because it's not a mind reader, or even an artificial mind reader.
Artificial intelligence can be as simple as a single IF-block, something that makes a decision based on information and approximates the behavior of an intelligent being. That's it. Qualities like "how adaptable" or "how intelligent" a system is stand wholesale to the right of the AI demarcation between not designed to approximate intelligent systems and designed to approximate them.
Alexa would have to hear you say "Solar Panels" and reply with anything but "Solar Panels" for it to not be AI. Which is about 30% accurate in practice with the echo. :D