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.

Tagged with: , , ,
Posted in Uncategorized

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

Posted in Uncategorized

jQuery .show()/.hide() vs. css

One of the issues I’ve been battling is using .show() and .hide() vs. .css() when working with elements.

The standard answer is there’s no difference between show/hide and css because ultimately in the back end show/hide are changing the properties for display to either display:none, or display:block.

But lets be honest, what happens when you’re working with someone else’s code. Someone who hasn’t put this in a css file but does a style attribute on the element making it


Well, jQuery doesn’t know what to do with this, so try as you might, .hide() to a display:block style attribute isn’t going to work…so we need to manually change this with


After that, it’s smooth sailing because you’ve set the display attribute in the css environment, so from now on our site has context of what the display is for show and hide.

Tagged with: ,
Posted in Uncategorized

Changesets per Solution/Project in Visual Studio 2013

After working with x number of developers I’ve noticed that often down I have to track or reference changesets. Most the time developers will just *know* what file they checked in, list that, and then move on…however sometimes you have to be able to point to a changeset (date/time) of a combined change (cshtml & .js & .cs) and well, that’s just obnoxious.

So, to do this you need to go into SOURCE CONTROL EXPLORER.

I know a lot of times I’ve had people tell me how to do it in Solution Explorer, but you can only look up the individual files, where as source control explorer will let you view the changeset for the entire project or solution.

Tagged with: , , ,
Posted in Uncategorized


So I’m going to try to start a new “weekly” series called “What You Actually Want”.

I’m going to take one resume I get per week and translate the requirements into what (as an engineer), I think you REALLY want.

Posted in Uncategorized

How does recruiting even work?


It’s that time of year. All the fall/winter layoffs and firings have happened. Companies restructuring and realigning and then the recruiters come out. As a Sr. in my field (Software Engineering), in Pittsburgh, it’s almost like being chum at a shark feeding. Budgets are approved, positions are created (or opened for backfilling), and the position goes out to a recruiter. Which inevitably leads to a recruiter trying to get ahold of me. Fair enough….but really, it’s like being chum at a shark feed where you have a hammerhead, a great white, and about 5 other sharks that just haven’t figured out that they’re really special needs dolphins and are confused. Some examples (and no, I’m not protecting identities).

The bomb:

They don’t even know you. They’ve been setup as a “recruiter” and some tool spams people via an algorithm that has about 20o different options. The email starts off with “Dear Candidate”, or “Sorry for the intrusion…”. It’s email. Your packets aren’t raping my inbox, and candidate just makes me think of nigerian 411 scams. If you reply, you may never hear anything back…why? All you do is look like an ass.


Seriously, who’s the client, what’s their business? Thanks for developing report with me before you just charge on in. *delete*

The Clueless:

These guys have no idea if you even exists as a legitimate human. They have a description and you MIGHT meet a keyword in their database. Take the below example.



I’m familiar with iOS and apps, and understand how an iOS app is constructed, however I don’t write Cocoa, or Swift. We’re looking for “personnel’s” for a Silicon Valley based tech company. Does my badge say “personnel” if I work in this position? Don’t worry, this email only uses about 5 other different fonts.

My job is before yours (CyberCoders):

Help me place, oh, by the way, this is what I have.



By the way, I have a personal (or personnel) gripe with CyberCoders. They hounded me about a position, gave the client the wrong information (leading me to lose the offer), and tried to blame it on me….all while my family was dealing with cancer in the middle of it. Without so much of an apology.

Additionally this will be the recruiter that says “Send me an updated resume, with your requirements for salary and benefits, AND your employment status, and please complete this background check in the email before I get started.” occasionally I’ll see a request for social security number as well.

So, I suppose I should outline my favored approaches (that’s only fair)…

  1. Call me – Leave a detailed voicemail “Hey Shawn, this is *give name*, and I’m a recruiter for *give organization*. I had a position with *give company* and they’re looking for a *give position*. It’s located in *give location*, and was curious if you were in the market to look, or if you’d be interested in talking about this, and perhaps any other positions I might happen to have. Thanks, and hope to talk to you soon!
  2. Email me – See above. The Call Me template works really well!
  3. Hit me up on LinkedIN.
  4. Text Me. If you have my number.


Be understanding. I’m at work. I’m a father of 6, so I can’t very well come run to the phone and chit chat about how well your organization is doing. I also can’t just drop what I’m doing and meet for lunch or coffee. You’d want me to give your client 100% of my focus on their requirements, I can’t do that and talk to you too at my current company.

If you follow these simple guidelines, avoid my pitfalls above…we’ll be cool and work together great.

If not, you’ll find out really how small Pittsburgh is.

Tagged with: , ,
Posted in Uncategorized

Summer Project: Am I OK?


As I was explaining to my project manager what my summer project was going to be my “rail car”. His one question was “Are  you OK?

“Yes, I know it sounds crazy, and how insane it really does sound”….and then I heard nothing for an hour until he came over, leaned against the wall and the conversation went like this.

PM: “OK, Why?”
Me: “Why What?”
PM: “Why on a rail, why are you going to put an electric car on railroad track?”
Me: OK…..

I’ve thought about this. You can ask Andrea…quite a few time in our life together Andrea has seen me say “Wouldn’t it be cool if…”, and a year or so down the road, some company is doing it. So this time, I’m going to say it, and wonder if the craziness really comes about.

Right now we have a huge push for “ride sharing”. Uber, Lyft, Zimride, Ridejoy, etc. We can all agree that we all want to sit in someone’s car and let them drive us somewhere else.

Right now we have a huge push for “autonomous” vehicles. Google, Tesla, BMW i8, We can all agree that we all want to sit in a car that will drive for us, automated.

