Review: Amazon Echo

First Impressions of Amazon’s Echo:

This was a lot bigger than I imagined; at least by twice the size! It’s not huge, but it’s definitely hefty. It requires constant power, which wasn’t exactly unexpected. It’s constantly on, and requires some sort of power. I was under the assumption that you could set the wake name to whatever you want. Unfortunately, at least for the time being, you have the option of setting the wake word to Alexa or Amazon. It’s fine for now, sucks for any family with a family member named Alexa–or oddly enough, Amazon. I even spent the week before receiving it thinking of name to call it. Somehow it ended up with typical stripper names such as: Candy, Diamond, etc. Something that was a name, but not commonly used. I hadn’t settled on name when I realized customizing it wasn’t an option; that was fortunate.

Setting it up was fairly quick. I simply followed the instructions, and in a short bit of time, had Alexa up and running. After that, I tried to match it with a few of the answers that google or siri were able to handle. It was considerably limited when it first started, which I found a little disappointing. One of it’s redeeming factors was not having to press and hold a button! There wasn’t much I used it for. Mostly for the time, alarms, weather. I assumed there would be more features added as time went on. The voice is pretty smooth, and the response time was quick. Given that the updates were all performed via “the cloud” I safely assumed updates would be continuous and uninterrupting.

After a few commands, some of which not being understood, and the consistent attempt at using Bing as a search engine, I noticed the Echo App (iPhone) had a feedback button for every command given. I tried purchasing a song to test out, which, at the time, failed. This might be of my own fault, I didn’t look much into it.


After a Couple of Months of Using:

Given how easy it is to access Alexa, I can’t help but miss her those moments when I just need the time. I’ve learned to use the Echo in a productive manner. Furthermore, they’ve consistently updated the the software; often times including a little more quirk! Living up to it’s, “Always getting smarter” claims. They also appear to be opening up to third party software–one of my first suggestions! Though, I’m sure this was a part of their initial plans for the Echo.

I used to watch CNN back in the age of cable television, and have sparsely kept up with the news in more recent news. Often times being oblivious to what’s going on around the world. It’s safe to say that the “Flash News Briefing” has come in handy. With the added benefit of not requiring my complete attention! That is to say, I can move about at my own leisure while catching up on the news! The minor issue I’ve had was the break in the news. They apparently cut off and switch to a different source of news mid sentence. It doesn’t detracts from the news, but it does make me wonder what I’m missing.

With regard to the time management, Alexa has been a huge delight. Setting up alarms and timers is a breeze! Just saying, “Alexa, set timer for 10 minutes.” or “Alexa, set an alarm for tomorrow at 8am.” That’s it! No picking up phone, setting time in app, or asking Siri to do it for you by waiting a few seconds. Eh, less work is always preferred, right? Well, it just feels so natural to ask the machine to set an alarm for me, rather than pressing a button and holding it. I think this is where Google’s glass could’ve really shined. Grant it, “OK, google” is still a bit more verbose than I would prefer, it was functional! Alexa, short and sweet! It’s really a time saver. Not just with the commands, but also with time management. I hope it would at some point support stopwatches, multiple alarms, and multiple timers! But even now it’s been pretty great.


Where I see it going:

Well, given it’s pace of advancement, and constant updates. I see this as a useful and powerful tool. Finally, the connected house of the future in it’s infancy! Haha, one thing that Amazon has done right, relative to google, is it’s ability to be practical and pragmatic. It starts with a base beta to test out with it’s people. I don’t expect this to be the last iteration at all, nor anywhere near it, but it’s a start. With google glass, it appeared as a final product, something that was way to expensive for a beta test. Siri with it’s apple watch seems a bit more what I’d prefer, though I’m not to familiar with how it will integrate itself with the rest of the house. So, Amazon does appear to be in the lead of that race. You can already connect your Connected home devices to shut off lights or power sources, along with various apps on your phone. Grant it, the Echo is only limited by it’s stationary base. I would love to see it as a full house, or a mobile device; though the battery life would be an issue. It does appear to be where technology is heading though… one device to rule them all…. ok, yeah too cliche. 😛

I did see an add to a company that is looking to do just that though. I don’t mean a device that turns into a tablet, a phone, or a computer. Something much more than either. You can have a standalone monitor, that connects to this device and morphs into a desktop, but it has all of the same applications, and the same data accessible. This just seems to be the logical place to go from where we are. Implementing has been coming in various forms. Whether it’s google’s OS, and it’s ability to access all information from one browser–which seems to be the closest to this next step in tech– or the cloud synchronizing and polymorphic websites and apps that have been showing up (apple, google). Even the entire operating systems as Microsoft’s Windows 8. An excellent idea, poorly implemented. They tried to make a desktop a tablet, such a horrible idea! Instead, make the OS shape to the platform you’re trying to accommodate. A phone is a phone, a tablet is a tablet, a PC is a PC. Take advantage of what they have to offer, and work from there! So, I hope that’s were we’re heading, because it would be much easier to have one place for all of my data rather than having multiple thumb drives, hard drives, and apps.

