We don’t think the world is getting better. This is why we’re not sure.

Banksy in Boston: Overview of the NO LOITRIN piece on Essex St in Central Square, CambridgeI came across Max Roser’s (Programme Director, Oxford Martin School, University of Oxford) post on the World Economic Forum through social media, and I didn’t have the time to address some of the issues I saw when I posted it. There is something that had struck me as viscerally wrong about it.

Now I know. In the broad strokes, the data points are cherry picked. When we look at how the world has improved based on static measures, we all should know that yes, the world has gotten better. That’s not why we don’t think it is.  It’s because the measures themselves haven’t improved. I’ll make my points quickly as related to his points.

Poverty

Globally, we have less people starving per capita. There’s no debate there. Where the debate should be is whether this should be a part of the debate. Population growth around the world varies; a nation with lower standards of living tends to have higher population growth while a nation with higher standards of living tends to have lower population growth.

So, if we look at the shell game of poverty, overall the number is decreasing. But is the standard of living? Are people moving forward without people being left behind? Is the number of people we’re leaving behind increasing or decreasing?

We hear more often than not about the ‘erosion of the middle class’. Where did they all go?

These are questions that we want to know the answers to; we know poverty is decreasing, but if our goal is constant improvement, shouldn’t our measure of how we’re doing improve as well? Or are we comparing poverty now with the cave people of a few thousand years ago? No, but metaphorically, the idea of comparing poverty across a few hundred years is a frequent optimistic perspective presented when the masses get a bit disturbed.

Literacy

Just by social media we know more people are attempting to communicate – some literacy is involved, but I daresay that there is some functional illiteracy out there that has snuck past testing that is supposed to demonstrate literacy.

I had a real world example today. A friend of mine’s granddaughter needed a reference on a form since the form she had filled out was outdated. He told me he needed me to sign it. I looked the old form over and told him I didn’t need to sign it, that she already had references on the old form, and all she needed to do was transfer them to the new form. No signatures required.

An hour later, while I was writing this, he stopped by and told me the new form needed my signature. It did not need my signature. I didn’t need to sign anything. Functionally, that’s a form of illiteracy.  Functional literacy was defined by UNESCO in 1960 – 58 years ago – as:

“using these skills in ways that contribute to socio-economic development, to developing the capacity for social awareness and critical reflection as a basis for personal and social change”

Not knowing the difference between putting your contact information on a form or signing a form is one example. So how are we measuring literacy?

By the numbers reported of those that can read by passing certain tests that, if you ever spend time on social networks, you need to question. Nevermind reading comprehension.

So, while the numbers of those that are reported as literate can be shown to have gone up – from students to teachers to administrators to nations, who wants to give worse reports? The incentive for true reporting is simply not there. How many college professors lose their hair dealing with freshmen?

Has functional literacy gone up? With increased bureaucracy over the decades, as well as technology, what is the new literacy? No one really knows. It’s sort of like the difference between pornography and art; we know it when we see it.

Health

Germ theory is the basis of the postulation here – something come up with in the latter half of the 19th century. We’re in the 21st century; we’ve made leaps and bounds since germ theory that have been put into practice – open heart surgery, as an example, has come a long way in the last few decades. Granted, it could not have happened without germ theory, but if we’re comparing how well we’ve done since germ theory a lot of other things should be spoken of.

Yet there is at least the allegation that big pharmaceutical companies overcharge – Brazil even went rogue with HIV medications because of it. Borders between nations become more permeable when there is a noticeable price difference in medications, where the medications flow to places of higher costs. The United States is no different here; people get medications from Mexico and Canada as examples. How much? I’m pretty sure we don’t have the data for it; black markets don’t publish their data.

Access to healthcare? In the U.S. alone, this has been one of the most sharply debated topics in the last decade.

So yes, gene theory has brought us a lot of good, but what have we done since? With an increased population – remember population growth? – partly because of our advances in medicine, I’d think we’d get some better points than just gene theory.

Yet I can see why no one wants to talk about how health insurance has helped people. After all, it was only about a century ago that doctors were paid in livestock. Gene theory, apparently, gave doctors much more.

Freedom

Oh, freedom. How do we define it? Is the person who works three jobs to pay the bills, ‘free’? Fortunately, no solid points were made in this section because it’s all pretty ambiguous. One has to wonder why it’s even in there.

