Excuse me, what language do software architects speak?

I have heard people say I am a technologist because I want to change the world. I don’t argue with them. They don’t understand how inane that sounds when they say it. So its best to pack your bags and consider them a lost cause.

As a technologist I am trying to make the lives of those touched by technology better. In some ways removing complexity from where it is and replacing it with simplistic. Speaking English instead of techspeak. If you tell them how smart you are, they are going to suspect otherwise.

There are ways to make things easier. The complexity of technology is often the language we technologists use. That isn’t by the way a condemnation it is simply a fact. Professions create their own languages to communicate within their profession. That is a typical response to language. The problem isn’t new words, it using existing words differently. Network means connect with people to realtors, to IT people it is the way computers talk. A technologists would say you use social media to talk to people. Every profession does it, and frankly English is far to pliable a language.

Perhaps as part of the simple software architecture movement we should create an Esperanto of technology. A simple language that anyone can learn so that we can express the terms and ideas of technologists easily. That way we don’t further destroy English. A language that has been stretched beyond its ability to exist by the many professions that have changed it to fit their needs.

There is an old joke about two men at a bar arguing about a word. The bartender leans in and says you are both right. I never got the joke until recently. You see both were using the word correctly but as it was a Doctor and a Lawyer sitting at the bar they weren’t speaking the same English.

Simple.

There is a universal cross cutting belief in the KIS process (Keep it simple). Everyone pays homage to that phrase. Every profession uses the phrase. They add the components of their profession to the language, and profess they are adhering to KIS.

In fact they aren’t. My profession, software architect, is one of the newest and pretty bad at coopting the language for our purposes. It makes communication harder when you are allowed to use words differently than everyone else.

Its why we have dictionaries. But then every profession has their own dictionary. Yes, this word means blah according to Webster’s or Oxford. But in my profession it means hah. Hah and Blah are different because my profession says so.

So let’s end with the joke but let’s fix it. Two people, a female doctor and a male lawyer are sitting at a bar. They are talking about the world liability. The doctor explains that in the medical profession they call liability Hah. The lawyer explains that in the legal profession they describe Hah as malpractice. The bar tender leans in and says “do either of you need another drink.”

.doc

dreamer…

The turn lane is closed pending pothole repair!!!!!!!!!!!!!!!!!!!!!!

I keep rolling back to the thinking I’ve been doing around the concept of 3d laser mapping. I really want to play with one of the cameras that does the actual mapping. The mapping software is probably fairly intense in terms of disk, CPU and other impacts on a computer.

Like sonar, it creates a map using the laser to measure the distance. Spike (from Ike) is a tool that will do that for distance. There are a number of tools that will map objects for 3d printers as well. I laid out a bunch of uses for the mapping results.

It’s the same mapping concept used in medical devices. Mapping the internal organs of a person and seeing if things aren’t the way they are supposed to be. Which is what/where I started thinking last night. The creation of data is easy. We generate more data every day.

Analyzing the produced data is the important thing. Subtle variances in what is scanned. My initial use case was the highway departments using drones to fly roads and mapping them, able to detect the variance at 3 in the morning that could be a very expensive pothole at 7 in the morning. Given that a pothole at 50 mph will cause more than just tire damage and most people file a claim, reducing the potholes on busy roads would be a cost savings for the government. They have people patching the holes anyway use 3d mapping to dispatch them intelligently.

That got me thinking about the concept of connected GPS (there are a number of solutions that support that today). Where you can on the fly reroute a fleet vehicle. Nearest to the pothole gets routed to the pothole.

Using that model we could fly drones over every building in the city and map the roofs. During emergency situations the fire department can fly drones over the roof again and see the differences. It would allow fire captains to make decisions quickly as to the safety of putting firefighters on the roof. Certainly as the heroic firefighters of the NYFD demonstrated without doubt on 9/11/2001 if there are people to save they go anyway. But if there are no people, and the situation isn’t safe, why risk a brave person for less than saving another person.

The application of this type of technology are endless. It is a growing area of interest. I published article called modular drones about a month ago. The concept of removable components that you can use in a small drone to measure and map specific areas. Fisherman use the technology to get sonar in places their boats can’t go, or that are hard to reach from shore.

As I said I have been wondering and wandering for the past couple of days on this topic. Sometimes the topic nestles inside my head and doesn’t leave until I spit it out.

.doc

3d mapping wanderer

