Archive for May, 2015

Microsoft Azure is Getting Very Close

Tuesday, May 5th, 2015

GoogleAppEngine.jpg

This morning I was reading about some recent additions to Microsoft Azure and so I decided to give it a look-see about what it would be like deploying some things I've been noodling on to Azure. What I found was really pretty nice. Almost.

Azure is getting built out as a series of services that you can add on - not unlike Google's App Engine, and Heroku - but in the case of the first two, they are all owned and operated by the parent companies, where as Heroku allows other companies to offer services to customers. What's different with Azure and Google is that they are about hosting more than a web service or app - Azure now has Batch Processing, Hadoop, Hive, Storm, and a host of other services that can all be brought to bear at the problem you are trying to solve.

This is very nice because Azure also has all the nice monitoring tools like NewRelic, as they own it all, so it's easy to see what's happening, and what you might need to do next. Very slick. They even have Machine Learning as an add-on with code you can write in R and Python. Not my favorite languages, but I get that these are the most popular for the platform, so I'm willing to go with it for now.

In all, I was very impressed with Azure - until I got to the technical details. Then I kinda felt a little cheated. Azure is (understandably) written to use Windows Servers as the back-end first. I can believe they might have linux in the plans, but it's kinda tough to work with Windows Servers underneath if you're writing batch jobs. After all, you need to know what you're writing on - and in the case of clojure, that's the JVM, and while the JVM runs on Windows Server, it's not anything I can reproduce easily.

That's not to say Azure is out of the running. Google App Engine can do many of the same things, but doesn't have the breath and depth of the monitoring - or the additional services like Hadoop and Storm. Sure, you can get machines from Google and put Hadoop and Storm on them, but that's forcing you to be in the role of administrator, and Azure is trying to take you out of that role - on purpose.

Google is giving you a little more choice on the lower levels of the stack, but isn't supporting you as well from a platform point of view. If I were going to make a relatively complex system, and didn't want to mess with the administration - because the performance wasn't that big a deal, and the cost of managed services wasn't too much, then I might really pick Azure.

But that's a lot of "ifs". Most of the times I'm going to know exactly what I need, and for those cases, Heroku is far more likely to be the choice.

Rainy Walking into Work

Tuesday, May 5th, 2015

Umbrella

This morning it was one of those days where I knew it was going to be a rainy walk from the train station to work. It was raining before I left the house this morning, and so I dressed accordingly, and carried my umbrella.

Generally, I don't mind rain. If rain were my biggest problem in life - I'd be leading a charmed existence. So I knew it wasn't a matter of if I got a little wet, it was really the wetness factor I was contending with. It wasn't a particularly warm rain, so I was glad I had my raincoat that's a pretty warm one - considering, and it kept the wicking to a minimum.

I got to work and realized that my umbrella had been a casualty of the rain - one of the rivets connecting an arm to the spreader had popped, and so I needed to see about fixing that. I gave it a good once-over, and thought paper clip. I walked over to the office supplies and picked up two - one a little bit bigger than the other.

I then sized it up, bent it back and forth several times to cause a fatigue crack, and then went about the fixing. I was able to put the "pin" through the spreader, and then the arm, and then used the handle of my scissors to bend it back on itself to keep from falling out. I was pretty impressed with the fix! It looks like it's going to hold for quite a while.

Still... I'm going to have to get a new umbrella soon. These large golf umbrellas are just too handy to not have one (or two) right there by the front door.

It’s Always the People

Monday, May 4th, 2015

Management.jpg

I took a walk with a friend today to get lunch. I had already eaten by they hadn't, and needed to get out of the office and vent a little. The problem they were having was a classic Little Red Hen story: someone does a lot of work - in this case months of work, and then when it starts to look interesting and executives are hyped about it, there's all kinds of folks wanting to take credit for the one person's work.

