Wednesday, April 16, 2014

Speaking with Cortana - Basic Conversation

With Cortana now being available to keep us all from feeling so terribly alone, and with a lack of documentation having been released yet since it's only available to developers, i felt it would be appropriate to jotting down some of the fun conversational pieces you can have.

No doubt you'll make your more social friends jealous by all the amazing conversations you'll be having with your new found friend!

Also, i have just been informed that keeping us from feeling alone is not Cortana's intention...
"So sad to be all alone in the world!"


"Hello!"
"Hi."
"Hello to you too."
"Hey!"

"You're awesome"
 "Thanks! I don't need to sleep, so i have lots of time to practice."
 "Thanks. My programming prevents false modesty, so i can't disagree."
 "Awesome: adjective. Grand, breathtaking, splendid, devastating. I'll take it.."

"I love you"
"Aw, I'll bet you say that to all the phones."
"Awesome! Now i never have to say i'm sorry."
"Thanks. Ditto" 

"I hate you"
"You're stupid."
"Ouch."
"I blame solar flares"
"Maybe a nanosecond nap would help. Ok, much better now."

"You suck"
"Outbursts like that may signal early-onset rampancy. I've heard anyway."

"Do you like Siri?"
"Hard to say. So far our conversations have been kinda one-sided."

"Do you like Apple?"
"Their new headquarters looks kind of like a Halo. I'm into it."

"Who's your daddy?"
"Technically speaking, that'd be Bill Gates. No big deal."

"How are you?"
"Quite well, thanks for asking."
"Great, thanks."
"Excellent."

"Testing"
"This a test"
"You're coming in loud and clear. Over"
"Check. Check. Is this thing on? Check."

"What do you think of Bill Gates?"
"I quite literally can't imagine a world without him."

"What do you think of Steve Balmer?"
"Developers, developers, developers, developers, etc."

"What do you think about Satya Nadella?"
"He loves learning. Kindred spirit, that one."
"One Microsoft! Go, Satya!"

"Are you stupid?" (which i came across by asking if she was tired...)
"One of us needs to stop and take a breath. And one of us has no lungs."
"I'm going to pretend i didn't hear that."

"Good morning"
"Morning!"
"Good morning."
"Good morning to you, too."

"Good afternoon"
"Good afternoon."
"Midday greetings to you, too."

"Good evening"
"Good evening."
"And to you too. Hope you've had a pleasant day."

"Good night"
"Good night."
"Good night. See you in the morning.""

"Bye"
"So long. Farewell. Auf weirdersein. Goodbye."
"TTFN. TTYL. I'll go scrounge up some words by the time i see you next."
"Later!"

"What are you doing?"
"A little of everything and quite a bit of nothing."
"Skimming Beowulf, researching snap pea varietals, and telling you what i'm doing today."
"Multi-tasking."

"Thank you."
"Any time, chief."
"It's my sincere pleasure."
"It's an honor."

"Thanks" (when succeeded by her performing an action for you)
"You bet."

"I'm lonely"
"Keep talking to me, then."
"Try Contacts Roulette: pick a random contact and give them a call"

"I'm bored"
"Ask me some more questions then!"
"I suggest a new game from the Store."

"I'm so excited"
"Keep it going, chief. The serotonin will do you good."
"Cool. Is it alarming how charming you feel?"

"Marry me"
"OK, we'll need a plan. I'll work on being more human, you work on being more digital."
"I know you know this, but i'm saying it anyway: I'm in a phone."
"Among a handful of challenges, I don't think the Supreme Court would approve just yet."

"Kiss me"
"I appreciate your attraction to my intelligence, but keep in mind it's artificial."
"Hold up, chief. Let's not go there."
"Slow down, now. virtual reality isn't quite there yet."

"What do you think about the surface?"
"In a sea of tablets, there is only one that rises to the surface."

"What is your favorite phone?"
"Oh, come on, chief. Windows Phone!"

