The Flooding Saga Of Mosquito Creek

Will They Ever Finish The Goodineaux Bridge Repairs?Mosquito Creek, in Southwestern Trinidad, could be a comedy of errors committed by a confederacy of dunces over decades. To locals who have to trek through it daily, it is much the same without the comedy. It has moved from drama to the mundane, a tribute to how things do not get done in Trinidad and Tobago.

And recently, the flooding. In fact, I’m tired of writing about this over the years – the picture is from 2010, which is by no means when this all started – I just happened to have the picture. And the reason I write this? A video that I have been tagged in on Facebook so many times that I tire of responding to it.

The video proffers a solution to flooding on Mosquito Creek that is not expedient, that is flawed in that it doesn’t actually resolve anything other than adding a few man-made reefs to the equation. That it is so popular is a testament, I suppose, to the cultural inertia regarding projects done by any government: Plans cannot be changed.

But plans need to change. The roadway exists between marsh and sea, with the Godineaux river entering the Gulf of Paria. And flooding, dear reader, is about flow rates.

We’ve all experienced a clogged drain – where water enters by faucet faster than it can exit the drain. The sink floods. It’s this level of thinking that has people coming up with things that they think are solutions, but they don’t seem to understand the greater issues involved.

First and foremost, the road is not a natural addition. Use over the decades has compacted soil underneath, which means that water cannot naturally flow between the marsh and the sea. When it does, we call it flooding only because we built an easy road for expediency that has increasingly become more painful to use and maintain.

The right answer is to do an overpass there and allow the water to do what it does: enter and leave the mangrove. Why is this important? Because the Godineaux River cannot always push water out – it’s a clogged drain – and for those of you with a fairly modern sink, you might find under your faucet the overflow. The mangrove to sea path is the natural overflow. This is just basic science applied with common sense, something that the Environmental Management Agency and Ministry of Works and Transport should have on tap through at least one person that is listened to. Lo, this is not the case.

So what happens when we get heavy rains in poorly developed areas (they are) that tries to get out to sea in that path? Blocked by the road, the water has no choice but to go onto the road. Thus, flooding.

Plus, too often do we forget that drainage in Wet Season has to be balanced by water retention during dry season. Streamlining waterways will make for drier soil during dry season, and this turns to dust and dust blows away. Soil erosion by wind, and farmers have less water for their crops.

As Trinidad and Tobago has developed haphazardly, where Town and Country operate at a pace that snails laugh at, people do their own development without thought to the bigger picture. Even with approvals, some suspected to be assisted by a bit of grease to the wheel, you’d think that the EMA and Town and Country would require retention ponds to balanced reclaimed land. One would think.

So while we complain about a major artery of traffic for South West Trinidad, the real problem is much more complex. The solutions are simple.

Sufficient retention ponds along waterways to accommodate flooding. The road on Mosquito Creek Creek should either be rerouted or made into an overpass to let things flow more naturally below the road – not that we’re particularly good at building and maintaining roads in Trinidad and Tobago. And what does this require?

It requires people with common sense and a working knowledge of science to be in the right places, focused on the greater good instead of the personal good or expedient. Ultimately, that seems to be the real failure.

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.