Sunday, February 28, 2016

thread board for my sewing space

It was time to put my thread board back up with some modifications. Burke originally created the board for my sewing room. Now that we have proper tools and the basement remodel slowing down, I wanted to reinvent it to better suit my needs.



I spent so very little on this board. Burke's sister Aileen gave us the peg board. I bought a 1x4 ($5.00) piece of lumber and used it as the trim.


I cut them and primed them. Burke had originally created the trim so had reinforced the outside with a 1x1 ($3.00) . So I had something to nail the new trim into.


I glued and then nailed the new trim to the old, using the same craftsman style that I used around the doors in the basement.



Originally we had pushed in 3 inch long dowels into the peg holes and hung the thread spools on them. It did work, but they fell off quite a lot. A fix was in order.


The spool strips I created by ripping an 1 1/2 inch strip of lumber and then put it through my table saw at a 45 degree angle. Then I sanded and primed them. I reused the original dowels.



Then I drilled every 2 1/4 - 2 1/5 inches so to stagger the pegs to allow the thread to sit nicely. I put some glue on the ends of the dowels and tapped them into the holes.


Then we nailed the new spool pegs to the board. Since I had the 1x1 running alongside the back of the board - I had a good stable place to hold nails. The spool pegs are holding nearly 60 spools - these are mostly embroidery thread I have.


I bought that thread holder hanging in the upper left hand corner a few years ago - it cost me $10.00. I continue to use it for my serger thread.  I already had the wire baskets - they were actually a gift. The small metal baskets on the bottom - I bought in Traverse City, MI during my daughters wedding last year. It was nice to get to re-use them.

There's still plenty of room for more - and I still have more thread that needs an organized spot.

Friday, February 26, 2016

alexa, tell mom i'm home

I got my Alexa for Christmas from my kids this year and had set it up to use IFTTT. You can read more about that set up here. Mostly texting recipes for notifying them when dinner is done, etc. I really hated using "unnatural" language though.

"Alexa - trigger dinner is ready."

I set up a IFTTT recipe for my daughter to notify me when she gets home from school.

"Alexa - trigger mom I'm home."

See? Unnatural.

So I've been learning how to use AWS Lambda function using an Alexa Skill event. Here's the GitHub link to the completed source code. 

Here's what I struggled the most with ...

Testing - It's not the greatest trying to debug issues.


Sometimes you'll get an invalid response and have no clue what's wrong. You can also use CloudWatch along with some strategically placed console.logs to eventually figure out what happened.

I really struggled with SNS. The function would complete successfully but the text message was never sent. What I found was because the calls are asynchronous - the context object was being marked as done before the method completed. Moving the callback inside the publish method worked great. Like this ...


sns.publish(params, function (err, data) {
            if (err) console.log(err, err.stack); // an error occurred
            else
            {  
                console.log("Success");
               
                 if ("good" === day)
                    {
                        speechOutput = "I'm glad to know you had a good day! " +
                        "I will inform your mom so she can raise the roof with her hands like your dad does. ";
                    }
                    else if ("bad" === day)
                    {
                        speechOutput = "I'm sorry you had a bad day. " +
                        "I will inform your mom so she can sympathize with you when she gets home. ";
                    }
       
                var sessionAttributes = {};
                var speechOutput = speechOutput + "Ok, the message was sent.";
               
                var repromptText = "";
                var shouldEndSession = true;
               
                callback(sessionAttributes,
            buildSpeechletResponse(speechOutput, repromptText, shouldEndSession));
               
            }
        });

So now .... it's.

"Alexa, tell Mom I'm home."

This project really helped me too.  Mihai Galos was really helpful in getting me to this point - so thanks Mihai! It demonstrates a http request for Twilio, which will be really helpful for future integration with a rest api. But .... I didn't want to use Twilio - I wanted to implement SNS.

Again, check out my Github for the entire project. Already looking for my next project. Maybe adding a database entry to record the time of day she gets off the bus. :) Maybe we won't tell Holly about that part. hehe



Sunday, February 21, 2016

fancy header for pocket doors

Actually I think the proper style of this trim is craftsman. I love the look. I made the headers for both sides of the pocket door and spent $20.00. 


I know right? Here's how I did it.


I purchased 4 1x6's and using my table saw ripped them down to size. One strip was 2 1/2 inches and the other 1 1/2 inches.


I routed the edges using the round over bit and sanded them down.


This is a bad picture - but it's another strip 1 1/2 wide and routed with a roman ogee bit. 


I glued and nailed my strips down to my 3 1/2 inch trim pieces that I used on the sides as well.


Then I caulked and sanded everything.


And finished it with a nice gloss paint. All ready to hang.


Now it adorns my new pocket doors on my newly ALMOST finished photography room.


I can close it off when I need to keep the grandkids out or open it up wide for a portrait shoot. Who wouldn't love it?! Now, I just need to finish the window, electrical box and ceiling. No rest for the wicked!

Sunday, February 14, 2016

foot stool