I've run into this quite a bit in the last decade, and I've actually come to bargain this with a manager. I let them take credit for the work, and they allow me to work in a way that I find most productive. In the end, they can take all the credit they want because there's no way anyone will really think they did it - they were the Manager - not the Doer, but they love the attention, and the sign on for more. Eventually, they are in a difficult position because they can't hope to have the same productivity from other people, and so the relationship becomes more symbiotic. Which is good.

But this is my friend's first experience with this, and I can remember being just as upset as they are, when it first happened to me. So on the walk to pick up a sandwich we talked about these problems, and what the real solution was. They were convinced that it was the structure of an organization that breeds this problem, but my assertion was that it's the people in it.

It's always the people.

Their point was that there was no need for the traditional manager in a successful organization. While I'm not saying that managers are required, I accept that most people who run organizations feel more comfortable when there's a Chain of Responsibility - if not a Chain of Command, so that blame can be assigned when things go wrong.

The only time I saw this not being used was in small start-up companies. There, it's assumed that everyone shares in the responsibility, and so there's no need or even interest in assigning blame. But when an organization gets big enough, and that size depends on the group of people, then it's either time to stop growing, or start compartmentalizing the organization, and that leads to the silos and the need to be able to attribute responsibility and it's evil alter ego - blame.

It's hard to forego growth when times are good. It's something I've learned first-hand at the company I started. You want to do well, and you are happy when things are going well. People are happy, work is good, and you think "Why not?" But that's what leads to this problem because the question is the wrong one to ask. Better would be "Why?"

It's not easy to do, I know. But if we had asked "Why?" more than "Why not?" - I might still be at that company I started. But I'm not, and it was a direct result of the decisions we made. In the beginning we had to achieve consensus... after several years, it wasn't required, and so we let it slide. That was a mistake. I wish he'd have asked "Why?"

Anyway, I was glad to let a co-worker vent today, and I got a nice walk to The Mart out of it. That's a win-win to me. But it's always the people... no matter how bad the structure is, good people will make it work. But even the best structure will be dysfunctional when populated with bad people.

Being Thankful for the Little Things

Monday, May 4th, 2015

Path

This weekend, Pastor Ross spoke about Philippians and how sometimes we need to be thankful and grateful for what we know will come - before it comes. And I know I've had many times in this chapter of my life where I've been unable to find the happiness in my life - but I can honestly say that I can't remember even once when I felt God had forsaken me.

Teaching me a lesson? Sure. The Bible is filled with stories of people that messed up and had to deal with the consequences even when they were profoundly sorry. So yeah... there have been a lot of times like that for me. I'd search my memory for things I did wrong - face it, it's pretty easy for all of us to remember when we did something we shouldn't have - and feel that was the source of the pain.

But I never felt that I was alone. Sad, in pain, isolated, punished - sure... all that and more, but not forsaken. Never once.

So I'm trying to be thankful for what might seem like the little things in my life. In reality, they aren't the little things they are the Timeless Things. Those things that are all around each of us that have the ability to make us smile... to make us stop and take pause for what they are.

This weekend it was the light coming through my bedroom window in the morning. It was just amazing. Simple, clean, just exactly how I wanted my bedroom to look, and with this amazing sunbeam coming through the white curtain I had hung my first weekend in the house, and spilling onto the bed. It made me smile.

Then later, I was talking to myself as I walked around the house, and when I walked into my bedroom, the echo changed, and it because what I can only really describe as "safe" and "protecting". At least that's how I interpreted the sound. I knew this house wanted to protect me... wanted to give me a place to feel safe and secure. Buying this house had been difficult. I had to keep fighting for it with the Bank. But as I look back now, it was one of the best decisions I've made in my life.

So there are a few things I'm very thankful for. The sunlight, and the house. I don't think of this as my house - it's more than 100 years old. I'm just the current caretaker. When I'm gone, this house will still be here, and it'll be someone else's. It's just letting me stay here for a while. I appreciate it very much.

Life is what we make of it. It's hard to remember when you're getting beaten up, but it's true. Some times it's a lot easier to have that view than others.