Evolution: Process Trumps All

3D view of Mar03wjc1bOnce upon a time, software was sold on disks that were actually floppy. They were encased in boxes, with user manuals.

Then the disks were no longer floppy, but they were called floppy as a sacrifice to the Gods of Inaccuracy.

Then the Internet came along, and you could buy the boxes over the Internet.

Then you could download the applications over the internet when you purchased them.

And finally, Software as a Service (SaaS) came into being, and all was basically the same only faster (and with significantly worse documentation).
And the people were generally as miserable as they were, and could be disappointed at a faster rate when they found bugs, or when systems went down, or when their internet access was sloppy.

The real difference between competing companies now is how they produce and maintain the software. That’s the process.

Bugs happen. How fast can the bug be fixed, without introducing new ones? That’s the competition. That’s where competing companies actually should be competing, because the faster a company can fix bugs, the faster it can implement things as well.

That boils down to Software Process. And that’s why Agile, Lean, DevOps and so on are so important.

Because nobody is ordering boxes from the back of magazines anymore and getting it in the mail a few weeks later. They want it now.

If you don’t even have a software development plan (SDP) for a project, you’re already behind.




The Long, Dark Tea Time Of The Career

NSB SunrisePeople don’t write about this stuff. I decided I will.

Without going into the details, I left the last job after a resignation, taking it back, and after realizing it was the same thing, resigning more efficiently. It’s not a bad company. It wasn’t good for me.

Let’s leave that where it is.

I had irons in the fire, of course. In a lot of ways I still do. I already had bad headhunters annoying the hell out of me, and some good headhunters with some interesting positions. I was courted by some CEOs and CTOs through LinkedIn.

That was a mistake. There are jobs, and there are careers.

Some things came into play and suddenly I had more breathing space to think about it – freed from the tyranny of income for a period, I could stop. Reflect. Think. Feel. Assess myself, inventory myself, decide what comes next. It’s a luxury in this day and age where salaries don’t allow for the mobility that they once did (and, kids, they did). If you have the luxury, though, you should take it. Taking it I am.

It took me about 3 weeks to forget about the last place I worked – not completely, mind you, but in some ways a job is like a shell – it provides safety once you conform to the inside of it. As I told my last boss at the beginning of 2016, “ultimately the only thing an employee can control is whether or not he or she works at a company.”

After the 3 weeks had passed, I found that I had been doing more creative writing again. I had dusted off my camera and started shooting again. I started reconnecting with people who I  had lost touch with, as one does when one gets into the intellectual toil of more work than play. I recognized myself a bit more every day, like a stranger becoming acquainted with a reflection in the mirror.

A friend at a coffee shop asked, “Why don’t you talk down to people like other software developers do?” I paused. I thought.

“I guess I outgrew that at some point.”

I have. I’ve outgrown a lot of the bad things and have evolved beyond being a Software Engineer, or a Writer, or a Technical Writer, or a Consultant. I transcended technologies some time ago, becoming agnostic after having spent time in the Microsoft corporate code caves and the Open Source code caves. The leadership qualities became more pronounced, my patience for the mistakes of others had grown and the lack of patience for mistakes of others had also grown. I’ve been published, suffered the editing of others and rejoiced at how they helped me grow.

I watched all manner of software process succeed and fail, and understood why. I pick up technologies like some pick up novels but I have become a picky reader. After seeing languages, technologies and architectures wax and wane, you become picky. That cool new technology doesn’t impress me if it does nothing new, and just because you can develop faster in it doesn’t mean that the end product is better. Typically, the faster you can develop in something, the more dependent you are on third parties that don’t care about your project.