Every since we got our delivery of flooring on a pallet, Burke's been on a mission. From a previous post, he repurposed the pallet and some game chairs. You can see that here. His newest creation ... the foot stool.



He drove around until he found another pallet. It wasn't in as good as shape as the chair pallet, so he created this foot stool with it.


He sanded and painted the bottom half. I couldn't believe he got this far without a single picture.


Using my new photography room that was created with the basement remodel, I snapped a few pictures before he went any further.


Notice anything weird? Yea ... the outlet has to go. Ugh!


Using some left over fabric from curtains I made earlier - he sewed it himself. Literally took him all day, but I think it looks fantastic. You can see those curtains here.


He got some foam from JoAnn Fabric and used his staple gun his mom gave him. The staple gun once belonged to his dad.


I do love that material and I think it goes great with the chair.


He's a pretty proud papa. I think he has the bug. Already looking for more pallets.

Thursday, February 11, 2016

under the stairs treadmill desk

Have I mentioned we've been finishing our basement? I had an idea for utilizing the space under the stairs to house my treadmill. I use my treadmill all the time to walk while I'm working on my computer. I do this everyday - we even have one at my work on the days I'm there.


We ripped out everything under the stairway - took it down to barebones.


Drywalled, added outlets and a light. Let me tell you - drywalling all those nooks and crannies was not fun.


It's a perfect place for the treadmill. Out of the way, utilizing dead space.


I purchased these nifty gizmos for hanging my monitor.


Added a collapsible desktop.


I knew the area was going in so I reinforced the area with extra 2x4 framing.


You can move the desk out of the way if you're on for a run.


I wish I had taken better before pictures of the space. I love how cozy it is now, adding a fitness area to our basement space. Completely functional for the whole family.

Thursday, February 4, 2016

first look at the sdk for amazon alexa

Yesterday was all about the existing capabilities of the Amazon Alexa and I ended with an enthusiastic task of reviewing the sdk (software development kit).



It wasn't half bad - and by the end of the day I had delivered the code to my Alexa and had her asking us all what our favorite color was.

Here's how I accomplished that ...

Here's the getting started guide. I started poking around the information.

First, I signed up to watch the on-demand webinar on the ASK (Alexa Skills Kit). It was about an hour long and well worth it. Each capability is called a skill - and you are really just giving Alexa a new skill.

The information is transmitted via REST so either you have you own secured web service (which I do not) then it's best to use Amazon web service. I was able to sign up and get a whole year of free usage. AWS Lambda made it easy to get up and running even providing some templates (or blueprints) giving you sample code with work with.


It's really just javascript functions that parses json data. You have help methods such as onSessionStarted, onSessionEnded, onIntent and onLaunch.

Next you need an account on the developer portal for Amazon. You can set this up here. This is where you'll define the skill and point it to the REST api (where it sits in the cloud). This is also where the utterances and intents (schemas and possible key phrases) are stored.



So in the sample of favorite color - the color schema is defined with an Intent:
 "intent": "MyColorIsIntent"
"slots": [
        {
          "name": "Color",
          "type": "LIST_OF_COLORS"
        }
      ]

The slot would be defined LIST_OF_COLORS: green, red, blue, orange, gold, silver, yellow, black, white. So, the array of colors is a slot.



And Utterances would be anything the user could say ...

WhatsMyColorIntent what's my favorite color
WhatsMyColorIntent what is my favorite color
WhatsMyColorIntent what's my color
WhatsMyColorIntent what is my color
WhatsMyColorIntent my color
WhatsMyColorIntent my favorite color
WhatsMyColorIntent get my color
WhatsMyColorIntent get my favorite color
WhatsMyColorIntent give me my favorite color
WhatsMyColorIntent give me my color
WhatsMyColorIntent what my color is
WhatsMyColorIntent what my favorite color is

Things I struggled with ...

I was only interested in getting my sample code to test properly. Right now I'm only interested in publishing to my Alexa - and not to the entire Alexa world. That was one thing not immediately apparent to me - how to "test" on my own device. 

Turns out as long as you have the same login on the developer console in Amazon as what you configured your Alexa works - it's magical when you "test". It's one of the steps identified in the Alexa app console (skill information, interaction model, and test).

I also struggled in AWS Lambda was picking the right test event. Initially I just picked the default - of course would fail. So pick the correct Sample Event Template.

Also, make sure you pick US East (N. Virigina) has your region to even see the Lambda functions.

This article was really helpful too. http://tobuildsomething.com/2015/08/14/Amazon-Echo-Alexa-Tutorial-The-Definitive-Guide-to-Coding-an-Alexa-Skill/

My next move ...

Here's what I want to do now. Take my "Mom I'm home" idea and expand it. Currently it's using IFTTT to send me a text when Holly triggers her.

I would like Holly to be able to walk in the door and say "Alexa? Tell Mom I'm home. Alexa would respond with "Will do Holly. How was your day?" Holly would say "Good" or "Bad". Alexa would text me with "Holly is home and had a good (or bad) day.

Never something I would put into the App Services - only used by us. So now I'm looking at integrating with Amazons SNS service which will allow the text messaging.