Right now we have a huge push for “speed and power”. The Tesla P85D, Tesla Model X, Bugatti Veyron, Lamborghini,the new Ford GT, so we can all agree, we wanna go fast *Ricky Bobby*.

But, we’re not responsible enough for this. There is no way that Ferrari is going to give us an F50 to share, automated, and go 100MPH on the highway.

  1. We’re not responsible enough as people.
  2. The cost is too high in the event of a loss.
  3. If you wreck, you will die.
  4. Fuel consumption is too high.
  5. There’s no profit.

But, there’s one thing we can all agree on. Given enough time, we’d love to see somewhere new. We’d love to be able to take a trip and see the beach, or visit the mountains, or get away. But what how does that conversation go?

“I’m gonna go on vacation to X”
“How long a drive is that?”
“x hours, but once I get there I’m staying for x days”
“Yeah, you’ll need a day, just to recover.”

Now my family and I are planning on vacationing to Tucson later this year,

To fly on Delta Airlines (I know it could be cheaper), it’s an 8 hour flight, and will cost for the 4 of us, round trip, approx $2000.00, just for airfare. This doesn’t take into consideration parking, food, or any other expenses that are part of the travel itself.

To take a train, which will allow sleeping, it’s a 64hr train ride, and will cost for the 4 of us, round trip approx $1500.00, just for the train ride. This doesn’t take into consideration parking, food, or any other expenses that are part of the travel itself….(which has a 9hr layover so, that’s at least two meals).

To drive would take 30 hours, but I’m not going to be able to do that all in one straight shot (OK, I might be, but my family wouldn’t). Bathroom breaks would be required, meals, and sleeping would need to be considered. Which would add to the cost. My wife’s truck would be the main carrier, and that gets approx 20MPG and has a 15 Gal tank, giving it approx 300mi to a tank. Given the drive to Tucson would be 2015 mi/300MPT, that means just to fill my tank down and back would be 12 tanks of gas. at each tank being approx $30 (15Gal * $2.00/Gal), $30 * 12 = $360 just in gas. Then hotel, food, etc. AND…the insane boredom, and soreness from riding in a vehicle that long. Also, this is considering straight driving vs. stopping and spending time sleeping/eating, which will lengthen our trip.

But what if, WHAT IF, we could could do this trip automated. That would remove the boredom, because the passengers can be doing something other than focusing on the drive. WHAT if, this was a straight 30 hours (or less) (you could sleep in the car, eat in the car), AND WHAT IF, it was electric?

Since there is no deviation from the track, you can hit the speeds that you can, because you don’t need to worry about deviation or safety. That means on a straight track, you could go as fast as deemed safe from testing. In parts of Texas and New Mexico a straight track can go for 70 or so miles while the speed limit on the road is 65/70. If testing proves adequate, it may be possible to travel up to 150MPH on a straight track, reducing that single stretch from 1 hr, to 30 minutes. With battery/engine technology where it is, a Tesla P85 can go 295mi, on a single charge. With a straight away 295mi track, it would take you 4hr 20min to travel that distance, half the time at 150MPH.

Let’s use the Telsa P85 as a template for our efforts. At 4hr 20min/charge (charge being 70MPH consistent for 295 mi), the curb weight of the P85 is 4,647lbs. Some of that power is missing through the weight, what if we were able to cut this down? The duration of the battery should extend for longer.

Let’s talk power

We’ve already covered the Tesla P85s power, lets take into consideration recharging.

In later iterations of the rail car, the intention is to let it be auto fueled. What I mean is the battery tray be replaceable via robotics. How?

With a traditional Tesla Supercharger station, it’s similar to a gas station of sorts. You pull up (x distance from plug), get out, plug in and charge. Tesla is designing a charger that according to Elon “Btw, we are actually working on a charger that automatically moves out from the wall & connects like a solid metal snake. For realz.”. So, what if you were to remove that factor. Imagine being on a rail in the middle of the night, pulling up to a station in say Chicago, and in 30 seconds, having the battery tray removed, and a new one slid in, via robot, and having your car get back on the move. Given a cushioning system, if the ride is smooth enough, the power could be swapped out without the passengers even realizing (or waking up). During the day/night, these used batteries could be charged by solar (say areas like AZ/NM/TX) or grid (Northern NY/Chicago).

As technology improves, graphene could lead to improvements in solar that COULD allow a solar array (perhaps built into the cars body), to charge the batteries as the vehicle is moving through sunny areas (imagine going from CA through Kansas and never having less than 100% battery). Battery bays for swap out feeding back to the grid because of the efficiency in their construction. Additionally regenerative braking could also provide a better battery experience as well.

People Moving 

True, this is NOT for the intercity traveler. This is not to “kill” Uber, or disrupt Google’s self driving cars. If anything this would be disruptive to the airline/train industry. But the big question remains, “How are you going to share a rail with a 5 mile long train?”. Well, that has yet to be determined. While I have ideas (and they’ll work pending testing), I’m not professing that this will work smoothly, however it’s possible. I’m being vague, because I would like to make it further in test, under the radar, than be shut down right out the gates. We’ll come back to this topic after testing has taken place.

I entertain the questions that I get, and encourage more. It helps me solidify my plans and think about the things I haven’t had to up to this point.

I’m doing the engineering, planning, and will be doing the manufacturing myself as much as can be determined and if you have a skillset and would like to help, I encourage everyone to participate. Who knows, you may just be part of the next big thing.

Tagged with:
Posted in Uncategorized
Joe Manna

My Perspective on Business, Social Media & Community


Get every new post delivered to your Inbox.

Join 500 other followers