Population

Our population is increasing! Yes, we know that. We’re painfully aware of it, and I am not certain that it’s an indicator of things being better. It could mean that a lot of people in nations with lower standards of living might simply be unable to watch the television that they want because of content distribution rights or lack of internet access.

As I pointed out in the section related to poverty – population growth is a factor that is not spoken of enough. You can check out all manner of statistics in the United Nations World Population Prospects 2017.

Education

We live in an era where there is cultural value placed on academic degrees; they were incentivized by salaries – at least at some point – and now the value of them is publicly questioned. Getting in debt for a college education and then being unable to get a job to repay that debt is a reality in the world. Yet we say that education is increased.

Formal education. But how has formal education changed? Aside from changing and adding some subjects, adding a lot of administration, education itself has not changed – and more than once we’ve seen education standards dropped so that more people pass. We don’t talk about that.

So while more people may suffer a formal education by 2100, can we honestly say that they have been educated better than now? Than 10 years ago? We’re talking about quantities when we should also be dealing in quality.

Why Do We Not Know That The World Is Changed?

We know that the world has changed – in our little pockets of what we read and see in the media, social or otherwise, and the reinforced perspectives we get from them. People share things without reading them, without rigorous thought (education? literacy?).

The world has gotten much better since we were cave dwelling mammals, though there is at least a sense of wonder when I consider that: Did we leave the caves because of the population boom caused by fire? Cave real estate maybe got so expensive that finally – probably a guy named Bill or Steve – said, “screw this, I’ll make my own cave!”. And so to this day, we live in variations of the cave, usually made by someone else. With fire. And cooling.

And yet, how have we really improved? The same country that has children eating tide pods also had an immigrant send an electric car to Mars while at least one person on the Tesla waiting list got upset (if they didn’t, I wonder if they should own one?). We have advances in medicine that should have us discussing contraception, even of the immaculate variety, and technology is giving us sex robots that – fortunately, so far – don’t distribute little humans like sexually transmitted diseases, or like Oprah. Look under your seat! There’s one for you!

We have advanced so far in technology that our education, our literacy and lack of it, has become more pronounced as we reinvent Babel despite people speaking the same language. We have people who are so angry that they’re either a mass shooter or a terrorist (but never both). We have archaic systems of governance that cannot shift as fast as the public can become less accurately informed.

The world has gotten better in some ways, yes, but it has become worse because people who never would have known each other 100 years ago now see each other’s posts quickly, algorithmically, based on what someone in a code cave thought was the best solution… so far.

We really don’t know whether things are getting better or worse. We only know within our own contexts and what we are told, and what we are told we too rarely question because our education systems teach us to accept what we are told rather than challenge it.

Challenge it. Challenge everything.  Things will not get better otherwise, and if people actually challenge things more, people won’t feel the need to write posts about ‘how much better things are’, a Hallmark card from the World Economic Forum to the ailing masses who aren’t seeing the improvements promised, with the dreams of yesteryear either dashed or worse, undreamed.

I, for one, do not wish any carcinogens blown up my posterior, no matter how fancy the pipe.

Advertisements

Smartphone As Dashcam

Down The Road #Mojave #California #vanishingpoint #igersThis is not new. Plenty of people use their smartphones as dashcams, which I have now gotten into the habit of here in Trinidad and Tobago – mainly because there are a subset of drivers that take chances, and my vehicle has a pretty solid bull bar in front. For those that don’t, or think this is a new thing and want to save a few bucks rather than buy an imported dashcam… here you go.

In other words, I’m covering my posterior. Or what happens to the car in front of me’s posterior when they try to cut me off (most don’t when they see the bull bar), or when they suddenly hit their brakes, or when they swerve in front of me, or… you get the idea. Should anything happen, presto magico, I have actual video.

It also serves as a video blog (vlog) when I’m driving through my land; it gets uploaded to the cloud so I can note things that change in my absence, or document what is happening.

What You Need

A smartphone. I have a Huawei P10-Lite, something I’ll be doing a review on now that I have already beaten the snot out of, but any smartphone with video capability can do. This article mentions some dedicated dedicated apps for Android that I don’t use (I simply use the video), and it also mentions the smaller field of view – absolutely true – as well as wear on the smartphone.

