If you follow me on Twitter (@john_canessa) you have noticed that in the past couple months or so I have been posting tweets regarding articles in Medium. The site is geared to creating posts which you could do using your own web site (e.g., www.johncanessa.com). The beauty is that many talented individuals in different fields are posting there. The site organizes them by categories and presents the articles indicating the estimated reading time. One of these days I will probably start posting there. Continue reading “Using Docker – Installation”
I am constantly reading and experimenting to learn things which I may apply to work projects. A few years ago I decided to spent time on and off learning machine learning (ML). With that purpose in mind, I got a number of books on different subjects (e.g., Deep Learning, Python and Statistics) which seemed to be useful to achieve my goal.
On the platform side, I started experimenting on Windows. Most things work fine but some things do not. For example, I had to wait to use Tensorflow because it ran on Linux but not on Windows. Today it seems to work on both. The same seems to hold true for Docker. Continue reading “Machine Learning – Setup”
I have been busy traveling and spending time with family and friends so I have not posted in a couple weeks. Sorry about that. Today is January 01, 2018, so Happy New Year. It is and for the past several days has been quite cold in this part of the country. Today we woke up to a fresh -13F. My wife and I will go to the Mall of America in an hour or so to get some steps on our Fitbits.In the past decade or so there has been a huge interest in artificial intelligence. It seems that, different aspects of AI have been creeping into applications in multiple domains (i.e., Biology, Business, Computer Science, Computer Vision, Economy, and many others). Continue reading “Artificial Intelligence (AI)”
I have been purchasing items from Amazon through the years. With two exceptions the experience so far has been very positive.
Years ago, my wife and I purchased via Amazon a Le Creuset pot for our son. The pot was made of ceramic. The pot arrived at our son’s residence chipped. When we learned about the issue, I checked on the Amazon web site and filled the form to return the item and get a reimbursement. We decided that a ceramic pot might not be a long lasting item. So far all was fine. Our daughter in law was going to return the item. Apparently she lost the slip and we had no way to prove that we had returned it to Amazon. We were not reimbursed for the purchase. Like I said, the issue was on our court. Continue reading “Missing Book – Amazon.com”
Last week I spoke with several developers regarding coding conventions for the C programming language. Most of them responded that there is some documentation by the organization, but some of them have never found it or read it. Most of them just look at existing code and try to mimic. The issue is that on most legacy projects, there is code written using different styles. Some organizations use some tools to extract documentation and or code metrics. With time those tools may have changed leaving behind artifacts that are no longer needed. Continue reading “Coding Conventions – C Programming Language”
Kubernetes, it appears to me to be a funny sounding word that could be uttered by an actor in a science fiction movie. If interested in the actual origin of the word, take a look at the following Kubernetes link in Wikipedia.
I am more interested in what it does than how the word came to be (even though I did read the entire Wikipedia article). In the book Production-Ready Microservices by Susan J. Fowler; published by O’Reilly (which I purchased from Amazon and read), a nice and simple diagram is used to describe the four-layer model of the microservice ecosystem. Continue reading “Kubernetes”
I have been architecting, designing, documenting from an engineering point of view, implementing, and testing software products and services for a few decades. Many years ago, working for a Fortune 500, I was troubled by the practices used to develop software. It seems that there had to be better ways to get from requirements to products and services. That induced me to read books and papers and take several college courses in order to satisfy my curiosity and be able to apply and create better ways. Continue reading “Technical Debt”
I apologize for not being consistent on my posts. Technology and projects change quite rapidly so what might be of interest today might not be in a few weeks. In the past few weeks a decision was made to use the Windows platform to develop the next generation of a storage server. The storage server will be developed using ASP.NET Core. Due to that fact, I have been experimenting with the ASP.NET Core SDK and runtime. Yes, the last statement is not a typo. The ASP.NET Core has a SDK using its own version number and a runtime using a different version number. Continue reading “ASP.NET Core”
What is eventual consistency and why would we bother with it? Let’s first start by taking a look at the CAP theorem.
What is a theorem? For that we could search in on-line (just for speed) dictionaries and come up with some of the acceptable definitions. Please note that the most words have different definitions depending on how they are applied. The word “theorem” falls into such category. I am going to use the set of definitions from Dictionary.com. The word is a noun. It has different meanings in mathematics, logic, as a rule or law, and as an idea, belief, method, or statement generally accepted as true without a proof. Continue reading “Eventual Consistency”
This post deals with an API for binary trees in Linux. The API consists of the following functions:
|tdelete()||Deletes an item from a tree.|
|tdestroy()||Deletes the entire tree.|
|tfind()||Finds an item and if not found returns NULL.|
|tsearch()||Search a binary tree for an item.|
|twalk()||Performs a depth-first, left to right tree traversal.|
In the past I have used and implemented, using different programming languages, several classes, methods and functions to deal with binary trees. Binary trees are used to keep data in sorted order. This allows for quicker search times. This particular implementation comes with the Linux operating system. You can read more about it by typing on a Linux console: man twalk Continue reading “Managing Binary Trees – Linux”