Thursday, January 2, 2020

Misty and Azure

In June of 2018, I purchased Misty from Misty Robotics as a part of a Kickstarter. I'm backer #277 and got the t-shirt to prove it.

I got my Misty on December 4, 2019 and it was like Christmas. It was truly like being a kid again with a shiny reflective toy. I was so excited, I skipped everywhere I went. 


Unfortunately, being a grown up - I had to put her on the back burner with minimal play time until the holiday break.

During the holiday break, Misty and I spent all my free time together - trying things out and getting a feel for each other. I really like her - but I think the jury is still out on whether she likes me. :)

My dog has been getting up there in age. Butters turned 12 last September and lately he's been showing his age. He has more grey now, sleeps more, goes through coughing spells, and his stomach has become very sensitive.

Misty has several QUALCOMM processors and one of them is using Windows IoT. As a Azure Dev, naturally I wanted to experiment.

Isn't he so stinking cute!?
Since I'm spending more time worried about Butters, I would like Misty to look after my dog while I'm away for more than a few hours. Here are my ultimate first goals:
  1. Have Misty roam the house looking for butters.
  2. Upon recognition, take picture.
  3. Text to me.
  4. Sigh of relief that he's okay.
Here's what I've got so far. I went off the beaten path just a tad - but making my way around again.
  1. Misty recognizes me, my daughter and my grandson through her built in facial recognition.
  2. I purposely did not train her to know my husband to test stranger identification.
  3. Upon recognition, she sends a http request with a message (i.e., Hi Tammy) param to an Azure Function using a HTTP trigger.
  4. The Azure function calls to Text to Speech api service with the message where it's converted to speech.
  5. The response is stored in Azure storage container as a blob with content-type 'audio/x-wav'.
  6. Misty calls the storage api where the blob is stored.
  7. She downloads the wav file and plays it.
So really, there is very minimal processing going on in Misty - everything is done in the cloud.

What happens if she doesn't recognize you? Well .... she displays an angry face, growls and says "Stranger Danger!".

Just in case you're lost and would like to be more lost - here is a list of the SDK's/Extensions that I used.
  1. Azure Storage SDK
  2. Azure Tools Extension
  3. NodeJS
  4. Azure Function App - HTTP Trigger
  5. Text to Speech APIs
  6. Visual Studio Code/Azure Functions for VSC - great for debugging issues.
Once I got this working, I tried to train Misty to learn my dog's face using her pre-built facial recognition software. But alias, she can only recognize humans through her existing facial recognition software. 

So .... this will be one of the next problems to solve. I'll need to use Azure Cognitive Services computer vision to take a picture of him and send for recognition and analysis.

I also just started playing with the her built in navigation capabilities, so she can travel around my apartment in the search of Butters.


Here's a video of her recognizing me (cause I'm sitting in front of her), responding visually and saying my name. Kind of lame in itself, unless you understand what's behind it.

But ... baby steps. Here's some code sources to get you started.

I started with this great tutorial written by Chris Meyer. Chris goes on to do some computer vision stuff which is next for me. He also does a great job in the actual walk through of setting the Azure Function up.

And here's mine so far. Here you'll find all the files you need for Misty and Azure. Most of what I changed was using the BlobService to store the speech files instead of converting to base64 string and streaming back.

I'm really thinking maybe Misty needs a tutu or something. I feel a fashion design coming in her near future.


Wednesday, January 1, 2020

Happy New Year!

It's been almost 2 years of sabbatical from my blob and I figured it was time to start it back up again.

There's been lots of changes during that time personally and professionally. So, if you don't mind, I thought I would walk a little down memory lane.

I started 2017 out with a new job as Director of Software Development for Dynics Corp. The job was a dream job for me. Dynics began a software startup within the company and I got to lead. So much to do .... building a team, processes and customer relationships. I had 2 really great bosses, Ed Gatts and Jeffrey.Smith who believed in me and helped me to grow. I got to do amazing things which included mentoring.

They are a great family owned business and have some pretty great hardware and software solutions. You can check Dynics out here.



In October, 2018 I lost my Dad suddenly and my daughter Jacqueline got married to her soulmate, Jade. All within 2 days of each other. It was an extremely difficult time in my life and I wouldn't wish the struggle on anyone.