Wednesday, February 3, 2016

what i got for Christmas - amazon echo

My kids surprised me this year at Christmas. I mean ... really surprised me. I admit, I'm really hard to buy gifts for because I'm at a stage in my life that if I want something - I just buy it. It doesn't leave them much to choose from.

Amazon's picture


They do know me - and they know I'm a maker. I love technology and anything I can make with my hands (software, photography, painting, furniture, sewing). I earn a living with technology - so that's always a good bet.

Burke opened the Christmas gift and it was an Amazon Echo. I admit, I was only mildly enthusiastic about the gift. I had "heard" of the Echo - but really no idea what it was. I figured it was a stand alone "Siri". It looked cool though.

As soon as the holidays died down, I plugged it in and started playing with it. It was super quick to setup - I hardly remember doing it. I did download the app on my Android phone and connected it to the our home WiFi. The effort to set it up was very minimal.

The first thing I wanted to do was change her name. I was not thrilled with the name, but found that I could not rename her. Not really .... I could choose either Amazon or Alexa. So Alexa it is.

After quickly reading about the capability, we started shouting commands at Alexa.
Alexa? What's the news?
Alexa? What's the weather? 
Alexa? What is the square root of thirty seven hundred?
Alexa? What do I do with a dead body? - She responsed "Call the police."
Alexa? Self-destruct. - My son commanded and was instantly dumbfounded as she began to count backwards. He squeaked out - Alexa? Cancel. She responds with OK - just kidding! We all roared with laughter. Amazing! 
A little more reading ...
Alexa? Add ketchup to my shopping list. - We use this all the time now. All items magically appear in the Alexa app on my phone. You can also ask her to recite the shopping list before going to the store.
Alexa? Play Happy birthday to you from Amazon Prime. I do like the choices of music available.
Alexa? Play FM Radio - 107.1 
A Google search later ...

 This article really opened my eyes http://www.wired.com/2015/11/amazon-echo-gift/ and specifcally the mention of IFTTT. Wot is this magic? So I played ...



I immediately found a recipe for finding my phone. Alexa? Trigger find my phone. It rings my phone and leaves me a voice message stating the datetime that Alexa tried to find my phone. I've already had to use this when I dropped my phone in Burke's car and couldn't find it.

Interesting ..... what else can I do?

Every day Holly sends me a text when she's safely at home. She used to call me - but the guys at work would troll in on her phone calls. Holly? Did you let your dog out? How about your homework? So, now it's a simple text.



What if? She just told Alexa to let me know she was home. Using IFTTT, I created a recipe of Amazon Alexa channel, a phrase, and a SMS channel - would text me "Mom I'm home". Now, when she walks in the door, she tells Alexa she's home and Alexa alerts me. Effortlessly.

How about dinner then?

Both Holly and Eileen's room are upstairs out of ear shot. So news of dinner is sent via text or going upstairs to each teenager to alert dinner.



Now Alexa informs the girls that dinner is done. Alexa? Trigger Dinner is ready. Using the the Amazon Alexa channel, a specific phrase, and GroupMe  allows Alexa to send text to more than 1 recipient.

Silly I know - but we now rely on Alexa to communicate important events in our family.

What else?

I started reading about the smart home. Using IFTTT, Alexa could interface with smart house items. Hmmmm..... but what in my house would I really want to make smart. I reviewed all the technology available and really found that I didn't want my front door, thermostat or have a camera presence. I'm not 100% comfortable. I sometimes act as a cyber security specialist within my company - and I'm well aware that everything is hackable.

As I stated before, we were working on the basement and we purchased an electric fireplace. I was thinking though, "How cool would it be to have Alexa turn on and off the fireplace? Without actually going downstairs?" It's cold in the winter - and it gets cold down in the basement. I could command the fireplace to be on and let it warm up before heading down for crafting.

I did my research and went with the Samsung Smart Things line. All in all - it's a tad more in price but the quality is there and so are the highly rated reviews. So I ordered a Samsung Smart Things outlet at roughly $50. After receiving it, I tried to configure it. I truly was thinking that Alexa would work as the smart hub for the outlet - but alas that was not the case.

I needed the Samsung Smart Things hub too. Alexa could only talk to the outlet through the hub. Cost of the hub? An additional $100. So I weighed whether the having the basement toasty warm before heading down was worth $150 and decided it wasn't. So I sent the outlet back. So ended that experiment.

SamSung Smart Thing Outlet


In the weeks since Christmas, Alexa really has become a personality in our house and often when I ponder the uses - I'm drawn to Burke's mom. Burke's mom is in her 80's and alone a good part of the day. With Alexa's human like responses, would Helen like to have one? And what about safety? I often worry about her falling and not able to receive help. Could a voice command send help quickly? How about a command so she can tell her 7 children and (I lost track of the amount) grandchildren? So far, it hasn't been well accepted - so I'm still left pondering.

I'm still discovering Alexa and found out today that a SDK has been released. Guess what I'm researching now?

So far, the best Christmas gift I ever remember them getting me. Can't wait to discover more.