Given smartphones are outdated pretty quickly anyway, I’m not worried about the latter, but you have been warned.

You’ll need a mount for the windshield. I have a pretty solid one since I’m offroad, and roads in Trinidad and Tobago are effectively routed around potholes.

You’ll want your air conditioning on to keep your phone from overheating.

That’s all you need, really – but it is a lot better to have external memory for your phone. My phone will take 256 Gig microSD, but I just picked up a 64 Gig microSD. You’ll want to change your default storage to the microSD, which you should find in your user’s manual that you threw away – but there are plenty of pages on the Internet that explain how to do it for your phone.

What to do

Plug your phone into the holder, and I suggest you charge it at the same time (common sense, really). Start recording video, drive around – and, regularly, back the videos up from your phone to a computer at home from which you can store it in the cloud or other storage options for as long as you want. Keep your phone memory as clear as you can – the less memory used on the phone, the better.

Software Licensing and Life Cycle Limitations.

Tight Loops Close-UpI ended up in a conversation related to software licensing over the last 12 hours (I did sleep for some of it) with someone doing some pretty nice work. And they hated the GPL license, which began a conversation.

Where once I was a strong Free Software Foundation (FSF) proponent, I am not anymore – mainly because there is a Right to choose how your code will be used in certain circumstances, and I’ve found in putting food on my table it has been necessary to compromise for the good of customer, as the customer sees it, and also for my own good, as I see it. And after a few decades of writing code to pay the bills – which I don’t do anymore – I can be a bit more grounded in all of this.

#Define

Readers looking at this will be at different points in their careers, with different levels of experience, with a lot of different perspectives and political philosophies. I’m not going to argue about any of that because all it does is keep geeks from doing what they’re good at, wastes electricity, and keeps t-shirt companies exploiting things.

I’m just giving a perspective, having used Free Software, Open Source and proprietary licensing as I needed to while feeding my keyboard addictions for a few decades1.

A Brief Look At The Future

Code is already writing commercial code. The implications of that are writ large for those that are simply code monkeys. Time for everyone to evolve beyond syntax wars (my apologies to those who suffered my own syntax nukes over the years).

Software Engineering is more than writing code, though, so that should be in good stead. This is going to be a weird time for HR departments who are still going to hire based on antiquated requirements, but it’s a 2 paragraph nudge to code monkeys out there to broaden their skillset beyond complex evolutions of “Hello World!”.

The Software Life Cycle

Code is only loved when it is used, it is only used when it does something people want and costs less to maintain than the ‘profit’ from it. In commercial coding, this is a necessary pragmatic.

Everyone has their own reasons to write code and release it in the wild, not everyone does it for money alone or money at all.

In voluntary coding, that still stands except the ‘cost’ and ‘profit’ are not monetary. This will confuse people who don’t do things simply for fun, or to prove that they are awesome to others.

So, when interest in the code for the coder is less than what the coder gets from it, you get code cul-de-sacs unless someone else decided to continue it.

Eventually, the code dies2.

A Few Words About ‘Commercial’ Code

Some uninformed people still use ‘commercial’ as a synonym for ‘proprietary’ when it comes to licensing. Code can be commercial under any licensing.

Now they’re informed, and you can call them idiots if they muck that up. You’re welcome.

Proprietary Licensing (Ye Olde Black Box License)

Probably the oldest model around, we have Bill Gates to thank for a lot of that. Despite his dumpster diving escapades to learn how to code, old Bill decided to write a letter to hobbyists that was pretty much the start of proprietary licensing for software – and, to be fair, it launched an industry that paid code monkeys and software engineers so well that to this day they’re willing to work in a place that rains so much.

Proprietary licensing, while the software models have evolved way beyond the waterfall model (which is still useful in special cases) has a definite life cycle where whoever owns the copyright decides whether or not that code lives from moment to moment. It’s always brass tacks or companies go bankrupt. This hasn’t happened to Microsoft to date, so we know that the licensing works for them quite well.

However, for the licensing to be good for them, they have to follow business practices that arguably limit the code based on the business model itself. Microsoft knows that now, which is why they’ve been plunging more and more into open source licensing (but remain leery of Free Software Licensing).

It is what it is. Working for different companies over the years, I decreasingly had this sort of licensing to pay the bills, but my last full time position was proprietarily licensed. My last contract was a hybrid.

