Flint Bill Bullshit

Flint Michigan, we’ve seen the poisonous water that’s there, we’re not even going to talk about that, however, people are “pissed” about getting bills and past due notices because of the quality of water. Water they can’t even drink, unusable water….but.

Here’s the problem, the water isn’t unusable.

People are still bathing in it, people are still brushing their teeth, people are still using the water.

Should the rate be higher? No, Should it be “discounted” *meh*, but if you know it’s poisonous, why would you use it for anything? The thought is, you need to have running water in your home or CPS will take your children…well, just because it runs doesn’t mean you need to use it.

ASP.NET MVC 5 & Entity Framework & MSDN & My Time

This is a story all about how, my life got flipped….OK, I’ll stop there. BUT, when I was younger and first getting into development I started off broke as anything and couldn’t afford Visual Studio…. I always love telling this story. I asked some of my coworkers “What should I learn?” (previously I had developed in BASIC so I wasn’t a 100% n00b).

The answer I got was simple. Learn JavaScript, and HTML (this is back in the 2003-2004 time frame mind you). So I went online and I saw an entire plethora on “DON’T LEARN JAVASCRIPT! IT’S GOING AWAY FOR DHTML and PHP!”, and similar articles that said “forget JavaScript, real developers use Visual Basic (and we’ll be releasing C# later)”. Well, as I stated, that left one thing I should learn…PHP so I did.

PHP has been a fallback if I ever want to do quick and dirty development. Since you can setup a LAMP stack with almost $0 cost anytime I was down on my luck and wanted to work on something I could always depend on it. It’s been pretty same, and besides the switch from mysql to mysqli (which there are multiple equivalents 1:1) PHP has been old trusty. However with my latest positions it’s been C# or VB.net and that’s lead to a few ‘hiccups’ per se (I failed an interview because I had an array question that I handled as a list, and when the interviewer wasn’t aware of the new methods with list he thought I was lying).

But Shawn, your title…yeah I know.

So, at work I use Visual Studio 2013, and had it on my laptop when I first started learning MVC with EF, and all was right with the world. Doing Code First Migrations I updated my class, added a Migration, update the database and kept moving. I went to lunch with some friends (Hi Tim and Erik), and bragged about how easy EF was with Code First, and how I was under the impression that MVC was going to rule the world with an iron fist.

Then life happened.

A wedding, a birth, a death, an adoption, a reunion, a Christmas party, my daughter getting into  a competition, birthday trips, and the list goes on. Mind you not everything is applicable to me, however being supportive of others, things happen and that takes you away from things. So, ASP.NET with EF & Code First Migrations was put on the back burner as a side project/learning experience.

Horray!!! Visual Studio 2015 and Windows 10 is released! I promptly download them and putz around with C# in 2015…life starts getting better again.

So, here it is, Jan 2016 and I’m ready to get back into ASP.NET MVC & EF. Let’s fire up a site, but I know I’m going to want to go with EF…I know what I’m doing, so ‘Install-Package EntityFramework’….and I get “EntityFramework is already installed”. Weird, this is a new project, why is EF already part of it? Oh well, maybe I did it out of habit…let’s move on. Modify a class, OK that’s good let’s work with what we know…”Add-Migration <MigrationName>”…Oh dear god above what’s happened? EVERYTHING DIES.

Now when I say everything dies, what I mean is the Package Manager throws a cmdlet error saying that Add-Migration isn’t recognized which I know is bullshit because that’s the routine, Install EF, Add Migration, Update Database, I KNOW WHAT I’M DOING!!! Don’t tell me I’m wrong! But, my project is probably corrupt, so I start a new project make sure that I selected ASP.NET MVC, give my project a name, open Package Manager Console, Install-Package EntityFramework, hit enter, and ‘EntityFramework is already installed’.


It’s happening again….BUT WHY?!

Looking on Stack Overflow, I see where other people are talking about EF throwing errors and how it’s related to needing to run dnx and dnu commands…None of this applies to me, I’m already at some level of corruption from the initial project creation. But what?!

I spend the next few hours looking up changes on what happened between ASP.NET MVC 4 and 5, who cares, the problem isn’t ASP.NET, the problem is EF and what it’s doing to my project right out of the gates. It’s slowly approaching 3am and I need to go to bed to be up for work by 6. Then I find an article on MSDN: Getting Started with Entity Framework 6 Code First using MVC 5. *sigh* this doesn’t apply, I’m using ASP.NET 4.5 and whatever bundled version of EF that comes with…moving on. I find more articles… Entity Framework Code First to a New Database, I’ve done all this, why? Oh why?! What did I do to make Visual Studio upset?! I have Visual Studio, I’ve used MVC (I use it at work), I’ve messed with EntityFramework before successfully, where did I go wrong? In desperation, I download Visual Studio 2013 to attempt to figure out what I’m doing wrong or was all my previous successes all a dream?

Was it all a dream?

Opening up Visual Studio 2013 and trying again, ‘EntityFramework is already installed’. Ha! I’m not crazy, something changed! Someone somewhere is messing with me, BUT I can build the project, so MVC didn’t *change* something with the underlying platform changed. Did EF change?

OK, I’m going back to the begining. Something changed and I don’t know where. I start searching for “What’s new in Visual Studio 2015” Where I find Scott Guthrie’s Blog post:

Released Today: Visual Studio 2015, ASP.NET 4.6, ASP.NET 5 & EF 7 Previews

OK, fair enough, looking through, I find the headlines ASP.NET 5 and Entity Framework 6 along with the RTM release notes. With the following sentence “EF 6.1.3 primarily focuses on bug fixes and community contributions”….yada, yada, yada….”Additionally, the runtime is pre-installed in new ASP.NET projects, depending on the project template you select.”. Reading the release notes, I see…

  • The tooling will be included in future releases of Visual Studio 2015 (currently in preview).

OK, I’m not in Kansas anymore (though, I do miss the rains down in Africa). I apparently AM now a n00b and need to follow up appropriately. Going back to the beginning and Hello World.

I keep reading, going through the tutorial until I see this screen.


I don’t have those ASP.NET 5 Templates though, but I do have Entity Framework 6.1.3. Where it says ASP.NET 5 Templates, I see a “Get ASP.NET 5 RC”, this begins downloading the ASP.NET 5 Framework, which includes the tooling for Entity Framework 6.1.3. That’s right this was all separate. It’s no longer Install-Package EntityFramework, it’s well, you should find out here.

I guess the lesson of the story here is when you make a jump in your tools, in your frameworks, in your technologies, it’s always better to RTFM vs. assuming everything just stayed the same.


Forget France…

Forget France. Yes that’s right, I’m saying it…you know what, while we’re having this conversation, forget the U.S. also. While we’re at it, forget India, Russia, Mexico, Iraq, and Ireland…forget them all.

I know what you’re thinking, “What kind of cold hearted S.O.B. says something like this?!”

The hashtag #PrayForParis is making the rounds after the latest terror attack, and it’s sad that these incidents happen. When 9/11 happened, we (Americans) received lots of support from our allies (and “enemies” alike). So what? What did that mean? What does changing your profile picture to a French flag solve?  What does tweeting #PrayForParis do? How are we resolving issues like racism, terror, poverty with hashtags and profile pictures?

IS (Islamic State), ISIS, ISIL, whatever you want to call them isn’t “ISIS”. They’re a representation of evil, selfishness, and intolerance…but they’re effective because they take a universal approach to their mission, “Do, or do not, there is no try”. This is terrorism, an ideology put into practice, and you know what, it works great. It puts people on edge, moves armies, and removes the freedoms of people. It also has an advantage..it doesn’t abide by rules, it doesn’t abide by laws, and it doesn’t follow any conventions….and it works.

But we do.

Americans follow the laws of the United States, Canadians with Canadian laws, and the Japanese with the laws of Japan. We’ve try to regulate this with the U.N. and other organizations and have participating countries follow universal “rules”. We forget one simple fact, we’re all humans. There is not one person among us that is “better” than the other. All men truly ARE created equal, we bleed the same, however we try to force them into groups…Caucasian, Chinese, African American, Irish….but who cares? We don’t take care of our own, we take care of our “titled” own. Our American, our Koreans, we don’t take care of our human brothers and sisters. If we want to really, truly, stop terrorism, we need to put aside our differences, we need to remove our borders, we need to put aside giving 1 or 200 men (Presidents/Congresses) power over the millions of others, over the food that we have, over our energies, and our lands.

So yeah, forget France, forget Ireland, forget the U.S. We need to focus on humanity…The only want to resolve this is to take care of each other with an understanding of value in people, not currency. With the understanding that your neighbor needs help, you provide it, not withhold that and only provide it if they repay you. The understanding that you need to respect a person for being an entity on this Earth and not ask that they obey you because you have “more” then they do.

Everyone wants Love, Understanding, and Compassion, but no one wants to focus on those things. As long as well have Americans trying to keep out Mexicans, and Koreans fighting each other, Iraqis fighting each other for possessions, for religion, for “titles” then we’ll continue to have these problems. We need to have the human race represented, and let human rights run their course.

PS: After I wrote this post there’s an excellent opinion piece by an Australian news anchor, I highly suggest you give it a watch.

AirBnCommon Sense

An article recently by Zak Stone has caught interested titled “Living and Dying on Airbnb“. My condolences go out to Zak and his loss….

While I am not in any form or fashion blaming Zak, his father, the Airbnb host, or Airbnb itself for the accident, it’s hard to be supportive of the angle the article takes for one simple matter.

Common Sense.

I’ve stayed in a few Airbnbs. I received some attention due to some opportunities that have presented themselves as part of staying in an Airbnb and I’ve had many joyous moments with family as we met and shared Airbnb accommodations, however they weren’t always “safe”.

My one apartment stay had a missing floorboard in an antique brownstone in NYC…I knew to watch my footing.

A home I rented out, had a older type stove and was beside Lake Erie, I knew to watch my footing around the stove, and to be on guard with my children near the lake.

Another home I rented had spider webs outside the door (it was in the country), I knew not to touch the spiders and advised my children to avoid touching them as well.

It’s sad to read about the loss of a family member, however there are countless videos on YouTube of people falling from tree swings, or branches breaking from trees by people no doubt less aware than Zak’s father. However to attempt to ask Airbnb for standards, regulation, inspection when you are in fact staying in someone else’s home is akin to asking each Ranger, in each Park, in each State to inspect each Tree for signs of decay. And upon finding any trees that shouldn’t be used for outdoor recreation, posting a sign at the entrance of the park that there “is a dead tree present”.

At some point, you have to ask people to use more caution than usual.

Again, I’m sorry for your loss, but at some point, it’s just circumstance….however sad it is.

NOTE: While Zak’s article is filled with images of accidents or negative situations that may (or may not) happen in an Airbnb accommodation, I will not use any images (even positive ones), out of respect for his loss and to purely post my opinion.

Nickelodeon – Pittsburgh, PA

Recently there’s an post on reddit about the Nickelodeon in Pittsburgh, (Reddit Link). This was fairly awesome to me since I never knew where it was, and with working in Pittsburgh, I’m able to walk across the city in about 10 minutes and look for whatever may pique my interest….so I decided to look into it.

Looking up “Nickelodeon Pittsburgh” on Google brings me to a site with all types of information called Cinematreasures.org which has some pictures of a tablet, and the old Nickelodeon.

large large

So, looking at some articles written by the PostGazette it appears that there was once a sign posted outside.

photo posted on post-gazette.com
photo posted on post-gazette.com

However since then the sign was taken down and replaced with the tablet as seen above.

This shouldn’t be hard, considering if a tablet is posted outside of the building I should be able to find it. After all we have all types. Let’s look for some more information on it. One of the comments listed on the site says “identified in 1905 as being at 433-435 Smithfield Street, somehow is 441 Smithfield Street today – and for the past many years.”. Smithfield Street should be easy, as I work on 4 Smithfield Street, so, on my breakfast break I went to look for 433-435 Smithfield, which leads me to…no where. The city renumbered, and the address is 441 Smithfield, which is OK, I’ll look for that.

I’m unable to find 441, which is odd because well, it’s numbers…I can count, why can’t I find it? Google Maps to the rescue…


OK, this is really odd, because there isn’t an overhang like this on Smithfield and hasn’t been for a few months…but, the medallion shown on the right hand side looks familiar. So, going for a stroll, I was able to find the building.


As it stands, the tablet was removed due to the building theoretically being torn down at some point…however that hasn’t happened yet. However this is part of Pittsburgh history, no matter if it was the first, or last theater in America, so obligatory selfie time.


That’s right, right where that “No Soliciting” sign is located once stood one of the very first (even if not THE first), movie theaters in America.

Now, where did the tablet go?

Polymer on Windows (Easy Guide – Part 1)

Getting started with Polymer (the “UX” framework from Google), on Windows 10 has been a struggle to say the least….so, after I spent about 4 hours trying to get it up and running, figure I’d make it easy for anyone else trying to give it a go.

Note: This needs to be in your project’s root folder. NONE of the documentation tells you this.

According to the instructions found at Polymer Project you can get started one of 3 ways (1. Bower, 2. Zip, 3. Github).

I had figured that I wasn’t a n00b, and I could start with Bower, so lets do that.

Bower: OK, first off, it’s easy, you just go to bower.io and download….no, you don’t you type npm…but NPM isn’t a command we’ve used before, this is NodeJS Package Manager, so we need to download that first.

https://nodejs.org/download/ – Hit up the .msi, let’s make this easy.

OK, now that’s accomplished, we can install Bower…. so open a command prompt and enter.

npm -g install bower

After giving it a few minutes, you should now have bower installed on your system, great!.

Here’s where the speedbump happens. According to Polymer Project the next step you should use is running the command.

bower install --save Polymer/polymer#^0.5

However, whenever you do that you’ll probably be met with the error:

bower ENOGIT git is not installed

Let me help you out with this….somehow, some reason, git isn’t registered….but wait, we never installed it.

Git: The first step you’re going to think of is I’ll just go and download Git and install this and…..stop. Despite doing so, the git installer doesn’t register the path, so you’ll do it manually, but…..it won’t take. Let me save you some heartache.

Just download the Github client: https://windows.github.com/

You’re going to eventually want it if you haven’t, and somehow, it’s registering Git with Windows, so make your life easier and just download and install that.

Now execute bower install --save Polymer/polymer#^0.5, and your install should work fine. You’ll now have a bower_components folder in your project.

Next I’ll address including the core and paper components in your project and getting started with content.

Right vs. “Right” (or how to really work with people)

Andrew Bozworth was an engineer at Facebook and a pretty solid one at that. While working on the News Feed (and the only engineer doing so), he was brought in by Dustin Moskovitz and told he needed to find something else to do, and that his work was being assigned to another engineer with a team being built around them.

Reasoning as one employee put it… “Boz is one of the better engineers at Facebook“, “I would have a hard time working with him“….and then the tell tale.

He is most interested in the truth…but more inhibited members of the team avoid any discussions with him.

This is one of the most hardest lessons to learn in IT let alone for veterans. We’re used to an environment of “I’m right, and even if I’m not, I outrank you, do it.”. Or, “I’m giving you a direct order from the Platoon Leader, make it happen”. There’s no second guessing, it’s do, or don’t and face the consequences….options, well, there are no options.

In the military, if your subordinate says “No”, or does something else, well you’re given the ability to punish that person as you see fit, report them to command, menial repetitive task, or physical exercise as a form of remediation. This isn’t something available when you’re a civilian….but no one tells you that. They just “cut you loose” after your out-processing and  you’re left to figure it out, and it’s a pretty bumpy road.

He says it best, “If you are right but nobody wants to work with you, then how valuable are you really?”. We call these soft skills. Being able to approach an employee (subordinate or superior) with tact and poise, knowing that there are options.

In military lexicon there’s “Lead the way”, “Train as you fight”, “Hooah (or Oorah depending on branch)”, and a good inspirational term “Highly motivated”. You can “knife hand”, put someone at the position of attention or “at ease”, or other positions to assert authority. But civilian life isn’t like that….

So, your value is how other people perceive you or your skillset with your position. If you’re a bad engineer (but a great guy), people can work with you…”Oh, he needs some experience”, but if you’re a great engineer (but a “stern” person), then the response is “He’s a dick”, or “He’s really hard to work with”. “He’s not a team player”, despite being able to lead a team (and receive awards from your command for it).

So being Right with what you do, what you know, and the specifics, sometimes isn’t as “Right” as the way you approach the problem, or the people helping you with that problem.  Boz goes onto mention “but my biggest lesson was the importance of kindness.“. If this isn’t the truth.

In engineering we’re used to 1 and 0’s. There’s no room, you’re right or wrong. In the military it’s a similar mentality, you’re right or wrong. But when it comes to the human factor, you can be right, and STILL be wrong.

Below is the link to the guest post by Andrew Bozworth on Business Insider

One of Facebook’s star engineers learned a valuable lesson that almost got him fired