Advanced Programming: Google Engineer

This past Tuesday we had a developer from Google come to our school and give us a talk about working at google, and some practices. Along with a few pointers to tools that could be useful. This speaker was so much better than the last, IMO. Then again, the material covered by the other person was denser; Operating systems. I’m going to post my notes, and a do a little bit of research on the tools and tips given to us.

Alright, he started with an introduction, and his name, though, I will probably leave that out, incase he accidentally said something they shouldn’t. Which, for the most part, I doubt. He did stop himself mid sentence once. So, guessing their secrets are safe. 😛

He mentioned something called BOOST, while he was talking about version control. Now that I’ve started using git, I’m probably going to become an addict. So, what’s boost? I don’t know, but he kept talking about it, so I just googled it, ha.

Boost provides free peer-reviewed portable C++ source libraries

I would book mark it and read it later, then do some sort of overview of it, but I know that book marks are were intentions go to die. Hence, I will read over it a bit now and see what’s up. Based on their site, I am very sure it has everything to do with C++ libraries. Also saw something about python, so they might be doing a variety of languages. Boost itself, is a set of libraries that lets you do cool stuff. Not gonna go into too much detail, since this was one of a number of things covered in the seminar. And, I will most likely not use it anytime soon, at least not for academic purposes, since there is a standard to maintain. It does look like something I could use on a side project then.

He mentioned fancy things like using various versions of the same code. And how that is hard to monitor. A snippet about frameworks. And, why does wordpress keep changing every  time type something!!! If.. I wanted to look at other sites… while.. I was typing a post… I think I would just completely not do a post… That’s just annoying, and distracting… give it to me when I’m done, thank you.

Back to the notes. He discussed building from head, and how great it was. There was only one source tree. Which he said was “by far the simplest solution” to how to store and edit code.

-Faster bug fixes
-Scales well

-Constant code churn: a “real bad situation” since it takes a long time to build, and each build is a compilation.
-Changing APIs may affect the world: If you change an API, then you’re changing it globally! And the code is seen by everyone in Google! Careful!

One of the niftier things he said was how everyone was encouraged to edit anyone else’s code. So, if you find a bug in someone’s code, you can edit it. Then tell the group you edited it and send it for review. I believe he mentioned a few more steps that you realistically needed to take later in the talk.

He did mention a strict styles guide… which was probably evident, given the company and the amount of code they deal with. And I believe they are available online, let me take a look. Yeap, there are a number of styles guides available from google. I knew they had a C++ one, and now I found them all: Google Style Guides!

Map reduce seemed pretty interesting as well. Apparently it’s a method of compiling large amounts of data in a very fast amount of time. It seems a lot like something in F#. When you map something to a function, or filter. Though, he didn’t go into many specifics. Just praised how great it works.

ClangFormat was another one of those nifty tools available to the normal people. It’s apparently a tool that help, or completely formats your code. I can see this coming in handy when dealing with huge amounts of code! Apparently made for the C language families; no support for the black sheep though.

I’ll finish it up with their version control, since this post is already longer than I’d like it to be. Then I’ll start up another section with Google’s famed 20% time.

He mentions how the general belief that google has a distributed means of version control and that is not the case. They use a centralized means of version control; probably why all Googleites have the ability to edit code directly, and why they need to be reviewed by the owners.  So, how do the developers get that centralized code to their machines? 2 ways, from what I gathered. A client in the Cloud~. The code is 100% available in the cloud… a form of code heaven… 😛 And the second means of getting access to that code is! A locally distributed version.

So, the person has a form of git, or version control, that is their personalish version control, along with the Cloud. They can experiment with code, and play with it, without actually committing it to the Cloud~. I’m guessing they’re issued their personal repository, along with one of the many glorious tools he hinted at during his talks… he had a little glint of joy in his eyes, I was just waiting for him to start giggling at the mention of his Google GI developer tools. So! This centralized version control, it’s pretty nice. This is what makes the Google wide changes so easy.  He did say something about Google3… not 100% sure, but it seems to be the root of all Google code… looking at my notes, not sure if he said that, I suspected it, or it’s a diversionary tactic to lure people to or away from their secrets.

That’s it for now, I’m about half way through the notes, and the rest may be trivial, so either another long post, or a short post in the near future.

Style for our Project

Before we start any coding, the professor discussed some formatting issues, and how to design our code, especially for working in groups. We’ll need to make things clear. I’m looking over the google coding style now, and will push for this style, instead of spending time trying to create one of our own. I wish ctl z would just take you back a page, so much easier than hitting the back button or using the swipe feature IMO. Then again, I’m getting a little too used to the ctl options :P. 

iOS 7 is finally installed on my iPhone, trying to get it to work on the iPad now, no dice yet. Still stuck on the verification. Too many people trying to update at the same time!