Proprietary code is a closed system from an engineering perspective. All your problems are your own.

Open Source Licensing

There’s overlap between Open Source and Free Software licensing, but not the other way around. ‘Open Source’ can apply to both Free Software Licensing and Open Source licensing, so I tend to call something a Free Software License if it is compatible with the GPL, and I call everything else ‘Open Source’ licensing.

With the Open Source licensing (non-GPL compatible), you don’t have to release source code – which means it’s compatible for proprietary code projects. This means that code re-use hits new levels since code someone has never written can be pulled into projects at little cost for a company (or individual, or…). These are hybrid licensing projects and come with pain.

Pure open source projects are really projects that people decide that they will allow people the option to write proprietary code with. You don’t have to, you have a choice, and that’s nice in it’s own way.

Pure Open Source projects are limited open systems in that they’re not compatible with the GPL. If you’re going to argue that and take all the GPL code out of your options, do so wisely.

Hybrid Open Source/Proprietary Licensing

This has been pretty popular over the last decade, mainly because it allows ‘code re-use’ without actually bearing the cost of writing some of the code. Code re-use has it’s own problems.

  • Code being used for what it was not intended for gets buggy by design. Think about it3.
  • Dependency Hell: when you have multiple projects embedded in your code, you have to track all the dependencies – which costs in maintenance. An update in one piece of code can break things. That’s also a product of software complexity, but if you can’t control your source it’s an issue – particularly when an open source project is fixing bugs you coded around rather than contributed to the project to get done.This can also lead to getting locked into an antique version of an open source project – I’ve seen it before – where you’ve got so much code around it you *can’t* upgrade. It’s like having Dr. Who show up, shoot you in the foot, and keep shooting you in the foot every day afterward.
  • Documentation is a pain. It’s not as if many people actually write documentation – a pet peeve of mine – but if you’re going to follow the gold standard of someone new coming into a project and being able to be productive quickly, you’re in a world of hurt.

Free Software Licensing

I could get into what Free Software Licensing is, but the FSF has a good guide for licensing that they endorse here. In the context of this article, what you need to know is that it’s compatible for use with proprietary services, but not proprietary products. There is an exception in the AGPL – be advised (read the article linked).

Basically, if you have no problems releasing your source code with a product, you have no issues here. This is ok if you’re not coding proprietary business trade secrets and patents. I’m not a big fan of software patents, but they do exist – but not all patents related to software are software patents, either. It’s weird how things can get all mixed up with lawyers and software engineering.

If you’re willing to pass along the right to modify the source code provided to your end users, you’re golden here. An interested customer base with access to source code is a resource – and threatens to breed competition if people are willing to invest in it. If you do a good enough job, you won’t have that problem. Business is risk, right?

My personal argument for using the GPL is that I shouldn’t write a piece of code and think it’s the only code I will ever write or profit from. Artists don’t make one painting, they make many. Authors write a lot more than a single book. In my mind, as ‘businesses’, coders are ‘subscription model services’, so I like the Free Software Licensing. It can generate more paying work. It has for me more than once.

Hybrid Free Software/Open Source Licensing

These are more common, but the licensing hybrids can be wonky and occupies software philosophy geeks well past the time when they get bored with the conversation. They are a fact of life.

This model only works if the code is following the GPL or compatible licensing, where end users get the code. Linux, while not a simple software project, is a smorgasbord of licensing in this regard and has worked and continues to work.

What to choose?

Every one has pros and cons. I’m not your Dad4. Figure out what’s best for you and don’t complain if it bites you in the posterior somewhere along the way – they all do in one way or the other.

Footnotes

1Keyboard addictions include the basics – food, shelter and clothing – as well as feeding the curiosity. When it comes to food, it was usually flat, but after a few decades I’ve found that all food shouldn’t be flat. It affects Geek Longevity. 
Personally, I think the difference between a Junior Software Engineer and a Software Engineer is having seen some of their code die. And a Senior Software Engineer has not only had more than one project die, but has also marked them for death. A real Software Engineer Manager has evolved through these paths, in my experience, but it’s just an opinion.
3 When you get the ‘by design’ response from an open source project, or from someone else, it’s time to suck it up, cupcake.
Open to negotiation, though. If you want me to be your Dad, make a good case and send it to me.