Using the MongoDB Shell

I believe it was Albert Einstein who said “Any man who reads too much and uses his own brain too little falls into lazy habits of thinking”. I like to read in order to learn about different subjects, mostly associated with computer science and technology. I also like to experiment with what I am reading in order to verify that I understand the material. Continue reading “Using the MongoDB Shell”

Echo Server and Client

This past winter was quite long but not too cold. A few weeks ago we received a one two punch with two winter storms. After that the temperatures went up and we had a day with temperatures in the mid 80s. In the past week the temperatures were down. Last night we were in the lower 40s. We turned off the central heating system at home for the season. We have already been using the air conditioner for a few days. This morning the inside temperature upstairs was 66 F. My home office is downstairs. The temperature has been at a solid 60 F so far. My wife and I are planning on going for a walk in a couple hours. Continue reading “Echo Server and Client”

Running MySQL on Windows 10

In my previous post I mentioned that I was going to be spending some time experimenting with MongoDB. So why would I be dealing with MySQL at this time? Good question! The reason for it is that I want to store, among different things, Java objects in MongoDB. I am interested in comparing how the same Java object may be stored and retrieved using a SQL and a NoSQL databases. I could have used a different SQL database (e.g., SQL Server), but decided on MySQL. It happens that I have a few databases installed on my Windows 10 computer. With that out of the way; let’s experiment with MySQL. Continue reading “Running MySQL on Windows 10”

Installing MongoDB on Windows

As mentioned in a previous post, I will be spending some time learning, experimenting and working with the MongoDB NoSQL database.

MongoDB is a FOSS (Free of the Shelf Software) document-oriented database engine. It is one of the most popular engines in its classification. MongoDB Inc offers many free resources for developers to learn how to use their database. There are many books that offer from introduction to advanced information and examples on how to use this tool. I have been reading and experimenting with it for some years. Continue reading “Installing MongoDB on Windows”

Radix Sort

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

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:

Theta notation
Big O notation
Omega notation

Continue reading “Code Complexity”

Returned Value versus Exception Handling

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”

Two Dimensional Array

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”

Parse Text

UPDATE – April 09, 2018When 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”

String Testing

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”