Misc

Just set up a HA linux cluster… like a BOSS! (JBoss, that is…)

Followed the incredibly easy startup guide from Keith Mayer, superstar – http://blogs.technet.com/b/keithmayer/archive/2014/10/03/quick-start-guide-building-highly-available-linux-servers-in-the-cloud-on-microsoft-azure.aspx

The Powerpoint deck is about 20 slides or so, incredibly easy to follow. But here’s a Cliff notes version for us Linux newbies out there:

  1. Log onto the Azure management portal. https://manage.windowsazure.com/ – the new one is fine.
  2. Create an Affinity Group (Settings -> Affinity Group). Call it something like LinuxForDemoDH or the like.
  3. Create a Storage Account. Click + (New), Create a Storage Account, then Data Services -> Storage -> Quick Create. Select your Affinity Group.
  4. Create a Virtual Network. (Network Services -> Virtual Network, Quick Create).
  5. Create a Cloud Service. (Compute, Cloud Service, Quick Create). Select your affinity group! I called this “linuxwebapp” in my example.
  6. Add a new VM from the Gallery.
    1. In this case I chose Ubuntu, Ubuntu Server 14.04 LTS.
    2. Called it “linuxwebapp01” but it really doesn’t matter since the frontend is set in #5 above.
    3. Uncheck the SSH key, and check Provide a password.
    4. Select your Cloud Service and your Virtual Network / Storage Account.
    5. Select the option to Create an Availability Set (call it Linuxwebapp or the like)
  7. Follow the above steps to add a second VM. Call it lxwebapp02 or the like. Only you won’t need 6e, just point to what you created then.
  8. Select your App01 VM and browse to the dashboard, then point to Endpoints and select + Add.
    1. Add a standalone Endpoint
    2. Call it HTTP – and select TCP | 80 |80.
    3. Select the option to create a load balanced set. Call it LB_HTTP.
  9. Follow the steps above for WebApp02, only hook up to an existing LB set.
  10. Look at the dashboard and note the name/port of the environment under the SSH DETAILS portion. Connect to it using a SSH client like bitvise, and use the azureuser account you specified last time. A Linux shell prompt will open. Enter the following: run sudo apt-get install apache2
  11. Follow the same steps on the second webserver.
  12. Now to test. Open up the App01 web server in Azure management portal and select the Dashboard, then look at the DNS name. Try to open it in a new browser window. If you can view the following, you’re golden!

That’s it for now. I’m going to try more automatic provisioning of my new highly available and scalable Linux webservers later today.

<news flash>Well I just got brought in on another firefighting task so my IAC (Infrastructure As Code) efforts will have to wait. See this post for the script I was going to follow: http://blogs.technet.com/b/keithmayer/archive/2014/12/01/step-by-step-automated-provisioning-for-linux-in-the-cloud-with-microsoft-azure-xplat-cli-json-and-node-js-part-2.aspx

 

 

 

 

 

 

Getting caught up in February… the Disapproval Matrix and public speaking tips

A few quick notes before I have to go…

And I love the Disapproval Matrix (otherwise known as the Quadrant of Criticism) here – although it contains salty language. http://annfriedman.com/post/49152967734/in-my-ongoing-quest-for-the-perfect-framework-for

Our initial reaction on receiving criticism is to 1) attach the critic or 2) retreat into a hole and say, “I stink and everything I’ve ever done is worthless!” Neither is a good reaction. Instead, like the Arabs say – “when you drink water, consider the source”. Consider if the person 1) knows you and 2) is rational. If they know you and are rational, they’re Friends. If they don’t know you and are rational, they’re Critics. Both are valuable and should be evaluated – we’re not perfect and course corrections are necessary in life. (Imagine a driver on the freeway that refused to never change course!) If they’re irrational and either know you or don’t – IGNORE THEM.

Saw a great article from a MSFT architect on public speaking. Here’s his tips:

  1. Think about presenting things in a new way or light.
  2. Start strong. You have 30-90 seconds or you’ll lose them.
  3. Have something to say. What’s your key point?
  4. Say it well.
  5. Stick the landing. (leave them with the 1 thing they need to hear.)
  6. Practice.
  7. Be yourself.
  8. Don’t let your audience steal your energy. Don’t look at that guy yawning in the fourth row for example.