I clean up ok.This guy is pretty different than the kid who started off in the late 1980s with the only real aspirations of getting out of a miserable household and being a professional computer programmer. Right now, that guy on the left doesn’t exist. His hair is unkempt, a full scruffy beard across his face, his focus inward. The man who would normally go out of his way to help his friends is suspended in carbonite, a caricature of a guy who shot first. It’s not selfish, it’s self-preservation. It’s coming to grips with what comes next, figuring out what that guy needs, what that guy wants – who that guy is. The kids aren’t going to understand this, and I imagine people with families at my age are too busy to dedicate some time to thinking about it until their children have not only left the nest but have stopped calling for money.

You see, you’re not supposed to write about all of this. In society, it’s taboo to write about this sort of thing publicly until well after the fact. To do that, you’re supposed to have that success that comes from a magical period like this – but that’s uncertain, fickle and cliche. It lacks originality, though originality is not something that is admired as much as people would want to think in this world – take a read of “Originals: How Non-Conformists Move The World“. It’s harder to live than to read about, like most things.

I have a deadline. The second week of May, 2016, for no good reason other than Cinco de Maya with Tequila seems like a bad time to make life decisions.

Avoiding Complexity In The Software Process

ComplexityOne of the greatest enemies of software is complexity, since it invariably leads to Software Entropy. It increases the cost of producing software. The good news is that we’ve gotten better over the decades at assuring best practices steer away from complexity – but sometimes people who implement the software processes themselves do not understand the why of things and create complexity in the software process itself – and even create new and interesting problems.

A simple thing like code reviews can be made complicated by different disciplines sharing the same space. Let’s say that you have code that uses stored procedures. Clearly, you’ll want a DBA doing the review of the stored procedure(s) and table changes – you might not want to call it a code review, but it is a review of a sort. Would you create a new column on your Agile board to track DBA reviews? I would hope not, if you’re using a decent tracking system. You can expect a DBA to make loud noises about them being so different, but if you take a step back… it’s just another type of review that can stay on the board without adding complexity to the board.

Further, differentiating that from the other reviews almost always assures that the code review and the review of the SQL related code is done separately – and since they will go into Production together, it would make sense that the reviews be synergistic. The Software Engineer and the DBA should review together, not separately, so that there are no assumptions made. The short term ‘gain’ of doing them separately results in a potential loss of quality.

How could it be done? Sure, the DBA needs to know to do the review, but that can be done by assigning two people to the review (a DBA and an Engineer) or creating two linked tickets for the same issue and making sure that the review is done at the same time. Simplify, simplify, simplify.

Simplify. It will take a little more time, but it will avoid quality issues – and keep your Agile process more simple.



The Future Is Not The Enterprise You Know

Greetings from Guyana to New YorkStory time.

When I was in Georgetown, Guyana in 20051, I snapped that picture of the television in my room. People called in to the station to relay messages to expatriates in New York so that they wouldn’t incur the cost of a phone call from the local phone company.

In the developed world, or the Global North, or the West, or whatever you want to call it, VoIP had already shaken telecommunications by 2005 and won. In the other parts of the world, state-owned or subsidized telephone companies fought to stay relevant.

In the context of Guyana, it took until 2015 for the Caribbean Court of Justice to rule against the telephone company. And I imagine that battle isn’t over. It’s certainly not the first time I’ve seen it in my travels, and it’s not the first technology either. It also won’t be the last.

Having now worked a bit directly with telephony and SIP trunks, spending late nights catching up to where the company was and then studying beyond it2, I have a good feel for what is possible. And I also know that the future is global, that infrastructure is subject to licensing across geopolitical lines, and that technology waits for nothing but ideas whose time has come. Having been involved at the World Summit for Information Society level at first directly and now vicariously, to get global the industries built around Enterprise have to change. Having been a part of a Pre-twitter clone (we copied them when we grabbed a flux capacitor?), we saw things change a year before Twitter. That change is coming regardless of how much people are in love with the present enterprise. Evolution awaits no one.

So, what’s the future?

We hear a lot about the Internet of Things (IoT). How disruptive it is. Most of that is marketing hype to get all of us to buy things that we really have no need for – and, to be fair, people usually buy it for reasons that I might write about on my other blog3. Behind all of that is an undeniable force of change that goes beyond the buzzwords.