Recap–Windows 10 upgrade :-)

IMG_0861 [1473524]

So from an ironic perspective an image taken of the Windows upgrade status screen by my iPhone. I couldn’t resist the irony of the image.

Overall the process as stated previously was not difficult. I only have two applications that had to be upgraded. I am not running Hyper-V on this system (it is my VMWare host as well) so I did upgrade VMWare to Workstation 12. But the only other applications I use all the time that I had to modify were quick and easy fixes.

I really need to clean my office. When it gets colder and I have more time that I don’t want to be outdoors I will spend some time organizing the mess.

Three of my computers will not move to Windows 10. One because it is a Mac. The other two because they are older hardware and the cost of upgrading the hardware is more than the value of the PC. One of them is just my Carbonite online backup system so it isn’t fatal if it never leaves Windows 7. At some point I will jettison it and move the backup to another PC.

I will have to build a VM to run Windows 8.1 and Office 32 bit to support Systran. Systran doesn’t like either Windows 10 or 64 bit office. So that is an add on project I will have to do to support language translation. Google translate does a good job but Systran can take an entire document which is why I like it.

That is why I use the AABY product for automated OCR. So far everything is working with Windows 10 that I have to have. Some of the minor apps that were nice to have I moved to my iPhone and iPad more than a year ago. So productivity wise everything is where I need it to be.

It was that upgrade process that got me thinking what what it is I really need to use. I have over the years collected a number of devices and software packages that I don’t use as often as I should. Some are tools (AABY) that I only use when I need them (Systran) but when I need them well I need them. So I keep them up to date so they are ready to go. But there are tools that I have that I do not get the value out of.

Ten Applications I need/use

  1. VMWare Workstation (1 machine)
  2. Hyper-V (1 machine)
  3. Cakewalk (I love creating music)
  4. Pinnacle Video Producer
  5. Dragon Naturally speaking
  6. AABY (OCR Package)
  7. Microsoft Office
  8. Office Live Writer
  9. iTunes and PonoWorld
  10. Control4

I do use Visual studio from time to time mostly for PowerShell scripting. Not as much now as I used to though. I do also use a couple of different picture editing tools but again less than I used to.

My top 10 varies greatly in terms of order. When I need one of them I need it and it moves to the top. MS Office moves up to the top during the work week.

.doc

iPhone image taker of Windows 10 upgrade screen

Fix the things that keep you awake at night. Worry about the things that WILL keep you awake at night.

The phrase secure by design was the first new phrase in the security change when I worked for a previous company. It came in the 2000 time period. Everything should be secure by design. I look at the reality of 50 billion CPS devices floating around the world and I wonder. The network many of them will run on isn’t secure by any stretch of the imagination. The very telecom infrastructure has been hacked, “re”hacked and modified by hackers for more than 40 years.

There are holes in the infrastructure. So that means for CPS to be secure we would have to build a security layer somewhere that everything has to pass through. Where the movies Chappie and Ex-Machina talk about the danger of AI, and an AI loosed upon the world, Person of Interest shows the reality of the observation state we have now. You see we could and should implement a security layer in the CPS reality. The problem is you can deploy CPS devices without the security layer as well.

It isn’t about what can be seen or heard. It is about who can see and hear what is going on. Eventually it won’t just be who it will be who listens and sees and what do they do with that information. Somehow security has to exist in this overall CPS equation somewhere.

CPS devices can have embedded security. Now for some that isn’t going to be possible. Lose your keys? Get a Bluetooth fob that let’s you know where your keys are. Security on those types of devices has to be at the interaction level. How do I access the device?

