Rabin-Karp Algorithm

It is a cooler summer Saturday in the Twin Cities of Minneapolis and St. Paul. My wife and I are planning to go out for lunch. As soon as she is ready we should leave.

In the recent posts “MongoDB Text Search” and “Find Damaged – Part II” for one reason or another I have been dealing with full text searches. The MongoDB post covers how to use text searches in the database. A software engineer was in the process of experimenting with MongoDB on the cloud (Atlas) and was interested in performing text searches. The need was associated with a work related request. Continue reading “Rabin-Karp Algorithm”

MongoDB Text Search

Yesterday was a warm and humid day in the Twin Cities of Minneapolis and St. Paul.

Last week a software developer mentioned that he was interested in using MongoDB Atlas and needed to do some text searches. I have used text searches in a project a couple years ago. I have also experimented with it using the Community version currently installed in one of my Windows machines. I decided to test it to make sure searching for text in MongoDB is working as advertised.

I could have used an existing MongoDB database and collection but for simplicity I decided to use the example illustrated in the MongoDB documentation for Text Search. I would like to note that in my opinion MongoDB has done a very good job with their documentation. Continue reading “MongoDB Text Search”

BST Search

It is a Saturday in August in the Twin Cities of Minneapolis and St. Paul and it is going to be a warm and humid day. My wife is out shopping with a friend and I am in my home office having fun with Binary Search Trees (BSTs).

This past week I was talking with a software engineer about coding interviews. I have mixed thoughts about them. Not sure about their value as far as finding out if a person is able to develop quality software. Allow me to describe the process which seems to be quite spread around the industry.

The candidate is interviewed by multiple technical people. The idea is to present the candidate with a set of one or more programming problems and expect working code written on a whiteboard. Typically the programming language of choice is up to the candidate. Continue reading “BST Search”

Find Damaged – Part II

As I mentioned my previous post, my wife and I went to visit for the first time my son and family after his move from Indiana to Wisconsin. It used to be about 10 hours by car and about two hours by plane. The latter did not include the time from home to the airport, the wait at the airport, picking up luggage in the Indianapolis airport, and driving about an hour to his previous residence. Taking that into account if we fly to Madison, WI it would probably be a wash driving versus flying.

His new place is in a very nice development. The weather was hot and muggy. We walked the dog twice. We have to feed the Fitbit. The guest room is a lot nicer than the one in the previous house. The actual bed was firmer. For some reason or another I was not able to sleep well. Woke up on Sunday morning at 01:37 AM and did not go back to sleep until around 04:30 AM. Continue reading “Find Damaged – Part II”

Find Damaged

Last week I had the opportunity to chat with a principal researcher / architect who works for one of the top 10 in the list of the World’s Most Admired Companies.

He was explaining to me how to do a search in a very long string. In this set of two or three blogs I will try to determine how to perform a search of damaged patterns. Continue reading “Find Damaged”

Boggle

Last week read an article that covered the Azure Kinect DK camera. It seems that up to recently you could only get on a list and wait for the hardware and software to become available. It appears that has recently changed and Microsoft is starting to ship the camera.

About two years ago I purchased the AWS DeepLens camera. The camera in combination with an AWS account allows you to experiment with Machine Learning. My free AWS account has expired and I am ready to start experimenting with Azure and Microsoft’s new camera. I will check later today if I can purchase the new camera and will start experimenting with it on the Azure cloud. Continue reading “Boggle”

Sum of Leaf Nodes

It is 11:20 AM CDT and the garage door repair technicians have not shown up yet. They mentioned they were going to be here first thing in the morning. The problem is that the door is jammed and we are not able to drive our vehicles. This will definitely be the last time we use this company. I will post the name of the company in a future blog after the door is fixed. We are planning on calling someone else if the technicians do not show up in the next 40 minutes or so.

Believe it or not, @ 11:30 AM a technician showed up with the board. A cracked board started the issue about three weeks ago. I spent some time helping him open the door to some extent. I was able to move a car out. We have some freedom at this time. If the technician needs some help he will let us know. We still have our SUV in the garage but cannot make it through the door yet. Continue reading “Sum of Leaf Nodes”

Memory Pools

It seems that when it rains it pours. A couple days before the 4th of July the garage opener stopped working. We called the garage service company that installed the current unit. The technician showed up and determined that the issue was a cracked controller board. We paid in advanced for the board which had to be ordered. In the meantime the unit was detached so we could open and close the door by hand.

Last week the door stopped working. It got stuck. Called the service company and they told us that the board had arrived (was probably delivered by snail mail) and they could get all done last Friday or Saturday. My wife and I were going to be out of town Thursday through Sunday. Last evening when we arrived, the door was still partially open. Continue reading “Memory Pools”

Understanding Software Design Patterns

Lately I have been quite busy with work and have not had time to write posts for this blog. Today I woke up shortly after 04:00 AM. Typically I go back to sleep until my alarm goes off, but today I had the desire to get up and so some on-line reading. I found the article Understanding Software Design Patterns by Bryant Son. The article deals with three design patterns:  Singleton, Factory and Observer. Given that I have generated at least one post Singleton Threads using the Singleton pattern, I spent time reading the article and experimenting with it. I will cover the last two patterns in a different post. Continue reading “Understanding Software Design Patterns”

13 to 15 Java Questions

I have noticed that multiple times in a week I wake up and check my phone for the time and it is 04:47 AM. Given that I live in the Twin Cities of Minneapolis and St. Paul, there is some day light at that time. I recall a few years ago when I would get up around 05:00 AM to walk the dogs.

I do have an alarm set for 05:00 AM 7 days a week. In addition I have set an appointment in my Google calendar for the same time. Today after waking up at 04:47 AM I checked the calendar to see if there was a message or notification set for 15 minutes before (04:45 AM). Both notification and email are set for 05:00 AM. Continue reading “13 to 15 Java Questions”