People over Tech?

“Where there is a multitude of counselors, there is achievement.” – Proverbs

Food for thought here – “The First 90 Days” – a great book on transitioning – brings out that people get into a vicious cycle that leads to failure by doing the following:

  • They start plowing into technical books trying to master their craft, or trying to master tech tools used within the company
  • They nurture relationships with people above them – their boss – and people below them, but not their peers

What’s the problem with this scenario? Well, anyone who focuses on the ability to do the job – proficiency – over people will put themselves in a vulnerable position. You’ve been hired for your technical ability; but people get fired because of their personalities. Specifically, a new employee that ignores the makeup of people on the team; who fails to nurture relationships with teammates, is depriving themselves of allies and the real information – the experience – that they need to be successful. Inevitably relationship- and reputation-destroying mistakes will be made – embarrassing blunders that could have been avoided with a little more care to the people side of things.

A good friend once took me aside and said, “Dave, in the end, people are the only thing that matters.” Instead of doing what I want to do – the easy thing, burying myself in books, videos and resources in mastering my tech stack – I’m going to focus on people and relationships. I’m also going to try to learn with the more indirect personality types that seem to abound in IT. This is the harder road, but I think – a little more rewarding.

 

“Treat Others The Way You Want To Be Treated” – the DiSC Profile

I’m not going to belabor this point, but people are different – and must be treated as individuals. Direct and Indirect people definitely interact differently and without realizing it can easily offend each other through misunderstandings. I learned as a “D” personality type hooow important it was to rely on the more introspective, careful “C” and “S” types on my team – they would produce more careful, repeatable results, and catch mistakes from being a little too impetuous!

Here’s some phrases and keywords I noted from a recent class on personality profiles. If you’ve taken a Meyers-Briggs personality profile, you’ll recognize this immediately. For the record, I’m a D/i type – and rank near zero on the S and C end of things.

  • D
    • We say…
      • Here’s how I think we should do this…
      • “Let’s get this done”
      • “A good plan today is better than a perfect plan tomorrow”
    • We do…
      • Decisive, direct
      • Budget or results-oriented
    • We hate….
      • Impatient with people who are passive
      • Second guessing
      • Behind the scenes politics. We prefer to do things in the open.
    • Could do better….
      • Once you make a plan, stick to the plan (unless it’s proven wrong) – i.e. don’t revisit things
      • Meetings must have an agenda and an outcome.
      • Discuss openly different points of view.
  • i
    • We say…
      • Maybe we should do it this way
      • Right on! (collaboration)
      • Stay focused and on point
      • How can we do this differently?
    • We do…

      Summary / trending

    • We hate…
      • Unorganized
      • Rushed
      • No objectives
      • Don’t like wasting time

       
       

    • Could do better…
      • We like feedback, teamwork, structure
      • Detail oriented, we like to stand out, we like big rewards

 

  • S
    • We say…
      • Have we thought this through?
      • Let’s make sure we know the whole plan before we start
    • We do…
      • Heads down analysis
      • Double check / reaffirm
    • We hate…
      • Vague instructions or directions
      • Unqualified feedback
    • Could do better…
      • Clear swim lanes
      • Articulate “why”
      • Thoughtful feedback
  • C
    • We say –
      • Get it right the first time
      • What problem are we trying to solve?
      • How do we define success?
      • Separate fact from fluff
    • We do:
      • Identify and Interview Stakeholders
      • Gather and understand requirements
      • Ensure quality
    • Don’t like
      • Doing things fast and sloppy
      • Telling you to do something without knowing the details/difficulty
    • Could do better
      • Give actionable data – not just talk
      • Give enough time to do things right
      • Understand roles and responsibilities

The Chinese Treasure Fleets and Microsoft vs Apple; and checking in on productivity

Microsoft hatchet job: Reading this article here I couldn’t help but grit my teeth. This is a little like that memorable Vanity Fair article hacking away at Steve Ballmer for being a klutz. The author basically says that while Facebook, Google, and Apple all have compelling reasons for existence – Apple with simplicity of design, Google with organizing the world’s information, and Facebook with connecting people – Microsoft currently lacks that clear distinction. As a result, there’s a brain drain where creative, talented programmers are leaving for other platforms.