A few data-points to draw the line for you.

Data-point 1: Telecommunications infrastructure is no longer the product it once was because of SIP (which most of you know as VoIP, but it’s bigger than that). It’s about the on demand use of the telecommunications infrastructure. You can think of it as time-sharing real estate without the need to worry about the last person leaving dishes in the sink.

Data-point 2: The laws governing telecommunication infrastructure vary across geopolitical lines and proceed at the rate of the internal geopolitical bureaucracy. That’s a nasty factor that everyone should know, but most people don’t.

Data-point 3: Oh, that little Internet of Things has spawned all manner of things, like the 10 Pine64s I have coming next month. I’ll be clustering those for my own purposes – but imagine those as part of a solution that, for less than $500. Do you think I’ll be paying Oracle or Microsoft for licensing for a database? If you think so, you’re nutty and should have your head examined. Even open source DBAs are cheaper.

Data-point 4: Bitcoin brought the block chain to light.  Think of a client as part of a Peer to Peer network where the client deals with licensing within their geopolitical sphere (see 2), thus avoiding licensing fees across geopolitical boundaries wherever possible, and otherwise diminishing them. Take a look at this post on blockchain, posted by Arvind Krishna, Senior Vice President and Director, IBM Research. Or consider how Microsoft has been rolling Windows 10 out… peer-to-peer.

Data-point 5: Open source software has come so far that the cost of the software itself for applications has diminished significantly – you don’t pay for software, you pay for the changes to it if you want the changes… or you pay for people to configure it for you.

Data-point 6: ‘Big data’, another overblown marketing phrase, is a driving force that will not be stopped – it will hopefully be curtailed for reasons of privacy, but again and again the world has shown that it abhors censorship and will – at the cost of individuals, corporations, or entire governments, if necessary – be had.

What does it all mean?

It means that a company’s infrastructure, unless it’s spread out over a large area, is pretty much going to be an antique soon. People espousing details on the how of Software Engineering will develop are likely to completely miss the what of the development; the what of development should be defining the how (Software Process 101).

The ‘data-center’ will not die. It will become less important and probably used to roll out continuous integration to a peer-to-peer network of SaaS. Data will make its way to whatever monstrosity of a database that’s out there, and if I were a betting man I’d go with Oracle more than Microsoft on that since they’re acquisition of MySQL probably wasn’t an accident. Sure, it’s not an RDBMS, but what’s the most used database on the Internet? And who now has a thermometer?

It’s happening. Now.

1: Doing some volunteer work with St. Joseph Mercy Hospital. IBM had quoted a million Guyanese dollars to do the local network for the hospital; we got a group of volunteers around the hospital to do it for the price of a pizza on a weekend. Sadly, because of internal bureaucracy, the network was not used when I left, but I do hope that changed in my absence.

2: Trying to plan for the future like any good engineer.

3: RealityFragments.com, where I focus on more creative and opinionated writing on things that aren’t technology.

What Society Wants.

Digital Divide; Society Divide.Since I’m writing about technology related things, it makes sense that I talk a little about society. After all, technology is a tool that society uses for a variety of things – from million dollar lawsuits over flatulence based applications to ‘sex beds’ in Second Life having copyright issues to… oh, things that very few people see as meaningful. As a society, we’re kind of like kids and we want to play, eat sweet things and have everything catered to us. No, maybe not you. After all, you’re reading this… but take a look around at what is popular. Take a look at

That’s all open to argument, I suppose – I’m a bit cynical of late – but the point is that as a general rule, society pretty much tells us what it wants from technology. It wants stuff that is easy, that is fun to use, allows us to be healthy while tasting perfect, that boosts our sex appeal even when everyone else has it, and so on. This is a bridge a bit far for us, so let’s keep it simple.

