A DIY, Visual Alexa

Talking to computers is all the rage right now. We are accustomed to using voice to communicate with each other, so that makes sense. However, there’s a distinct difference between talking to a human over a phone line and conversing face-to-face. You get a lot of visual cues in person compared to talking over a phone or radio.

Today, most voice-enabled systems are like taking to a computer over the phone. It gets the job done, but you don’t always get the most benefit. To that end, [Youness] decided to marry an OLED display to his Alexa to give visual feedback about the current state of Alexa. It is a work in progress, but you can see two incarnations of the idea in the videos below.

A Raspberry Pi provides the horsepower and the display. A Python program connects to the Alexa Voice Service (AVS) to understand what to do. AVS provides several interfaces for building voice-enabled applications:

  • Speech Recognition/Synthesis – Understand and generate speech.
  • Alerts – Deal with events such as timers or a user utterance.
  • AudioPlayer – Manages audio playback.
  • PlaybackController – Manages playback queue.
  • Speaker – Controls volume control.
  • System – Provides client information to AVS.

We’ve seen AVS used to create an Echo clone (in a retro case, though). We also recently looked at the Google speech API on the Raspberry Pi.

Continue reading “A DIY, Visual Alexa”

Amazon Dash Reboots Your Pi

We all know feature creep can be a problem in almost any project. A simple idea can often become unusable if a project’s scope isn’t clearly defined in the beginning. However, the opposite problem sometimes presents itself: forgetting to include a key feature. [Zach] had this problem when he built a Raspberry Pi magic mirror and forgot to build a physical reset/shutoff switch. Luckily he had a spare Amazon Dash button and re-purposed it for use with his Pi.

The Raspberry Pi doesn’t include its own on/off switch. Without installing one yourself, the only way to turn off the device (without access to the terminal) is to unplug it, which can easily corrupt data on the SD card. Since [Zach]’s mirror was already complete, he didn’t want to take the entire thing apart just to install a button. There’s already a whole host of applications for the Dash button, so with a little Node.js work on the Raspberry Pi he was able to configure a remote-reset button for his mirror.

This is a similar problem for most Raspberry Pi owners, so if you want to follow [Zach]’s work he has done a great job detailing his process on his project site. If you’re looking for other uses for these convenient network-enabled buttons, he also links to a Github site with lots of other projects. This pizza button is probably our favorite, though.

Amazon Offers $2.5M To Make Alexa Your Friend

Amazon has unveiled the Alexa Prize, a $2.5 Million purse for the first team to turn Alexa, the voice service that powers the Amazon Echo, into a ‘socialbot’ capable of, “conversing coherently and engagingly with humans on popular topics for 20 minutes”.

The Alexa Prize is only open to teams from colleges or universities, with the winning team taking home $500,000 USD, with $1M awarded to the team’s college or university in the form of a research grant. Of course, the Alexa Prize grants Amazon a perpetual, irrevocable, worldwide, royalty-free license to make use of the winning socialbot.

It may be argued the Alexa Prize is a competition to have a chat bot pass a Turning Test. This is a false equivalency; the Turing Test, as originally formulated, requires a human evaluator to judge between two conversation partners, one of which is a human, one of which is a computer. Additionally, the method of communication is text-only, whereas the Alexa Prize will make use of Alexa’s Text to Speech functionality. The Alexa Prize is not a Turing Test, but only because of semantics. If you generalize the phrase, ‘Turing Test’ to mean a test of natural language conversation, the Alexa Prize is a Turing Test.

This is not the first prize offered for a computer program that is able to communicate with a human in real time using natural language. Since 1990, the Loebner Prize, cosponsored by AI god Marvin Minsky, has offered a cash prize of $100,000 (and a gold medal) to the first computer that is indistinguishable from a human in conversation. Since 1991, yearly prizes have been awarded to the computer that is most like a human as part of the competition.

For any team attempting the enormous task of developing a theory of mind and consciousness, here are a few tips: don’t use Twitter as a dataset. Microsoft tried that, and their chatbot predictably turned racist. A better idea would be to copy Hackaday and our article-generating algorithm. Just use Markov chains and raspberry pi your way to arduino this drone.

