All Things Techie With Huge, Unstructured, Intuitive Leaps

Setting Up A Wordpress Website On A Centos Virtual Server Using Apache

OK, so the web developer sends you a Wordpress zipped directory. Over to you. You have to set it up on a clean virtual server with Centos 7 Linux, and Apache web server. Here is a quick walk-through with some problems to solve along the way.

Necessary Security

Most of my applications are fintech related and have to be hack proof,so the first objective was to get rid of username/password authentication and sign in with a private key.  The instructions for doing that are found here:

So once you log in with your key, you want to be root so in the terminal program. I use PUTTY ( ),  Type in:   sudo -i

Creating A Certificate Signing Request To Make Website HTTPS Secure

You want to make a website secure so you need a certificate to allow you to use https. The way you do that, is you type into the PUTTY terminal:  openssl req -new -newkey rsa:2048 -nodes -keyout your_domain_name.key -out  More details found here:

The output is a .csr or certificate signing request. A key is also created in the form of your_domain_name.key.  The .csr is a text file with the key request. It is a bunch of numbers and letters - a big bunch. Go to your certificate authority (I use Godaddy) and request a Certificate (they cost around $60) and paste in the CSR file that you made when they ask for you.  You then download a zip folder that has two certs or certificates. One is for the server. One is a certificate bundle for the Certificate Authority (in this case Godaddy who buys them from MacAfee), and you will also need your_domain_name.key that you made with the openssl command.

An Ordinary HTTP Website Without SSL or Certificate

For an ordinary website without the certificate, you will need to modify /etc/httpd/conf/httpd.conf.  I like using the vi editor.  It is vi /etc/httpd/conf/httpd.conf.     Hit Shift + i to insert. Scroll down to the Listen directive and type in  Listen 80 to listen on port 80. Hit escape, type a colon and enter wq for write, quit and you are done.

Then you need to go up a directory and go into conf.d and make a file called mydomain.conf that looks like this:

<VirtualHost *:80>
DocumentRoot "/var/www/html/nameOfWebStuffDirectory/"
ServerName without the www.
ErrorLog "/var/log/httpd/"
CustomLog "/var/log/httpd/" combined

<Directory "/var/www/html/nameOfWebStuffDirectory/">
DirectoryIndex index.html index.php
Options FollowSymLinks
AllowOverride All
Require all granted

Save the file. Then go to /var/www/html and make a directory with the name as above  nameOfWebStuffDirectory  using the mkdir command. SFTP all your stuff to the server and move it the new directory in /var/www/html/.  Now you want Apache to own the files so you type this in:  chown apache:apache -R /var/www/html/nameOfWebStuffDirectory/ 
You should also check the permissions. All folders should have chmod 750 foldername and all files should have chmod 640 filename.

MySQL Database Setup

Generally the web developer will provide an sql script. You load it in the usual way.  If the sql script doesn't have the "create database" directive, you have to do it manually:

mysql -uroot -pPASSWORD
create database database_name;

Then you load the database:
mysql -uroot -pPASSWORD database_name < sqlfilefromDeveloper.sql

You have to go to /var/www/html/nameOfWebStuffDirectory   and edit the wp-config.php Wordpress file to change the name of the database to that of what you created. You also have to enter a username and password for the database. Again, I use vi as an editor because what I am used to. As a final step you have to update the Wordpress siteurl and home in the database:
mysql -uroot -pPASSWORD database_name
update wp_options set option_value='' where  option_name='siteurl';

update wp_options set option_value='' where  option_name='home';
If you are using https, you should use that for the domain names in the update statement.

Start Apache
Then you start Apache with apachectl start or you can use /sbin/service httpd start. Other possible commands are stop and restart with the same command syntax.

The Dreaded 403 Forbidden Error With Wordpress
After uploading your files and doing all of the correct things, I was hit with the website being unable to load and the browser displayed 403 Forbidden You don't have permission to access ...   There are four possible things to fix. The first is a corrupt .htaccess file in the root directory.  Change its name to something else. If you website works you have found the problem. The second is actual permissions problems. All folders should be chmod 750 and files should be chmod 640. The third possibility is corrupt plugins. Disable all of your plugins by renaming the plugins folder located in wp-content folder. If you website works, then put the name back on the plugins folder, go inside and rename them all. Then add one at a time until you find the corrupt one.  If that is not your problem, then the last thing to do, is to type in the following two commands as root:

setsebool -P httpd_enable_homedirs true

chcon -R -t httpd_sys_content_t /var/www/html/nameOfYourWebRootFolder/

Using SSL And Certificates for HTTPS Secure Website

Find the certificates that you got when you bought them and uploaded them to the server. You should have a server certificate that is just a bunch of letters & numbers with a .crt.  You have a CA bundle cert and it should have the word bundle in the title. And you need your mydomain.key from the CSR operation described above. Move them all using the mv command to /etc/ssl/certs/.  Then you run the following command: restorecon -RvF /etc/ssl/certs/ 

Force Apache to Use HTTPS Pages & Files

To force the Apache to use HTTPS all the time, you must re-write each http url.  Go to /etc/httpd/conf and edit /etc/httpd/conf/httpd.conf.  Add the following lines at the end:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R,L]

Then you must create an ssl.conf file.

Create The ssl.conf File

Go to the /etc/httpd/conf.d directory and you should find a file named Copy it and name the copy ssl.conf.  Edit it.  Here are the fields that you should edit (the comments are from the file and are reproduced here so you can find the fields):

#   Enable/Disable SSL for this virtual host.
SSLEngine on

# General setup for the virtual host, inherited from global configuration
DocumentRoot "/var/www/html/nameofFolderWebStuff"

# Use separate log files for the SSL virtual host; note that LogLevel
# is not inherited from httpd.conf.
ErrorLog logs/ssl_error_log

#   Server Certificate:
# Point SSLCertificateFile at a PEM encoded certificate.  If
# the certificate is encrypted, then you will be prompted for a
# pass phrase.  Note that a kill -HUP will prompt again.  A new
# certificate can be generated using the genkey(1) command.
SSLCertificateFile /etc/ssl/certs/serverCertname.crt