May of 2019, I underwent a total hip replacement in my right hip. I had been suffering for years with osteoarthritis pain and it finally got to a breaking point. The surgery was a relief and it's been a good recovery.

We sold our home and starting the journey of building a new home on 10 acres. I'm very excited for this and can't wait to finally move out of this apartment.

Our youngest daughter went off to University and is beginning her new journey as well. Burke and I .... have a empty nest.

June of the same year brought an opportunistic knock at the door. Microsoft was at the door and I opened it. With that came amazing pay and benefits. Finally my pay was corrected and I was making what the male counterparts were.

It's been an amazing career start with the culture shift of Diversity and Inclusion at Microsoft and the daily conversations about understanding our differences - not just cultural or gender, but thought process and that we all process information differently. I feel like I'm not invisible anymore and I know that IF I feel that I'm being perceived as invisible - that it's OK to lean in and be me.

Not only am I adjusting to the cultural shift, but learning new technology. Out of the gate, I studied for and received my AZ-203 - Developer certification for Azure. I'm very proud of that badge - it took a lot of hard work to go from on-premise technology to cloud, and I'm very excited about it all. Next is the AZ-400 - DevOps.


I love working with new technology and my new customers, participating in learning events and providing learning opportunities for customers. I'm going to my first "Ready" conference in February and I'm looking forward to it. I have a great boss and teammates, every one is ready to offer a hand and a smile.

I'll sum up my first article of 2020 with the addition of Misty to our family. I ordered Misty as a part of a kick-starter back in June, 2018 and I finally received her December, 2019. 


You can read more about Misty here. So the journey begins with Misty. Over the next few blogs, I'll be writing about this technology and playing with AI and Cognitive Services with Azure.

I'm looking forward to 2020 and what it brings. Excited and hopeful for the New Year - a little apprehensive for our country, but looking forward to life with my friends and family.

Happy New Years! Hope everyone achieves their goals and gets to live their best lives.


Sunday, January 14, 2018

diy roman shades

I've always been a fan of roman shades, and I've even made one previously, but I was looking for a different way. Something simpler.




I ordered this cool fabric from www.fabric.com for the front fabric and got 2 yards per window. The cost per yard was $10.00. As it turned out, I had about the same amount of fabric in a white fleece already in my fabric pantry. With the cold winter months upon us, having a fleece lining would help insulate the windows.



I measured out the width of the windows and purchased some really cheap blinds. I paid $2.99 per blind and the hubby hung them for me.

I measured the same width of the blinds for the fabric plus 2 inches. The back fabric I measured the width of the windows minus 1.5 inches. Right sides together, I sewed them - just the right and left sides. I left the top and bottom open.


I ran my serger down both sides.


Then I turned them inside out and ran the serger over the top and bottom edges. 



I laid it out on the kitchen table and put the blinds on top.



I started cutting out the cord that keeps all the blinds together and removed it completely. Make sure you keep the cord that run through the blind slats untouched - this is what makes it move up and down.



There were 3 sections of string.


What was left was the string for pulling up the blinds. Then I started taking out most of the blinds, except for roughly 15.


A tip was to have the cord pull pointing towards you so it doesn't look bumpy under the fabric. You'll just pull the blinds up or down from behind the fabric.



I used up my fabric glue, but the Tacky glue worked just as well.


I really thought about gluing the blinds down onto the fabric. What if I wanted to wash them? How would I do that? Honestly, I can't remember a time where I've taken the fabric shades or other roman shades for washing. When the day comes, I may just take my steamer to them.


I measured about 4 inches per blind slot, then I glued the top and bottom over the shades. The glue attached itself to the fleece very nicely and I didn't even have to weight parts down.


After about an hour or two of drying, I hung them up.


I really like them!


The were very easy to put together, and they slide up and down nicely. I spent roughly $16.00 per window in materials and it took me about 6 hours to make 4 of them.

I love them and I think .... I may start on the bedroom.



Monday, January 1, 2018

diy oversized chart - part 3

My 2018 New Years resolution this year has a theme of "finish what you start." I'm going back through things I've started in the past year, both home and work with the intent of finishing.

