Mike Ault's Blog

Mike Ault's thoughts on various topics, Oracle related and not. Note: I reserve the right to delete comments that are not contributing to the overall theme of the BLOG or are insulting or demeaning to anyone. The posts on this blog are provided “as is” with no warranties and confer no rights. The opinions expressed on this site are mine and mine alone, and do not necessarily represent those of my employer.

Saturday, February 15, 2020

Sheepdogs, Wolves and Sheep

I read an interesting blog identifying three types of people, sheep, wolves and sheep dogs; with the sheep being the rank and file who basically keep their heads down and expect others to care for them, the wolves those that prey on the sheep and of course the sheepdogs being those who choose to defend the sheep.

Interesting as this analogy is I don’t believe it goes far enough. In the ranks of the sheep are actually wolves that act like sheep and in the wolves are many sheep. Unfortunately (or fortunately depending on circumstance) the true natures of these changelings often come to the surface in time of stress. What do I mean? Let me explain.

First let us take the case of the wolves who act like sheep. How many times have we heard “He/she was such a nice person, I can’t believe they did this!” these are examples of wolves who did their best to be sheep but one day it all came crashing down and they revert to wolf ways, eating their young and generally attacking anything within striking distance.

On the other side are the sheep who act like wolves, but usually only in a pack setting. Many gang and sect members fall into this category. As long as they are safely surrounded by the rest of their pack they act like wolves, isolate them and they quickly turn tail (metaphorically speaking) and bleat out the rest of the pack to save their own sheep hide. The real wolves get great pleasure and many laughs over leading sheep astray, of course they usually fall on these sheep and eat them (literally or figuratively) by getting them to do such things as the ultimate passive aggressive act such as wearing a vest packed with explosives and setting it off in a flock of sheep.

Of course we also have sheep with rabies and wolves with rabies that attack everyone around them whether they are sheep, wolves or some other unknown subspecies…

Of course we also have sheep who try to be sheepdogs and wolves who think they are sheepdogs. Generally the sheep who try to be sheepdogs are weeded out and placed in desk jobs, or the cemetery. The ones who get desk jobs take it out on the rest of the sheep for their own lack of sheepdogedness. The wolves who try to be sheepdogs usually do very well for a while, but eventually, unless they go out in a blaze of glory or reveal their wolfness in some manner, they end up preying on the sheep in a more virtual manner than the wolves who act like wolves, in the form of graft, corruption, police brutality and other behaviors unbecoming to sheepdogs.

Finally we have the stealth sheepdogs, they submerge into the flock and act sheeplike until they are needed, unfortunately unless they are prepared like the full sheepdogs, they usually get the sheep dip kicked out of them once they do act. However, many times they do actually help and prevent sheep from falling prey to the weaker wolves.

So where do you fall? Sheep, sheepdog or wolf? Or are you a pretender?

Catching up

I looked and realized I haven't blogged in too long a time. A lot has happened since my last post. I took classes in Z/VM (IBM), AI (MIT) and Blockchain (Blockgeeks, Oxford), then was laid off from IBM as they realigned the focus of storage (from senior level people to newbies that are cheaper.) So since Sept 4, 2020 I have been unemployed. After 250+ applications out and only a few interviews and no offers I am about to go semi-retired. I am upgrading my skill set by taking a Big Data Masters class from Intellipaat.

Since Intellipaat is in India and of course I am not, that means my classes run from 8:30 pm to 10:30 pm Monday-Thursday. Learning about Hadoop, Sqoop, Hbase, Flume, Pig, installing Hadoop clusters on AWS and all sorts of interesting topics. Soon I will be even more qualified to sit at home waiting for folks to respond to applications.