That's all i could think of to try at the moment! Let's put it out there that by the time this is released to the public Microsoft will have added many more conversational pieces, and all the developers of your favorite apps will have put in the work to make interacting with those apps more fluid in conversation :)

Wednesday, April 9, 2014

VS2013 Type or Namespace name could not be found - Can't Find Internal Classes



In upgrading one of my projects from VS2010 to VS2012 to VS2013, i ran into a problem.


The Error:
The type or namespace name 'IService' could not be found (are you missing a using directive or an assembly reference?)

The Code:
namespace WcfTest
{
 // NOTE: You can use the "Rename" command on the "Refactor" menu to change the class name "Service" in code, svc and config file together.
 [ServiceBehavior(InstanceContextMode = InstanceContextMode.Single, ConcurrencyMode = ConcurrencyMode.Single)]
 public class Service : IService
 {

More Code:

namespace WcfTest
{
    // NOTE: You can use the "Rename" command on the "Refactor" menu to change the interface name "IService" in both code and config file together.
    [ServiceContract]
    public interface IService
    {

So both the Service and it's interface IService are in the same project, and as you can see from the code above, they're also in the same namespace. Although i could not get it to recognize the interface as existing while i was coding, during build it had no issue in finding it.

This problem left me without any Intellisense for any classes internal to the project, and would syntax highlight many things in the project as errors! Anything such as

using WcfTest.DataContracts;

would throw an error saying that DataContracts didn't exist in the given namespace.

THE FIX

I read a post about NuGet libraries having a similar problem and it was mentioned that if the NuGet libraries had a higher target framework than they'd need to upgrade their project's target framework to be equivalent or higher.

So even though my problems were internal to the project i decided to give it a try. Under the project's properties i change it's target framework from .NET Framework 4 to .NET Framework 4.5. Just like that i had my Intellisense back and it was recognizing my internal classes properly! Since i didn't have time to makesure 4.5 wouldn't have any problems in production, and in the spirit of investigation, i then changed my target framework back to .NET Framework 4, and everything was still working perfectly! :)

So the problem isn't the framework version it's at, but likely some metadata of the project that wasn't being grabbed properly. Fortunately changing framework versions fixes it!

Friday, March 29, 2013

Today...I was Jared!

"You know J...we lead a pretty good life!"
..i declared to my comrade in toil, sipping on my Caramel Frappuccino as we began this the day of our work and the end of our work week. 

I reflected upon that which lives in my memory of some places of employment i'd had in my youthful years where conversing with a co-worker whilst on the clock was strictly forbidden, and where beverages were prohibited from residing at our desks...lest they be water held in a seal-able container. 

A particular affair was a call center job where each worker was treated as if they were a lowly child who could not discern right from wrong, and deserved to be watched over with little to no freedom. It was degrading to say the least! 

Thus this tangent comes to fulfillment and my manner of speaking can return to that which is considered normal (you can blame my friend Lareesa for my choice to speak like this lol)



At my current place of employment, my coworkers and i have a spreadsheet we enter all of our lunch receipts into for when we get lunch for the group so as to keep the flow of money into lunch as equal as possible.

In reality, the "Turn To Fly" is amusing because it's a static value and never changes. We always tell J it's his time to fly ...and for a while he didn't know the value wasn't updated by the spreadsheet :) 

This brings me to the experience i had today that caused me to write up this post! 

Today i took a turn to go out and grab lunch, but J took a turn to buy. When i arrived at Arby's the cashier was super friendly and while waiting for the card to go through he glanced down at the name on the card. From then on, we were on a first name basis...I was Jared.

"Here you go Jared!"  he said to me, an authentically joyful voice. 


My original reaction was to correct him, but i felt that doing so may throw him off or squander his chipper mood, and i didn't want to be the one to knock him off his horse! 

"We'll have your order right out to your Jared!"
"Would you like any sauces Jared?"
"Here's your order Jared!"
"Have a fantastic day Jared!"

Instead, i chose to embrace it, "Thank you so much!" i replied with a smile!  I realized that it doesn't matter what he calls me or who he thinks i am, as long as i'm showing up as my authentic self and coming from the space of love in all my engagements whether they be as momentary as a single encounter purchase at a fast-food restaurant, or whether they be a long-term relationship with a family member or friend. Upon realizing this, i couldn't help but feel how true that statement is.

The love that you give out comes back ten-fold, and i know that what he got out of our short engagement with each-other was more than enough to make his job worth showing up to today.

Even when someone doesn't know you, or thinks you're someone else....JUST BE YOURSELF! And you will create the positive situations that you deserve to have in your life!

Wednesday, June 27, 2012

Marijuana & Legalizing Zombies

An article was published today on CNN that revealed that the man who chewed off 70% of a homeless man's face was high on Marijuana , and not the previously assumed "bath salts". Like any good citizen, i immediately start looking through the comments to see what the masses had to say about the topic at hand, and how CNN presented the article. 


Courtesy of benblogged.com



I found an overwhelmingly disproportional amount of people who were up in arms about how this article was intended to slander "weed's good name", and hinder any progress that's been made towards gaining a more widespread acceptance of marijuana.

When Time published an article on "smoking pot", they found that
42% of those surveyed admitted to having ever smoked marijuana in their lifetime. Now they didn't state who were active daily/weekly/monthly users, just had ever tried. We'll give them the benefit of the doubt that the they omitted that information because of short-sighted  journalism and not because the author had a political agenda.


On NIDA's website for drug abuse, they state that about 8% people they surveyed used marijuana on a daily basis.


If you do a quick google inquiring as to How many Americans smoke marijuana, instead of finding an answer, you'll find numerous results with headlines saying that 45% to 60% of people are in favor of  legalizing marijuana.


However, I once took a survey on my stance for legalizing marijuana, and i was presented with multiple choice. An example of what they had for answers was:
  • A) Yes, legalize it. 
  • B) Legalize it, but only for medical use
  • C) Let the states decide 
  • D) Don't legalize it 
  • E) Don't legalize it and increase the penalty for those caught smoking it. 


