Saturday, March 29, 2014

Going back to my roots in more ways than one

The entrepreneurial bug has bitten me and I can't shake it. I keep starting projects that I think could be turned into something, but no lightning strikes yet. I am not shaken and my vision is clear. I will start something cool. When I do, it will likely be a mix of my tech savvy and my passions.

Anyone who knows me knows how ADHD  eclectic that range is. The thing I am working on right now is something that combines several of those passions and I am using some of my new skills that are actually quite old. 

I started doing web stuff in the mid 90s and started doing JavaScript in the late 90s to early aughts. JavaScript sucked, wasn't safe and almost never delivered the same results between browsers. DOM manipulation was wizardry that took enormous effort and was seldom worth the effort. CSS wasn't a standard, it was a notion. I wrote a booking engine for lasvegas.com that used what would become known as AJAX that I ultimately had to abandon because I had to write a version per browser. I hated web. I wanted out.

Then, I went C#. I worked without much soul for quite a few years. I learned all of the "right" way of doing things. Finally, I have come full circle. 

Now the project I am starting has moved back from C# land and into Web 2.0 SPA land. My world is over-flowing with buzzwords that end in -ify and -tly. Open source champions are made overnight on GitHub. It is intoxicating to see the amount of energy being poured into something I was once very passionate about.

As I develop the app, I will give snippets and lessons learned here. All 40 of you who read it may find it dull or maybe not. Let me know :D

Tuesday, March 18, 2014

Women in software

I guess I have had my head in the sand as usual about a problem that is at a crisis level in my industry.It has been a few years since I went to a conference and I typically get along with folks at conferences pretty well. I have never had a big issue with walking up to someone and chatting them up. Making connections is part of the charm of a conference.

This year, I noticed something disturbing. Several of the women (whose names and companies were advertised on their badges) that I tried to talk to seemed stiff, almost fearful. I understand some stranger-danger but these encounters were beyond that. These were more than cautious, they were fearful.

I didn't understand. As a happily married father of three, I look my age and my description. I wasn't flirty or leering. And yet, when I approached a female at this conference to have a simple conversation, there was a wall. I had to ask, "What gives?"

When I followed some of my favorite speakers on Twitter, I got my answer. It sucks to be a female in the software industry. The more I searched, the more embarrassed I became. I thought we had made progress in the last few decades, but I guess I was wrong. I thought we had fought our way out from under the sexual fog of misogyny and dominance in the tech sector. What I found is ridiculous. Dov Charney would blush at some of the crap that women endure to follow their passions in software.

Like I said before, I am a father of three. Two are girls. My blood went to insta-boil! If a boy treated my daughter like some of the examples I heard, I would be facing jail time. So gents? Here is a good rule: Just because you like it, doesn't make it fun. Fun should be victimless. If your fun leaves someone else feeling vulnerable, used, cheap, judged, second-class or in any way less than you, you need your ass kicked.

It isn't just gender. It isn't just race. If you are always looking for a boundary just so you don't cross it, you are already going too far. You are hurting your business, your family, your honor, your name, your children, your city, your beliefs, your image, your ability to ever work for my company or ever have me spend a red cent at yours. Stop!

My industry needs to start a conversation. I understand this is a two way street and there are certainly examples of women hurting the culture by being provocative. So what? My integrity isn't about who they are, it is about who I am. People unfit for a winning culture will wash out after we build the winning culture, not before. If we want a culture that can be looked to for sustainability, integrity and desirability, we have to look in the mirror before we act. We all learned this a long time ago: Follow the golden rule. Put yourself in the other person's shoes before you act or open your mouth.


Friday, March 14, 2014

The road forward for technology (something old is something new)

I never thought I would drink the kool-aid. I have known JavaScript for more than a decade. It was a terrible language and has managed to survive because nothing else came along that either didn't give one company all of the power of the universe or didn't just out and out suck (I am looking at *you* DHTML)

I just got back from the Fluent Conference by O'Reilly and I am convinced. With the modernization of the language, especially what is coming in ECMA 6, most of what we do with the Web as a platform will have JS involved. If you are a developer and are not actively working on a JavaScript project, you should start now. Today.

Let me unpack what I mean by that. First, JavaScript does have a standard. The body overseeing it is ECMA. It is just now coming up on its sixth standard for the language and what it should support in its engine. They don't actually put out the language like Microsoft does with C# or like Oracle does with Java. They just specify the standard.

Secondly, the argument that performance of an interpreted language versus a native language is almost completely dead and certainly not relevant in any meaningful sense. Because the execution containers are so amazingly fast, JavaScript can frequently outperform many other expensive platforms.

Most importantly the browser is no longer the only Web surface that is being reigned in by powerful, elegant and responsive JavaScript stacks. Combined with DB technology that may as well be the definition of scale, JavaScript runs Web services that can create a dynamite API that can drive Mobile Apps, Desktop Apps, Web Sites and your mom's broccoli casserole.

Just try it already:
WebStorm http://www.jetbrains.com/webstorm/
NodeJS http://nodejs.org/
MongoDB http://www.mongodb.com/