In my spare time I helped my daughter find and move into her new house, redo her bathroom, built shelves at my daughters and for my office, an end table, a breakfast tray, small step stool and some coasters. I also wrote a cookbook with over 85 recipes in it from my 46 years of cooking. (https://www.amazon.com/Recipes-Sunset-Cove-Michael-Ault-ebook/dp/B084T8XX1L/ref=sr_1_1?keywords=recipes+from+sunset+cove+kindle&qid=1581775548&sr=8-1)

So I am keeping busy.

Sunday, February 18, 2018

Ethereum as a Competitor to Hyperledger

Ethereum as a Blockchain Competitor to Hyperledger

Ethereum, a cryptocurrency based on blockchain, is making a bid to become a competitor in the non-cryptocurrency uses of blockchain. In recent months Ethereum has released the ERC721 protocol for non-fungible assets for use with their blockchain. An example of the use of the ERC721 nonfungible token standard with Ethereum is the internet based trading of Cryptotkitties.

Ethereum as a basic cryptocurrency requires that the producer provide proof of work to create an Ether coin similar to Bitcoin. The creation of an Ether coin generates a block. The entity keeping the block and the creator establish a relation through the use of crypto-keys and wallets. A wallet can be as simple as a piece of paper holding the keys or a fully secure electronic wallet. If the key values are lost there is no way for the holder of the Ether coins to get to their assets and they are forfeit.

Ethereum transactions have grown from just over a thousand transactions per day in August of 2015 to close to one million with a peak of 1,349,890 on January 4, 2018. As of February 18, 2018, the total Ethereum supply was 97,693,097.41 with a market capitalization of $92,305,323,083 USD. The three supply types for Ethereum are Genesis, Block Rewards and Uncle Rewards with Genesis holding the majority supply at 72,009,990 coins.

Cryptokitties as a Non-Fungible Example

While Cryptokitties sounds frivolous and has no purpose other than to demonstrate PT Barnum's famous axiom, it shows the potential for this Hyperledger competitor. Cryptokitties are cartoon images of cats that have specific digital genes. When two of the Cryptokitties are bred by their owners, a proprietary algorithm is used to combine the digital genes and produce a new offspring with characteristics blended from both parents. People buy and sell these Cryptokitties using Ethereum cryptocurrency. Each Cryptokitty is supportedby a blockchain. The initial trading of Cryptokitties generated millions of dollars of activity and shut down the Ethereum network on their first day of trading, proving sometimes a project's worse enemy is success. You may laugh at this but a recent “rare” Cryptokitty sold for the equivalent of $110,000.00 USD. From their launch in November of 2017 to December 17, a mere 27 days, 153,739 kitties were bought and sold at a value of 16.6 million USD.

Changes to Ethereum

Ethereum currently uses proof of work (POW) as a basis, similar to Bitcoin. Ethereum wants to move to proof of stake (POS) to reduce computing requirements. Each Ethereum contract uses two components, gas and Ether. Gas is a subset of Ethereum and is used to pay for the transaction, the more gas you give, the more computing resource can be applied to your contract. It wasn’t clear what happens to the resource (measured in Wei) represented by gas, it could be assumed that is collected by the Ethereum resource provider as payment for use of the Ethereum network. Wei is the Ethereum currency and is what is traded in a non-ERC721 token. The fungible type of token is based on ERC20 fungible token standard and is how Ether is traded.

Getting Gas

In Ethereum, gas is a measure of computational effort. Each operation is accorded a fixed amount of gas. A possible example would be doing a simple addition would cost 3 gas, doing a hash, 30 and sending a transaction 21000. A single unit of gas is fixed in price at 10 Szabo which is 1/100,000 of an ether (a single Ethereum coin.)

Ethereum Denominations

Ether is measured in Finney, Szabo and Wei. Finney was named for Hal Finney, the first bitcoin user after Satoshi Nakamoto. The Szabo is named for Nick Szabo who developed bit gold and the concept of smart contracts and the Wei is named for Wei Dai who developed the concept of bit-money.

ERC20 and ERC721


ERC stands for Ethereum Request for Comments and is the protocol for creating Ethereum standards. ERC20 defines how Ethereum coins are defined. Coins are not differentiated by serial number and can be broken down in increments as small as 0.000001 Ether. There is no difference between any Ethereum coin and another, a digitization of the concept of a real coin. By law a paper currency must be serialized giving each bill a unique identification, however coins do not have this restriction, so any coin is treated like any other, this is the basis of the ERC20 fungible token.


ERC721 is a way to create unique asset identifiers in Ethereum allowing the Ethereum blockchain to be used to track unique assets as well as standard Ethereum coins. An ERC721 defined asset cannot be portioned, it is sold or bought in its entirety. For example, the concept of buying a fractional Cryptokitty is impossible. This ERC721 can be used to generate a unique identifier for any non-fungible asset such as art, land, diamonds or other non-currency assets.

Cost of storage

A reoccurring issue in Ethereum is the cost of storage for the blockchain entries. It is assumed that to store in the Ethereum blockchain requires more gas per transaction. Since blockchains store data essentially forever, the cost is paid upfront for permanent storage. An example would be if the Interplanetary database (IPDB) is used to store blockchain values the cost for permanent storage is estimated to be $100 USD per gigabyte according to Jammila Omaar, and Internet Policy intern at IPDB foundation. Using storage cost models that incorporate pricing models based on storage of multiple copies and a backup with decreasing storage costs. One gig of storage can store many transactions with an estimate of 1000 transactions per 16 MB of storage. This type of cost is leading to the use of IPFS.

The internet protocol file system (IPFS), also known as the interplanetary file system, is a way of tagging a picture, document or other object and then using the tag in an Ethereum blockchain instead of storing the entire object. IPFS is envisioned as a distributed file system that seeks to connect all computing devices with the same system of files. IPFS is a versioned file system that tracks versions over time. IPFS is similar to bittorrent.

The computer object is scanned and a digital hash tag is generated that is unique (at least as unique as hash can be) for the object. The object is stored locally but referenced by that tag in the blockchain. The IPFS entry is two components, a data blob of less than 256kB and an array of links to other IPFS objects. The link has a name, the hash and the cumulative size of the linked object. Each time the object is reloaded it is re-scanned and the hash compared to the existing hash, if the hash is different the new hash is chained to the old and the object is versioned. This a peer-to-peer model where the hash is sent to the network and all participants are queried if they own the object represented by the hash. This indicates that in order for the ID to be useful the local storage must be accessible to all clients of the blockchain. The IPFS standard is still evolving and the security issues are rife. If someone attempts to scan the same object, or a copy, the same hash is given them. This begs the question: do they then get access to your copy utilizing your storage resources to access it?

Of course you don’t have to use IPFS and can store links to data in a local database or filesystem in the blockchain if desired.

Future goals of Ethereum

Listening to the presentations at ETHDenver 2018 showed that the goal of Ethereum is to replace fiat currencies with digital currency, the premise being that fiat currencies have nothing to back them while digital currencies do. None of the speakers seemed to give thought to the myriad of digital disasters that could devastate a digital-only currency. Essentially their goal is to replace currencies backed the good faith and credit of countries with one backed by computer algorithms. Why this is a better basis for currency was never made clear. Most of the primary presenters at the conference seemed to be out of western Europe. With this move towards non-fungible asset tracking in Ethereum it could be a credible contender against Hyperledger in the non-fungible asset tracking arena.

One of the goals of the ETHDenver hackathon was of course the hackathon itself. Nearly two dozen projects were pitched. Of the two dozen or so projects most were fluff. Several involved supply chain, a couple were to assist Colorado in tracking absentee voters and one was to help track sexual predators within the volunteer networks such as Doctors without borders and such. In listening to the people pitch their products I was left with questions as to whether they, or I, misunderstood the concept of Ethereum and blockchain as most of their applications could easily be done outside of Ethereum altogether as a simple App on a Iphone or Android. Of course, since the average age appeared to be mid to low twenties this could explain the leaning toward app like constructs.

Competing with Ethereum based Blockchain

The major limiting factor of Ethereum is the dependence on the concepts of tokens, gas and Ether itself. These concepts bind applications into using Ether coins as a basis of performing any transactions within the Ethereum environment as you must utilize gas to do any transaction in their computing model. They also still use POW and POS to generate transaction models which are computer and resource intensive. The major issues they discussed at EthDenver related to scalability and security of their models.

I believe IBM must get Hyperledger into the hands of these 20-something blockchain developers. Perhaps a Hyperthon hackathon in Raleigh or Atlanta where IBM or other sponsors offer prizes for the best Hyperledger based products with practical applications. Show how the Hyperledger permissioned model, which doesn’t depend on POW or POS, is a more scalable, flexible, as well as cost effective solution.

Ethereum Support

There are many startup companies based on Ethereum. Ehtereum Foundation, Consensys, POANetwork, Blockgeeks, Maiden, Satis, Gitcoin, Dharma Labs, Livepeer, Zeppelin Solutions, FBG Capital and BlockGeeks are just a few represented at ETHDenver. All have websites where they share whitepapers and Ethereum code examples.


The EthDenver was a fascinating look into the Ethereum universe. With Ethereum branching out into non-fungible assets they could become a competitor to Hyperledger if they can overcome scalability and security issues.

Sunday, January 28, 2018


On most prepper boards you find a dichotomy when it comes to reloading ammunition. You have the die hard, have to do it, may not be able to buy it group and the don’t need it, buy preloaded, better quality in store bought group. I tend to side with the need it group. We are only one or two elections away from a democrat run house, senate and president which would be tough on ammo.

I see the way they will make guns useless is to run up the taxes and regulations on ammo. Maybe I just need to tighten my tin foil hat but trusting politicians with something as critical as the defense of my family is not in my nature.

I was finally able to get my reloading bench setup out in the shed today. Of course it has been a while since I reloaded so I will have to take it slow and careful the first couple of batches until I can get back in the rhythm. I usually load 9mm, 40cal and .38 special. I don’t shoot enough 7.62x39 or .223 or 5.56 to make it worthwhile but I do have the needed dies should I wish to do so. I also have dies for 7.62x59 and 8mm Mauser along with the needed size primers, bullets and type powder

Anyway, I will take some shots (with a camera)when I do some reloading and put out a how-to when I get back into it. Keep your powder dry!

Wednesday, January 24, 2018

Got a New Book Out, other writing news

I just realized I hadn't blogged abut my new book. I have published book two in the World In Darkness series, entitled: When Darkness Comes. The book picks up where book one left us, with the Lowmans all back together, but not for long! Hope you enjoy this post grid down post apocalyptic adventure.

I am also pursuing a screenplay with my Suppressors series. In speaking with a producer he felt it would make a great TV series. So here goes...of course much like Arthur C. Clarks The Sentinel was the germ of the idea that triggered the entire 2001 A Space Odyssey franchise, so is my first book in this series Suppressors: The Shattering  seemingly triggering an avalanche of ideas for series plots. I will try to keep you posted as this progresses.

I have also submitted my other books and few short stories from my Seeds of Wonder anthology for consideration as movies/TV series. Time will tell.

Status at 1/24/2018

Well, finally got the first server up and running and ready to install Oracle. Of course now I am at the stage where I have to do the install shuffle. The install shuffle is when you install a program on a pseudo-supported OS. Ubuntu falls under the pseudo-supported OS list for Oracle. What this means is that while you can get Oracle running on Ubuntu, don't count on Oracle for support. This means you need to have good Google or Bing skill to locate articles on why a particular subroutine or set of programs won't link.

Right now I am dealing with undefined issues with routines in PL/SQL libraries. I will keep you posted on my status.

Recently I was moved from FlashSystems/Oracle work into Financial Systems/ Blockchain/ FlashSystems/Oracle work. Loads to learn. I will be attending ETHDenver, an Etherium hackathon. Something tells me I will be one of the oldest in the room at most of the meetings.

I have submitted presentations for the IBM series of Technical Universities in Cairo, Dubai, Brazil, London and Orlando. If they are accepted I will be very busy in the March/April time frame. My paper was turned down for Collaborate so I guess I will be a booth bunny.

That is the news that is fit to print, see you around the blog sphere!

Thursday, February 02, 2017

Pasting up a Server

When you change out CPUs you have to remove the CPU heatsinks. The heatsinks are just held on with latched pressure levers. Between the CPU and the heatsink is thermal conduction paste. Now on old servers this will be mostly dried out and not very gooey, easy to wipe away when you remove the old CPU using a little paste dissolver. However, I had an interesting thing happen.

I installed the new CPUs and the new memory in both servers, using new heatsink thermal paste. The paste comes in a little injector looking thing exactly like the barrel end of a hypodermic. The paste is supposed to be for a single CPU install, but let me tell you, there is more than enough in a single applicator for two CPUs. Anyway, I got the new memory and CPUs installed and sealed up the servers and switched them on. Expecting to see that each had 2-quad core servers running at 3.16 Ghtz and 32 GB of memory, imagine my surprise when one showed up with a 2.66 and a 3.16 Ghtz CPU. Yep, they sent me the wrong CPU, and trusting me didn't check out the fine print on the CPU itself so here I am with a freshly installed CPU that was identical to the one I removed. Okay, so I needed to remove the lower speed CPU, call the supplier and get a replacement with the speed I asked for. Easy right? Here is where the fun starts.

Remember that heat transfer paste? Well when it is new, it is extra gooey and it turns out if you use the whole little injector on a single CPU a lot gets squeezed out to the sides making a mess of the CPU pad area and, unless you are very careful, it can easily get onto the CPU install pad itself. The problem is that the CPU install pad is actually a bunch of small hooked wires so you can't wipe the stuff off, you can't brush the stuff off, in fact the only option I can think of (now) would be to completely remove everything from the mother board, get some electronics spray cleaner and have at it. Unfortunately I tried wiping and then using a very fine brush to remove the embedded paper towel and the remaining paste. This resulted in many of those fine little hooked wires becoming fine little out-of-alignment straight wires. Scratch one CPU socket. Luckily Dell 2950s are still fairly available and I was able to order a replacement server for less than $200.00 delivered to my door. The replacement only had one 2 GHtz quad CPU and 4 GB of memory but that wasn't a concern.

So today my new-used server arrived and I gutted my old one to rebuild the new one in its image. Transferring the dual 4 GB HBAs, hard drives and remote access port from the old to the new and installing the just arrived quad 3.66 Ghtz CPU along with the existing one I had from the first attempt and using one of the heatsinks from the first server. Needless to say I was careful with the thermal transfer paste. Now I have two servers with dual Quad 3.66 GHtz CPUs and 32 GB of memory and they are both running Ubuntu 16.04.1-64 bit server software. They are talking to a 5TB mini-SAN through dual 4 GB HBAs. Now on to the Oracle installs!

I also got the replacement controller shield card for the Anet 3-d printer, but, before I install it I have to verify every single connector is set up correctly. There are three sensor cables, 5 motor control cables and 3 axis motion end stop cables that all need to be carefully checked for shorts in the Dupont connectors. Did I mention I hate Dupont connectors?

I also got and installed the green lasers in the 3-d scanner, but need the printer to make some better holders that allow x and y axis calibration of the lasers themselves. Otherwise you get cylinders inside of cylinders and other scans turnout really weird.

Monday, January 23, 2017

Upgrading CPUs and other topics

In addition to adding 16GB of memory by replacing the 16 GB with a 32 GB set in my Dell 2950's I will be installing 4 new E5460 3.16 GHz quad processors to replace the E5345 2.33 GHz processors to boost processing speed. I assume I can reuse the existing heat sinks and just swap out the CPUs. I should have the new CPUs by the 31st and should have the memory upgrades by then as well. I will try to post some pictures of the process when I do it. Once all this is done I should have some powerful Ubuntu servers running 12c Oracle RAC...if not, I will have a bunch of stuff to sell on Ebay!

I am also in the process of learning the ins and outs of 3D scanning and printing using a Ciclops scanner and the ANET A8 DIY 3D Printer. Of course things are not off to an auspicious start. The primitive mounts on the Ciclops for the lasers cause issues with focusing and calibrating the lasers, I hope to have that fixed with some new laser mounts once I get the Printer working. In addition I have ordered some replacement green lasers for the red ones it currently uses. The CMOS in the camera used it much more sensitive to Red and you have fewer scanner issues if you swap out red for green lasers according to the experts.

The ANET A8 DIY printer is whole nother story. I assembled it over the course of two days, then calibrated it, did the bed leveling, checked that the extruder and heated bed worked as they were supposed to and then, not even half-way through the first test print the Mosfet on the control board for the heated bed fried, frying the control board. I have ordered and obtained a RAMPS 1.4 upgrade control board and am now just waiting on the DuPont connectors and Dupont crimper I need to complete the upgrade, at my own cost of course. The reason at my cost is because GearBest, where I bought the printer has crappy support. I have also purchased an upgraded power supply. These are suggested upgrades from long time A8 users.

I contacted GearBest to get a new board since this was literally less than a week since I got the printer. They said I obviously did something wrong and it was my fault so they wouldn't replace it. They offered me a generous 200 points (about 4 USD) for my trouble. This is the second time their support has been shall we say less than stellar. The first time was with a G2 mini-computer I bought from them which was DOA, I immediately notified them of this, they marked the report as "processing". It has been a year since then, and I reminded them to which they said since it had been a year, they couldn't do anything! In short, don't expect good client service from them, they are just a clearing house for cheap Chinese electronics, toys and games.

Well, I will keep you posted on progress.

Saturday, January 21, 2017

Going to Ubuntu

Well I was sitting in my home office looking at my servers. I've done that a lot in the last couple of years. Wondering why I was having such difficulty installing Oracle Linux and getting the darn things to be more than room heaters. Admittedly it hasn't been a full time pursuit. Anyway I have decided to install Ubuntu since I could get installation dvds and didn't have to jump through download this, make boot disk that. I have also ordered 32 gig upgrades for both servers. Hopefully I will be able to install Oracle12c RAC and get my cluster up and running. I may also download meshlab and a slicer so I can create files for my 3D printer. Currently times to conver the vertices into faces is extreme on my laptop.

Anyway, will be posting my progress. The