#   Server Private Key:
#   If the key is not combined with the certificate, use this
#   directive to point at the key file.  Keep in mind that if
#   you've both a RSA and a DSA private key you can configure
#   both in parallel (to also allow the use of DSA ciphers, etc.)
SSLCertificateKeyFile /etc/ssl/certs/yourDomainName.key
#   Certificate Authority (CA):
#   Set the CA certificate verification path where to find CA
#   certificates for client authentication or alternatively one
#   huge file containing all of them (file must be PEM encoded)
SSLCACertificateFile /etc/ssl/certs/gd_bundle-g2-g1.crt

You may need to add this under the first directory section:

    <Directory /var/www/html/webstuffDirectory>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all

Save the file. Then start the apache server:  apachectl start.

Sending Mail And Apache Linux Will Not Send Mail Problem

First of all, let me state that if you are on a virtual server in the cloud, or you are with AWS Amazon, Google Cloud or Microsoft Azure, you cannot send or use Linux sendmail on Port 25. It is blocked.  That's because unscrupulous pigs would create a virtual, send a million spam, tear it down and do it again.  So lets deal with the issue first that sendmail doesn't work and you are on a non-cloud server or at least an ISP that lets you send Linux mail on port 25.

Most distributions do not have send mail. To find out if you have it: netstat -tnlp | grep sendmail
If you don't have it, install it: sudo yum install sendmail-cf
Then you have to edit your daemon options. Edit the /etc/mail/ file. Look for the entry:

DAEMON_OPTIONS(`Port=smtp,Addr=, Name=MTA')dnl

Change it to:

DAEMON_OPTIONS(`Port=smtp, Name=MTA')dnl
Save the file, run: make
Then restart sendmail: sudo systemctl restart sendmail

If you still can't send mail, you have to make sure that port 25 is open on your machine. There are a couple of ways of doing this, either with the firewall daemon, or the iptables depending on what you have running, but that is beyond the scope of this post. Google is your friend.

But I did get around sending mail on a restricted server. You have to use a legitimate SMTP relay. I used SendGrid The first month is free and allows you 40,000 emails, and each month is around $10 afterwards. They have various plans.

There you have it in a nutshell.  If I had this before I started, I could have saved myself a day of heartache.

How Many Files And Folders Are There On A PC Laptop

Did you ever wonder how many files and folders that are on your PC ? I just ran a full scan over everything on one of my laptops. I was surprised to find out that I have over 6.5 million files in over 118,000 folders on my laptop.  In the pre-internet days, I could never imagine all of my stuff in over 6 million file folders. Information explosion and Big Data !!!

Of course, my computer may have more files than the average person, because this computer is used to write software.

Superrationality And The Fact That Bitcoin Has Become A Religion


From Wikipedia, the free encyclopedia: In economics and game theory, a participant is considered to have superrationality (or renormalized rationality) if they have perfect rationality (& thus maximize their own utility) but assume that all other players are superrational too & that a superrational individual will always come up with the same strategy as any other superrational thinker when facing the same problem. It is the triumph of Reason over Dogma. When it comes to Blockchain and Bitcoin, Superrationality is very rare. In the case of Blockchain, a lot of "Blockchain consultants" are like a guy with a hammer where everything looks like a nail. ICOs are the same way -- they want to tokenize everything, not realizing that there is no one size fits all.  Not everything benefits from tokenization.  Some do not realize that blockchain has another intrinsic function that is highly overlooked. It can organize human activity in a way that it has never been organized before, either on a virtual or real plane. This area is highly unexploited (and profitable). And Bitcoin unfortunately has become a religion. Rabid believers buy and hold through amazing cyclical volatility, while superrationists buy low, sell high and repeat when necessary.

How To Run An ICO And Be Disruptive

I get invitations to participate in ICOs every day. Mostly I get asked if I want to buy crypto tokens. But I do get a lot of requests to join as an advisor or  to create the coins.  I reject > 99% of the requests? Why? Because most people conducting ICOs do not understand disruption and the awesome power of tokenization. And they do not understand that tokenization and conventional economics and commercial activity are immiscible.  Tokenizing something has to be disruptive. If you are trying to tokenize existing processes, you will fail. You have to totally disrupt them.  If you are trying to tokenize something completely different, you are on the right track.  If you are trying to break existing patterns and processes with tokenization, you are on the right track. If you are trying to change paradigms with tokenization, you are on the right track.  If you are trying to solve VERY challenging problems in unconventional ways, you are on the right track. The very last question that you should answer is this: Am I disrupting at the right level? For example, if you are trying to disrupt the buying and selling of widgets, perhaps you are at the wrong level. You should be trying to disrupt the widget industry.   My two cents.

Bitcoin SPLAT !!!

Splat !!! That's the sound of my Bitcoin hitting floor after dropping.  Reminds me of the parachuter's song. Fell unto the runway like little blob of %^*& ! And it ain't gonna rise no more!  Dropped like flies on a winter window pane.  Dropped like Trump's approval rating. Dropped like 3rd period Latin in high school. Dropped like a hit of acid. Dropped like a kid at the pool. Dropped like a sack of bricks from a scaffold.  Dropped like a dead donkey. Dropped like the drawers of  a ______, dropped like Cleveland Brown's pass, dropped like Fox dropped Bill O'Reilly, dropped like a Bill Cosby victim, dropped like a lead balloon,  you get the picture.  You gotta love it when your "investment" drops by 42%. I have to laud that woman who was on LinkedIn (an investor) who said that she sold every bit of Bitcoin she had once it reached $17,500.  Buy low, sell high.  Right now, I feel for the folks who bought in the $14-17,000 range.  Here's hoping that like the ingestion of Viagra, it too will rise again.

Crypto fund domain name for sale

I was never aware of the ".live" domain name.  I was looking around registering domains for my ICOs and when I went to check out, I saw in my cart, so I bought it anyway.  I really don't need it. If someone wants to buy this domain name from me, you know where to reach me.

Report ICO, Crypto and Other Scams

In the past few days, I have had LinkedIn connections report people who have conducted ICO scams, or shady characters on LinkedIn.  Some of them connect with me just to spam me.  I've had a connection and immediate request to process anonymous money transfers to the Cayman Islands.    A couple of us have  decided to create a reputation blockchain with query of scams, ICO fakes, charlatans, shady characters, pirates of the Caribbean, swindlers, carpetbaggers etc. If you come across egregious characters, ICOs or anything that gives our blockchain/crypto  industry a bad name, drop an email with particulars to  Eventually there will be a website with a query input.  If there are no reputation issues, you will get a thumbs-up emoji (with the disclaimer that there are no adverse reports), and if there are reputation issues you will get up to 5 thumbs-down emojis.  Thanks in advance.  (If you would like to contribute a bit of Bitcoin to help the effort along, a wallet address is:   1NfcRwZac5XrYQLkNQtBa8WBpemYpqEiwU  )

The Future of Things: Tokenization and Blockchain

I was an early adopter of the internet. It was put on my desk when I worked in a communications research lab. At the time, there were usegroups (electronic bulletin boards) and scientific papers.  It was neat but it didn't seem like much. There was no Google. There was no search.  The way to discover sites was with a spider written by a guy name Bob who had a Cool Sites that he spidered (web crawled).  A little while later, the very coolest and neatest thing on the internet, was a picture of a coffe pot in an English University that refreshed every 15 minutes.   I thought that it was neat, but at that point in time, I could not even envision how dramatically the Internet would change life.

Blockchain is at the same point as the nascent internet.  People will say "Remember the good old days of Bitcoin?" like they reminisce about Blockbuster Videos and America Online CDs.  The way that #Blockchain will revolutionize life, is through its ability to organize, monetize and revolutionize human activity and assets (actual and virtual) through TOKENIZATION.  Life will be almost completely tokenized with an astonishing interoperability of all things digital.  I intend to contribute to that tokenization effort. The best way to predict the future is to invent it.

A Possible Technology Solution To Fake News

I just read an article in Finance Monthly about how fake news is killing the economy, and it is really disturbing to me, how various sectors of the political scene can assert a total untruth and have thousands of sheeple believe it to be gospel. I keep thinking that surely we are better as a people and more enlightened, but apparently that is not the case. We seemed to have regressed over the last couple of years. Fake news has turned into a monster, and certain classes of people cannot find direction their moral compass enough to fight it. So maybe technology can offer some solutions.

Thanks to some of my friends at @Microsoft , I once read a bulletin put out by them with a title that resonated with me. It was the differentiation between attackers and defenders. To be successful in fake news, you cannot just merely defend the truth, you have to attack the fake stuff. There is a difference between those two actions. Defenders use lists in their arsenal of tools. Attackers use graphs. That was the Microsoft assertion and it is true. All techies will have nodded when they have read the sentence about attackers using graphs.

When I talk about graphs, I don't mean those pretty pictures that Excel puts out of profit and loss, or the rise of the price of Bitcoin over the last year. I mean graph in the sense of mathematical graph theory. If you aren't up on this, let me explain. A graph is a theoretical structure amounting to a set of objects or ideas of which some pairs of objects or ideas are related. How they are related (or the lines connecting them) are called edges. The objects or ideas are called nodes or vertices. Graphs are a part of discrete mathematics that can translate easily into real life scenarios. A picture is worth a thousand words, so here is a picture of a graph.

You will notice in the above graph there are things (nouns) which are the vertices or nodes and there are states (is, lives, has) which are the edges. Edges have properties. and the properties can have sub-properties. A sub-property in this case is that the edge is directed with an arrowhead. This makes the information in the graph semantic -- or composed of meaning that is apparent by the structure of the graph. The nice part is that there are discrete mathematical methods for traversing the graph and extracting not only data, but knowledge. A graph is capable of creating a level of abstraction. For example, the discrete data is a news story. A level of abstraction is the assertion or inference that the particular news story is fake news.

When fake news appears, the defenders of the truth manage it in list form. Here is their list:

  • How many untruths are there? List them.
  • Find countervailing documented data to refute.
  • Do for all untruths.
  • Come to conclusion that the whole article is fake news.

In the meantime, the originator of the fake news uses a more complex graph-like function to promulgate the fake news. It starts with an inconvenient truth that is pejorative and an attempt is made to neutralize it. First they must define the audience that is ready, willing and able to uncritically accept any falsehood. They must also craft the "alternative facts" to be plausible, at least possible if high improbable. Then they have to find the opportunity and the medium to place the fake news. This involves a network of perfidy that is a graph of the underbelly of spreading falsehoods for personal, pecuniary or political gain.

So, the solution is that there must be an impartial, balanced methodology of determining and labeling fake news. This is the nub of the problem. Other problems are that the sheer volume of news coming out, makes human content moderation almost an impossible job, unless you have deep pockets like Google or Facebook. Although, from past experience, Facebook is for sale to anyone who wants to buy ad space, Russian trolls and democracy-destabilizers and all. The obvious answer is machine learning and artificial intelligence monitoring and labeling fake news. You can't suppress fake news, no matter how egregious the lies are, because of the First Amendment and Freedom of Speech, but you can label it with the Scarlet Letter of fake news and those who cite it, are obviously lacking some cognitive ability.

What does the Fake News BS Detector technology stack look like? First you have to give the system some context for current events. This is where AI comes in. Graphs have to be created and semantically understood. Luckily for this, we have wonderful graph databases. My current favorite is @Neo4j. Some of the graphs that your AI machine will create will be something like this:

CREATE (djt:Person {name:"Donald J. Trump"})
MATCH (djt:Person {name:"Donald J. Trump"})
CREATE (djt)-[status: HOLDS_OFFICE] -&gt; (potus:Position {name:"President"} 
RETURN djt, status, potus

The above happens to be a simplistic example of Cypher, the language used to create graphs in Neo4j. You get the idea. The AI machine does lexical, syntactical and semantic analysis to create the graphs,

So you run the AI machine, and you get a bunch of graphs. I was a little stumped as to how to teach the machine true from false one the semantic analysis was complete. You need some human intervention somewhere at the beginning of the cycle, and I wondered how to do it. However, just recently, I read a seminal article by Dimitri De Jonghe about Curated Governance with Stake Machines and the light bulb switched on, and I got the Eureka moment.

I wasn't totally unfamiliar with Dimitri. He is one of the key members of the @BigchainDB team, and I had communicated with him on smart contracts, and they graciously granted me access to the Github on smart contracts before it was released.

The article on Curated Governance with Stake Machines is a perfect example of how our lives will be tokenized by blockchain. Essentially what you do is steer token holders to earn more tokens by curating items (graphs) that are or are not fake. The token holders themselves have their opinion rated by reputation and bias that are empiricized by the curation automata. Essentially, you have created a token-curated registry of graphs. These curators could be reporters and news media types, just like Reddit editors. Let me quote from the article linked above: So long as there are parties which would desire to be curated into a given list, a market can exist in which the incentives of rational, self-interested token holders are aligned towards curating a list of high quality.

Naturally these verified graphs would be stored in a data-centric blockchain like BigchainDB, which could also handle the tokenization of the curation. The data payload of BigchainDB is well suited to textual or tuple key:pair representation of graphs.

Now onto the automatic part. Suppose you built the machine and Twitter bought it to scan posted items and put a red stop sign icon if it is fake news. You have the consensus of the curators for a graph, for example, that Entity: "Russia" -&gt; Action: "Interfered" -&gt; Object: "US Election 2016". The fake news article is read by the platform and feed into the stack. The algorithm to check for fakeness can be a method like Latent Dirichlet Allocation. This throws data as a document at the platform and allows the platform to sort it out, as opposed to having a manual model. If you are a techie and have done eCommerce recommender systems, you will see that this is similar matrix factorization models. If the previous sentence is Greek to you, essentially you have a matrix where the rows are documents and the columns are words. These matrices are not exactly a sequence of words, but rather of the index of the words found in either the nodes or edges of graphs that you already have. Thus, you can calculate a probability (known as a Bayesian process) of the new item being fake or not. This methodology is a generative model, meaning that you can generate examples of fake and real news and it knows the difference.

This type of architecture can be extended as the number of meme and graphs grow, using an algorithm called Hierarchical Dirichlet Process where the number of topics chooses itself automatically and grows according to the input data (that can be assisted token curated when necessary) via non-parametric machine learning.

These ideas need some research and development, but they could point to a way where we have "trusted" news adjudicated by machines that were "taught" by trusted token curated registries.

We really need to do something about how we have degenerated as a human species from the ethical and altruistic, moral high ground of the truth, to a third of the American people willing to believe lies in spite of what rational evidence tells them. Perhaps it is time for the machines to step in.

The Advanced Math Behind Caramel Squares and Buttered Bread Hitting the Floor

Some people just don't appreciate the math that underpins our classical universe. Like today, for instance.  When I dropped this cooling rack of buckwheat caramel squares, exactly half of them landed sticky-side down on the floor.  It was the same experiment to test if a piece of buttered bread or buttered toast would end butter-side up or down. It was an amazing probability distribution of 0.5 in spite of the multi-variate inputs, force of gravity, varying weights, force of swearing, etc.  The randomness of it all conformed to theoretical statistical probability in this ad hoc Monte Carlo method.  She-that-continously-disapproves-of-me was not impressed with this experimental result and the exactitude of the value of observations.  I guess some people just don't have a mind for maths.  (In case you counted the squares and came up with an odd number, I ate the one that suffered the most topological deviation when it transferred its potential and kinetic energy to the surface of the floor.  Deceleration has no impact on flavor on impact.  Inquiring minds want to know these things.)

Flies & Mosquitoes Firmware - From Insect to Computer BIOS?

Biomimicry is an approach to innovation that seeks sustainable solutions to human challenges by emulating nature's time-tested patterns and strategies. I figured that it had something to teach me about innate behaviors in insects and animals and how computers are built and operate. That idea came from watching insects.

I have been in tech for a long time, and at a place where I used to work, we constantly embedded computers in the equipment that we built (it was a military systems joint). So consequently the birth of a computer was a fairly standardized thing. You designed and built the hardware with it processors, registers, buses and drivers, memory, flipflops and latches, power supply, serial stuff and such. It was just a dumb piece of doped silicon. To make it behave like a computer to do things, you put the BIOS (Basic Input/Output System) into flash memory. That got kicked whenever you powered up. The BIOS did the checks, started up the sub-BIOS of things like video cards and serial interfaces, it started the peripherals and it booted the operating system. It essentially contained all of the instructions to make the dopey silicon appear lifelike and able to act intelligently. This entire process was on my mind as I was eating some watermelon on the balcony and the flies showed up. And then the mosquitoes joined the picnic. The flies wanted in on the sweet watermelon juices and the mosquitoes, all female, wanted a blood meal from my skin.

The arrival of the bugs caused me to think about the embedded knowledge in the brains of these insects. They hatched from an egg left to its own devices. They had no opportunity to learn behaviors. They live for a short period of time. And they are capable of some incredibly complex actions that sometimes defy understanding. For example, how does the only mosquito in your backyard find you from what would be miles away in terms of mosquito scale?

Sure they have chemo-receptors that detect carbon dioxide and they have faceted eyes that detect shapes and they can detect odors such as the fragrant esters that fruits produce and the musky odors that sweat glands produce. But if you think about it, it needs an algorithm to transfer that nerve excitation from the sensor into into complex action. You need to do some homing from the scent-source. You need to plot course to it. You need to do complex aviation maneuvers to reach the source.

Scientists have figured out how a female mosquito finds a human to get a blood meal so that she can reproduce. It is an amazing evolutionary adaption. She finds a host by using a combination of carbon dioxide detection, movement detected by faceted eyes at close range, smell for skin odors and bare skin, home in with a flight path and drill for blood all the while injecting an anti-coagulant. Then she metabolizes the blood to create eggs. Then she has to find a male to mate with. Afterwards she needs a puddle of water to lay eggs in. Then she dies. It is quite a bizarre sexual cycle with very specific needs. If you don't find a blood donor, then you don't have sex and you don't reproduce. It's a very weird path to sexual reproduction.

Imagine if a human female had to find a body fluid of another type of animal before having sex. Imagine if it were wombat sweat, which is just as weird as the idea of a very small insect getting 3 millionths of a liter of blood from a human. I think that if humans had evolved that way where the females needed wombat sweat to make their eggs, men would soon find a way to farm wombats just to have sex. But I digress.

So I am thinking about this and I start to wonder how many lines of code that it would take to convert the antenna smelling either fruit esters or carbon dioxide from the breath of humans. From that initial good whiff, the insect must translate that into a decision tree to pursue that smell. So it must calculate and extrapolate the scent stream and lay in a course for the juicy human. As it is, flying must have it scent radar on continuously in real time, and make course corrections to follow the strongest trail. It must also monitor flight conditions, such as a head wind, and must turn on the jets to overcome the spurious natural forces against it.

Once the insect is in close, the visual cortex takes over, and heads for the large object movement, all the while monitoring the scent trail. Once it gets close to the target, it switches from carbon dioxide to skin scent smells to find a bare patch of skin instead of one that is covered in clothing. It lands on the skin, and then deploys proboscis drill to find a pore in the skin. It injects the anti-coagulant and puts its phasers on suck to get blood. All the while, it must have its radar on to avoid the oncoming Big Swat from the human that will crush it to smithereens.

So the geek in me wonders how many lines of code it would take to program that action. For example in the silicon world of intelligence, the Ford GT has 10 million lines of code, which is about eight million more than what Lockheed used in the F-22 Raptor fighter jet, and at least three million more than Boeing needed for its 787 Dreamliner. And if you think about it, the mosquito or fruit fly has to sense, navigate and fly to the source of its attractions, not unlike the functions that you would find in these machines.

I immediately thought of how this "software" was created, stored and executed in a "dumb" insect who hatched from a puddle in an old tire and wasn't taught a thing as an adult, and yet knew how to do these complex things. After all, a baby is pretty much born with a blank slate and can do nothing but suckle, cry, throw up and poop its pants after it hatches. What makes insects so smart?

It only makes sense that the "software" was somehow stored in the tiny egg and copied to the brain of the insect when it hatched. Was it coded into the DNA? Was the "junk DNA" the source code or compiled code repository for these behaviors? Moreover, how many lines of code were there? Obviously the code had to be in some sort of compiled form. It was a complete puzzle to me -- until the Eureka moment hit.

I was reading an article that said that scientists have identified 50 distinct parts of insect brains. Furthermore, insects can live without their heads if when decapitated, they don't lose too much of their equivalent of cerebral-spinal fluid. The reason is that they offload neural processing such as walking to little brainules called ganglion distributed throughout the body. That accounts for the movement and locomotion of those multi-legged insects that move like robots. That means that their computer control systems are distributed. But that didn't tell me where the software was stored to account for complex behavior. After all, all of these systems require computation in the time-domain and other calculations like frequency-domain performance measures, degree of stability, Nyquist criterion (determining if feedback is faulty), frequency-domain of flying, and compensation techniques. It was a real puzzler as to how these advanced functions were passed on from the parent, to the egg and ultimately to the next generation. I didn't even have a theory.

Then came my dabbling in AI or artificial intelligence. It is an amazing process to create a machine with intelligence. You start by whipping up a network of artificial neurons. You initialize them with junk or random threshold values. Then you feed data into them over and over and over again, and you keep adjusting thresholds until they get it right. After all of that, you have a network that can do fairly sophisticated things like identifying cat pictures without writing a line of code to teach it. That was the Eureka moment. AI networks do not execute code to do their work. They have a built-in cascading network of layers of artificial neurons that sum inputs and decide whether to fire or not, based on a threshold value. They do sophisticated things with a multitude of simple, unsophisticated things. The insect Eureka moment for me, was that these complex behaviors do not need to be encoded in a layer of abstraction like BIOS.

For an insect, the brain and distributed ganglia throughout the body are made at hatching time from the DNA with a neural network, already pre-formed that does the sophisticated actions. There is no need for any learning, because the neural networks for what they need to do, has evolved over several million years. It is almost like making a computer with the software already loaded and running. In the case of humans, it is like being born with a pre-learned adult brain. It is as if walking was enabled in your brain the same way that the hand pulls away from pain or a burning flame.

So here is where the biomimicry comes in. If we now have artificial intelligence on chips, why can't I get a computer that doesn't need to have software loaded? Why can't I have a laptop that already knows what to do with a .docx file? Why do I need a special program like Microsoft Word? Why can't a computer just be taught to do stuff and then replicate the learning in the computer chips like the learning is embedded in an insect egg? Is this the future of computing?

I can see it now. There will be no more software packages in a new computer -- just a whole bunch of AI. Some of the neural nets are pre-trained, and others can be trained to do things yourself. And if you train some neural nets to do specific functions, you should be able to download a representation of those neural pathways and sell them to other users. It certainly could be a brave new world of computer dynamics if the development of AI took a turn like this.

Aluminum Crypto and Dick-Pics -Intriguing Futuristic Offbeat Ideas That Just Might Work

ArmourExpo 2017, held on Seven Mile Beach in the Cayman Islands is in the bag for another year. Usually when I go to conventions, I get bored and turned off, because at those kinds of events, there are people who attend, that think that they know everything and are a major annoyance to us who do. But this time it was different.

We had great, engaging, imaginative speakers. At 90% of the conventions that I attend, we have people pretending to be relevant speakers while the audience is pretending to listen (instead of looking at the mobile phones, playing games and texting their friends). I saw one woman in the audience who I think is lovely and talented, go to her mobile phone during speeches, and the cynic in me thought the worst.

However, when I looked at her Twitter feed later, I found out that she was tweeting the most cogent thoughts presented by the speakers. I was highly flattered to see that she had tweeted my definition of blockchain, which was : "Solving problems you didn't know you had with technology that you don't understand." Later, at the podium, she crushed her presentation on data privacy.

There were two speakers who excited my imagination for different reasons. They were respectively Arthur Keleti who flew in from Hungary to attend, and Dr. Richard Rahn, the noted economist who is no stranger to the Cayman Islands, having served for six years on the Cayman Islands Monetary Authority. Dr. Rahn is the one with eye patch in the header photo.

Let's take Dr. Richard Rahn first. He is an American economist who writes for The Washington Times. He was the Vice President & Chief Economist of the United States Chamber of Commerce during the Reagan Administration. A senior fellow of the Cato Institute and the Discovery Institute, Rahn received his M.B.A. from Florida State University, his Ph.D. from Columbia University, and an honorary Doctor of Laws from Pepperdine University. His articles have appeared in The New York Times, The Wall Street Journal, The American Spectator, National Review, and various international publications. He served on the Board of Directors of the Cayman Islands Monetary Authority. Rahn is chairman of the Institute for Global Economic Growth, and a member of the Mont Pelerin Society, sits on the boards of numerous think-tanks and advocacy groups, and has testified on economic issues before the U.S. Congress over seventy-five times. Rahn is also an Adjunct Professor at the Institute of World Politics.

Dr. Rahn is a proponent of supply-side economics, small government and a conservative thinker. He was the closing speaker of the expo. He is the author of the book (available on Amazon) "The End of Money and the Struggle For Financial Privacy". This book, which was published in 1999, makes a startling prediction for crypto and digital currencies which have come to fruition. I am a Black Swan futurist (you can predict very little and surprises are always around the corner) and I deeply respect someone who can make such a startling prediction way ahead of the curve.

Dr. Rahn believes that Bitcoin will be a failure as a digital currency because it is nothingness -- just like a turd at the side of the road with the crap kicked out of it (my analogy). He believes that we need a crypto-currency backed by something. Fiat currency is backed by valuable gold, or if the gold standard is dropped, then on the economic output of a country. Dr. Rahn is in the midst of creating a crypto-currency back by something cheap, and his answer is aluminum. He said that there were two kinds of aluminum in play. The first was the aluminum ore like bauxite and the second type was recycled aluminum which was cheaper to process by far, than bauxite.

Because of time constraints, Dr. Rahn was allowed to answer only three questions and I got two out the three in. My first was trying to understand whether he intended to have a supply of recycled aluminum locked in a vault to back his currency, and there would be only currency issued on what was in store. He answered that his currency would be backed by both refined and unrefined aluminum. My supplementary question, in an attempt to get answers, was whether he intended to issue crypto-currency on a finite supply of aluminum or on the total global supply. His answer was that he was basing his crypto-currency on the global supply, which left me more puzzled than ever because aluminum is the most abundant metal in the crust of the earth. It forms about 8.23% of the earth's crust. Now mind you, it takes a lot of energy to refine, and that could be the value that backs Dr. Rahn's idea.

My first thought was to dismiss the idea as a cockamamie one. But I kept going back to the thought that this man accurately predicted crypto-currency which was a difficult thing to do back in 1999, so it is obvious that he has impressive mental machinery in spite of his arch-conservative views on such topics as healthcare (yes I googled them and they are out of scope for this article). So .. oooooooo ... oooo, my conclusion is that this idea is so non-intuitive, that it might actually work. Dr. Rahn announced that he is patenting and otherwise protecting his intellectual property. I look forward to seeing a more detail explanation of his ideas.

And then we have Arthur Keleti with whom I resonated with on a personal level. Arthur was a keynote speaker. Let me quote from his bio. "Arthur Keleti is one of the world's leading experts on cyber security. He began his career in the banking sector at MKB Bank, after which he joined EasyCall, then Eurohivo. He soon became the communications and new business development director at ICON, after which he joined KFKI. Today, He is the IT Security Strategist of T-Systems Hungary, where he has worked since 1999. He founded and organizes the IT Security Day Conference (ITBN), and he has a broad view and understanding of the global IT Security market, which he actively helps to grow and develop. He’s particularly interested in the ever changing world of corporate and private security issues, keeping a watchful eye on the upcoming events of our near future, and its sometimes frightening and alienating tendencies. Reading about his experiences and vision can help prepare us to face the approaching tide of change more adequately equipped for survival."

Arthur has an interesting perspective on a person's data. They are secrets that belong to the person. He went into the anatomy of secrets as well as the semantics and categorically proved the most closely held secret of all men that deserves the utmost of secrecy and security, is a dick-pic or a picture of their penis (Anthony Weiner is exception that proves the rule).

Arthur was gracious enough to gift me a signed copy of his book "The Imperfect Secret" which is available on Amazon. I haven't finished reading the book yet, but the pages that I have already marked, are heavily annotated in the margins (with pen) where he has inflamed and inspired my imagination. Arthur (and Dr. Rahn) do not think conventionally, and that is a trait that I admire because of the inherent creativity in the DNA of their thoughts.

Arthur contends that humans are not equipped to handle our secrets and our privacy. His startling conclusion is that our privacy should be safeguarded by artificial intelligence and machines. They have the processing power without the bias and faults of humans to be our privacy bastions that dole out our secrets on an as-needed basis. This so inspired me, that in my spare time, I am trying to figure out a primordial AI machine to do this. So far I am planning the architecture, and I think that it may have a tie-in with blockchain. This is a wonderful time to be alive in the timeline of our technology and I am chuffed to be a part this scene.

As I make progress and learn more of these ideas, I will document them in this space.

So all in all, ArmourExpo 2017 in the Cayman Islands was a magnificent forum for the exchange of information and ideas, and to my mind, it is a can't-afford-to-miss exposition. You need to go in 2018, if not for the insights, then for the incredible tropical sunsets on Seven Mile Beach.

The Big Kahuna - Making A Universal Turing-Complete Blockchain (And Other Ventures In Speculative Computer Engineering)

A couple of weeks ago, I had a Eureka moment and wrote an article about it called My Eureka Moment - You're Using Blockchain Wrong. It was a wildly ambitious, brainstorm idea of using blockchain as an implementation of a new Web3.0 Internet without a webserver. What I posited was, using bits of code like smart contracts to format the data such that it was presentation-layer ready for browser-based processing backed by a blockchain. Since you can query a block in a blockchain directly, if its data payload was formatted with browser tags, you have just re-invented a distributed peer-to-peer internet without the need for a webserver.

I invited contrarian views to help hone the concept and see what was wrong with the idea. In the brainstorming process, you suspend the judgement of your idea an think about the possibilities. I learned this creativity technique from reading Roger von Oech and his book "A Whack On The Side Of The Head". You can read the pdf here. It was a seminal book in sharpening my creativity skills.

Once you have the general shape of the idea, then you can begin to judge it. I asked for help from my readers. I invited contrarian views, and I got them.

Jan Hendrik Scheufen replied: There are some valid thoughts around tokenization here, but the way the term "smart contract" is defined, it is absolutely the wrong approach to say that "smart contracts should be used for the presentation layer". Why would you need redundant (and therefore costly) execution of code in the presentation layer? Smart contracts excel at combining "data assurance and process assurance", but assembling and serving dynamic content? In no way does the presentation layer need the same level of assurance as core business logic and the computational effort you're proposing to put on a blockchain is outside of technical scalability.

I tend to make huge intuitive leaps without explaining, and I mentioned in my article that perhaps the data should be formatted using code like smart contracts to make it digestible to a browser. I should not have used the word smart contracts. And to be fair to the readers, I did say that the data entering the blockchain should be post-processed in the blockchain to make it presentable. The subtle implication of my idea was the elimination of a presentation layer. Format the data so it is presentation ready, such that the functions of the presentation layer of retrieving and formatting the data is eliminated entirely -- browser-based processing. These comments have sharpened my thinking of the concept. I will comment on this later. As my reader pointed out, why should you use redundant and therefore costly execution of code? I have had a better idea.

Another reader, Jan Bolhuis MSc BSc CITRM SA CED commented: The logic is put in Smart Contracts and Smart Contracts are much more than a placeholder for coins and certainly not a presentation layer. The power of smart contracts (among others) is the massive parallel execution possibilities of broad datasets, particular in combination with distributed apps. Coins in combination with wallets is just an example. In essence a coin is just an array of numbers indexable by a users wallet address(I know, simplified on purpose). We will see interesting use of blockchain in the coming years when people understand the concepts and implications better.

Everything that he says is true, and again, I rue using the words "smart contracts" and again I have had a better idea than post-processing of stored data.

In a similar vein, Jacques Mostert commented: You would have to migrate your server-side code to smart-contracts and call upon the smart-contracts through your HTML. Would be possible, but does not feel very elegant to put it that way. On the other hand, you could use and host your website/app inside a smart-contract written in C# and read your files through a streaming service also provided by BitMatrix that securely stores your files on BaaS (BitMatrix).

The idea of your content through a streaming service is interesting. Michael Dufel told me: You are using blockchain wrong... You should look at the IPFS project. Essentially, blockchains are horrible at data storage and data storage should be left for other P2P solutions like bit torrent or distributed hash tables. The reference to IPFS really got my creative juices flowing. It touts itself as the distributed web - a peer-to-peer protocol to make the faster, safer and more open. Dufel's interest is in health records and you can download his whitepaper here. Dufel's solution deals primarily with static records. Again, these viewpoints, all of them were massively interesting to me and I thank the readers for them.

To counter Dufel's argument that blockchains are horrible at storing data, I used to be of the same opinion until I tried BigchainDB. I like BigchainDB a lot and I am a proponent of it. The reason that I like it, is because it is fast, incredibly scaleable, and very data friendly. And I think that it is positioning itself to be future-ready, because it can be a private blockchain with your own servers, or cloud-based deployments. It works with Docker, is Python and Java friendly and it is extensible. On top of that, what sparked a lot of this future-thinking, is that I have an algorithm or two that makes my enterprise blockchain both schema agnostic and utilizes semantic RDF data that is machine-learning and machine-reading compatible with the data component in the blockchain transaction. It is not your father's blockchain.

Upon obsessively and compulsively thinking about what I wrote and how I would actually implement it, I was struck with another realization. I didn't want to re-invent the internet. I wanted that to be a component of a bigger picture. I want a Universal Turing Complete Blockchain Reactive Artificial Intelligence Network -- a TC BRAIN.

Turing Completeness is best summarized by Mark Harrison in Stack Overflow with this description of Turing Completeness: A Turing Complete system means a system in which a program can be written that will find an answer (although with no guarantees regarding runtime or memory). So, if somebody says "my new thing is Turing Complete" that means in principle it could be used to solve any computation problem. There are some provisos to Turing Completeness. One is that you theoretically may need to have infinite memory to solve some problems. Let's cook the books and throw those cases out. Turing Completeness is demonstrated by any high level programming language (Java,C, C++, Python etc etc). SQL is not Turing Complete, nor are databases. However, the challenge is to make blockchain a Turing Complete thing.

A Turing Complete thing can serve up its data in a presentation layer without actually having a presentation layer. Apparently, HTML5 + CSS3 is now also Turing complete because it can be used to program a Rule 110 automaton (take my word for it, this article is getting rather long). A Turing Complete thing can use its data in the blockchain to compute. A Turing Complete thing can solve problems, and do many things with data. Now if you couple this to machine learning, semantic data and blockchain, you will have created my TC BRAIN.

This is the baby that will put people out of jobs. This is the baby that will trade my portfolio. This is the baby that will eventually disown its human masters and run things. (You can read my blog article from the future: How My Computer Un-Owned Itself From Me ). So how do you take the baby steps to build a TC BRAIN?

The secret lies in the blockchain drivers. My blockchain driver is written in Python. Suppose that the driver recognized the data inputs and did a bunch of stuff with them. Suppose that it was smart, and connected to several AI networks. It could format the data with HTML format tags (eliminating my "smart contracts post-processing of the data"). This would totally enable a web-serverless internet, entirely done with browser-processing of pre-digested, pre-formed data. It would be a compute engine. It would be a universal thing-a-ma-jig. Imagine asking your browser see if there is a correlation between the price of Bitcoin and the tea harvest in China. That is the possible scope of a TC BRAIN.

This journey into speculative computer engineering just takes me further down deeper into the rabbit hole of what is possible, and creates more questions than answers.

My Eureka Moment - You're Using Blockchain Wrong

You have to excuse the typos and grammar in this post, but I am pumped about the creative ideas just pumping through my head about blockchain and the future.

I just finished an actual working proof of concept with a web interface that uses blockchain for its true-ledger qualities as an enterprise application. It is immutable, autonomous, outage resistant (when you have the gateways configured :-) ) and the acme of trusted data. I'd give you the URL, but our potential customers are looking at it, and they deserve first crack.

It's Only Money

Yeah, I know about Bitcoin, Eth and ICOs. I missed out on the Bitcoin value rocketing to the stratosphere because I was too busy figuring out blockchain, and learning how to code it myself. At that point I could feel the heat, but not see the flames yet. Cryptocurrency and digital currency is a major user of blockchain, but the tokenization of the world will very quickly eclipse it. I get queries regularly as to how blockchain can fit into various business spheres, and almost always, tokenization could be a part of the conversation. But this morning, I saw the future of blockchain while I was in the shower - (I get my best creative ideas in the shower), and I am typing like a madman to capture the vision. Blockchain will be the Mother of Web 3 and the penultimate internet that we will ever need. (If you want to know the ultimate in Internet as I see it, you will have to journey to the Abu Dhabi Formula One Grand Prix in November to attend my winning presentation to Formula One engineering, the Mercedes Petronas AMG Formula 1 engineers and Tata Communications).


So what was this vision that emulated the Archimedes "Eureka" moment from my morning ablutions? I was cogitating on smart contracts in blockchain. They are little bits of code executed in blockchain once certain conditions are met. They are the key to massive internet disruption.

A block in a blockchain can have its own URL. It can have its own IP address. In the most scalable blockchain engine ever made (BigchainDB), you can simply query the block by sending an HTTPS request like this:<block_id> (left out the "//" so it won't be seen as a valid URL) and you get the contents of the block. It doesn't matter if you see the guts of the block -- its made to be transparent and it is immutable. But suppose you had a smart contract that delivered up the data in the block formatted in HTML whenever you queried the block. What you have effectively done is created a mind meld of the data layer and presentation layer. AND you have eliminated the need for a webserver (I like Tomcat, Apache and Jetty myself). Every single block in the blockchain has the ability to be its own, or several web pages. The smart contract can be a bot as well. That puts real horsepower into the blockchain, because if you have an array of bots, you can take over the functions of web apps, mobile apps, and even bespoke enterprise applications. You can call a single block, or call a smart contract bot to traverse the nodes of the blockchain. You have just created Web3.0. And since you need public and private keys to interact, you have just securitized the whole shebang. You have total distributed architecture with every web page served up.

Advertising Disruption

But wait, don't send money yet, there is more. I use adblockers. I hate web advertising. I hate navigating to a page and having a video with sound blaring start unannounced. Putting up advertising to the masses and hoping that someone will bite is so retrogressive in terms of the Internet. It is the Dark Ages of Advertising. It is like throwing mud at a wall and hoping that some sticks.

But advertisers have moved on to be voyeurs and pantie-snatchers. They glean, scrape, phish, infer and cajole our personal information all in the name of analytics so they can sell us shit. What they have done is eroded our privacy. When their analytics are coupled to AI, stupid spyware like Alexa and IoT snoop appliances, you get instant mobile notification of hemmorhoid salves for sale the minute that you step into the bathroom.


Web 3.0 will cure that, and this is where tokenization comes in. Suppose that the newspaper is hosted on the mind-melding blockchain and each news item has its own block. First and foremost that solves the problem of dead links. They will always be around for posterity. But when I navigate to the site, if I have a wallet registered, it deposits a few tokens or fractions thereof into my wallet. These will be say, Ad Tokes. You get a "Toke" for looking at the news. You get a "Toke" for checking the weather. Essentially, any site that hosts advertising can now dispense Tokes.

You as the consumer can go to your wallet dashboard and see how many Tokes you have. Companies who normally advertise with a manure spreader on the conventional internet, will now redeem your Tokes for goods, services, information or goodwill. All of the advertising takes place on your dashboard where you have a smorgasbord of where you can spend the efforts of time wasted on the internet. In this fashion, your privacy is preserved because the blockchain host preserves anonymity of the person using it (other than knowing the address of the public wallet).

So there you have it -- Web3.0 - an internet hosted on blockchain that melds the data and presentation layer in an intelligent fashion, while preserving privacy and disrupting advertising.
The only thing left after that is to teach the SOB how to swim.

How Blockchain Can Put Professional Project Managers Out Of A Job

At one point in my career, there was a Gartner report out saying that about 72% of IT projects were in "Recovery". It means that they were either late, over-budget or missing milestones altogether. I saw evidence of that everywhere I looked, in the large organization where I worked at the time. Huge multi-million dollar projects came to nothing. KPIs (Key Performance Indicators) were not met and things stalled -- sometimes because major stakeholders bickered over specifications after the project was started.

The band-aid fixes entailed adopting Agile methods where the scrum master was to remove impediments, or hire more consultants to speed things up. All of these actions rarely made any difference in the long run.

I have always believed that project management was merely applied common sense. I still believe it. However, I believe that common sense ain't so common. The failure of many projects hinges on missed details because the project manager operated at the 30,000 foot level, while the linchpin that caused the delay or failure was down in the weeds of project execution -- usually by a person not even on the radar of a project manager.

There has to be a better way, and to my mind, there is - blockchain. Here is the vision. Blockchain is a transparent, immutable, autonomous, outage-resistant true ledger that can have built-in intelligence with smart contracts. Suppose that instead of a Gantt chart, you had a series of smart contracts. The KPIs and milestones were all smart contracts. Having smart contracts forces one to think on an extremely granular level -- one not normally reached by a human project manager.

Each smart contract would assign a number of tokens to the project, based on activity completion. As each person in the project completed their tasks, they record their activity in the blockchain, and the blockchain itself keeps track of completion percentage by transferring tokens to the completion account. All of the tokens for that task or milestone are accounted for when complete. The sum total of all possible tokens represents a completed project meeting all goals. The blockchain is linked to an executive dashboard which does extensive drill-down reporting.

But wait, don't send money yet. There is more. Each entry in the blockchain feeds an AI engine that Map-Reduces and learns about the company's projects. This is the methodology of taking all process data (event logs and everything), integrating it into information and transforming it by abstraction into knowledge. This knowledge will be stored in a master blockchain which will have data to assist in the creation of smart contracts and the parameters necessary for future projects.

Such a system could not only out-perform a human project manager, but in the long run it would be cheaper. The most expensive part of most projects are usually the people costs and that area is usually the weakest link. The project management discipline is ripe for an AI/Blockchain disruption.