We want to have tools that allow us to do things with less effort. Plowing fields? Yeah, got a tool for that. Shoving metal pieces into wood, or even twisting them? We have tools for that. Boosting your social media presence? Well, we allegedly have tools for that.

So what is it, exactly, that society wants?

Stuff that makes doing things simpler. And the stuff that makes doing things simpler should be simple.

And that requires a fairly high level of complexity to create it.

Behold, the cognitive dissonance of humanity.

Apple vs. FBI: Hedgehog Factor

Sonic the HedgehogOn the old site, I wrote quite a bit about the Hedgehog’s Dilemma and how it applied to social media. I didn’t write about my own experiments with code, what I found, etc. – and that’s because I didn’t fully understand what I found. I still don’t. But I think it’s appropriate to bring it up now in the context of Apple’s amazingly open battle against the government about backdooring it’s own phone. It almost sounds like forced incest when you put it like that. Give me about 4 paragraphs before I make the point, OK?

So, first, the Hedgehog’s Dilemma itself. I like what Schopenhauer wrote:

A number of porcupines huddled together for warmth on a cold day in winter; but, as they began to prick one another with their quills, they were obliged to disperse. However the cold drove them together again, when just the same thing happened. At last, after many turns of huddling and dispersing, they discovered that they would be best off by remaining at a little distance from one another. In the same way the need of society drives the human porcupines together, only to be mutually repelled by the many prickly and disagreeable qualities of their nature. The moderate distance which they at last discover to be the only tolerable condition of intercourse, is the code of politeness and fine manners; and those who transgress it are roughly told—in the English phrase—to keep their distance. By this arrangement the mutual need of warmth is only very moderately satisfied; but then people do not get pricked. A man who has some heat in himself prefers to remain outside, where he will neither prick other people nor get pricked himself.

This is the battle within social media and networks with their consumers and the government. It’s constantly shifting. Personally, I’m amazed at how much people give away to simply have social connections of convenience – but it somehow works. So we have people’s expectations and wants of privacy, varying from person to person, across a network. But privacy is also intimacy, and privacy is largely a matter of how much one wants to be intimate with someone else – not everyone else. So we’re lax about privacy because we don’t consider much of what we do to be a personal space.

Cross into that intimate space, and bad things happen. People get upset, talking about privacy. I suppose in myself, my intimate space is a vast wasteland and I take it more seriously than others do, projecting that into how I interact on social media and networks without actually sucking too much at it. It goes beyond settings hidden behind a gear icon. It’s how much you share, what you share, etc.

So I’m going to drag this home. What’s at stake is the government forcing Apple to backdoor – to create something that wasn’t there – their own device, where so many people now keep their intimacy.

The Hedgehog factor, you see, is intimacy.



About 2 months of WordPress.com

So, I switched from running my own Drupal site, managed over decades, lost more than once (because of hosts and their odd way of doing things). I switched over to here on WordPress.com.

Granted, I don’t get to look under the hood. But I don’t want to look under the hood.  I know what’s there and if I’m REALLY interested, I can download a copy and throw a fix at the project for something that bugs me. That’s pretty awesome.

Anyway – so almost 2 months. And I’ll tell you something…. though I am not the most predictable of writers on the Internet and haven’t amassed the large number of posts I made in the 90s and early 2000s, I can tell you that I feel like I’m writing more adequately just because I don’t have to consider doing anything else when I want to write something. Sure, I could write things offline, but we all have our own tics.

This site has begun doing what I intended it to do. Be an outlet for some of my creative writing while allowing me to be a user and understand what people actually want (rather than being lead to what other people think people want). It has kept me from furrowing my brow when I thought of the site.

It’s like a well worn pair of jeans you can’t throw away.

I’m not elated. I don’t get elated for jeans, either, for that manner. The requirements are actually pretty low for what I want a content management system to do for me – but amazingly difficult to find.

So on a scale of 1-10, I’ll give this a 7.

But on a ‘worn jeans’ scale, this site is a 9. I like comfortable jeans.