Taking a U2F Hardware Key from Design to Production

Building a circuit from prototyping to printed circuit board assembly is within the reach of pretty much anyone with the will to get the job done. If that turns out to be something that everyone else wants, though, the job gets suddenly much more complex. This is what happened to [Conor], who started with an idea to create two-factor authentication tokens and ended up manufacturing an selling them on Amazon. He documented his trials and tribulations along the way, it’s both an interesting and perhaps cautionary tale.

[Conor]’s tokens themselves are interesting in their simplicity: they use an Atmel ATECC508A specifically designed for P-256 signatures and keys, a the cheapest USB-enabled microcontroller he could find: a Silicon Labs EFM8UB1. His original idea was to solder all of the tokens over the course of one night, which is of course overly optimistic. Instead, he had the tokens fabricated and assembled before being shipped to him for programming.

Normally the programming step would be straightforward, but using identical pieces of software for every token would compromise their security. He wrote a script based on the Atmel chip and creates a unique attestation certificate for each one. He was able to cut a significant amount of time off of the programming step by using the computed values with a programming jig he built to flash three units concurrently. This follows the same testing and programming path that [Bob Baddeley] advocated for in his Tools of the Trade series.

From there [Conor] just needed to get set up with Amazon. This was a process worthy of its own novel, with Amazon requiring an interesting amount of paperwork from [Conor] before he was able to proceed. Then there was an issue of an import tariff, but all-in-all everything seems to have gone pretty smoothly.

Creating a product from scratch like this can be an involved process. In this case it sounds like [Conor] extracted value from having gone through the entire process himself. But he also talks about a best-case-scenario margin of about 43%. That’s a tough bottom line but a good lesson anyone looking at building low-cost electronics.

Noise Cancelling Speech Recogntion

If you are like us, you’ll read a bit more and smack your forehead. Amazon recently filed a patent. That isn’t really news, per se–they file lots of patents, including ones that cover clicking on a button to order something and taking pictures against white backgrounds (in a very specific way). However, this patent is not only a good idea, but one we were surprised didn’t arise out of the hacker community.

There can’t be an invention without a problem and the problem this one solves is a common one: While wearing noise cancelling headphones, you can’t hear things that you want to hear (like someone coming up behind you). The Amazon solution? Let the headphones monitor for programmable keywords and turn off noise cancellation in response to those words. We wonder if you could have a more sophisticated digital signal processor look for other cues like a car horn, a siren, or a scream.

We’ve talked about fixing commercial noise cancelling headphones before. If you don’t mind going low-tech, there’s always the easy way out, but those aren’t likely to accommodate speech recognition.

This File Will Self-Destruct in 24 hours

[menkveldj] built a service that encrypts files which self destruct in 24 hours. The download link can only be used once. If the wrong people were to get the link and download the file, they’d need many years on a pretty powerful computer to crack the 256AES encryption.

The sender shares a file that is encrypted client side using a password generated Pbkdf2 key to encrypt the data before uploading it to the s3 storage service. The sender is then provided the one-time-use link to share with the recipient. After the first download, or 24 hours, the link and the encrypted file are both deleted. The receiver must enter the same password to decrypt and recover the file. No one but the sharer and receiver know what the actual file is.

It’s still work in progress, so chime in with your comments and suggestions. To dig into the code, check out his repository on Github, which also has instructions to build and run it if you’d like to do your own version.

Oh, and you’ll like this. If want to thumb your nose at the powers that be, the site has a redirect for the whimsical domain: NSAfu.com.

Hacking Online Reviews

For this post, I want to return the word hacking to its nefarious definition. We prefer the kinder definition of a hacker as someone who creates or modifies things to fit some purpose or to improve its function. But a hacker can also be someone who breaks into computer systems or steals phone service or breaks encryption.

There are some “hacker battlefields” that are very visible. Protecting credit card numbers from hackers is a good example. But there are some subtle ones that many people don’t notice. For example, the battle for online reviews. You know, like on Amazon when you rate the soldering iron you bought and leave a note about how it works. That might seem like a strange place for hacking until you stop and think about why people do bad hacking.

Continue reading “Hacking Online Reviews”