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”

Basic RESTful Service – Part I

One can use different programming languages, frameworks and libraries to develop a RESTful web server which exposes the same API. In this post I will implement a RESTful server using JavaScript, Express, and npm libraries.

Given that one needs to start with some level of requirements, we will use the following short and simple statement:

“Implement a very simple RESTful API for a storage server that supports store, query, retrieve and delete operations using DICOM data”. Continue reading “Basic RESTful Service – Part I”

Distance Between Nodes in a BST

I was looking at several articles on binary trees and thought it would be a good opportunity to write some Java code in order to refresh knowledge of binary trees, in particular with BSTs (Binary Search Trees). You never know what new things are out there.

I am not sure if most system architects and software developers run into the same situation as I do. I have learned and worked with many data structures and programming languages. I do not work with every single data structure often enough that I recall how to implement or use it as far as all the associated methods and functions. I have a reasonable understanding of most data structures and I can get back on the horse rather quickly. Continue reading “Distance Between Nodes in a BST”

Smart Delay with Fibonacci

In the past few weeks I have been cleaning and optimizing some operations in a storage server. After running millions of operations I noticed an interesting condition and decided to use a different approach. Did a quick Internet search using Google Chrome for “smart delays” and nothing related seemed to come up. I thought using it for a title for this post would be fine. Continue reading “Smart Delay with Fibonacci”

Testing With Dependency Inversion

Earlier this week I was talking with a system architect. He mentioned what I consider a sensitive and interesting question. How do you use Dependency Inversion (DI) to test software? If you are interested in this question please stop reading and allow yourself a few minutes thinking about the question and associated answer. Continue reading “Testing With Dependency Inversion”

Linked List – Part VI

I believe that I am finished with the implementation and testing of the DoubleLinkList class using templates in C++. At this point I should be able to start using the class. Hope to get to that sometime this weekend.

Following is the screen capture of a console displayed on my Windows
machine using Visual Studio 2013 while running the test code for double linked lists: Continue reading “Linked List – Part VI”