Earlier this week I ran into a description of Radix Sort. This sorting algorithm has been around for a few centuries (yes; that is not a typo). The algorithm dates back to 1887 to the work of Herman Hollerith (and yes; he was the inventor of the Hollerith Card Code for punched cards used in the past century).
This sorting algorithm is not the fastest, it requires additional space, but has been around for a long time. When you read about it, seems like it should not work; but it does. Continue reading “Radix Sort”
Code complexity is a subject that is taught early on in Computer Science curricula. Not sure if early is the reason why many software developers tend to forget what it is and how to apply it.
Last week a group of developers were talking about the complexity of algorithms and Big O Notation came up. As a matter of fact when considering complexity there are:
|Big O notation
Continue reading “Code Complexity”
Most software developers now a day write code using object oriented (OO) programming languages. In some cases, due to performance reasons, some code may be written using a non OO language. One way or the other, the question may come up if return codes are better than using exceptions. I do not believe you can come with enough reasons to justify one method or the other which would be accepted by most software developers. What I will do is discuss some considerations and give my opinion. Please take it all with a grain of salt. Continue reading “Returned Value versus Exception Handling”
A few days ago a group of software engineers were discussing how the order in which the numbers of rows versus columns in a two dimensional array affect performance. That is; if an array has more rows than columns as opposed to more columns than rows, the time it takes to traverse the array will be affected. Continue reading “Two Dimensional Array”
UPDATE – April 09, 2018 – When I started this post, I was thinking in several follow ups in order to try different approaches and be able to continue to improve on previous passes by adding code or starting from scratch when a new idea came up. I was interested in showing a normal progression that the reader would encounter when developing software. In the days that passed, I decided to limit the subject to a single post. Please let me know if you encounter an issue or would like for me to expand on this entry.
Sometime last week I attempted to solve a simple online challenge. The challenge dealt with parsing a string of text and then obtaining information from the string. There are probably thousands of variants to the challenge. I am not going to cover the exact challenge in this post. I will make my own. Will start simple and will get more complex each time we add a new obstacle. Continue reading “Parse Text”
The use of string tests might not be a common process when testing software; perhaps it should.
So what is String Test?
String Tests are used to test software features when already integrated in the final software and before it is sent to production. When features in the software are being developed, engineers write unit tests to make sure that the different functions and classes work the way they were intended. These tests are typically white box and have reduced scope. Continue reading “String Testing”
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”