Tuesday, August 30, 2016

Designing an Alexa Skill From Scratch

I still have yet to name the skill that I will create for Amazon’s Alexa, but my goal is to have Alexa read aloud something nice that someone can do for another person during their day and keep track if their goal is completed. Some of the main things that this project will need would be a list of different goals that people will have every day. My mentor Mark Carpenter suggested I make a list of different goals specific to a day and use a database so that all users will have the same goal every day, and also giving me a better way to personalize the goals that fall on holidays. There most likely will be no intent schema and I’ll be using the Amazon default one. I know that I have a plan to incorporate a card showing you the goal that you have for the day.
Amazon brings into play what they call “sample utterances” which makes you think of every possible way that the skill will be called some examples I thought of were: “ask for todays goal", "what's 's challenge of the day", "tell me <skill name's> daily goal", and so on. This will be one of the two skills I want to make for Alexa. The other one I'll blog about later, but for now this is giving me a lot to go on, and as always I'll keep the blog updated with any successes or challenges that arise when creating this skill!

Second Run in With Alexa

After completing the Alexa skill yesterday I tackled another today. This time the skill that I taught her was a trivia skill. I very much enjoyed the show 30 Rock when it was on the air; something about the show’s writing and how quickly another joke would be told was fantastic. I don’t think I mentioned how someone goes about creating an Alexa skill in the last post, so I’ll give myself the chance to do it in this blog post. The route I’m taking to make an Alexa skill is by creating a Lambda function with Amazon. The Lambda function is where all the code for the Alexa skill lives. You have invocations on how to activate the skill, you have all the back end functions that will make Alexa respond the way that you want, and finally you have all the answers that Alexa will utter when the skill is activated. After you create the Lambda function you go on to create the Alexa skill in Amazon’s developer portal. In the developer portal you give Amazon all the information about the skill you’re developing and you can test it out to make sure that Alexa says the words correctly and if not you have that chance to correct that inside the code that you wrote.
I think that this was a great experience and the next skill that I make will make me understand how to make these skills even more as I will make one with no template whatsoever. Stay tuned to read about how it goes in a blog post I hope to be up by tomorrow or the day following!

First Run in With Alexa

Today I finished writing a skill for the Alexa project I chose to tackle. Alexa is a voice assistant created by Amazon. Developers from all over are free to write a skill for Alexa and as long as it passes the approval process from Amazon it will be able to be used by anyone that has access to an Amazon Echo or Tap. The skill I learned how to create is a simple trivia game that is launched with the command “Alexa, launch Spider-man trivia game”. I’m a big comic book fan and I chose to make the trivia game about one of my favorite superheroes. Alexa is supported in two languages which come in Node.js and at the moment Python. There wasn’t any much in terms of challenges per se, but there was a ton of information that I had to reread for trying to submit a skill for approval. All in all it was a really good learning experience since I’ve never done anything similar before.

Experience at Bloc

I first started my coursework at Bloc in the month of March and have been focusing on the Rails Web Development portion of the Software Engineering track that I signed up for. My mentor Mark Carpenter is a great joy to talk to. He’s very helpful and sends out tons of great resources once a week in a newsletter he creates.
When I first started at Bloc I had no real knowledge of how Ruby worked and I felt like I struggled to get the concepts down. When I really master one portion of the course and move onto another concept I always feel like I get to take on another challenge. Yes I think that learning these new concepts is on the hard side of things, but in the same breath I didn’t expect any of this to be easy. In honesty I like the challenge of figuring something new out. There are times I get too stuck and I’ll ask for help, but for the most part I try to look at every problem from different angles until I can come up with a viable solution.
So far my experience at Bloc has been very positive and I feel like I made a great decision starting to take classes here and I look forward to what challenges I will face further into the course.

First Post

I’m not too sure what to write on here. I don’t usually write blog posts, so this is a bit change for me. I’ll start with what got me into wanting to learn how to program. Back when I first got out of high school I opted to take classes at a private institution here in San Diego called Platt College. Platt was a graphic design, web development, and 3-D animation school. Platt was really a great school and I learned very much from my time there. Unfortunately the cost of staying at the school was just too much and I had to take my leave in 2013. Before I left Platt I was able to take a really great class with one of the best teachers I’ve ever had, Fred Winton. The class that I took was a simple HTML and CSS class to better familiarize myself on how a website functioned. After that class I changed my mind from being a 3-D animator to being a programmer. I joined my local community college as to not lose momentum on my studies and took as many classes as I could on how to program.
During my time at community college I took classes ranging from Java and C++ to introductory classes in Javascript and PHP web languages. Every class I took was such a joy and I really wanted to pursue a career in the field further, so I set off to find out different places that would meet my needs for a major. I eventually stumbled upon Bloc a couple months after my search and am currently enrolled in the software engineer track.