This point of view is simplistic and WAY negative; it ignores the strengths of Microsoft as a company, and overemphasized the weaknesses. In my opinion, “devices and services” alone wasn’t enough of a niche for a 200K+ sized company like Microsoft; and there’s way too much competition in that space anyway. By starting from an office and meeting-type strategy – “we’re about productivity and building a platform for mobile and cloud” – that’s playing to the enterprise, MSFT’s great strength. Think about it like the board game Risk. At this point, MSFT isn’t messing around in Asia. They’ve holed up in Australia, and are stockpiling armies/cards so they can reestablish themselves. Azure, Surface, Windows 8.1, Office365, etc are all great products that are getting better – they’re starting to get a bigger footprint in the consumer space that was starting to slip away.

Microsoft made a great mistake 15 years ago not spending more on marketing; they allowed those dang John Hodgman Apple vs PC ads to define them as being stodgy and conservative. Worse was the grain of truth behind those ads; they badly missed the boat and have been playing catchup with the BYOD and tablet revolution. That being said, they’re still the best company out there for developers because of all the great ramp-up documentation that exists. I love the thinking behind Xamarin – where you can write one set of common code and still have platform-specific application development. There’s still not a company on earth that’s better able to give the guys in the trenches writing code a leg up. That’s I chose them over Oracle twenty years ago; I’d make the same call today.

In the book “Guns Germs and Steel” Jared Diamond faults a strong, gigantic central government in China as being a major contributing factor in limiting growth in China. Because if one guy (the emperor) didn’t like ‘risky’ adventures like what Christopher Columbus and others were undertaking, he could outlaw them. So, the old Chinese treasure fleets – instead of growing and taking part in the age of Exploration – rotted at the anchor in harbor, because they represented something new and scary. A European king didn’t have that luxury – he had to compete, innovate, or perish. In fact, Apple and Microsoft have very similar top-down hierarchies, and both – believe it or not – are very resistant to change. Apple was lucky enough a dozen years ago to have a true visionary at the helm who could winnow down the product line into a few compelling products – the iMac, Os X, then the iPad/iPhone/iPad and etc – and put design first, the consumer first. It already shows signs post-Jobs of losing traction in the marketplace against more nimble adversaries. Microsoft, in contrast, has suffered comparatively, but the new leadership comes from a web-first background. Microsoft’s true competition now is Google, and Microsoft’s abilities to support the enterprise far outstrip Google’s; I believe ultimately they’ll be successful in winning their way back into the minds of today’s consumer.

Time management check-in: I did an article on time management a week back. Let’s just say its been a mixed bag since then. My inbox is empty and is staying that way; I’m checking my inbox three times a day. That frees up a lot of mindspace for more important work. I do love the 1:1 format with OneNote, and I’m using that with my manager currently. I’m also scheduling my “frogs” for first thing in the morning for two hours – not every day, but when I can. The downside? I haven’t been able to use Pomodoro consistently, and I don’t think it’s appropriate for my job. Others in my role tend to be very reactive and highly responsive, since that’s what the customer base values – I need to look like them and act like them to be successful. Being offline for 50 minutes ‘focus time’ and then 20 minutes ‘break’ just won’t cut it. But, as a programmer, that would have been invaluable.

Things I Learned from Getting To Yes – and Negotiating like a Winner

One thing about good business books – they’re few and far between. Most just parrot previous books – with a few nicey-nice feel-good stories thrown in.

I really enjoyed Getting To Yes. The best nugget of advice I found towards the end. “Don’t ask ‘who’s more powerful?’ If you conclude that you are more powerful, you may relax and not prepare as well as you should. If you conclude that you are weaker, you will be discouraged and again not devote sufficient attention to how you might persuade them. In fact, a great deal can be done to enhance your negotiation power even when the resource balance is one-sided. You won’t find out what’s possible unless you try. Sometimes people seem to prefer feeling powerless and believing that there is nothing they can do to affect a situation. That belief helps them to avoid feeling responsible or guilty about inaction. It also avoids the costs of trying to change the situation. It is a self-defeating and self-fulfilling attitude. The best rule of thumb is to be optimistic – to let your reach exceed your grasp. The more you try for, the more you are likely to get. Studies of negotiation consistently show a strong correlation between aspiration and result. Within reason, it pays to think positively.”

