Saturday, November 28, 2015

Visual Studio - Clean leaves file residue

Visual Studio's clean project and clean solution don't do what I thought they did. I had never really paid much attention to these simple function, if the solution had problems trigger a clean, and magically stuff in the bin folder was cleaned up and issues fixed.  I was under the impression that these function simply triggered a delete one everything in bin.  How wrong I was!
All the referenced compiled files are removed, however other files and folders can still be hanging out in the build directories.  After some digging on the net I came across the following build target which can be added to the project file.

<Target Name="DeepClean"
        AfterTargets="Clean">
    <RemoveDir Directories="$(Outdir)"/>
</Target>
This will delete everything in the build directory, which more often than not is the desired action in my projects.

Thursday, November 26, 2015

Life with Alexa

When Amazon announced their new smart assistant, Alexa, I was somewhat skeptical but decided to bite the bullet and buy one.  At the introductory price of $100, I thought it worth the money even if it turned out to be just another WiFi enabled speaker.

At this point we've had Alexa several months.  The idea of interacting with the digital world through speech sounds incredible.  However, I've found it an annoyance at its best and at its worst a downright obstacle to getting anything accomplished. Often Alexa gives replies are totally unrelated to my questions.  After speaking simple commands that are answered with "I'm sorry I didn't understand the question", I feel frustrated.  When Alexa gives long winded replies to simple things she's hard to interact with.  I find myself scolding her, "Alexa No, Alexa Stop!"

Here are two concrete examples of things that I tried to do with Alexa.

Shopping Lists:
Brilliant idea. Why not use the built in shopping list functionality.  "Alexa, add carrots, apples, ham, cheese, milk, and eggs to my shopping list."  She replies "Okay carrots, apples, ham, cheese, milk, and eggs added to your shopping list."   Great!  I head to the store pull out my smart phone, and notice that my signal inside the store isn't very good.  I open the Alexa app as my phone drops from LTE down to 3G.  The app is taking forever to open. I start shopping.  I check my phone. App isn't open yet.  After filling my cart I walk to the checkout line and try again.  Signal being better, app opens, I check my shopping list.  Its full of stuff that I have added before and never cleared out.  I can't quite recall what's new on the list and what isn't but I have enough groceries to last the week.  I delete the entire shopping list and think "fail" but I'll try again next time.

Yelp:
I was notified that Alexa and Yelp have teamed up.  Great!  I'll try that as soon as I'm home :)  I get home and ask "Alexa, can you give me the Yelp information for the New London Cafe?"  She replies, "here is your flash briefing".  Thinking that maybe I slurred my speech, or didn't enunciate, I slowly and calmly repeat myself.  Alexa again replies "here is your flash briefing."  My wife is in the other room snickering.  Once again I try "Alexa can you tell me about restaurants in the area."  She replies with a listing of the restaurants, listing New London Cafe first.  Hopeful that she would know that I didn't make up the name of the cafe, I start trying all sorts of things. The only thing that works is selecting the first Yelp listing that shows up in the app...  I think that's how it's designed to be used.

This is my main gripe about Alexa.  If commands and questions are not phrased exactly right Alexa won't understand.  You really do need to train yourself how to use Alexa, you have to learn the key words for everything you want to do.  It is not like engaging in conversation with a person, it's very unnatural.

Alexa, we hope you get smarter!
The most useful thing we do with Alexa, "Alexa play Pandora" and our last played Pandora channel starts streaming.   In our house Alexa is essentially a glorified WiFi speaker.


Thursday, November 5, 2015

Winning a Developer Express DXperience Subscription from .NET Rocks!

The other day at work I was mildly surprised when I received an email from none other than Carl Franklin himself.  The title read .NET Rocks Fan Club Winner!, as to leave little doubt as to the contents of the email.  Clever title!  :)

I've started off using my Developer Express DXperience Subscription by downloading CodeRush.  It's a little different than ReSharper.  Most of the functionality that I used in ReSharper is in CodeRush, and in most cases things work in a similar fashion. I've been poking at the control libraries that come with the subscription.  Looks like they are a very robust set of controls, covering almost every .Net project type .  I'm looking forward to finding a use for some of them in my side projects!

Winning is fun!