That point of connection has to be secured. Now the problem, security requires some form of identification (something you know normally a password, something unique about you (fingerprint) and so on. It isn’t easy to enter passwords into a cellular device. Even people that text all the time have to stop and pause for long passwords. Its why finger print readers are all the rage on cellular devices now. I wonder, if there isn’t potentially greater security we could apply to cellular devices?

There has long been the someone stole my cellular phone kill switch potential. It could be quickly added, forever destroying the IMEI of that phone. It becomes useless, which allows you to add the concept of time to live to a document or information. Once the connection to the network is severed you prompt the user for a password. The user enters their password and then if they are going to be disconnected for a time, they shut off the device.

While that is one small piece of the puzzle there has to be more security enabled with the potential for 50 billion devices. More means broader application and broader application means greater exposure.

.doc

CPS Wonderer….

The potential outweighs the bad for CPS.

Interesting in the news lately is the problems caused by drones. I wonder what flying cars will do? Seriously drones like anything have to operate in the right places. You can’t have a system where drones fly in places that other craft are already occupying. But the reality of the drone world is just beginning.

Like any emerging technology particularly in the CPS space (Cyber Physical System) you going to run into issues. The very reality of video surveillance and the ability to move from virtual to real is the basis of any number of movies and TV shows (Ex-Machina and Person of Interest to name a few). The potential for great good always comes with some initial startup concerns.

Yesterday I talked about the new reality of 3d laser mapping. This is something that is heavily used in the video game industry to make sure that simulated motion has the same impact in the world that real motion does. My initial thinking that I threw out was the reality of using it to reduce the impact of pot holes. For a small cost major roads could be effectively mapped an monitored. A pot hole would be a variance in a 3d map.

There are many more things that the technology can and will be used for. I am thinking that solar companies will use drones to map roofs, take before and after pictures. Physically hardened drones and fly into clouds of sculpture to measure both the air quality but also take images of the volcano loser than a human can from the vantage point of above.

Firefights can use 3d mapping to compare a burning buildings roof to the original and determine if it is safe to send people onto the roof. Infrared cameras can be used to determine where the fire is relative to the roof. The same is true for forest fires and sending something into a dangerous space.

But like any new technology there are people that abuse the initiation. They fly close to jets as they are landing. People with toys don’t always think about the impact on other people that are using the same things as a tool.

The next big step is the ability to take the various map types and use them as a single package. Overlaying a high level view, with a topographic map and a 3d map that shows even greater detail but also more up to the minute detail.

.doc

CPS enthusiast…

Revisiting the concept of the Modular Drone system…

Laser mapping is an exciting new world. Ok it isn’t a new world it isn’t even a world. It is however an exciting tool. There are a number of interesting products in the space as well.

First there is Spike from IKE. It is a tool that fits onto your phone or tablet. It allows you to measure objects in space using a laser measurement system and their software. It called laser measurement but you don’t measure an entire object, simply a number of points within an object.

I wrote a blog for CloudTweaks a few weeks ago about the concept of modular drones. In that article I talked about using Sonar Balls like Deeper and other products attached to a drone. Using this you can utilize the drone to map and measure a body of water. You wouldn’t use laser mapping for that activity as water has this funny tendency to shift to fit the shape and shift to fit pressure.

Laser mapping however does offer some interesting opportunities. I talked about fighting fires in my CloudTweaks post. Using heat sensors to locate hot spots. Or using a series of drones to find lost hikers. Drone based laser mapping offers a number of valuable services that will benefit people. First you can run drones 40 feet off the ground up and down highways mapping them every night. Why? Because you can catch potholes and dispatch patch crews to them quickly. Using technology to get ahead of problems. Cost of the drones 5000. Cost of drivers hitting potholes and suing the city? A lot more than 5000 dollars.

There are many more applications. Laser mapping allows for surface mapping of roofs and other building surfaces. As Solar becomes more and more prevalent it will benefit the solar companies to be able to create a laser map of the roof they are about to build on.

The modular drone concept will allow companies, governments and rescue groups to very quickly access situations. Variances in existing structures, finding lost hikers and fighting fires. As the distance from camera to ground increase (currently most do not function as effectively above 60 feet) you will be able to send a drone over a roof to map it before putting firefighters on the roof.

Beyond that? Map a surface with a laser mapping system and then move it over to a 3d printer. Create a relief map of the surface using the 3d printer. Why a relief map? So you can examine it in 3 dimensions as the real object is.

Just another connected physical system (CPS) heading our way…

.doc

CPS futurist

Continuation, simple architecture and a brewing storm of CPS…

So I have been writing a lot about continuation and the Simple software architecture movement lately. I posted a link to my Linkedin Summation of Continuation. There is a great comment from someone on Linkedin (long time hero and very smart guy). He said I wondering how much longer you were going to talk about Continuation.

One more day – Smile. There is a reason for the continuation and the Simple Architecture Movement blogs lately. As I read about the concept and expansion of Cyber Physical Systems I am getting concerned.

There is a reason for CPS, which is the new name more fitting name for the Internet of Things (IoT). 50 billion potential CPS devices by 2020 according to various annalists.

CPS reminds us that we need both security and physical infrastructure to maintain the communication, sensing and value of these devices. What is the value of a remote weather station? That it can report the remote weather. The value of a video sensor is not people realizing it is there and scaring htem. It is providing video so people can see what is going on.

Bandwidth, that I have talked about before a couple of times is a concern. Is there enough available? We are bound by the speed of light. Is there enough fiber laid in the world to support 50 billion devices? How many home owners are going to throw their hands up in disgust as the new world order brings their home network to its knees.

I see a HUGE new business for home automation companies. Fixing home networks in the CPS age. Expanding, adding boosters and making Wi-Fi work in neighborhoods across the nation. Then all that data has to go somewhere. Oh yeah the public internet. So the governments of the world see that. They move to private networks as do large companies. Now you have the private internet, the public internet and the dark or deep web.  Bandwidth is a concern going forward.

But it isn’t the big one. I’ve designed systems for customers with 800-1000 physical servers. Moved customers to systems with 1000 virtual servers. I have friends that have built systems even larger with customers. But none of them have designed and documented a system with billion objects. The largest directory systems I’ve seen have between 200 and 300 million objects. When you start talking about 10’s of billions of objects it becomes a bigger problem.

First off it’s a HUGE directory that you don’t move often. I doubt there will be like Shodan, one search site that can cover this. There won’t be one directory that stores all of these devices. The very infrastructure that this system rides on is going to be complex. The ripple affect of one part of the internet going offline due to an accident will send a ripple through the internet that will swamp the entire thing.

Not, having a simple architecture for the whole thing is going to make it even harder to maintain. So that is why, the conversations about Simple Architecture and Continuation. There is a storm cloud on the horizon. If are we are careful the storm won’t impact us. If we aren’t careful the storm will set us back 10 years or more.

.doc

storm chaser

This, is HOW IT WORKS!

Great email from a long time friend/reader. If it is so easy to do simple architects he asked, why haven’t they caught on more. Fair question and one that deserves a good answer.

I wish I had one.

Well I have one but it probably isn’t fair. There are two sides to the reality of computing. The first is the skills required to build and maintain an IT infrastructure. The second is the specialized skills that most companies rent from consulting companies.

Experts when they are brought in feel pressure to produce documentation. It is a natural thing when what you are building/producing doesn’t exist in the physical realm per se. Most of what IT consultants build is bits and bytes. Yes there is the reality of the physical hardware it runs on, but the form and function rule wholly in the realm of software.

To a degree there is a need for documents to be produced. In Robert Pirsig’s seminal work “Zen and the Art of Motorcycle Maintenance” the lead character talks about his job building home gas grills. They would, as engineers come up with a number of ways to assemble the grill so that it would operate. Then pick the most complex directions to ship to the end user with the grill.

In the case of a consumer product complexity of directions increases the revenue of the company (unless they provide free setup services in which case it doesn’t and they have to use a different model). For IT architects simple is better. Why? Because someone else has to follow.

Setting up a gas grill at a home you can assume the life cycle of that grill is 10 years, or less. I have never had a grill that lasted more than 10 years personally. But there are IT shops that were originally deployed in the 1970’s. I remember working as an IT person and having to remember the exact order routers had to be shut off and turned on in, due to the nature of the network. That kind of arcane knowledge wasn’t written down it was shared between IT people. No matter what you COULD NEVER TURN OFF THE STAR network that was directly connected to the AS400.

Deploying Token ring (4 or 16) required knowledge of five to ten different hat dances. Ethernet has well has its unique issues. Networks can be fully deployed for years and never be upgraded. There are entire buildings wired with Cat3 wire that cannot support 100 megabyte to the desktop. You have to know what is there.

In the world of simple software architectures you would know. It would be fairly easy to grab the reference architecture that everything is based on and see where your organizations delta’s are.

Unless the written delta was 700 pages. Then because there is a lot of filler and fluff in the document its useless. Knowledge is about sharing and solving problems. We use knowledge systems and expert systems to quickly fix something. If we have to parse 700 pages to figure out what is actually deployed we aren’t going to.

The simple software architecture movement is, as was the quest of Phaedrus, the search for quality. Quality in a software architecture is the ability to hand a document to a person that has never seen the system and they can simply say “This is how it works.”

.doc

Simple Software Architecture Movement

Look upon my simple software architecture ye mighty and add stuff you think we are missing!

Within the path to simple there is a startling revelation. It is easier to document things simply. This doesn’t prohibit organizations from having quality gates and quality control systems Just that what is expected should fit into the concept of simple documentation.

Simple is not easy. Simple is a presentation that can be consumed without effort. Simple is a model that allows for the documentation of complex solutions. It simply forces an easier structure on the documentation so that it isn’t a continuation of the complexity. So many documents I’ve read over the years that even though I knew what the goal and solution was, I couldn’t read the document. I remember technologists begin angry with me as I slashed 1/2 or more of their documents.

It is as much a state of mind as it is of documentation. Clarity of form and purpose. One of the fun things about IKEA is that they have furniture and designs that are simple. The form and function work together. You can make changes to both quickly. And people start to do that.

So when it comes time to upgrade you can look upon what you have built and not despair. Unlike the great Ozymanidius who built his kingdom only to have it be lost forever beneath the sand. We will never know the wonders of what he built. But with simple software documentation we will know what is deployed. I suspect software architects will not adopt the other part of the legend of Ozymanidius building a statue of themselves at the entrance to the floor of the building where they sit. With an etching on the base that say’s “Look upon our enterprise architecture ye mighty and despair.”

Simple is a path, a process and a way. If we start simple it is easy to update the documentation to include changes. If we build from a reference architecture than when it is time to upgrade we simply take the old reference architecture and lay the new one over it. We will based on what we’ve documented know we have an issues coming in our upgrade. We have documented the differences between what we deployed and the reference architecture we used.

It is, simple to see and use. It is simple to update and change. Complexity may exist in the solution but as long as we maintain a way to express it simply we do effectively reduce the overall risk of complexity.

.doc

Simple software architecture movement

The simple software architecture movement, finding the Crinoid stems in your infrastructure….

Complex systems eventually fail. What happens over time as organizations build structures comprised of complex layered solutions?

Sedimentary rock is built over millions of years and millions of layers. It is hard, but can be crushed with not considerable force. Metamorphic rock is also created over millions of years but add heat and pressure.

After years of seeking simplicity I have come to one startling conclusion. IT infrastructures DO NOT PRODUCE THE HEAT OR PRESSURE required for metamorphic rock. IT infrastructures are layers of uncured sedimentary rock.

In the hilarious movie by Monty Python called Jabberwocky the efficiency expert enters the weapons factory and moves one spear just a little. The result is a cataclysmic destruction of the weapons factory. At the time I would have said the efficiency expert shouldn’t have moved the spear. Now I realize that the reality was the sedimentary infrastructure of the factory wasn’t strong enough to support the factory and would have collapsed on its own eventually.

Having visited now probably close to 100 customers and service providers over the past 25 years I am beginning to realize the reason why the simple architecture movement struggles. It is really hard to document complex sedimentary rock. As a child I used to seek Crinoid Stems. First really cool – the remains of a plant 300 million years old. At the time we would try to find all the pieces of the plant and recreate them. They were a puzzle without instructions we tried to put together. Of course we failed. We also found the stems embedded in larger pieces of rock. Because they, Crinoid Stems, were the base of one layer of the sedimentary rock, limestone, that southern Indiana is famous for.

But now I realize that in deconstructing and reconstructing one stem we were failing. We needed to be examining the whole Crinoid patch to properly recreate what had been. We didn’t however have directions, instructions or an architectural guide that would take us to the requirements and components of the Crinoid Forest. Just the stems that while they seemed to fit together never did.

That in the end is why Simple Software Architectures make sense. It isn’t a map to any one stem. It is a recreation of the forest. Your simple architecture documented in an easily read format is the what and why of your deployed infrastructure. Effectivly it gives your organization a path to metamorphic architectures. Ones that are not built on layer upon layer of complexity.

Complex solutions that beget complex architectures create complex fossil fields that future software architects will look at and see single stems. Do the stems fit together? They will never be able to see your infrastructure because it is buried in the complexity of the layers.

Taking the line from Star Trek’s Captain Picard and modifying it slightly from Make it so, to “Make it simple.” The easier it is to document a solution the more likely it is to be documented. The better your documentation is the easier your next upgrade becomes. The easier your upgrades become the less complex your in structure will be.

It is a simple process that doesn’t require complex layers. Know what you have, document what is there and share it.

Make it SIMPLE!

.doc

Simple Architect