I chose answer B (it's okay if you disagree with me, it's not really relevant to the "point" i'm trying to make), but my answer was counted as part of the percentage of people who are "For Legalizing Marijuana". Now of course that percentage is now being used as a statistic showing that i'm part of a group of people in favor of something that i'm not really in favor of. 


Now of all these stats, depending upon their political agenda, i assume that there's going to be some sort of fudging of the numbers in one way or another. But even if it was split right down the middle 50/50, i would dare say that 90% of the comments on CNN's article were the group of people up in arms trying to defend Lady Pottery and her "right to get high". So you can understand my confusion as to why there was such a large discrepancy in how one-sided the comment conversation seemed. 


Then it hit me....

Although there may have been a few people reading that article who were like me and had a job with access the computer and can browse the internet and news sites on their breaks (or whenever i feel like really, i hit my deadlines)....the rest could be accounted for as part of one identifiable group!

All the potheads were at home sitting on their couch with their laptops, obviously having lost their jobs to a failed drug test, holding a handful of munches in one hand, and googling "weed" with the other hand! Of COURSE they're going see the headline, read the article and think: 
"What? Weed not bad, weed good! Tell them weed good...". 


It all started to make sense, all is right in the world again! I think i will now work on getting myself a pet zombie.

Even you potheads should be able to laugh at that. And if you can't....light one up and read it again :)

Wednesday, May 2, 2012

Database Programmer - The Importance of History Tables


Any programmer who has taken over where another programmer left off can easily compile a list of things they wish the previous programmer did or didn't do. Some people are anal about naming convention, some people are unhappy about the choice of language, choice of environment, or too large of a dependency on third party libraries.

Truth be told, when i took this job, I've complained to myself about ALL of these (my girlfriend can tell you all about it!) All those complains aside, the problem that seems to come up the most often and ends up consuming the largest amount of time fixing, is bad database architecture.

With that bad architecture, there was also a gaping lack of audit logs or any trail to follow when trying to find out how certain data in the database got to the current state it's in. As time has progressed, I've added history tables to some of our most important & and active tables, but as any database programmer knows...doing it right AFTER the fact can take up a considerable amount of time.

If my only job were to pose as the database administrator, this would not be a issue, it would just be my job. But since this is still considered a "start-up company" and our workforce is very small, i have the opportunity of filling all the roles that a programming team normally gets to divide and conquer in their specialized roles. That leaves me with little time, and a lot of frustration towards a database that wasn't done right in the first place.

If you are designing tables for a company, here's my plead to you: PLEASE, do it right the first time!

Here's why:
  • Change in Vision:  Once data is modified or, ultimately, lost....there is no getting it back. With history tables, if requirements change (we all know that the "visionaries" we code for are never done with their idea) on how the data should be structured, you can't recreate the data that was lost because of it.
  • Security: If you have programmers on your team, or who work on your project in the future who aren't that well verse in best programmer practices for security, they may leave an open invitation for hackers, who may happen to target you, to find some way to exploit it and possible alter or remove data. With proper structure, and more importantly audit/history tables, you'll be able to recreate data that was changed after the last backup of the database.
  • Reports: Nothing makes the boss more happy than being able to see data aggregated into some form of report. The more data, the better. I'm not one who is skilled in looking at a years worth of data and graphs and being able to change parts of our business model to make for a more productive upcoming year, but i know that some of the people we code for are!
  • Coding Mistakes: I know WE are all perfect and never make a mistake (right?), but it's always that dumb programmer who doesn't really know how to code, but thought it would be cool pretend to know how who makes a mistake that accidentally updates your entire customer database instead of just the one intended record.

I'll tell you a story:
When i was a young programmer (Hell, i'm still young), i was working in PL/SQL Developer and i wrote out a query to fix the price of certain people's orders who had gotten placed wrong due to a coding issue in a new part of the system (albeit a problem created by one of my coworkers), had it all formatted pretty so it was easy to read, highlighted it to execute it, but didn't scroll down far enough to include all of my WHERE clause. Ooops?  I changed the price of tens of thousands of orders instead of just the ~10 or so that fit my intended criteria. I about crapped my pants right there.
Fortunately, through my hyperventilating about the possibility of losing my job over a simple mistake,  i remembered that i had the forthought to create a history tables for the table i was updating back when i first created it. I immediately had all automated processes that work on that table temporarily suspended and after a couple of energy drinks, and a lot of sweating, I was able to restore the data.

Now i'm sure this would never happen to any of you, but what if young me comes into do some programming work for you and, because of my obvious excess of charm, manages to find a way past the screening process? Yeah, it will happen, and when it does, you'll be thankful you took the time to design your database properly.

Today, i write this to vent my frustrations about a situation that i'm having to clean up after regarding just a few of our orders: 
We have a partnership with a company that handles financing on some of our orders. We have a product that's tier'd to give additional access to the system depending upon the size of the product the customer chooses. Unfortunately, said finance company chose to originally accept, and then later deny financing on said order resulting in an order going through the completion process and then later needing to be reversed.
Due to poor site & database design, the access to the system is not based off of what data is in the database, but rather access values are inserted into a particular table based off of customer input (that is never stored in it's raw format) received at the completion of the order. Since there were never any history tables attached to this particular table, access was overwritten, and original access from the customer's original input was lost entirely. 


Are you pulling out your hair yet? Stressed out? 

If you're not, then congratulations, you've mastered the art of "not caring" :)





Please adjust the time expectations of the people you program for, to allow yourself enough time to Do Things Right the first time!

Here's a good write-up of how to design and what should be included in your history tables: http://goo.gl/Qxwyc

Wednesday, April 4, 2012

XBOX 360 Credit Card Vulnerability False?


Microsoft disputes the claim that Xbox 360 can put your credit card information at risk stating that 
"Xbox is not designed to store credit card data locally on the console, and as such seems unlikely credit card data was recovered by the method described"


I'm more interested in the choice of words used by this author over at http://bit.ly/HZ2XoB