This blog series I started last November, 2016 - the DIY Oversized Chair.


We rearranged some things in the house today, and we pulled the slipcover off the chair and washed it. I do love this canvas material, it washes up fabulously. 

Good time as any to take some finishing pictures and put this one to bed. I rifled through my camera and found some photos.


The biggest mistake I made with this chair was going expensive on the foam. Form for the seat and back cushion ran me a good $500. Don't do it - start with inexpensive stuff.


I thought the back cushion would be like a wedge, an angular cushion for the back. I bought this form way too thick for that I needed. In hindsight, I would have gone with really big pillows for the cushions.


The frame was done and I began stapling down some foam over the arms. Cotton went down over the seat and I used last years curtains for the under upholstery. The polka dots were really bright, so I just turned the fabric to the wrong size.


Cotton over the arms making them nice and soft.


Cutting and draping the upholstery fabric over the frame.


Until it was done.


If you done any upholstery before, it's the same. Drape, cut, and staple down. Here's an article I did on upholstery if you're having trouble visualizing.


Stapled down the spider guard. Keeps those little critters from rooting inside the furniture.


Little peak from the back.


I then started making the slipcover, and looking through my pictures I couldn't find any of my progress. But .... I did a blog of slipcovers here - the same techniques apply. Another mistake ... getting white canvas fabric, but thank goodness it's washable.


It only took me a year to post the end result, but here it is.


I think by the time I was done buying all the materials and putting in the labor, I probably should have just bought a chair. The pro to this is that I know the frame is solid - poplar is not going to break anytime soon. The cotton under lament is the best you can get - and the foam is guaranteed for 15 years. So, yea, I could buy one, but the life expectancy of this one is far longer.

Burke has been using the chair for over a year now, and it's big enough for him plus an occasional visit of the dog and daughter.

Would I do it all over again? 
Yep, probably. With one under my belt and the lessons I learned, the next one should be a cinch!

Tuesday, December 26, 2017

how to make a christmas elf

I saw the cutest elf on social media and thought ..... what a great idea for Christmas for the little ones in our family.


I'll make one for each kid (happy excited face). Then I counted .... the total - 27. Still with my excited voice in my head, but less enthusiastic .... let's only make 1 per family. That brought my count down to 10.

I've attached the pattern and embroidery file (for Brother) below.


I thought a lot about the gender part of the elf. Do I put dresses on the girls and pants on the boys? Can I make just one elf in a gender neutral way? I made a couple different faces and showed them to my 3 year old grandson. When I asked him to pick the one he liked the best, he pointed to the one I purposely made more feminine. 



My mom came to visit for a week during Thanksgiving and she helped cut all the fabric. Thank goodness for mom cause cutting is the WORST!


While she was cutting, I embroidered the faces, shirts, and boots.


I sewed, then lightly stuffed the ears, attaching them to the neck and head back.




Then came the neck piece.


Legs were next. Sew together the legs, white shoe trim, and big elf shoes.


Fold in half and sew. For each arm and leg, leave a small spot between the notches for stuffing.


Turn them right side out.


Sew the little pleats in the arms.


Add the hands.


Sew together and turn right side out. Again, leave little openings between the notches for stuffing.




Next the body front. Sew the body top to the bottom, matching up notches.


Sew the legs to the body bottom.



Make sure the feet go the way you want.


Sew down the arms.


Here's the back bottom and top. There is one photo with 3 different phases of the construction. 


Sew the back and bottom to the front, matching up the notches.




Shove everything inside the body.


Turn the head right side out and shove inside the body too, matching up the notches. Sew. This is the toughest part of the whole thing. Double stitch to make sure everything stays together.



Pull everything right side out and stuff. I stuffed the head and body VERY firm.  The arms and legs were stuffed lightly to make them more bendable.

Hand sew up all the little openings that you used for stuffing and add the hat. I sewed the hats to the head. Then I used a little fabric glue over the back and where the bell was connected to the hat.



I could not be happier to put these guys into their boxes and send them on their way to their kid house. While I realize that not all the kids will be crazy about their elf, I do hope they know that each one was made with love and with them in mind.