Four elements of principled negotiation

  1. People – Separate the people from the problem.
    1. Be soft on the people, hard on the problem.
    2. Proceed independent of trust.
    3. Understand the role of perception. Out of a mass of detailed information, people tend to pick out and focus on those facts that confirm their prior perceptions and to disregard or misinterpret those that call their perceptions into question… the ability to see the situation as the other side sees it is one of the most important skills a negotiator can possess.
    4. Have the other side participate in the process to give them a feeling of participation.
    5. Make emotions explicit and acknowledge them as legitimate. “You know, the people on our side feel we have been mistreated and are very upset. We’re afraid…”
  2. Interests – Focus on interests, not positions.
    1. Explore interests.
      1. Acknowledge their interests as part of the problem. “As I understand it your interests as a construction company are… do I understand you correctly? Do you have other important interests?”
      2. Be specific on your interests. “Three times in the last week, xxx”
      3. Use cognitive dissonance. By expressing strong support for a company representative personally while strongly attacking the company’s stance, the listener will hear an inconsistency and subconsciously work to reconcile it.
    2. Avoid having a bottom line.
  3. Options – Invent multiple options looking for mutual gains before deciding what to do.
    1. Brainstorming- define the purpose, choose a few participants, change the environment (informal), and choose a facilitator. Clarify ground rules and set participants side by side facing the problem. Record the ideas in full view. Afterwards, star the most promising ideas, and set a time to evaluate the ideas and decide.
  4. Criteria – Insist that the result be based on some objective standard. (Yield to principle not pressure. Reason and be open to reason.)
    1. Have a BATNA – a Best Alternative to a Negotiated Agreement – in your back pocket. The better this is, the greater your power.
    2. Use the one-text format (a written proposal) back and forth w/yes-no voting by opposing sides with a mediator.

Phrases to Remember

  • “What concerns of yours would this proposal fail to take into account?” (don’t defend your ideas, invite criticism)
  • Ask them what they would do in your position: “If you were leading this association, how would you act?”
  • Recast an attack on you as an attack on the problem: “When you say that xxx, I hear your concern about XXX…What can we both do now to reach an agreement as quickly as possible?”
  • Silence is one of your best weapons. Use it.
  • “Please correct me if I’m wrong. Have we been misinformed?”
  • “We appreciate what you’ve done for us.”
  • “Our concern is fairness.”
  • “I must not be making myself clear. Of course xxx… But that’s not the point. More important to us than making a few dollars is the feeling of being treated fairly. No one likes to feel cheated. We want ot handle this problem fairly on the basis of some independent standard, rather than who can do what to whom.”
  • “Trust is a separate issue.”
  • “Can I ask you a few questions to see whether my facts are right?”
  • What’s the principle behind your action?
  • Let me see if I understand what you’re saying.
  • Now that I think I understand your point of view, let me talk to my partner and explain it. Can I get back to you tomorrow sometime?
  • Let me show you where I have trouble following some of your reasoning.
  • One fair solution might be….
  • If we could reach agreement now, X. If we can’t reach an agreement, Y. We are extremely reluctant to take that course. We feel confident we can settle this matter fairly to your satisfaction and ours.
  • It’s been a pleasure dealing with you.

Common Tricky Tactics

  • Phony facts. (If you can’t verify it, its not a fact.)
  • Ambiguous authority (giving a second bite of the apple) – going to a second person for approval. Ask first, “Just how much authority do you have in this particular negotiation?”
  • Dubious intentions.
  • Psychological warfare. (short chair, back to the open door, sun in eyes.) If you find the physical surroundings prejudicial, do not hesitate to say so. Suggest changing chairs or taking a break/reschedule.
  • Personal attacks. (“Looks like you were up all night. Things not going well?”)
  • Good guy / bad guy routine
  • Threats
  • Extreme demands
  • Refusal to negotiate
  • Escalating demands (Yes, but there is one small problem…) – Call this to their attention and take a break.
  • Calculated delays